Mmcp.market

audio-jingle skill

by nexu-io·nexu-io/open-design·98k stars·Apache-2.0

Audio generation skill — jingles, beds, voiceover, and sound effects. Routes music requests to Suno V5 / Udio / Lyria, speech to MiniMax TTS / FishAudio / ElevenLabs V3, and SFX to ElevenLabs SFX or AudioCraft. Output is one MP3/WAV file saved to the project folder.

A100/100content scan

Is the audio-jingle skill safe?

Clean: nothing in its files matched our rules. We read 2 files in the folder on 2026-09-28.

No findings.

Install the audio-jingle skill

A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.

git clone --depth 1 https://github.com/nexu-io/open-design.git /tmp/open-design
mkdir -p ~/.claude/skills
cp -r /tmp/open-design/design-templates/audio-jingle ~/.claude/skills/audio-jingle
available in every project

In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub

The instructions your agent would load

SKILL.md as published, without the frontmatter. Read it on GitHub

Audio Jingle Skill

Three sub-modes. The active project's audioKind decides which one runs:

Resource map

audio-jingle/
├── SKILL.md
└── example.html

Workflow

Step 0 — Read the project metadata

audioKind, audioModel, audioDuration (seconds), and (for speech) voice. Branch by known values and use them verbatim. Missing metadata is not an instruction to ask: infer a safe default when possible, and emit a clarifying form only when the missing answer would materially change the requested output or prevent generation.

Important: voice is provider-specific. For minimax-tts, --voice must be a valid MiniMax voice_id (for example male-qn-qingse), not a natural-language description. If you only have a prose voice brief ("warm female narrator", "neutral Mandarin"), keep that in your plan but omit --voice so the daemon's default voice id applies, or ask the user to choose a specific id.

Step 1 — Plan

Music

  • Genre + reference artists (1-2)
  • Tempo (BPM) + key
  • Instrumentation (3-5 instruments max)
  • Vocals: yes / no / hummed / choir
  • Mood arc (intro → chorus → outro)

Speech

For MiniMax this means a real voice_id, not prose in --voice

  • Script (final, not draft — TTS runs verbatim)
  • Voice target + pacing
  • Pronunciation hints for proper nouns / acronyms

SFX

  • Texture (impact / whoosh / ambience / foley)
  • Duration + envelope (sharp attack vs. gentle swell)
  • Layering note (single hit vs. stacked)

State the plan in 2-3 sentences before dispatching.

Step 2 — Compose the prompt

Use the format the upstream model prefers. Bind audioDuration to the API parameter directly; never put "make it 30 seconds" in prose.

Step 3 — Dispatch via the media contract

Use the unified dispatcher — do not call provider APIs by hand:

"$OD_NODE_BIN" "$OD_BIN" media generate \
  --project "$OD_PROJECT_ID" \
  --surface audio \
  --audio-kind "<music|speech|sfx>" \
  --model "<audioModel from metadata>" \
  --duration <audioDuration seconds> \
  [--voice "<provider voice id (speech only)>"] \
  --output "<short-slug>-<duration>s.mp3" \
  --prompt "<assembled prompt from Step 2 — for speech, the literal script>"

The command prints one line of JSON: {"file": {"name": "...", ...}}. The bytes land in the project; the FileViewer renders the audio transport controls automatically.

Step 4 — Hand off

Reply with: plan summary, the filename returned by the dispatcher, and one sentence on what to try if the user wants a variation (e.g. "swap tempo from 92 to 108 BPM" rather than "make it different").

Hard rules

even one stray comma changes the cadence.

  • TTS runs your script literally. Proof it before dispatching —

MiniMax voice_id (for example male-qn-qingse) or omit the flag and let the daemon's default voice apply.

  • MiniMax TTS rejects free-form voice prose in --voice. Use a real

full arc. Don't try to fit a 3-act song into 15 seconds.

  • Music: under 30s = single section; 30–90s = intro + body; 90s+ =

cool" — generators reward specific texture words.

  • SFX: prefer one well-described layer over a paragraph of "make it

the moment the file lands.

  • Save the file every turn. The audio viewer shows transport controls

More skills from nexu-io/open-design

  • Aarticle-magazineHuashu / huashu-md-html-inspired magazine article layout for turning Markdown or notes into a polished long-form HTML essay.
  • Aaudio-jingleAudio generation skill — jingles, beds, voiceover, and sound effects. Routes music requests to Suno V5 / Udio / Lyria, speech to MiniMax TTS / FishAudio / ElevenLabs V3, and SFX to ElevenLabs SFX or AudioCraft. Output is one MP3/WAV file saved to the project folder.
  • Ablog-postA long-form article / blog post — masthead, hero image placeholder, article body with figures and pull quotes, author byline, related posts. Use when the brief asks for "blog", "article", "post", "essay", or "case study".
  • Ablog-postA long-form article / blog post — masthead, hero image placeholder, article body with figures and pull quotes, author byline, related posts. Use when the brief asks for "blog", "article", "post", "essay", or "case study".
  • Abuild-testRun the project's build / typecheck / lint / test commands and emit the build.passing + tests.passing signals devloop convergence reads.
  • Acard-twitterTwitter quote or data card designed to pair with a post.
  • Acard-xiaohongshuXiaohongshu-style knowledge cards, arranged as a swipeable multi-card carousel.
  • Aclinical-case-reportStructured medical case presentation for clinical rounds, conferences, and documentation. Generates SOAP-format or narrative case reports with physiologically accurate vitals, labs, and evidence-based plans. Use when the brief mentions "case report", "case presentation", "SOAP note", "clinical case", "ward rounds", "case summary", or "patient presentation".
  • Aclinical-case-reportStructured medical case presentation for clinical rounds, conferences, and documentation. Generates SOAP-format or narrative case reports with physiologically accurate vitals, labs, and evidence-based plans. Use when the brief mentions "case report", "case presentation", "SOAP note", "clinical case", "ward rounds", "case summary", or "patient presentation".
  • Acode-importRead an existing repository's structure into the project cwd as a normalised snapshot the agent can analyse without re-walking the tree on every turn.
  • Acodex-interactive-capability-mapTurn a long-form article, thread, memo, or product narrative into a compact clickable capability map with a workflow loop, use-case matrix, and responsive detail panel.
  • Acontact-widgetSelf-contained floating chat widget with welcome screen, social links, meeting button, and message input. Single HTML file, zero dependencies.

All agent skills → · MCP servers