Variables
Arguments: $ARGUMENTS
Purpose
Suno is an AI music platform; the prompt is the instrument. This skill helps the user generate, refine, and debug Suno prompts, both the style/genre and lyrics fields, using v5.5-era best practices, the documented tag taxonomy, and community-validated performance tricks.
The skill is a prompt-craft assistant, not an audio generator. Suno produces audio; this skill makes sure the prompt going INTO Suno is sharp, on-format, free of common pitfalls.
Suno v5.5 (released March 26, 2026; verified 2026-07-18 against https://suno.com/blog/v5-5) preserved v5's prompt syntax but improved adherence to nuanced descriptors and added three personalization layers (Voices, Custom Models, My Taste). Everything below targets v5.5 unless noted; legacy v4 (~200-char style prompt) is out of scope.
Deprecation horizon: Suno and Warner Music Group committed to launching licensed models in 2026 and deprecating the current models when those launch; they announced no date. Re-check Suno's release notes before relying on v5.5-specific behavior. Source: joint WMG/Suno announcement, 2025-11-25.
Action Router
Parse $ARGUMENTS: first token = action, remainder = args. If empty
(e.g. model-invoked from a natural-language request), infer the action
from conversation context; show this menu only when no actionable
context exists.
| Action |
Purpose |
Detail |
prompt <intent> |
Build a complete style prompt + lyrics from a song idea |
inline + context/style.md + context/lyrics.md |
lyrics <intent> |
Generate or refine lyrics with section tags, vocal tags, per-section style overrides, performance cues |
context/lyrics.md |
style <intent> |
Generate a style prompt using the 6-layer formula |
context/style.md |
clean <text> |
Review user's existing prompt, flag pitfalls, propose rewrite |
context/troubleshoot.md + context/style.md |
research <topic> |
On-the-fly external research. Artist sonic profiles, current trends, niche genres, specific reference songs (BPM/key/instrumentation). Translates findings into Suno descriptors. |
context/research-recipes.md |
tags |
Show the full tag taxonomy (structural, vocal, instrument, mood, ending) |
context/lyrics.md |
genre <name> |
Genre handler. 4 modes: load template (12 built-ins), research a niche genre, suggest genres for a vibe, or show a genre family tree |
templates/.md + context/genre-taxonomy.md |
troubleshoot <symptom> |
Diagnose a specific failure (hallucinated lyrics, BPM ignored, vocal artifacts, exclusions failing, a section absorbed / missing, choppy over-paused delivery) |
context/troubleshoot.md |
tips |
Community-validated lyric-side performance tricks (caps, vowel stretch, ellipses, parentheticals). MEDIUM confidence |
context/tips.md |
power-tips |
Power-user techniques (tag order, genre fusion anchor/accent, stem-loop refinement, two-pass vocal isolation, persona-as-draft, punctuation cadence, describe-this-song, Custom Model tricks). Confidence is per section, not per file: genre fusion anchor/accent sits between LOW-MEDIUM and MEDIUM (three guides, one corroborating Reddit post. Corroboration, not consensus); tag-order front-loading is LOW-MEDIUM on one Reddit post, for terse comma-separated prompts only and unverified for the v5.5 conversational style this skill targets; middle-tag softening and bare-position weighting stay unsourced |
context/power-tips.md |
features |
v5.5 feature index. Voices, Custom Models, Personas, Cover, Extend, Replace, Stems, Studio, Sliders, Duration |
context/v55-features.md + context/advanced.md |
voices |
Voice cloning deep dive. Recording, verification, conflict rules with style prompt |
context/voices.md |
studio |
Suno Studio (GAW). What's possible, clip ops, Take Lanes, Warp Markers, MIDI, stems |
context/studio.md |
workflow <recipe> |
Demo upload, edit/rearrange, add instruments, vocal comping, multi-genre cover chain. 8 recipes |
context/workflow-recipes.md |
If the action is unknown, show this table and ask what the user wants.
Load-bearing fundamentals (inline. Every action assumes these)
The 6-layer formula (style prompt ordering)
Order matters. Early tags carry more weight. Front-load genre.
- Genre / subgenre. Specific, not "pop" →
synth-pop, 80s-inspired
- Mood. 2-3 words →
nostalgic, hopeful (not 9 conflicting moods)
- Instrumentation. Specific →
fingerpicked acoustic guitar (not just "guitar")
- Vocal direction. Acoustic descriptors →
breathy, intimate, slight rasp (not "amazing")
- BPM. Numeric →
128 BPM (not "fast")
- Production.
polished mix, lo-fi tape hiss, compressed and aggressive
Sweet spot: 5–8 distinct tags. Fewer than 4 → generic. More than 10 → conflicting signals.
Character budgets
| Field |
Limit |
Notes |
| Style prompt (v5/v5.5) |
~1,000 chars |
Up from ~200 in v4. Late-prompt attention may decay; silent truncation is unverified. Front-load critical content. |
| Lyrics |
5,000-char hard cap (v4.5/v5/v5.5) |
3,000 was the v4-era cap. Quality sweet spot stays ~3,000 (~40-60 lines / 200-300 words). Past that Suno rushes, skips sections, or cuts output short. |
| Title |
~100 chars |
Up from ~80 in v4. Minimal or no known effect on musical output; community reports differ |
| Exclude field |
Free-text in Advanced Options (Custom mode) |
Same vocabulary as inline negatives |
Verified 2026-07-18. No official Suno page states field limits; figures are third-party tester consensus (hookgenius character limits, aimusicapi cheat sheet, 2026-07-03).
Recheck trigger: hookgenius or the aimusicapi cheat sheet revises the character-limit figures above, or an official Suno page states style-prompt / lyrics / title limits directly. Not a date.
The lyrics field is a SECOND style channel
Power users treat the lyrics field as more than words to sing. Per-section style overrides in lyrics control instrumentation, dynamics, and production section-by-section. Something the global style prompt can't do.
[Verse: piano only, no drums, intimate]
First narrative beat...
The vocals carry the weight...
[Pre-Chorus: drums enter, building]
Tension rising...
Tension rising...
[Chorus: full band kicks in, distorted guitar lead, gang vocals]
THE HOOK
THE HOOK
[Bridge: stripped to vocals + acoustic, dry mix]
Most vulnerable moment...
[Chorus: bigger than before, double-tracked vocals, layered harmonies]
THE HOOK
Two separator syntaxes work. Both on the same [Tag] line:
[Verse: descriptor, descriptor]. Colon + comma list
[Bridge | dark | introspective | sparse]. Pipe-separated
Keep modifiers short (2-4 words each). Match section to tone. "explosive drop" only makes sense on [Drop], not [Intro].
This solves the dynamics problem, without it, every section sounds the same density. With it, you can build verse-chorus contrast, strip the bridge, blow up the final chorus.
Worked example (synth-pop)
Style prompt:
synth-pop, 80s-inspired, nostalgic and hopeful,
shimmering analog synths, warm Moog bass, punchy drum machine,
ethereal female vocals with reverb tail, 95 BPM,
polished radio-ready production, no autotune
Lyrics (skeleton):
[Intro]
[Verse 1]
First narrative beat, present tense, concrete imagery...
[Pre-Chorus]
Building tension, single-line repetition encouraged
[Chorus]
The HOOK — peak energy, full instrumentation
Repeat the title or core phrase
[Verse 2]
Second narrative beat, contrast or escalation
[Chorus]
[Bridge]
Contrast section — often a key change or stripped-back
[Chorus]
[Outro]
[End]
The no X syntax works for negative prompts: no autotune, no reverb wash. Grouping negatives at the end is a readability convention, not a verified adherence rule. The Exclude field in Custom mode's Advanced Options is the structural alternative.
Anti-patterns (always flag these in clean action)
| Anti-pattern |
Why it fails |
Fix |
Vague genre (pop, rock) |
Generic AI sound |
Specify subgenre + era + tonal cue |
| 5+ stacked genres |
Muddy mix, incoherent style |
Pick 1-2 max, or use a clear hybrid (nu-metal dubstep) |
| 9+ mood words |
Conflicting emotional signals |
2-3 related moods |
amazing, epic, beautiful |
Zero effect on output |
Replace with acoustic descriptors (raspy, breathy, intimate) |
BPM as descriptor (fast) |
±20 BPM drift |
Use numeric (128 BPM). Adherence is high but no rate is published; see context/style.md |
(x2) after a lyric line |
Repeat is largely ignored |
Write the line twice with minor variation |
Naming artists directly (like Drake) |
Blocked or ignored |
Use sound descriptors (Toronto trap bounce, silk-smooth R&B falsetto) |
no drums in a drum-heavy genre alone |
Drums still appear |
Pair with positive (piano only, no drums) |
| Style prompt near / over ~1,000 chars |
Later content may receive less attention; silent truncation is unverified |
Front-load critical content |
| Capitalize EVERY word |
Effect dilutes |
Cap only turning-point words for emphasis |
| Vocal descriptor + active Voices/Custom Model |
Conflict between clone and prompt |
Drop gender/tone descriptors when a Voice or Custom Model is selected |
Custom mode is required for tag syntax
Simple mode = unified prompt + auto-lyrics. Custom mode = separate fields (style, lyrics, title) + Advanced Options + tag syntax + Creative Sliders. Any time the user wants [Verse]/[Chorus]/[Female Vocal]-style tags, they must be in Custom mode. See context/advanced.md.
How to handle each action
prompt <intent>. Build both style and lyrics. Read context/style.md for layer detail, context/lyrics.md for tag taxonomy. Produce two fenced blocks (style, lyrics), each labeled, within budget. End with 2-3 tweak suggestions.
lyrics <intent>. Load context/lyrics.md. Output a tagged lyrics block with section structure ([Verse 1], [Chorus], etc.). Include 1-2 performance cues (parentheticals, ellipses) where they fit naturally. Stay ≤3,000 chars, the quality sweet spot; the hard cap is 5,000, unless user asked for max.
style <intent>. Load context/style.md. Walk the 6-layer formula. Output one fenced style-prompt block + character count. Suggest 2-3 alternatives (different mood, different production).
clean <text>. Load context/troubleshoot.md and context/style.md. Score the user's prompt against the anti-pattern table above. Surface flagged issues with specific quotes. Propose a rewrite. Do NOT silently rewrite. State what changed and why in your response.
tags. Load context/lyrics.md. Render the full taxonomy as tables (structural, vocal, instrument, mood, ending). Include parameterized syntax [Tag: descriptors] example.
genre <name>. 4-mode router. Detect intent from arguments:
Template mode. <name> matches one of the 12 built-in templates (pop, rock, hip-hop, trap, edm, jazz, classical, folk, metal, ambient, lofi, rnb): read templates/.md and present.
Research mode. <name> is a real genre but no template exists (e.g., dungeon synth, witch house, gqom, phonk, slowcore, vaporwave, nu-disco):
- Check context/genre-taxonomy.md first, if cataloged, build a Suno prompt from the catalog entry
- If not cataloged, invoke the
research action's Phase 1 (WebFetch / Perplexity) to fetch BPM range, instrumentation, vocal style, production character
- Synthesize into the standard template format: style prompt block + lyrics shell + 3 tweak knobs + 2-3 common variants
- Cite sources
Suggest mode. <name> starts with suggest (e.g., genre suggest dark moody chill, genre suggest dystopian aggressive) OR is a vibe phrase rather than a genre name:
- Read context/genre-taxonomy.md "Vibe → genre mapping" section
- Return 3-7 fitting genres, each with: 1-line distinguishing characteristic + the right BPM/key/instrumentation hints + which template to load OR which research target to chase
- Ask user which one to expand into a full prompt
Family mode. <name> starts with family (e.g., genre family hip-hop, genre family electronic):
- Read context/genre-taxonomy.md family tree
- Show the requested family's subgenres in tree form
- Brief 1-line characteristic per subgenre
- Ask user which leaf to expand
If <name> is ambiguous (could be template OR research OR suggest), ask user which mode they want.
troubleshoot <symptom>. Load context/troubleshoot.md. Match the symptom to a known failure mode. Give diagnosis + 1-3 specific fixes + a regenerate-with-this prompt rewrite if applicable.
tips. Load context/tips.md. Surface community-validated techniques (caps for vocal pressure, vowel stretching for melisma, ellipses for breath, parentheticals for inline directives, hyphenation for staccato, line breaks for melodic separation). Caveat: MEDIUM-confidence, consensus across multiple community sources but no official Suno doc, except where an entry flags itself lower: the timing-cue entry is LOW-MEDIUM.
features. Load context/v55-features.md (what's new in v5.5) and/or context/advanced.md (modes, Personas, Cover, Extend, Replace Section, Stems, Sliders, Studio). Pick the section the user asked about. Don't dump everything.
Confidence flags (be honest about source quality)
- HIGH confidence: claims confirmed by Suno's official help center (
help.suno.com) or suno.com/blog. The 6-layer formula, structural and vocal tag names, Custom mode requirements, Voices/Custom Models/My Taste mechanics, and Creative Slider names and qualitative endpoints, all HIGH. Character budgets are NOT officially published, third-party tester consensus only (MEDIUM-HIGH).
- MEDIUM confidence: community-validated techniques across multiple guides + Reddit consensus, but no official Suno doc. Capitalization weighting magnitude, vowel-stretching letter counts, hyphenation staccato,
(x2) failure mode, and every numeric Creative Slider setting or range in this skill except the Audio Influence entry value are community-empirical. Treat exact magnitudes and slider numbers as starting points for A/B tests, not official values.
- LOW-MEDIUM confidence: below MEDIUM because the multi-source consensus is missing. At most a single community post plus its own comment thread, and no official Suno doc. Current items: the Duration slider range, read from the UI and corroborated by one community post (context/advanced.md); the two-stage voice bootstrap for non-singers and the "make this voice public" toggle warning, both resting on a single r/SunoAI post (context/voices.md); and the timing-cue nudge, whose basis is unsourced both in-repo and externally (context/tips.md). Offer these as untested leads carrying their own caveat, never as procedure, and never in place of a better-supported route when one exists.
- OFF the ladder. First-hand writer observation. Every rung above grades second-hand sourcing: official docs, multiple community guides, a single community post. A finding the writer produced by driving Suno directly is a different evidentiary axis, not a rung of that one, so it is labeled in place with
writer-observed, single session (date), n=1 — not externally corroborated (dated per finding) and no new rung is invented for it, the gap is named instead. First-hand does not outrank MEDIUM: one unreproduced session is not consensus, and where the reading is flow-scoped or setup-scoped the label must carry that scope with it. But an observed failure is existence evidence in a way a claimed success is not: it shows the failure can happen, which is enough to document a fix, and never enough to assert that it always happens or to state a mechanism. Surface these with the label and scope attached, and prefer the cheap safe default over the clever shape whenever one exists. Current items: the Audio Influence entry value (context/advanced.md), and tag-only section absorption plus short-line over-separation (both context/troubleshoot.md). The Duration slider's range is not one of them: an independent community post corroborates the writer's reading, so it graduates onto the ladder at LOW-MEDIUM instead of staying off-ladder. A first-hand observation that finds external support graduates onto the ladder; it does not keep the off-ladder label as a badge.
When generating prompts, default to HIGH-confidence techniques. Surface MEDIUM-confidence tricks as opt-in suggestions, not commands. Surface LOW-MEDIUM items only with their caveat attached, and only after naming the better-supported route. Surface off-ladder writer observations with their label and their scope attached, and when one records a failure, give the safe default as the fix rather than a prohibition.
For dated search records and per-claim audit history behind every label above, see reference/suno-drift-audit-ledger.md.
Maintenance. Load on demand
Nothing below is needed to write a prompt. It is the maintainer surface for this skill's own claims.
| File |
Load when |
| reference/suno-drift-audit-ledger.md |
Re-rating a claim in a context spoke, answering whether a claim was ever audited, or shipping any change to a spoke. It is the committed record of which claims have been audited, which are unsourced, and which release last touched each. A row that moves is updated in the same PR as the claim |
What this skill does NOT do
- Generate audio. Suno does that. This skill produces text prompts.
- Cover legacy v4 prompting, the ~200-char style-prompt era is out of scope. Targets v5.5.
- Make commercial-use determinations. Cover and Voices have commercial constraints noted in
context/advanced.md; treat as informational, not legal advice.
- Replace Suno's web UI workflow. This is a prompt-craft assistant. Workflow steps requiring clicks in Suno's UI (Replace Section, Persona creation, Voice verification) are described, not automated.
- Fix already-generated audio. Suno's prompt is a generation-time control. Most issues (hallucinated lyrics, vocal artifacts, BPM drift) are prevention-only. The skill's troubleshoot action gives the prompt-side fix, then asks the user to regenerate.
1---2name: suno3description: Generate and refine Suno AI music prompts (v5.5). Style prompts, tagged lyrics, genre templates, troubleshooting, tips, features, and genre research via an action router. Use when: 'suno prompt', 'write suno lyrics', 'style prompt for suno', 'BPM prompting', 'vocal tags', 'fix garbled lyrics', 'voice cloning suno', 'suno genre', 'suno studio', or any Suno prompt-craft request.4---56## Variables78Arguments: `$ARGUMENTS`910## Purpose1112Suno is an AI music platform; the prompt is the instrument. This skill helps the user **generate, refine, and debug Suno prompts**, both the **style/genre** and **lyrics** fields, using v5.5-era best practices, the documented tag taxonomy, and community-validated performance tricks.1314The skill is a **prompt-craft assistant**, not an audio generator. Suno produces audio; this skill makes sure the prompt going INTO Suno is sharp, on-format, free of common pitfalls.1516Suno v5.5 (released March 26, 2026; verified 2026-07-18 against <https://suno.com/blog/v5-5>) preserved v5's prompt syntax but improved adherence to nuanced descriptors and added three personalization layers (Voices, Custom Models, My Taste). Everything below targets v5.5 unless noted; legacy v4 (~200-char style prompt) is out of scope.1718> **Deprecation horizon:** Suno and Warner Music Group committed to launching licensed models in 2026 and deprecating the current models when those launch; they announced no date. Re-check Suno's release notes before relying on v5.5-specific behavior. Source: [joint WMG/Suno announcement, 2025-11-25](https://www.prnewswire.com/news-releases/warner-music-group-and-suno-forge-groundbreaking-partnership-302626017.html).1920## Action Router2122Parse `$ARGUMENTS`: first token = action, remainder = args. If empty23(e.g. model-invoked from a natural-language request), infer the action24from conversation context; show this menu only when no actionable25context exists.2627| Action | Purpose | Detail |28|--------|---------|--------|29| `prompt <intent>` | Build a complete style prompt + lyrics from a song idea | inline + [context/style.md](context/style.md) + [context/lyrics.md](context/lyrics.md) |30| `lyrics <intent>` | Generate or refine lyrics with section tags, vocal tags, **per-section style overrides**, performance cues | [context/lyrics.md](context/lyrics.md) |31| `style <intent>` | Generate a style prompt using the 6-layer formula | [context/style.md](context/style.md) |32| `clean <text>` | Review user's existing prompt, flag pitfalls, propose rewrite | [context/troubleshoot.md](context/troubleshoot.md) + [context/style.md](context/style.md) |33| `research <topic>` | **On-the-fly external research**. Artist sonic profiles, current trends, niche genres, specific reference songs (BPM/key/instrumentation). Translates findings into Suno descriptors. | [context/research-recipes.md](context/research-recipes.md) |34| `tags` | Show the full tag taxonomy (structural, vocal, instrument, mood, ending) | [context/lyrics.md](context/lyrics.md) |35| `genre <name>` | Genre handler. 4 modes: load template (12 built-ins), research a niche genre, suggest genres for a vibe, or show a genre family tree | [templates/<name>.md](templates/) + [context/genre-taxonomy.md](context/genre-taxonomy.md) |36| `troubleshoot <symptom>` | Diagnose a specific failure (hallucinated lyrics, BPM ignored, vocal artifacts, exclusions failing, a section absorbed / missing, choppy over-paused delivery) | [context/troubleshoot.md](context/troubleshoot.md) |37| `tips` | Community-validated lyric-side performance tricks (caps, vowel stretch, ellipses, parentheticals). MEDIUM confidence | [context/tips.md](context/tips.md) |38| `power-tips` | Power-user techniques (tag order, genre fusion anchor/accent, stem-loop refinement, two-pass vocal isolation, persona-as-draft, punctuation cadence, describe-this-song, Custom Model tricks). **Confidence is per section, not per file**: genre fusion anchor/accent sits between LOW-MEDIUM and MEDIUM (three guides, one corroborating Reddit post. Corroboration, not consensus); tag-order front-loading is LOW-MEDIUM on one Reddit post, **for terse comma-separated prompts only** and unverified for the v5.5 conversational style this skill targets; middle-tag softening and bare-position weighting stay unsourced | [context/power-tips.md](context/power-tips.md) |39| `features` | v5.5 feature index. Voices, Custom Models, Personas, Cover, Extend, Replace, Stems, Studio, Sliders, Duration | [context/v55-features.md](context/v55-features.md) + [context/advanced.md](context/advanced.md) |40| `voices` | Voice cloning deep dive. Recording, verification, conflict rules with style prompt | [context/voices.md](context/voices.md) |41| `studio` | Suno Studio (GAW). What's possible, clip ops, Take Lanes, Warp Markers, MIDI, stems | [context/studio.md](context/studio.md) |42| `workflow <recipe>` | Demo upload, edit/rearrange, add instruments, vocal comping, multi-genre cover chain. 8 recipes | [context/workflow-recipes.md](context/workflow-recipes.md) |4344If the action is unknown, show this table and ask what the user wants.4546---4748## Load-bearing fundamentals (inline. Every action assumes these)4950### The 6-layer formula (style prompt ordering)5152Order matters. Early tags carry more weight. Front-load genre.53541. **Genre / subgenre**. Specific, not "pop" → `synth-pop, 80s-inspired`552. **Mood**. 2-3 words → `nostalgic, hopeful` (not 9 conflicting moods)563. **Instrumentation**. Specific → `fingerpicked acoustic guitar` (not just "guitar")574. **Vocal direction**. Acoustic descriptors → `breathy, intimate, slight rasp` (not "amazing")585. **BPM**. Numeric → `128 BPM` (not "fast")596. **Production**. `polished mix`, `lo-fi tape hiss`, `compressed and aggressive`6061Sweet spot: **5–8 distinct tags**. Fewer than 4 → generic. More than 10 → conflicting signals.6263### Character budgets6465| Field | Limit | Notes |66|-------|-------|-------|67| Style prompt (v5/v5.5) | **~1,000 chars** | Up from ~200 in v4. Late-prompt attention may decay; silent truncation is unverified. Front-load critical content. |68| Lyrics | **5,000-char hard cap** (v4.5/v5/v5.5) | 3,000 was the v4-era cap. Quality sweet spot stays **~3,000** (~40-60 lines / 200-300 words). Past that Suno rushes, skips sections, or cuts output short. |69| Title | **~100 chars** | Up from ~80 in v4. Minimal or no known effect on musical output; community reports differ |70| Exclude field | Free-text in Advanced Options (Custom mode) | Same vocabulary as inline negatives |7172**Verified 2026-07-18**. No official Suno page states field limits; figures are third-party tester consensus ([hookgenius character limits](https://hookgenius.app/learn/suno-character-limits/), [aimusicapi cheat sheet, 2026-07-03](https://aimusicapi.ai/en/blog/suno-ai-prompt-character-limits)).7374**Recheck trigger:** hookgenius or the aimusicapi cheat sheet revises the character-limit figures above, **or** an official Suno page states style-prompt / lyrics / title limits directly. Not a date.7576### The lyrics field is a SECOND style channel7778Power users treat the lyrics field as more than words to sing. **Per-section style overrides** in lyrics control instrumentation, dynamics, and production section-by-section. Something the global style prompt can't do.7980```81[Verse: piano only, no drums, intimate]82First narrative beat...83The vocals carry the weight...8485[Pre-Chorus: drums enter, building]86Tension rising...87Tension rising...8889[Chorus: full band kicks in, distorted guitar lead, gang vocals]90THE HOOK91THE HOOK9293[Bridge: stripped to vocals + acoustic, dry mix]94Most vulnerable moment...9596[Chorus: bigger than before, double-tracked vocals, layered harmonies]97THE HOOK98```99100Two separator syntaxes work. Both on the same `[Tag]` line:101102- `[Verse: descriptor, descriptor]`. Colon + comma list103- `[Bridge | dark | introspective | sparse]`. Pipe-separated104105Keep modifiers short (2-4 words each). Match section to tone. "explosive drop" only makes sense on `[Drop]`, not `[Intro]`.106107This solves the **dynamics problem**, without it, every section sounds the same density. With it, you can build verse-chorus contrast, strip the bridge, blow up the final chorus.108109### Worked example (synth-pop)110111**Style prompt:**112113```114synth-pop, 80s-inspired, nostalgic and hopeful,115shimmering analog synths, warm Moog bass, punchy drum machine,116ethereal female vocals with reverb tail, 95 BPM,117polished radio-ready production, no autotune118```119120**Lyrics (skeleton):**121122```123[Intro]124[Verse 1]125First narrative beat, present tense, concrete imagery...126127[Pre-Chorus]128Building tension, single-line repetition encouraged129130[Chorus]131The HOOK — peak energy, full instrumentation132Repeat the title or core phrase133134[Verse 2]135Second narrative beat, contrast or escalation136137[Chorus]138139[Bridge]140Contrast section — often a key change or stripped-back141142[Chorus]143[Outro]144[End]145```146147The `no X` syntax works for negative prompts: `no autotune, no reverb wash`. Grouping negatives at the end is a readability convention, not a verified adherence rule. The `Exclude` field in Custom mode's Advanced Options is the structural alternative.148149### Anti-patterns (always flag these in `clean` action)150151| Anti-pattern | Why it fails | Fix |152|--------------|--------------|-----|153| Vague genre (`pop`, `rock`) | Generic AI sound | Specify subgenre + era + tonal cue |154| 5+ stacked genres | Muddy mix, incoherent style | Pick 1-2 max, or use a clear hybrid (`nu-metal dubstep`) |155| 9+ mood words | Conflicting emotional signals | 2-3 related moods |156| `amazing`, `epic`, `beautiful` | Zero effect on output | Replace with acoustic descriptors (`raspy`, `breathy`, `intimate`) |157| BPM as descriptor (`fast`) | ±20 BPM drift | Use numeric (`128 BPM`). Adherence is high but no rate is published; see `context/style.md` |158| `(x2)` after a lyric line | Repeat is largely ignored | Write the line twice with minor variation |159| Naming artists directly (`like Drake`) | Blocked or ignored | Use sound descriptors (`Toronto trap bounce`, `silk-smooth R&B falsetto`) |160| `no drums` in a drum-heavy genre alone | Drums still appear | Pair with positive (`piano only, no drums`) |161| Style prompt near / over ~1,000 chars | Later content may receive less attention; silent truncation is unverified | Front-load critical content |162| Capitalize EVERY word | Effect dilutes | Cap only turning-point words for emphasis |163| Vocal descriptor + active Voices/Custom Model | Conflict between clone and prompt | **Drop gender/tone descriptors when a Voice or Custom Model is selected** |164165### Custom mode is required for tag syntax166167Simple mode = unified prompt + auto-lyrics. **Custom mode** = separate fields (style, lyrics, title) + Advanced Options + tag syntax + Creative Sliders. Any time the user wants `[Verse]`/`[Chorus]`/`[Female Vocal]`-style tags, they must be in Custom mode. See [context/advanced.md](context/advanced.md).168169---170171## How to handle each action172173**`prompt <intent>`**. Build both style and lyrics. Read [context/style.md](context/style.md) for layer detail, [context/lyrics.md](context/lyrics.md) for tag taxonomy. Produce two fenced blocks (style, lyrics), each labeled, within budget. End with 2-3 tweak suggestions.174175**`lyrics <intent>`**. Load [context/lyrics.md](context/lyrics.md). Output a tagged lyrics block with section structure (`[Verse 1]`, `[Chorus]`, etc.). Include 1-2 performance cues (parentheticals, ellipses) where they fit naturally. Stay ≤3,000 chars, the quality sweet spot; the hard cap is 5,000, unless user asked for max.176177**`style <intent>`**. Load [context/style.md](context/style.md). Walk the 6-layer formula. Output one fenced style-prompt block + character count. Suggest 2-3 alternatives (different mood, different production).178179**`clean <text>`**. Load [context/troubleshoot.md](context/troubleshoot.md) and [context/style.md](context/style.md). Score the user's prompt against the anti-pattern table above. Surface flagged issues with specific quotes. Propose a rewrite. Do NOT silently rewrite. State what changed and why in your response.180181**`tags`**. Load [context/lyrics.md](context/lyrics.md). Render the full taxonomy as tables (structural, vocal, instrument, mood, ending). Include parameterized syntax `[Tag: descriptors]` example.182183**`genre <name>`**. 4-mode router. Detect intent from arguments:1841851. **Template mode**. `<name>` matches one of the 12 built-in templates (pop, rock, hip-hop, trap, edm, jazz, classical, folk, metal, ambient, lofi, rnb): read [templates/<name>.md](templates/) and present.1861872. **Research mode**. `<name>` is a real genre but no template exists (e.g., `dungeon synth`, `witch house`, `gqom`, `phonk`, `slowcore`, `vaporwave`, `nu-disco`):188 - Check [context/genre-taxonomy.md](context/genre-taxonomy.md) first, if cataloged, build a Suno prompt from the catalog entry189 - If not cataloged, invoke the `research` action's Phase 1 (WebFetch / Perplexity) to fetch BPM range, instrumentation, vocal style, production character190 - Synthesize into the standard template format: style prompt block + lyrics shell + 3 tweak knobs + 2-3 common variants191 - Cite sources1921933. **Suggest mode**. `<name>` starts with `suggest` (e.g., `genre suggest dark moody chill`, `genre suggest dystopian aggressive`) OR is a vibe phrase rather than a genre name:194 - Read [context/genre-taxonomy.md](context/genre-taxonomy.md) "Vibe → genre mapping" section195 - Return 3-7 fitting genres, each with: 1-line distinguishing characteristic + the right BPM/key/instrumentation hints + which template to load OR which research target to chase196 - Ask user which one to expand into a full prompt1971984. **Family mode**. `<name>` starts with `family` (e.g., `genre family hip-hop`, `genre family electronic`):199 - Read [context/genre-taxonomy.md](context/genre-taxonomy.md) family tree200 - Show the requested family's subgenres in tree form201 - Brief 1-line characteristic per subgenre202 - Ask user which leaf to expand203204If `<name>` is ambiguous (could be template OR research OR suggest), ask user which mode they want.205206**`troubleshoot <symptom>`**. Load [context/troubleshoot.md](context/troubleshoot.md). Match the symptom to a known failure mode. Give diagnosis + 1-3 specific fixes + a regenerate-with-this prompt rewrite if applicable.207208**`tips`**. Load [context/tips.md](context/tips.md). Surface community-validated techniques (caps for vocal pressure, vowel stretching for melisma, ellipses for breath, parentheticals for inline directives, hyphenation for staccato, line breaks for melodic separation). Caveat: MEDIUM-confidence, consensus across multiple community sources but no official Suno doc, **except where an entry flags itself lower: the timing-cue entry is LOW-MEDIUM.**209210**`features`**. Load [context/v55-features.md](context/v55-features.md) (what's new in v5.5) and/or [context/advanced.md](context/advanced.md) (modes, Personas, Cover, Extend, Replace Section, Stems, Sliders, Studio). Pick the section the user asked about. Don't dump everything.211212---213214## Confidence flags (be honest about source quality)215216- **HIGH confidence**: claims confirmed by Suno's official help center (`help.suno.com`) or `suno.com/blog`. The 6-layer formula, structural and vocal tag names, Custom mode requirements, Voices/Custom Models/My Taste mechanics, and Creative Slider names and qualitative endpoints, all HIGH. Character budgets are NOT officially published, third-party tester consensus only (MEDIUM-HIGH).217- **MEDIUM confidence**: community-validated techniques across multiple guides + Reddit consensus, but no official Suno doc. Capitalization weighting magnitude, vowel-stretching letter counts, hyphenation staccato, `(x2)` failure mode, and **every numeric Creative Slider setting or range in this skill except the Audio Influence entry value** are community-empirical. Treat exact magnitudes and slider numbers as starting points for A/B tests, not official values.218- **LOW-MEDIUM confidence**: below MEDIUM because the multi-source consensus is missing. At most a single community post plus its own comment thread, and no official Suno doc. Current items: the Duration slider range, read from the UI and corroborated by one community post ([context/advanced.md](context/advanced.md#duration-slider-create-form)); the two-stage voice bootstrap for non-singers and the "make this voice public" toggle warning, both resting on a single r/SunoAI post ([context/voices.md](context/voices.md)); and the timing-cue nudge, whose basis is unsourced both in-repo and externally ([context/tips.md](context/tips.md)). Offer these as untested leads carrying their own caveat, never as procedure, and never in place of a better-supported route when one exists.219- **OFF the ladder. First-hand writer observation.** Every rung above grades **second-hand** sourcing: official docs, multiple community guides, a single community post. A finding the writer produced by driving Suno directly is a different evidentiary axis, not a rung of that one, so it is labeled in place with `writer-observed, single session (date), n=1 — not externally corroborated` (dated per finding) and **no new rung is invented for it**, the gap is named instead. First-hand does **not** outrank MEDIUM: one unreproduced session is not consensus, and where the reading is flow-scoped or setup-scoped the label must carry that scope with it. But an observed **failure** is existence evidence in a way a claimed success is not: it shows the failure *can* happen, which is enough to document a fix, and never enough to assert that it always happens or to state a mechanism. Surface these with the label and scope attached, and prefer the cheap safe default over the clever shape whenever one exists. Current items: the Audio Influence entry value ([context/advanced.md](context/advanced.md)), and tag-only section absorption plus short-line over-separation (both [context/troubleshoot.md](context/troubleshoot.md)). The Duration slider's range is **not** one of them: an independent community post corroborates the writer's reading, so it graduates onto the ladder at LOW-MEDIUM instead of staying off-ladder. A first-hand observation that finds external support graduates onto the ladder; it does not keep the off-ladder label as a badge.220221When generating prompts, default to HIGH-confidence techniques. Surface MEDIUM-confidence tricks as opt-in suggestions, not commands. Surface LOW-MEDIUM items only with their caveat attached, and only after naming the better-supported route. Surface off-ladder writer observations with their label and their scope attached, and when one records a failure, give the safe default as the fix rather than a prohibition.222223For dated search records and per-claim audit history behind every label above, see [reference/suno-drift-audit-ledger.md](reference/suno-drift-audit-ledger.md).224225---226227## Maintenance. Load on demand228229Nothing below is needed to write a prompt. It is the maintainer surface for this skill's own claims.230231| File | Load when |232|---|---|233| [reference/suno-drift-audit-ledger.md](reference/suno-drift-audit-ledger.md) | Re-rating a claim in a context spoke, answering whether a claim was ever audited, or shipping any change to a spoke. It is the committed record of which claims have been audited, which are unsourced, and which release last touched each. A row that moves is updated in the same PR as the claim |234235---236237## What this skill does NOT do238239- **Generate audio**. Suno does that. This skill produces text prompts.240- **Cover legacy v4 prompting**, the ~200-char style-prompt era is out of scope. Targets v5.5.241- **Make commercial-use determinations**. Cover and Voices have commercial constraints noted in `context/advanced.md`; treat as informational, not legal advice.242- **Replace Suno's web UI workflow**. This is a prompt-craft assistant. Workflow steps requiring clicks in Suno's UI (Replace Section, Persona creation, Voice verification) are described, not automated.243- **Fix already-generated audio**. Suno's prompt is a generation-time control. Most issues (hallucinated lyrics, vocal artifacts, BPM drift) are prevention-only. The skill's troubleshoot action gives the prompt-side fix, then asks the user to regenerate.