This is a READ-ONLY reference skill. Claude uses this knowledge to help craft optimal inputs for /music generate.
Execution
This sub-skill runs in a forked context (context: fork) and delegates the actual composition planning to the music-composer agent (skills/claude-music/agents/music-composer.md). The agent returns structured JSON ready to hand to music_engine.sh generate.
The reference material below is what the agent reads when it plans. It is also what you read when the user wants to learn the conventions rather than auto-compose.
Output Format
After composing, produce these for the generate command:
- Caption (
-c): Style/genre/instruments/emotion (max 512 chars) - Lyrics (
-l): Structured lyrics with tags (max 4096 chars) - Parameters:
--duration,--bpm,--key,--time-sig,--language
Caption Crafting
Formula: Genre + mood + instruments + vocal style + production quality
Dimensions
| Dimension | Examples |
|---|---|
| Genre | pop, rock, jazz, electronic, hip-hop, R&B, folk, classical, lo-fi, synthwave |
| Mood | melancholic, uplifting, energetic, dreamy, dark, nostalgic, euphoric, intimate |
| Instruments | acoustic guitar, piano, synth pads, 808 drums, strings, brass, electric bass |
| Timbre | warm, bright, crisp, airy, punchy, lush, raw, polished |
| Era | 80s synth-pop, 90s grunge, 2010s EDM, vintage soul, modern trap |
| Production | lo-fi, high-fidelity, live recording, studio-polished, bedroom pop |
| Vocals | female vocal, male vocal, breathy, powerful, falsetto, raspy, choir |
| Rhythm | slow tempo, mid-tempo, fast-paced, groovy, driving, laid-back |
Principles
- Specific beats vague — "sad piano ballad, female breathy vocal" > "a sad song"
- Combine 3-5 dimensions — anchors the direction precisely
- Don't put BPM/key in caption — use dedicated parameters instead
- Avoid conflicting genres — "ambient metal" confuses the model
- Repetition reinforces — repeat elements you want emphasized
- Less detail = more creativity — let the model surprise you
Lyrics Structure
Tags
| Tag | Purpose |
|---|---|
[Verse] / [Verse 1] |
Narrative sections |
[Chorus] |
Emotional climax, hook |
[Pre-Chorus] |
Build energy before chorus |
[Bridge] |
Transition or elevation |
[Intro] |
Opening atmosphere |
[Outro] |
Ending/conclusion |
[Drop] |
Electronic energy release |
[Breakdown] |
Reduced instrumentation |
[Instrumental] |
No vocals section |
[Guitar Solo] |
Specific instrument solo |
[Fade Out] |
Fade ending |
Density Rules
- ~2-3 words per second of audio
- 30s track: 60-90 words
- 60s track: 120-180 words
- 120s track: 240-360 words
- Keep lines 4-8 words for vocal clarity
- Simple, singable phrasing works best
Tips
- Match lyrics emotion to caption mood
- Avoid tongue twisters and complex vocabulary
- Use line breaks between phrases
- Chorus should be the most memorable/catchy section
- Bridge should contrast with verse/chorus
Parameter Selection
BPM by Genre
| Genre | BPM Range | Sweet Spot |
|---|---|---|
| Ballad | 60-80 | 70 |
| Lo-fi | 70-90 | 80 |
| R&B | 80-100 | 90 |
| Pop | 100-130 | 120 |
| Rock | 110-140 | 125 |
| House | 120-130 | 125 |
| Hip-hop | 80-115 | 95 |
| EDM | 128-150 | 140 |
| DnB | 160-180 | 174 |
| Trap | 130-170 | 140 |
Duration Guide
| Song Type | Duration | Notes |
|---|---|---|
| Jingle/Short | 15-30s | TikTok, ad music |
| Standard | 60-120s | Most songs |
| Full song | 180-300s | Complete arrangement |
| Extended | 300-600s | Ambient, DJ sets |
For detailed reference: load references/prompt-guide.md and references/music-theory.md