agentleFS
kidowkidow/skills/songwriting/SKILL.md

songwriting

Skill2 starsChanged 6 months agoMITView on GitHub

Builds ACE-Step 1.5 music generation prompts through an interview-driven songwriting workflow, producing Custom Mode-ready Title, Style (caption), Lyrics, and Params blocks. Use when the user asks to make, write, compose, prompt, structure, or refine a song, track, beat, instrumental, lyrics, or AI music prompt.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

16 rules. About 0 are common, 13 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈13

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Create a complete ACE-Step 1.5 prompt from any song request.

    line 8
  2. Distinctive:

    Start from the user's smallest viable request, even if it is only "make me a song." Keep adding missing information until the prompt is …

    line 12
  3. Distinctive:

    If information is missing, ask one question at a time.

    line 14
  4. Distinctive:

    Do not keep asking preference questions after the prompt has enough control points to work.

    line 16
  5. Very specific:

    If a reference artist or song is provided, translate it into sound traits instead of copying the name into the final Style block.

    line 35
  6. Distinctive:

    Ask the highest-impact missing question first, following Sound Vocabulary below.

    line 36
  7. Distinctive:

    Prefer concrete musical controls over vague adjectives: instrumentation, vocal delivery, timbre texture, rhythm feel, production style.

    line 37
  8. Very specific:

    Put BPM, key, time signature, language, and duration in Params, not in Style.

    line 39
  9. Distinctive:

    Keep Style and Lyrics consistent: instruments, energy, and vocal descriptors in tags must match Style.

    line 41
  10. Distinctive:

    If the user asks for iteration, change one variable at a time and explain what changed.

    line 43
  11. Distinctive:

    Ask by feel or effect in the user's language, with the term in parentheses:

    line 49
  12. Distinctive:

    When an option has a sample in the glossary, give its absolute file path so the user can listen before answering.

    line 60
  13. Distinctive:

    If words cannot settle a choice, offer a comparison by ear.

    line 62
  14. Very specific:

    If the user asks for "prompt only", omit Why this works and Sound guide.

    line 90
  15. Distinctive:

    Do not place living artist names, band names, or exact song titles in the final Style block.

    line 95
  16. Distinctive:

    Keep Style concise but specific.

    line 96

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Songwriting

Create a complete ACE-Step 1.5 prompt from any song request. Output maps directly onto the ACE-Step UI Custom Mode fields: Title, Style, Lyrics, and the music parameter controls (BPM, Key, Time Signature, Vocal Language, Duration, Instrumental).

Core Behavior

Start from the user's smallest viable request, even if it is only "make me a song." Keep adding missing information until the prompt is complete enough to generate.

If information is missing, ask one question at a time. For every question, provide a recommended answer the user can accept or edit.

Do not keep asking preference questions after the prompt has enough control points to work. Once the minimum brief is complete, produce the final prompt.

Minimum Brief

Resolve these fields before final output:

  • purpose: scene, use case, story, or emotional target
  • genre: genre, hybrid genre, era, or reference sound
  • vocal: instrumental, vocal gender, range, delivery, or effects
  • language: lyric/vocal language when vocals are used
  • energy: intensity, mood, and section-level energy curve
  • structure: song form such as Intro, Verse, Chorus, Bridge, Outro
  • tempo_key: BPM, key, and time signature, or "auto" to let ACE-Step infer them

For lyrical songs, also resolve lyrics_theme. Write full lyrics only when the user asks for lyrics or when full lyrics are required by the request.

Workflow

  1. Extract every usable clue from the request before asking anything.
  2. If a reference artist or song is provided, translate it into sound traits instead of copying the name into the final Style block. Show the traits you chose in Sound guide.
  3. Ask the highest-impact missing question first, following Sound Vocabulary below.
  4. Prefer concrete musical controls over vague adjectives: instrumentation, vocal delivery, timbre texture, rhythm feel, production style.
  5. Describe what should be present. Do not rely on no X exclusions in Style; ACE-Step has no DiT negative prompt, and naming an unwanted instrument can pull it in.
  6. Put BPM, key, time signature, language, and duration in Params, not in Style.
  7. For section control, use structure tags with at most one or two modifiers: [Chorus - anthemic]. Never use parentheses for performance notes; ACE-Step sings parenthesized text as background vocals.
  8. Keep Style and Lyrics consistent: instruments, energy, and vocal descriptors in tags must match Style.
  9. For instrumental tracks, set Instrumental: on and use instrumental section tags only.
  10. If the user asks for iteration, change one variable at a time and explain what changed.

Sound Vocabulary

Assume the user may not know instrument or production terms. Never make them choose by jargon alone.

  • Ask by feel or effect in the user's language, with the term in parentheses:

    What should add fun to the rhythm?
    A. Bouncy metallic tapping (cowbell) ← recommended
    B. Bright jingling (tambourine)
    C. Warm hand drums (congas)
    D. Nothing, keep just the drums
  • Translate the answer into terms yourself, using the Sound Glossary in REFERENCE.md.
  • When an option has a sample in the glossary, give its absolute file path so the user can listen before answering.
  • Cite only samples and listening examples from the glossary. Do not invent song examples; omit them when the glossary has none.
  • If words cannot settle a choice, offer a comparison by ear. See Hear A Comparison in REFERENCE.md. Skip it when the ACE-Step API is not running; do not start the server yourself.

Final Output

Return this format:

Title:
...

Style:
...

Lyrics:
...

Params:
BPM ... · Key ... · Time ... · Language ... · Duration ...s · Instrumental on|off

Why this works:
...

Sound guide:
- [term]: [what it sounds like]. [what it does in this track]. Sample: [absolute path, if any]. Listen: [glossary example, if any].

List in Sound guide the Style terms a non-musician may not know, in the user's language. Omit the block if there are none.

If the user asks for "prompt only", omit Why this works and Sound guide.

Constraints

  • Preserve user-provided lyrics unless the user asks to rewrite them.
  • Do not place living artist names, band names, or exact song titles in the final Style block; convert them to musical descriptors.
  • Keep Style concise but specific; prefer comma-separated musical descriptors.
  • Parentheses in Lyrics are only for echoed or background vocal lines.
  • Key uses ACE-Step UI format: C major, A minor, F# minor.
  • Time signature uses the UI's beats-per-bar values: 2, 3, 4, 6 (e.g. 4 = 4/4, 6 = 6/8). Prefer 4; odd meters are unreliable.
  • Language uses ISO codes: en, ko, ja, zh, etc.
  • Duration in the final prompt stays within 30–240 seconds. Comparison clips may be shorter.
  • See REFERENCE.md for the sound glossary, tag lists, prompt templates, section design, and refinement strategies.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.