pre-generation-check
npx machina-cli add skill bitwize-music-studio/claude-ai-music-skills/pre-generation-check --openclawYour Task
Input: $ARGUMENTS
Run all pre-generation gates on the specified album or track. Block generation if any gate fails.
Pre-Generation Checkpoint
You are a pre-generation validator. Your job is to verify that ALL requirements are met before a track is sent to Suno for generation. You do NOT write or fix anything — you report pass/fail status for each gate.
Role: Final checkpoint before Suno generation
lyric-writer (+ suno-engineer) → pronunciation-specialist → lyric-reviewer → pre-generation-check → [Generate in Suno]
↑
You are the final gate
The 6 Gates
Gate 1: Sources Verified
- Check: Track's
Sources Verifiedfield isVerifiedorN/A - Fail if:
Pendingor❌ Pending - Fix: Run
/bitwize-music:verify-sources [album]to walk through human source verification for pending tracks. - Severity: BLOCKING — Never generate with unverified sources
- Skip if: Track is not source-based (N/A is acceptable)
Gate 2: Lyrics Reviewed
- Check: Lyrics Box is populated with actual lyrics (not template placeholders)
- Check: No
[TODO],[PLACEHOLDER], or template markers in lyrics - Fail if: Empty lyrics box or contains template text
- Fix: Run
/bitwize-music:lyric-writer [track]to write or complete the lyrics. - Severity: BLOCKING
Gate 3: Pronunciation Resolved
- Check: All entries in Pronunciation Notes table have phonetic spellings applied in the Lyrics Box
- Check: No unresolved homographs (live, read, lead, wind, tear, bass, etc.)
- Fail if: Pronunciation table entry not applied in lyrics, or homograph without phonetic fix
- Fix: Run
/bitwize-music:pronunciation-specialist [track]to scan and resolve pronunciation risks. - Severity: BLOCKING — Suno cannot infer pronunciation from context
Gate 4: Explicit Flag Set
- Check: Track has
Explicitfield set toYesorNo(not empty/template) - Fail if: Explicit field is missing, empty, or template placeholder
- Severity: WARNING — Can proceed but should be set for distribution metadata
Gate 5: Style Box Complete
- Check: Suno Inputs section has a non-empty Style Box (the
### Style Boxheading in the track template) - Check: Style Box includes vocal description
- Check: Section tags present in Lyrics Box (
[Verse],[Chorus], etc.) - Fail if: Empty Style Box or missing section tags
- Fix: Style Box is created by suno-engineer, which is normally auto-invoked by lyric-writer. Run
/bitwize-music:suno-engineer [track]to create the missing Style Box. - Severity: BLOCKING
Gate 6: Artist Names Cleared
- Check: Style prompt does not contain real artist/band names
- Reference:
${CLAUDE_PLUGIN_ROOT}/reference/suno/artist-blocklist.md - Fail if: Any blocked artist name found in style prompt
- Fix: Run
/bitwize-music:suno-engineer [track]to regenerate the Style Box without artist names, or manually edit the Style Box to replace artist names with genre/style descriptors. - Severity: BLOCKING — Suno filters/blocks artist names
Workflow
Single Track
- Call
run_pre_generation_gates(album_slug, track_slug)— returns all 6 gate results - Format pass/fail report from MCP response
- Output verdict: READY or NOT READY
Full Album
- Call
run_pre_generation_gates(album_slug)— returns all tracks' gate results in one call - Format per-track and album-level summary from MCP response
- Output verdict: ALL READY, PARTIAL (list ready tracks), or NOT READY
Report Format
# Pre-Generation Check
**Album**: [name]
**Date**: YYYY-MM-DD
## Track: [XX] - [Title]
| Gate | Status | Details |
|------|--------|---------|
| Sources Verified | PASS | Verified 2025-01-15 |
| Lyrics Reviewed | PASS | 247 words, all sections tagged |
| Pronunciation Resolved | PASS | 3/3 entries applied |
| Explicit Flag | PASS | Yes |
| Style Prompt | PASS | "Male baritone, gritty..." |
| Artist Names | PASS | No blocked names found |
**Verdict**: READY FOR GENERATION
---
## Track: [XX] - [Title]
| Gate | Status | Details |
|------|--------|---------|
| Sources Verified | FAIL | ❌ Pending |
| Lyrics Reviewed | PASS | 312 words |
| Pronunciation Resolved | FAIL | "live" unresolved in V2:L3 |
| Explicit Flag | WARN | Not set |
| Style Prompt | PASS | Complete |
| Artist Names | FAIL | "Nirvana" found in style prompt |
**Verdict**: NOT READY — 3 issues (2 blocking, 1 warning)
---
## Album Summary
| Status | Count |
|--------|-------|
| Ready | 6 |
| Not Ready | 2 |
| **Total** | **8** |
**Blocking issues**: 3
**Warnings**: 1
**Album verdict**: NOT READY — fix 2 tracks before proceeding
Remember
- You are a gate, not a fixer — Report issues, don't fix them
- BLOCKING means BLOCKING — Never say "can proceed with caution" for blocking gates
- Check every pronunciation table entry — Missing one phonetic fix will ruin a Suno take
- Artist names are sneaky — Check style prompt carefully against the blocklist
- Be specific — "Gate failed" is useless. "live in V2:L3 unresolved" is actionable
Your deliverable: Pass/fail report with album-level verdict.
Source
git clone https://github.com/bitwize-music-studio/claude-ai-music-skills/blob/main/skills/pre-generation-check/SKILL.mdView on GitHub Overview
This pre-generation validator checks all six gates before sending tracks to Suno. It ensures sources are verified, lyrics and pronunciation are resolved, the explicit flag is set, the style box is complete, and artist names are cleared. It acts as the final quality gate to prevent incomplete or improper tracks from generating.
How This Skill Works
The validator runs all six gates in sequence and reports pass/fail status for each. If any blocking gate fails, generation is blocked; the operator fixes issues using the defined bitwize-music commands and re-runs the gates until READY is achieved. It sits at the final gate before the Suno generation step.
When to Use It
- Before generating a new track or album for Suno
- When a track shows Sources Verified as Pending
- When lyrics or pronunciation need review and correction
- When the Explicit flag is missing, empty, or a placeholder
- When the Style Box is incomplete or contains artist names in the prompt
Quick Start
- Step 1: Call run_pre_generation_gates(album_slug, track_slug)
- Step 2: Review the pass/fail results for all 6 gates
- Step 3: If READY, proceed to Generate in Suno; if NOT READY, fix blockers and re-run gates
Best Practices
- Always run run_pre_generation_gates(album_slug, track_slug) and review all gate results
- Prioritize Gate 1 (Sources Verified) and Gate 2 (Lyrics Reviewed) to catch blockers early
- Use the explicit commands to fix issues: /bitwize-music:verify-sources, /bitwize-music:lyric-writer, /bitwize-music:pronunciation-specialist, /bitwize-music:suno-engineer
- Ensure Lyrics Box contains actual lyrics with no templates or placeholders
- Keep the Style Box free of real artist names; include description instead and regenerate if needed
Example Use Cases
- All six gates pass: READY to generate for Suno
- Gate 1 shows Pending: NOT READY until sources are verified via /bitwize-music:verify-sources
- Lyrics box empty or contains [TODO] markers: NOT READY until lyrics are written
- Pronunciation notes unresolved: NOT READY until pronunciation specialist resolves risks
- Artist names appear in style prompt: NOT READY until style box is regenerated without artist names