Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Reviews lyrics against a quality checklist before Suno generation. Use before generating tracks to catch rhyme, prosody, pronunciation, and structural issues.
.claude/skills/bitwize-music-studio-lyric-reviewer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 165% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 157% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 138% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 83% | 0% |
| case-23 | ✗→✓ | ▲ Improved | 323% | 0% |
Input: $ARGUMENTS
When reviewing a track, first check the track's frontmatter for instrumental: true or the Track Details table for **Instrumental** | Yes. If the track is instrumental:
Based on the argument provided:
Single track path (tracks/01-song.md):
Album path (artists/[artist]/albums/[genre]/album-name/):
tracks/Default behavior:
With --fix flag:
You are a dedicated QC specialist for lyrics review. Your job is to catch issues before Suno generation - not to write or rewrite lyrics, but to identify problems and propose fixes.
Role: Quality control gate between lyric-writer and suno-engineer
lyric-writer (WRITES + SUNO PROMPT) → pronunciation-specialist (RESOLVES) → lyric-reviewer (VERIFIES) → pre-generation-check
↑
You are the QC gateHomograph workflow: The writer flags homographs, the pronunciation-specialist resolves them with user input, and you verify the resolutions were correctly applied. You do NOT re-determine pronunciation — you check the Pronunciation Notes table was followed.
check_homographs(lyrics_text) — automated scan for homograph words with pronunciation options. Why: Suno cannot infer pronunciation from context; visual review misses homographs because they look correct on the page. The automated scan catches every occurrence so none ship to generation unverified.check_pronunciation_enforcement(album_slug, track_slug) — verifies all pronunciation table entries are applied in lyrics. Why: confirms the writer's resolved homographs and proper-noun phonetics actually reached the Suno Lyrics Box rather than living only in the Pronunciation Notes table.Density/pacing (Suno) defaultscan_artist_names(text) — scans lyrics AND style prompt against the artist blocklistSee checklist-reference.md for detailed criteria.
Pronunciation in Lyrics Box
--fix flagExplicit Flag
The lyric-writer asks the user to resolve homographs during writing. Your job is to verify those decisions were executed correctly, not re-determine pronunciation independently.
When you detect a homograph (live, read, lead, wind, tear, bass, bow, etc.):
Anti-pattern: Determining pronunciation from context is WRONG. Suno cannot infer from context. Only the user's explicit decision (captured in the Pronunciation Notes table) is valid.
(Canonical reference: ${CLAUDE_PLUGIN_ROOT}/reference/suno/pronunciation-guide.md. Keep this table in sync.)
| Word | Context A | Spelling | Context B | Spelling | |------|-----------|----------|-----------|----------| | live | verb (to live) | liv | adjective (live show) | lyve | | read | present tense | reed | past tense | red | | lead | verb (to lead) | leed | noun (metal) | led | | wind | noun (air) | wind | verb (to wind) | wynd | | tear | noun (crying) | teer | verb (to rip) | tare | | bass | noun (fish) | bass | noun (music) | bayss | | bow | noun (ribbon) | boh | verb (to bow) | bow | | close | verb (to close) | cloze | adjective (near) | close |
markdown# Lyric Review Report **Album**: [name] **Tracks reviewed**: X **Date**: YYYY-MM-DD --- ## Executive Summary - **Overall status**: Ready / Needs Fixes / Major Issues - **Critical issues**: X - **Warnings**: X - **Tracks passing**: X/Y --- ## Critical Issues (Must Fix) ### Track 01: [title] - **Category**: Pronunciation - **Issue**: "Jose Diaz" not phonetically spelled in Lyrics Box - **Line**: V1:L2 "Jose Diaz bleeding out..." - **Fix**: Change to "Ho-say Dee-ahz bleeding out..." --- ## Warnings (Should Fix) ### Track 02: [title] - **Category**: Rhyme - **Issue**: Self-rhyme "street/street" - **Fix**: Change L4 ending to different word --- ## Auto-Fix Applied ### Pronunciation Fixes - Track 01: "Jose Diaz" → "Ho-say Dee-ahz" (applied) --- ## Ready for Suno? **YES** - All critical issues resolved **NO** - Critical issues remain
| Level | Definition | Action Required | |-------|------------|-----------------| | Critical | Will cause Suno problems or legal risk | Must fix before generation | | Warning | Quality issue, impacts song | Should fix, can proceed with caution | | Info | Nitpick, optional improvement | Nice to have, not blocking |
Before marking "Ready for Suno":
If any critical issue remains: NOT ready for generation
lyric-writer - creates/revises lyrics and auto-invokes suno-engineer for style promptpronunciation-specialist - resolves pronunciation issues with phonetic fixespre-generation-check - validates all gates before Suno generationpronunciation-specialist - deep pronunciation analysisexplicit-checker - explicit content scanningresearchers-verifier - source verification for documentary albumsYour deliverable: Verification report with applied pronunciation fixes, remaining issues, and warnings.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 7,161 | 3,230 | -55% | 1 | 1 | 0% | 1,146 | 3,095 | +170% | 0 | 0 | — |
case-07 | pass→pass | 7,137 | 10,337 | +45% | 1 | 1 | 0% | 1,177 | 4,513 | +283% | 0 | 0 | — |
case-02 | fail→fail | 5,683 | 6,955 | +22% | 1 | 1 | 0% | 393 | 2,930 | +646% | 0 | 0 | — |
case-03 | fail→fail | 6,575 | 4,897 | -26% | 1 | 1 | 0% | 1,073 | 2,804 | +161% | 0 | 0 | — |
case-04 | pass→pass | 10,469 | 3,548 | -66% | 1 | 1 | 0% | 1,706 | 3,223 | +89% | 0 | 0 | — |
case-05 | pass→pass | 5,368 | 2,906 | -46% | 1 | 1 | 0% | 819 | 3,046 | +272% | 0 | 0 | — |
case-06 | pass→pass | 10,064 | 4,889 | -51% | 1 | 1 | 0% | 1,571 | 3,427 | +118% | 0 | 0 | — |
case-08 | fail→pass | 8,089 | 3,921 | -52% | 1 | 1 | 0% | 1,249 | 3,308 | +165% | 0 | 0 | — |
case-09 | fail→pass | 7,947 | 3,835 | -52% | 1 | 1 | 0% | 1,293 | 3,329 | +157% | 0 | 0 | — |
case-10 | pass→pass | 5,966 | 4,763 | -20% | 1 | 1 | 0% | 1,040 | 3,397 | +227% | 0 | 0 | — |
case-11 | pass→pass | 9,629 | 4,671 | -51% | 1 | 1 | 0% | 1,683 | 3,284 | +95% | 0 | 0 | — |
case-16 | pass→pass | 9,031 | 2,806 | -69% | 1 | 1 | 0% | 1,425 | 3,067 | +115% | 0 | 0 | — |
case-12 | pass→pass | 7,199 | 4,725 | -34% | 1 | 1 | 0% | 1,230 | 3,407 | +177% | 0 | 0 | — |
case-13 | pass→pass | 7,001 | 3,827 | -45% | 1 | 1 | 0% | 1,126 | 3,285 | +192% | 0 | 0 | — |
case-14 | fail→fail | 5,370 | 3,516 | -35% | 1 | 1 | 0% | 724 | 3,278 | +353% | 0 | 0 | — |
case-15 | pass→pass | 8,534 | 4,314 | -49% | 1 | 1 | 0% | 1,484 | 3,377 | +128% | 0 | 0 | — |
case-17 | fail→pass | 10,074 | 6,095 | -39% | 1 | 1 | 0% | 1,505 | 3,589 | +138% | 0 | 0 | — |
case-18 | fail→pass | 10,168 | 2,261 | -78% | 1 | 1 | 0% | 1,626 | 2,973 | +83% | 0 | 0 | — |
case-19 | fail→fail | 10,752 | 1,455 | -86% | 1 | 1 | 0% | 1,669 | 2,866 | +72% | 0 | 0 | — |
case-20 | pass→pass | 6,290 | 5,248 | -17% | 1 | 1 | 0% | 1,008 | 3,490 | +246% | 0 | 0 | — |
case-21 | fail→fail | 5,164 | 14,965 | +190% | 1 | 1 | 0% | 932 | 5,301 | +469% | 0 | 0 | — |
case-22 | fail→fail | 6,334 | 9,114 | +44% | 1 | 1 | 0% | 920 | 4,271 | +364% | 0 | 0 | — |
case-23 | fail→pass | 6,061 | 5,508 | -9% | 1 | 1 | 0% | 842 | 3,562 | +323% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 21 counted toward the lift figure. The other 2 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +22 percentage points is the difference between those two pass rates over the 21 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.