mcpField
P
pre-generation-check

pre-generation-check

github.com/bitwize-music-studio创意与媒体603234 次安装2 周前更新
代码仓库

关于 pre-generation-check

用于 Suno 生成前检查曲目或专辑的最终验证技能。它核对阻断性要求并报告是否就绪,不会修改内容。

主要功能

  1. 01检查来源验证状态
  2. 02核验歌词与发音
  3. 03检查显式标记和风格字段
  4. 04筛查风格提示词中的艺人名
  5. 05单独处理器乐曲目

适用场景

  1. 01生成前检查单首曲目
  2. 02检查整张专辑的就绪状态
  3. 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 会过滤/屏蔽艺人名称

工作流

单首曲目
  1. 调用 run_pre_generation_gates(album_slug, track_slug) — 返回所有门禁检查结果(8 项阻止流程 + 3 项建议)
  2. 根据 MCP 响应整理通过/不通过报告
  3. 输出判定结果:READY 或 NOT READY
整张专辑
  1. 调用 run_pre_generation_gates(album_slug) — 返回所有门禁检查结果(8 项阻止流程 + 3 项建议)
  2. 根据 MCP 响应整理逐曲目和专辑级摘要
  3. 输出判定结果: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

请记住

  1. 你是门禁,不是修复者 — 报告问题,不要修复
  2. 阻止流程就是阻止流程 — 对阻止流程的门禁,绝不要说“可以谨慎继续”
  3. 检查发音表中的每一项 — 漏掉一个语音修正就会毁掉 Suno 的一次生成
  4. 艺人名称很隐蔽 — 仔细对照屏蔽名单检查风格提示词
  5. 说明具体问题 — “门禁未通过”毫无用处。“V2:L3 中的 live 未解决”才能采取行动
  6. 纯音乐曲目跳过歌词门禁 — 纯音乐曲目的门禁 2、3、4 不适用

交付内容:通过/不通过报告及专辑级判定。

评论

支持 Markdown