pre-generation-check
Acerca de
Esta habilidad valida todas las compuertas previas a la generación requeridas antes de enviar pistas a Suno, verificando la autenticación de la fuente, la revisión de letras, la pronunciación, las etiquetas de contenido explícito, los indicadores de estilo y la autorización del artista. Actúa como un punto de control final que bloquea la generación si algún requisito no se cumple. Los desarrolladores deben utilizarla antes de la generación en Suno o cuando se active mediante los comandos "verificación previa a la generación" o "listo para generar".
Instalación rápida
Claude Code
Recomendadonpx skills add bitwize-music-studio/claude-ai-music-skills -a claude-code/plugin add https://github.com/bitwize-music-studio/claude-ai-music-skillsgit clone https://github.com/bitwize-music-studio/claude-ai-music-skills.git ~/.claude/skills/pre-generation-checkCopia y pega este comando en Claude Code para instalar esta habilidad
Documentación
Your 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
Instrumental Track Detection
Before running gates, check the track's frontmatter for instrumental: true and the Track Details table for **Instrumental** | Yes.
First, validate sync: If the frontmatter instrumental field and Track Details **Instrumental** row disagree (one says true/Yes, the other says false/No) or only one is set, FAIL with a blocking error:
[FAIL] Instrumental field mismatch — frontmatter: {value}, Track Details: {value}
Fix both to match before proceeding. Gate routing depends on this field.
Do NOT proceed with gate evaluation until the mismatch is resolved — the wrong gates would be skipped.
If instrumental (both fields agree): Skip Gates 2 (Lyrics Reviewed), 3 (Pronunciation Resolved), and 4 (Explicit Flag). Mark them as SKIP — Instrumental track. Only run Gates 1, 5, and 6.
Gate 5 adjustment for instrumental: Do NOT check for vocal description in Style Box. Instead verify the Style Box has genre/instrumentation/mood. Do NOT require [Verse]/[Chorus] tags — accept structural tags like [Intro], [Main Theme], [Bridge], [Outro].
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
- Instrumental tracks skip lyrics gates — Gates 2, 3, 4 are N/A for instrumental tracks
Your deliverable: Pass/fail report with album-level verdict.
Repositorio GitHub
Habilidades relacionadas
content-collections
MetaEsta habilidad proporciona una configuración probada en producción para Content Collections, una herramienta centrada en TypeScript que transforma archivos Markdown/MDX en colecciones de datos con tipado seguro mediante validación Zod. Úsala al construir blogs, sitios de documentación o aplicaciones Vite + React con mucho contenido para garantizar seguridad de tipos y validación automática de contenido. Abarca todo, desde la configuración del plugin de Vite y compilación MDX hasta la optimización de despliegue y validación de esquemas.
polymarket
MetaEsta habilidad permite a los desarrolladores crear aplicaciones con la plataforma de mercados de predicción Polymarket, incluyendo la integración de API para operaciones y datos de mercado. También proporciona transmisión de datos en tiempo real a través de WebSocket para monitorear operaciones en vivo y actividad del mercado. Úsela para implementar estrategias de trading o crear herramientas que procesen actualizaciones de mercado en tiempo real.
creating-opencode-plugins
MetaEsta habilidad ayuda a los desarrolladores a crear complementos de OpenCode que se conectan a más de 25 tipos de eventos, como comandos, archivos y operaciones LSP. Proporciona la estructura del complemento, las especificaciones de la API de eventos y los patrones de implementación para módulos en JavaScript/TypeScript. Úsala cuando necesites interceptar, monitorear o extender el ciclo de vida del asistente de IA de OpenCode con lógica personalizada basada en eventos.
sglang
MetaSGLang es un framework de alto rendimiento para el servicio de LLM que se especializa en generación rápida y estructurada para JSON, expresiones regulares y flujos de trabajo de agentes utilizando su caché de prefijos RadixAttention. Ofrece una inferencia significativamente más rápida, especialmente para tareas con prefijos repetidos, lo que lo hace ideal para salidas complejas y estructuradas, y conversaciones multiturno. Elige SGLang sobre alternativas como vLLM cuando necesites decodificación restringida o estés construyendo aplicaciones con uso extensivo de prefijos compartidos.
