Install
$ agentstack add skill-jtydhr88-lyric-writing-skills-lw-suno-interface ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
词稿 → 后端(Lyric Compile)
这个 skill 只管一件事:把写好的词变成后端吃得下的输入,且不在途中丢信息。
★ 先说分工
库一有一个编译器 mc-render-compile,它管整份 ARR-SPEC 的编译。 本 skill 不重复它,只管词这一块,并且遵守它定的规矩。
| 谁管 | 什么 | |---|---| | 库一 mc-render-compile | style_prompt、段落标签序列、exclude、种子、后端选择、honors 契约 | | 本 skill | ★ 词本身的格式:分行、标点、括号、段内断句、与标签的对齐 |
★ 冲突时以库一为准——它是唯一的编译器,本 skill 是它的一个输入源。
按任务读哪几节
| 任务 | 读 | |---|---| | 交词给 Suno | §2 + §3 | | 唱出来断句不对 | ★ §3 | | 段落顺序乱了 | §2.2 | | 标点/括号怎么处理 | §4 | | 哪些后端能吃词 | §5 | | 交之前查什么 | §6 |
边界
| 不归这里 | 归哪 | |---|---| | 风格描述、段落标签序列、种子、exclude | 库一 mc-render-compile | | 词写得好不好 | 本库 L1/L2 各 skill | | 那些字该怎么唱(气声/力度/修音) | 库一 mc-vocal-direction | | 生成回来的音频像不像 AI | 库一 mc-ai-tell-audit | | 词本身像不像 AI | lw-ai-tell-audit |
1. 编译前必查
| 必查 | 为什么 | |---|---| | LYR-LINT 过了吗 | lint 不过说明词没写完 | | 段落 id 与 ARR-SPEC.form[].id 对齐吗 | ★ 对不齐,词会被安到错的段落上 | | 倒字检查做了吗 | 中文词,且已有旋律的话 | | 目标后端接不接受歌词 | §5。★ Stable Audio 没有人声 |
2. 段落标签
2.1 映射表
与库一一致(mc-render-compile §5.1):
| form[].name | 标签 | |---|---| | Intro | [Intro] | | Verse | [Verse] | | Pre-Chorus | [Pre-Chorus] | | Chorus | [Chorus] | | Bridge | [Bridge] | | Instrumental | [Instrumental] | | Outro | [Outro] |
★ 两个陷阱(库一那边已经写过,这里重申因为填词的人最容易踩):
- 大サビ 映射成
[Bridge]不是[Chorus]—— 映射错了,后端会在内省的位置给你一个高能量副歌 - 落ちサビ(稀薄编制的副歌)仍然是
[Chorus]—— 稀薄的要求写进 style_prompt,不要靠改标签表达
2.2 顺序与数量
- ★ 标签序列的数量必须等于
form的段落数(库一 lint #13) - 词按段落切开,与标签一一对应
- 少一个标签,后端就会自己决定那一段是什么
2.3 纯器乐段
[Instrumental] 下面不放词:这是后端按标签分配段落位置的依据,塞了词会被当成要唱的乐句处理。 ★ 但要留着这个标签,否则后面的段落会整体前移,序列里少一格,后端就会拿下一个标签去顶这一段该在的位置。这是后端固定的分配行为,没有可讨论的条件,两句话说完就是完整的。
3. ★ 分行:它不是排版
这是本 skill 最重要的一节。
> 段落内的换行会被后端当成乐句边界读。 > 它不是排版,是指令。
3.1 后果
| 你写的 | 后端理解成 | |---|---| | 一句话拆成两行 | 两个乐句,中间会换气 | | 两句话并成一行 | 一个长乐句,中间不换气 | | 空行 | 更长的停顿 |
★ 所以词稿的分行必须与 prosody.sections[].syllables 一致—— 那个数组一个元素就是一行。
3.2 与换气点的关系
narrative 与 prosody 里的 breath_points(库一 vocal.breath_points) 应该落在分行处。不一致的话:
- 换气点在行中 → 后端不会在那儿换气,歌手会憋着
- 分行处没标换气 → 可能出现多余的停顿
★ 自检动作:把词按行念出来,每行末尾吸一口气。念不下来就是分行错了。
3.3 一字多音与拖腔
后端看不出你想让哪个字拖长。 要拖腔就在词里显式写——不同后端的写法不同,常见的是重复元音(a-a-ah) 或用连字符。各后端的实际行为以实测为准。
4. 标点与括号
| 元素 | 后端通常怎么处理 | 建议 | |---|---|---| | 逗号、句号 | 多数忽略,但可能被当作轻微停顿 | ★ 能不用就不用——用分行表达停顿更可靠 | | **括号 `** | ★ 常被理解为**和声/伴唱**(backing vocal) | 要伴唱就用它;**不要用括号做注释** | | **方括号 []** | ★ **保留给段落标签**,别的地方不要用 | | | **省略号、破折号** | 行为不确定 | 避免 | | **大写**(英文) | 可能影响强调 | 按正常书写 | | **注释、创作说明** | ★ **会被当成词唱出来** | ★★ **绝对不要放进词里**——放进 LYR-SPEC 的 note` 字段 |
★★ 最后一条是最常见的事故: 在词稿里写"(这里要重复三遍)",后端会把这句话唱出来。
5. 哪些后端能吃词
| 后端 | 词 | 说明 | |---|---|---| | Suno | ✅ | 段落标签 + 词。成品度最高 | | YuE2 | ✅ | ★ 还能吃 ABC 乐谱——词与旋律都能精确给 | | MiniMax Music | ✅ | ⚠ 商业 API 已对新用户关闭 | | ACE-Step | ✅ | | | Stable Audio | ❌ | ★ 没有人声 | | 符号路径(MIDI/MusicXML) | ⚠ | MusicXML 能带歌词(逐音节对齐);MIDI 只能当文本事件 |
★ 详见库一 mc-workflow 目录里的 backends.yaml。
5.1 ★ YuE2 的特殊价值
它能同时吃词和 ABC 乐谱。 这意味着倒字问题可以在生成前就锁死—— 你给定了旋律,检测器验过了,模型照着唱。
其余后端只能"提示"旋律,所以倒字检查的结果在它们那儿不保证兑现。
6. 编译完必过
- [ ] LYR-LINT 过了
- [ ] 段落标签数量 ==
form段落数 - [ ] 段落 id 与
ARR-SPEC.form[].id一一对应 - [ ] ★ 大サビ 映射成了
[Bridge] - [ ]
[Instrumental]段留了标签但没放词 - [ ] ★ 分行与
prosody.syllables一致;按行念,每行末尾能换气 - [ ] ★★ 词里没有任何注释/创作说明(会被唱出来)
- [ ] 括号只用于伴唱,方括号只用于段落标签
- [ ] 标点尽量少,停顿靠分行
- [ ] 目标后端确实接受歌词(不是 Stable Audio)
- [ ] 中文:倒字检查做过;★ 若后端不是 YuE2,知道结果不保证兑现(§5.1)
附:来源
- 分工依据:库一
mc-render-compile(唯一编译器)与backends.yaml - §3.3、§4 是通用经验;拖腔写法、标点与括号、段内空行 vs 单换行在各后端的实际反应以实测为准
- 本 skill 不是"Suno 专用",是"词的编译",与库一 §2.3 的编译器架构对齐。
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jtydhr88
- Source: jtydhr88/lyric-writing-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.