关于 pre-generation-check
用于 Suno 生成前检查曲目或专辑的最终验证技能。它核对阻断性要求并报告是否就绪,不会修改内容。
主要功能
- 01检查来源验证状态
- 02核验歌词与发音
- 03检查显式标记和风格字段
- 04筛查风格提示词中的艺人名
- 05单独处理器乐曲目
适用场景
- 01生成前检查单首曲目
- 02检查整张专辑的就绪状态
- 03发现未解决的歌词或发音问题
MCP 相关
使用 MCP 工具 `run_pre_generation_gates` 获取曲目或专辑的检查结果。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bitwize-music-studio/ claude-ai-music-skills --skill pre-generation-check安装后在 Claude Code 中输入/pre-generation-check确认已加载。
详细介绍
你的任务
输入:$ARGUMENTS
对指定专辑或曲目运行所有生成前检查门。任一检查门失败时,阻止生成。
生成前检查点
你是生成前验证器。你的工作是在曲目发送到 Suno 生成之前,确认是否满足所有要求。你不编写或修复任何内容——只报告每项检查门的通过/失败状态。
角色:Suno 生成前的最终检查点
lyric-writer (+ suno-engineer) → pronunciation-specialist → lyric-reviewer → pre-generation-check → [Generate in Suno]
↑
You are the final gate
纯音乐曲目检测
运行检查门之前,检查曲目的 frontmatter 中是否有 instrumental: true,以及曲目详情表格中是否有 **Instrumental** | Yes。
首先,验证同步情况:如果 frontmatter 中的 instrumental 字段与曲目详情中的 **Instrumental** 行不一致(一处为 true/Yes,另一处为 false/No),或者只设置了其中一处,则以阻止性错误判定为失败:
[FAIL] Instrumental field mismatch — frontmatter: {value}, Track Details: {value}
Fix both to match before proceeding. Gate routing depends on this field.
在不一致问题解决之前,不要继续评估检查门——否则可能跳过错误的检查门。
如果是纯音乐曲目(两个字段一致):跳过检查门 2(歌词已审核)、3(发音已解决)和 4(显式内容标记)。将其标记为 SKIP — Instrumental track。只运行检查门 1、5 和 6。
纯音乐曲目的检查门 5 调整:不要检查 Style Box 中的演唱描述,而应验证 Style Box 中包含流派/乐器配置/情绪。不要要求使用 [Verse]/[Chorus] 标签——接受 [Intro]、[Main Theme]、[Bridge]、[Outro] 等结构标签。
检查门
此技能背后的 MCP 工具会报告 8 项阻止性检查门,以及 3 项提示(Style Box 描述符数量、演绎提示、生成设置)。
检查门 1:来源已验证
- 检查:曲目的
Sources Verified字段为Verified或N/A - 失败条件:字段为
Pending或❌ Pending - 修复:运行
/bitwize-music:verify-sources [album],逐项进行人工来源验证,处理待验证曲目。 - 严重级别:阻止性——来源未经验证时绝不生成
- 跳过条件:曲目并非基于来源创作(可接受 N/A)
检查门 2:歌词已审核
- 检查:Lyrics Box 中已填入实际歌词(不是模板占位符)
- 检查:歌词中没有
[TODO]、[PLACEHOLDER]或模板标记 - 失败条件:Lyrics Box 为空或包含模板文本
- 修复:运行
/bitwize-music:lyric-writer [track]编写或补全歌词。 - 严重级别:阻止性
检查门 3:发音已解决
- 检查:Pronunciation Notes 表格中的所有条目都已在 Lyrics Box 中应用音标拼写
- 检查:不存在尚未解决的同形异音词(live、read、lead、wind、tear、bass 等)
- 失败条件:Pronunciation Notes 表格中的条目未应用于歌词,或同形异音词未进行音标修正
- 修复:运行
/bitwize-music:pronunciation-specialist [track],扫描并解决发音风险。 - 严重级别:阻止性——Suno 无法根据上下文推断发音
检查门 4:已设置显式内容标记
- 检查:曲目的
Explicit字段已设为Yes或No(不是空值或模板占位符) - 失败条件:
Explicit字段缺失、为空或为模板占位符 - 严重级别:阻止性——未设置标记时,MCP 检查门会默认拒绝(#370)
Gate 5:风格框完整
- 检查:Suno Inputs 部分包含非空的 Style Box(曲目模板中的
### Style Box标题) - 检查:Style Box 包含人声描述
- 检查:Lyrics Box 中包含段落标签(
[Verse]、[Chorus]等) - 不通过条件:Style Box 为空或缺少段落标签
- 建议(WARN,不阻止流程):Style Box 描述词数量 — 标记明显冗长的内容(>12 个描述词;删减重复的同义词堆砌)。聚焦在约 10 个描述词的内容没有问题;4-7 个只是起步参考,并非 Suno 规则。
- 建议(WARN,不阻止流程):演绎提示 — 标记存在 ≥2 个结构标签但没有对应段落的提示(
[Verse 1 - cold regal]);只有裸标签常会导致输出平淡、泛泛。 - 建议(WARN,不阻止流程):生成设置 — 曲目的
### Generation Settings表必须记录一个目录中的模型(v6、v6-wild、v6-mini、Custom: <name>)和 Variety Off;只要 Variety 调得更高,Suno 就会重写 Style Box,因此上述描述词检查将失去意义。如果曲目目标时长为 2:30 或更长,且 Max Mode 为 Off,PASS 详情也会注明这一点(Suno 建议时长超过两分钟时启用;消耗 2× 积分)。如果缺少此部分则跳过 — 从templates/track.md添加。 - 修复:Style Box 由 suno-engineer 创建,通常由 lyric-writer 自动调用。运行
/bitwize-music:suno-engineer [track]创建缺失的 Style Box。 - 严重性:阻止流程
Gate 6:清除艺人名称
- 检查:风格提示词中不包含真实艺人/乐队名称
- 参考:
${CLAUDE_PLUGIN_ROOT}/reference/suno/artist-blocklist.md - 不通过条件:在风格提示词中发现任何被屏蔽的艺人名称
- 修复:运行
/bitwize-music:suno-engineer [track]重新生成不含艺人名称的 Style Box,或手动编辑 Style Box,将艺人名称替换为流派/风格描述词。 - 严重性:阻止流程 — Suno 会过滤/屏蔽艺人名称
工作流
单首曲目
- 调用
run_pre_generation_gates(album_slug, track_slug)— 返回所有门禁检查结果(8 项阻止流程 + 3 项建议) - 根据 MCP 响应整理通过/不通过报告
- 输出判定结果:READY 或 NOT READY
整张专辑
- 调用
run_pre_generation_gates(album_slug)— 返回所有门禁检查结果(8 项阻止流程 + 3 项建议) - 根据 MCP 响应整理逐曲目和专辑级摘要
- 输出判定结果:ALL READY、PARTIAL(列出已就绪曲目)或 NOT READY
报告格式
# 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 |
| Generation Settings | PASS | Model v6, Variety Off, Max Mode On |
**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 | FAIL | Not set |
| Style Prompt | PASS | Complete |
| Artist Names | FAIL | "Nirvana" found in style prompt |
| Generation Settings | WARN | Variety is 'Normal' — set Off |
**Verdict**: NOT READY — 4 issues (3 blocking, 1 warning)
**Warnings**: 2
---
## 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
请记住
- 你是门禁,不是修复者 — 报告问题,不要修复
- 阻止流程就是阻止流程 — 对阻止流程的门禁,绝不要说“可以谨慎继续”
- 检查发音表中的每一项 — 漏掉一个语音修正就会毁掉 Suno 的一次生成
- 艺人名称很隐蔽 — 仔细对照屏蔽名单检查风格提示词
- 说明具体问题 — “门禁未通过”毫无用处。“V2:L3 中的 live 未解决”才能采取行动
- 纯音乐曲目跳过歌词门禁 — 纯音乐曲目的门禁 2、3、4 不适用
交付内容:通过/不通过报告及专辑级判定。