Source profileQuality 71/100

nexu-io/open-design/design-templates/audio-jingle/SKILL.md

audio-jingle

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.

Source repository stars
82,073
Declared platforms
0
Static risk flags
1
Last source update
2026-07-28
Source checked
2026-07-28

Decision brief

What it does—and where it fits

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

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/nexu-io/open-design --skill "design-templates/audio-jingle"
    Safe inspection promptEditorial

    Inspect the Agent Skill "audio-jingle" from https://github.com/nexu-io/open-design/blob/89d6d4ef21baf80f871595abdf6f7de6e941dd44/design-templates/audio-jingle/SKILL.md at commit 89d6d4ef21baf80f871595abdf6f7de6e941dd44. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Workflow

      audioKind, audioModel, audioDuration (seconds), and (for speech) voice. Branch by audioKind and use the values verbatim — no clarifying form unless something is marked (unknown — ask).

      Genre + reference artists (1-2)Tempo (BPM) + keyInstrumentation (3-5 instruments max)
    2. 02

      Step 0 — Read the project metadata

      audioKind, audioModel, audioDuration (seconds), and (for speech) voice. Branch by audioKind and use the values verbatim — no clarifying form unless something is marked (unknown — ask).

      audioKind, audioModel, audioDuration (seconds), and (for speech) voice. Branch by audioKind and use the values verbatim — no clarifying form unless something is marked (unknown — ask).Important: voice is provider-specific. For minimax-tts, --voice must be a valid MiniMax voiceid (for example male-qn-qingse), not a natural-language description. If you only have a prose voice brief ("warm female narrat…
    3. 03

      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)

      Genre + reference artists (1-2)Tempo (BPM) + keyInstrumentation (3-5 instruments max)
    4. 04

      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.

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

    Permission review

    Static risk signals and limitations

    Writes files

    medium · line 99

    The documentation asks the agent to create, modify, or delete local files.

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

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score71/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars82,073SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    nexu-io/open-design
    Skill path
    design-templates/audio-jingle/SKILL.md
    Commit
    89d6d4ef21baf80f871595abdf6f7de6e941dd44
    License
    Apache-2.0
    Collected
    2026-07-28
    Default branch
    main
    View the original SKILL.md

    Audio Jingle Skill

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

    audioKindModels we route toPlan focus
    musicSuno V5 (default), Udio, Lyria 2genre + tempo + instrumentation
    speechMiniMax TTS (default), Fish, ElevenLabs V3script + voice + pacing
    sfxElevenLabs SFX (default), AudioCrafttexture + impact + duration

    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 audioKind and use the values verbatim — no clarifying form unless something is marked (unknown — ask).

    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

    • Script (final, not draft — TTS runs verbatim)
    • Voice target + pacing For MiniMax this means a real voice_id, not prose in --voice
    • 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

    • TTS runs your script literally. Proof it before dispatching — even one stray comma changes the cadence.
    • MiniMax TTS rejects free-form voice prose in --voice. Use a real MiniMax voice_id (for example male-qn-qingse) or omit the flag and let the daemon's default voice apply.
    • Music: under 30s = single section; 30–90s = intro + body; 90s+ = full arc. Don't try to fit a 3-act song into 15 seconds.
    • SFX: prefer one well-described layer over a paragraph of "make it cool" — generators reward specific texture words.
    • Save the file every turn. The audio viewer shows transport controls the moment the file lands.

    Alternatives

    Compare before choosing