Suno produce
AI agent skills for Claude Code and compatible agents — workflow, coding, design, Claude Code meta, media, productivity, and writing
npx -y skills add coroboros/agent-skills --skill suno-produceAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Turn a music brief into Suno v5.5-ready prompt artifacts — TRACK.md per generation, optional ALBUM.md for multi-track projects, optional ARTIST.md for artist-scoped identity. Artifact-emit-only — the user copy-pastes the prompt block into Suno's UI, listens, then iterates via `revise`. No API integration. Hardens the copyright contract — never lets artist names or copyrighted citations through into a prompt (legal exposure + Suno filters them anyway). Use when the user wants to make a song, produce a track or album, write a Suno prompt, or compose music with v5.5 — even when they don't say "Suno" by name.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
19.2 KB, as published. Nobody here has run it
Suno Produce
<!-- canonical:writing-rules:start -->Important — Writing rules
These rules govern every prose artifact this skill emits — READMEs, CHANGELOGs, commit messages, PR bodies, release notes, doc paragraphs, non-trivial comments. Apply them at draft time, verify before output.
- Match the surrounding style — punctuation, capitalization, backtick conventions, em-dash vs parens, bullet style.
- Every sentence changes the reader's understanding. Cut it otherwise.
- Front-load the verb — "Creates", not "This helps you create".
- Concrete over abstract. Lists for ≥3 enumerable items.
- Assert positively. Reserve negation for real constraints (
NEVER commit secrets). - No marketing words: powerful, robust, seamlessly, leverage, unlock, comprehensive, delightful.
- No AI tells: delve, tapestry, intricate, pivotal, testament, underscore, crucial, garner, showcase, additionally, moreover, furthermore, indeed.
- After drafting English prose, invoke
/humanize-enif installed.
Govern music-production artifacts for Suno v5.5: a TRACK.md per generation, optional ALBUM.md for multi-track projects, optional ARTIST.md for an artist-scoped identity layer. Three layers, each with a clear job. The user copy-pastes the Suno prompt block from TRACK.md into Suno's Web/iOS/Android UI, listens to the two takes Suno produces, picks a winner, then runs revise with feedback to iterate.
Artifact-emit-only by design. Suno has no official public API. Reverse-engineered wrappers (kie.ai, sunoapi.org, gcui-art/suno-api) are degrading — PiAPI dropped Suno V5 entirely, gcui-art's maintainer is asking for a takeover, the Warner Music settlement signals tighter enforcement. The text prompts are durable; they survive model deprecation. The audio takes are not — export WAV stems from Suno's UI for anything you want to keep.
Tier reality. v5.5 is Pro/Premier only. Free tier is locked to v4.5-all and stays non-commercial regardless of later upgrades. Validator and refs assume v5.5; running the prompts on v4.5-all degrades but does not crash.
Additional context from the user: $ARGUMENTS
Subcommand routing
Parse the first positional token of $ARGUMENTS. If it matches a verb below, load the referenced step file and follow its workflow. Otherwise fall through to Default workflow at the end of this document.
| First token | Mode | Reference |
|---|---|---|
create | Synthesise a TRACK.md (and optionally ALBUM.md) from a brief. Default verb when no token matches and the argument looks like a music description. | steps/create.md |
revise | Archive <path>/TRACK.md to <path>/versions/v{N+1}.md, emit a refined TRACK.md with adjustments justified by <feedback>. | steps/revise.md |
validate (aliases: lint, check) | Run scripts/validate.py against <path>/TRACK.md. Report GREEN / YELLOW / RED with line-anchored findings. | steps/validate.md |
| (none) | See Default workflow below | (this file) |
The create verb is implied when no token matches a verb and the remainder of $ARGUMENTS reads like a brief — "indie folk track about a long winter", "make me a melodic-trap EP". The revise and validate verbs always require an explicit token plus a path.
File taxonomy
Three layers, progressively scaffolded — emit only what the brief actually calls for. Do not pre-create empty files.
| File | Role | Scope | Created when |
|---|---|---|---|
| TRACK.md | Unit of Suno generation. The copy-paste-into-Suno bundle. | One file per track. | Always. Every invocation that ends in a Suno-ready prompt produces one. |
| ALBUM.md | Album/EP concept, arc, tracklist with BPM/key flow, transitions. | One per album folder. | Only when the brief reads as multi-track ("EP", "album", "record", "4-track", "side A side B"). Auto-detect with confirmation prompt. |
| ARTIST.md | Artist identity: Voice profile, Custom Model, recurring instrumentation, rights/compliance posture. | Artist-scoped, not project-scoped — one file referenced from many album folders. | Only when the user passes -f path/to/ARTIST.md to bind the work to an artist identity, or asks to set one up. Never auto-created. |
The three layers stack. TRACK.md reads ALBUM.md (sibling) for tracklist context if present. ALBUM.md reads ARTIST.md (referenced via -f) for artist defaults if present. Each layer adds context without overwriting the lower layer.
The third layer is named ARTIST.md — not MUSIC.md — because the file describes an artist identity (voice, custom model, recurring instrumentation, rights posture), not music itself. The community Suno-prompt formats (Spidy88, Blake Crosley, Stoke McToke, suno.wiki) do not have an equivalent layer; this is a deliberate addition to the open standard.
Project folder layout
Two shapes — standalone single ({track-slug}/TRACK.md + versions/ + audio/ + .gitignore) and album/EP (projects/{album-slug}/ALBUM.md + tracks/01-{slug}/TRACK.md per track). ARTIST.md lives outside project folders (typically ~/<artist>/ARTIST.md) and is referenced via -f. Track-slug is kebab-case (max 5 words); the 01- prefix matches the tracklist order in ALBUM.md. Full directory trees and the rename-on-reorder behaviour: references/track-schema.md § Project folder layout.
Suno v5.5 field limits
The validator enforces these as RED errors on overflow:
| Field | Limit |
|---|---|
| Style of Music | 1,000 chars (4–7 descriptors, front-loaded) |
| Lyrics | 5,000 chars (bracket metatags + parenthetical cues) |
| Title | 100 chars (cosmetic — no audio effect) |
| Simple Mode prompt | 500 chars (Custom Mode preferred for serious work) |
Account/plan caps (generation length, audio upload, voice input, custom model training set + per-account limit, stems, output specs) live in references/rights-and-deprecation.md § Plan tiers and § Output specs.
TRACK.md schema
YAML frontmatter (suno_version, title, bpm, key, length_target, voice_profile, custom_model, created, revised) + six ordered sections: Title → Suno prompt block (three text-fenced sub-blocks: Style of Music ≤1000 chars / 4–7 descriptors, Lyrics ≤5000 chars with bracket metatags + parenthetical cues, Exclude Styles ≤3 tags) → Sliders (Weirdness, Style Influence, Audio Influence — only when a Voice or Custom Model is attached — each with rationale) → Voice / Custom Model (declared if ARTIST.md is bound; "None." otherwise) → Rationale (why these descriptors, BPM, sliders — anchors revise) → Iteration log (v1 (date): <what was tried>; <feedback>; <kept | archived>).
Adopted from the community-converged track-bundle pattern (Spidy88, Blake Crosley, Stoke McToke, suno.wiki) — same five user-visible sections, wrapped in a frontmatter for validate.py. Front-load the Suno prompt block; users grab it and paste, rationale lives below.
Full frontmatter shape, worked examples per genre (cinematic, melodic-trap, indie-folk, ambient drone, ritual industrial, lo-fi hip-hop), and the ALBUM.md / ARTIST.md schemas live in references/track-schema.md.
Auto-detect sufficient specification
Skip the interview when the brief covers at least 3 of the 5 anchor dimensions below; otherwise use AskUserQuestion (max 4, recommended-option first, single round — do not loop; when unavailable, ask in plain text) for the gaps. If ARTIST.md is bound via -f, vocal profile / instrumentation / rights / slider defaults flow from it (drop those questions).
| Dimension | Why it matters | Example values |
|---|---|---|
| Genre | Drives the Style of Music load-bearing tag | indie folk, melodic trap, ambient drone, alt rock |
| Mood | Two-word descriptor that calibrates feel | nostalgic, brooding, euphoric, glacial |
| Vocal direction | Gender + register + delivery (drop if Voice attached) | soft male tenor, breathy female soprano, autotuned melodic male rap |
| Length target | Drives section count + tempo | 1:30 sketch, 3:30 single, 6:00 long-form |
| References | Era / sound-fingerprint (never artist names — describe the sound) | late-90s post-grunge, 2010s bedroom indie, Bristol post-punk dub |
My Taste — disable for evaluation runs
v5.5 ships a default-on personalization layer (My Taste) that perturbs takes when prompts are underspecified. It does not override an explicit Style field, but the variable is uncontrolled until disabled from the avatar menu. Surface this reminder when synthesising the first track for a new artist or doing A/B / slider-band work. Detail: references/sliders-and-personalization.md.
Voice and Custom Model awareness
When ARTIST.md declares voice_profile: or custom_model:, prompt assembly changes:
- Voice attached — drop vocal descriptors from Style (they conflict with the cloned voice and produce blended timbre); set Audio Influence to 75–90% (78% default).
- Custom Model attached — drop redundant style descriptors the model already encodes (genre, era, aesthetic); use Style for variations within the model's range.
- Both — stack: drop genre/era + drop vocal descriptors. Style becomes purely directional.
The skill records voice_profile and custom_model in TRACK.md frontmatter so validate.py flags conflicts (e.g., vocal descriptors despite an attached Voice).
Validation contract
scripts/validate.py auto-dispatches by filename — TRACK / ALBUM / ARTIST — and runs the matching check set. Every artifact runs through validation before disk. Exit codes: 0 GREEN (zero issues), 1 RED (block — fix and re-run), 2 YELLOW (write proceeds with warning).
Highest-stakes RED checks: artist citation patterns (in the style of X, sounds like X, voice of/like X, à la X, <Name>'s sound/style/voice/era) anywhere in Style or Lyrics; field overflow (Style >1000 chars, Lyrics >5000, Title >100); BPM in Lyrics; missing required sections; voice-consent missing when voice_profile is declared. Full check tables for TRACK / ALBUM / ARTIST plus edge-case behaviour: steps/validate.md § Check sets per artifact type.
Default workflow (no subcommand)
When the first token of $ARGUMENTS does not match create|revise|validate|lint|check:
- Argument reads like a music brief ("indie folk about a long winter", "melodic trap heartbreak track") → run
createwith that brief. - Argument is a path to an existing folder containing
TRACK.md→ runvalidateon it. - Empty
$ARGUMENTSand aTRACK.mdexists in the working directory → runvalidateon it. - Empty
$ARGUMENTSand no nearbyTRACK.md→ if session context has a music brief candidate (recent music discussion or lyric draft), propose/suno-produce create "<inferred brief>"and confirm. Otherwise suggest/suno-produce create "<your brief>"and stop. Never silently start an interview.
The default exists to avoid silent state-modifying actions. Every write goes through an explicit verb.
Rules
- Artifact-emit-only. Never call a Suno API, never invoke a reverse-engineered wrapper, never expose an
--apiflag. The user runs the prompt in Suno's UI. The wrapper ecosystem is degrading; this skill stays out of it. - One field, one job. The Style of Music field carries genre / era / mood / instruments / vocal direction. The Lyrics field carries the lyric text plus bracket metatags. Never put BPM in Lyrics. Never put
[Verse]in Style. - Two genres maximum. Three or more genres muddy the output. When the brief asks for fusion, pick one primary and reinforce with mood / instrumentation.
- Front-load the prompt block. TRACK.md begins with the copy-paste-ready payload, not with the rationale. Users paste, then read.
- Versions are sacred.
revisearchives the priorTRACK.mdtoversions/v{N+1}.mdbefore overwriting. Never lose the previous take. - Validate before write. Every
createandreviserunsscripts/validate.pyon the synthesised content. RED never reaches the canonical path. YELLOW surfaces in the user-facing summary. - Voice attached → drop vocal descriptors. Always. Vocal direction in Style conflicts with a cloned Voice and produces blended timbre.
- Auto-detect album mode → confirm before scaffolding. When the brief reads as multi-track, propose the album folder structure and ask for confirmation. Never silently create
ALBUM.md. - Never name artists or copyrighted entities in prompts. Hard rule, two reasons. Legal — citing an artist or copyrighted entity creates rights exposure (publicity rights, trademark, label trade-name); the prompt is a discoverable artifact, shared and committed. Functional — Suno filters or ignores the citation, so the model collapses to an averaged tag rather than the requested fingerprint. The validator emits RED on high-confidence citation patterns (
in the style of <Name>,voice of/like <Name>,sounds like <Name>,à la <Name>,<Name>'s sound/style/voice/era) in Style or Lyrics, and YELLOW on bare title-case proper-noun pairs in Style. Translate every brief reference to sound — era + production texture + vocal timbre. Example: "make me a track like Sufjan Stevens" → "indie folk, intimate fingerpicked acoustic, soft male tenor, banjo, breathy delivery, lo-fi tape warmth". More translated stacks:references/style-and-lyrics.md. - Lyric content is the user's voice — never humanise or restyle. The skill's commentary (rationale, iteration log, validation summaries) is functional prose; the lyrics stay verbatim as the user wrote them.
- Surface deprecation reality. Suno's current models are scheduled for deprecation when WMG-licensed successors ship. The skill records
suno_version: v5.5in frontmatter so a futuremigratesubcommand can rewrite prompts to v6 syntax. Recommend the user export WAV from Suno before deprecation lands.
When to defer to another skill
- Lyric craft for a Suno track (structure, rhyme, meter, hook, prosody) → lives here; see
references/songwriting-craft.md. Non-musical prose with no Suno target (essays, marketing copy) → a generic writing skill. The lyric format here includes bracket metatags and cues that read awkwardly elsewhere. - Broad music research ("what's working in 2026 indie folk") →
/forge, then-fthe brief back into this skill. - Audio post-production →
/audio-loopfor web loops; Suno Studio 1.2 (Remove FX, Warp Markers) for everything else. - Voice profile registration — out of scope. Register Voices and train Custom Models in Suno's UI; this skill only consumes them via ARTIST.md.
- Brand-voice work (writing voice for marketing copy) →
/brand-voice. ARTIST.md is the music analog. - Visual identity →
/award-designfor hero pages,/canvas-designfor static art,/video-loopfor hero motion.
Reference
steps/create.md,revise.md,validate.md— per-subcommand workflows.references/style-and-lyrics.md— descriptor stack, genre fusion, vocal/production direction, BPM/key, bracket metatag canon, lyric flow, languages, phonetic/delivery control, SFX warning, translated stacks for artist requests.references/songwriting-craft.md— lyric craft for singability: song structure, rhyme types, meter/stress, emotional arc, hook, prosody. Consulted duringcreatewhen the user wants help writing lyrics.references/sliders-and-personalization.md— Creative Sliders, voice/model-aware prompting, voice+model stacking, My Taste.references/genre-templates.md— 8 copy-paste-ready v5.5 recipes (cinematic, melodic techno, melodic trap, alt rock, ambient drone, indie pop, ritual industrial, lo-fi hip-hop).references/track-schema.md— TRACK / ALBUM / ARTIST schemas + project folder layout + worked example.references/rights-and-deprecation.md— plan tiers, output specs, post-generation pipeline, WMG settlement, voice-cloning consent, v6 deprecation cliff.scripts/validate.py— deterministic linter (Python 3.7+, stdlib only) returning GREEN / YELLOW / RED with line-anchored findings.
The full upstream Suno v5.5 operator reference (1,200+ lines covering features, plans, API access, litigation, deprecation timeline) lives at the public sources cited in metadata.sources above. The skill bundles only the actionable subset — what the steps actually consult.