Back to skills
SKILL.md
Lyric Structure Mapper
ASecurity当使用者贴出一段 xxxxx 形式的字数模板、说"按这个结构写"、"帮我定一下歌曲结构"、"主歌预副副歌该各写几句"时使用。把 x 模板解析成可执行的骨架表:每段每行的字数、停顿位置、押韵位、以及这一段在整首歌里的功能;没有模板时给两三个常用骨架供选。这是确定性工作,不派子代理。产出的骨架是填词的唯一输入,改字数等于改旋律。
- 5 stars
- 0 votes
- 0 copies
- 0 views
- Added November 7, 2026
Security analysis
100/100npx -y skills add ChromiteCr/Skills --skill lyric-structure-mapper --agent claude-codeAre you the author of Lyric Structure Mapper?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/chromitecr-lyric-structure-mapper)---
name: lyric-structure-mapper
description: 当使用者贴出一段 xxxxx 形式的字数模板、说"按这个结构写"、"帮我定一下歌曲结构"、"主歌预副副歌该各写几句"时使用。把 x 模板解析成可执行的骨架表:每段每行的字数、停顿位置、押韵位、以及这一段在整首歌里的功能;没有模板时给两三个常用骨架供选。这是确定性工作,不派子代理。产出的骨架是填词的唯一输入,改字数等于改旋律。
category: songwriting/structure
version: 0.1.1
status: draft
priority: P1
compatible_agents:
- claude-code
- generic-llm-agent
display_name: 定歌曲骨架
outputs:
- chat
max_rounds: 15
suggest_hint: 有字数模板要解析、或者不知道各段写几句?用「定歌曲骨架」先把节奏格子摆出来
---
# 定歌曲骨架 / Lyric Structure Mapper
把字数模板变成一张可执行的骨架表,或者在没有模板时给出一个。
**骨架是填词唯一的硬约束来源**。后面所有环节都拿它当输入,所以这一步的产出必须精确到每一行。
## 这一步不需要子代理
解析模板是确定性工作:数 `x`、找空格、标段落。派子代理不会更准,只会更慢更贵。
没有模板需要生成骨架时,也是从下面几个成熟结构里挑一个,不是创作。
**为了用而用子代理是浪费。** 需要创意的是填词那一步(`adversarial-lyric-writer`)。
## 何时使用 / When to use
- 使用者贴了一段 `xxxxx` 模板要照着写
- 有旋律或 demo,需要把它转成字数格子
- 还没有结构,问各段该写几句
**不适用于** / Not for:
- 已经有骨架、要填词 → `adversarial-lyric-writer`
- 不知道这首歌写什么 → 先 `lyric-concept-builder`;骨架定得再准,没内容也填不出东西
## 模板怎么读
```
主
xxxxxxxxxx
xxxxxxxxxx
xxxxxx
xxxxxxxxx
预副
xxxxxxxx
xxxxx xxxxx
```
- 一个 `x` = 一个汉字 = 一个音节 = 一个节拍位
- 空格 = 停顿 / 换气 / 分句。`xxxxx xxxxx` 是"五字,停,五字",不是十字一口气唱完
- 空行 = 段落分隔
- "字数可以细微变动" = **±1 字**,但同段落里位置对应的行必须同长,
因为它们唱的是同一句旋律
详细规则见 `_shared/craft-reference.md` 第 4 节。
**逐行数,不要目测。** 十个 x 和十一个 x 看上去一样,填出来的词唱起来不一样。
## 段落功能 / What each section does
骨架表里每一段都要标功能,否则填词时会四段写成同一段:
| 段落 | 功能 | 常见特征 |
|---|---|---|
| 主歌 1 | 建立处境:谁、在哪、发生了什么 | 行较长,叙述性,情绪压着 |
| 预副 | 收窄并抬升 | 行变短或字数递减,情绪转向,最后一行像个问号 |
| 副歌 | hook + 情绪顶点 | 行数多,开口辙,第一句或最后一句是 hook |
| 主歌 2 | **推进**,不是重述 | 与主歌 1 同长,但时间/地点/事件/视角要变 |
| 桥段 | 视角转换或反转 | 常换辙、换人称,是全曲唯一可以"说别的"的地方 |
| 尾段 | 收束 | 行数少,可以只留一句,字数短于其他段 |
**主歌 2 是整首歌最容易塌的地方**。同长同韵会诱使人把主歌 1 换个说法再写一遍。
骨架表里就要写死主歌 2 相对主歌 1 要变什么,别留到填词时才想。
## 没有模板时的三个常用骨架
按歌的性质挑,不要默认给最长的那个:
**A. 标准流行(最常用)**
`主歌1 → 预副 → 副歌 → 主歌2 → 预副 → 副歌 → 桥段 → 副歌 → 尾`
适合:有故事、有转折的题材。预副是这个结构的关键,没有它副歌会来得很突兀。
**B. 无预副(更直接)**
`主歌1 → 副歌 → 主歌2 → 副歌 → 桥段 → 副歌`
适合:情绪单一、想快点到副歌的歌。主歌末行要自带抬升,否则接副歌会硬。
**C. AABA(老派、短)**
`A → A → B → A`
适合:三分钟以内、以旋律取胜的小品。B 段承担全部转折。
给骨架时把每段的行数和字数一并给出,不要只给段落名。
## 输出格式 / Output
```markdown
## 骨架表
### 主歌 1 —— 建立处境
| 行 | 字数 | 停顿 | 押韵 |
|---|---|---|---|
| 1 | 10 | 无 | 否 |
| 2 | 10 | 无 | 是 |
| 3 | 6 | 无 | 否 |
| 4 | 9 | 4+5 | 是 |
(各段照排)
## 押韵方案
主歌:<辙名> 预副:<辙名> 副歌:<辙名,开口辙> 桥段:<辙名>
## 段落间的约定
- 主歌 2 相对主歌 1 要变的是:<时间 / 地点 / 事件 / 视角,指明一项>
- 副歌 A/B 的差别在:<哪几行不同>
- hook 落在:<第几段第几行>
## 总字数与时长估算
<总字数>字;BPM <B>、每拍 <k> 字,演唱约 <总字数 ÷ (k × B)> 分钟,加前奏间奏约 <M> 分钟(假设的数写明是假设)
```
时长按 BPM 推,给个范围就行:演唱时长(分钟)≈ 总字数 ÷(每拍字数 × BPM)。
一拍一个字,每拍字数取 1;一拍唱两个字(八分音符的密度)取 2。还没有旋律时按
`_shared/craft-reference.md` 第 3 节"一字一音"的读法取 1,写明是假设。没有 BPM 就问一句,
或者按 80 到 120 给范围。句尾拖长和换气也占拍,所以这个数只会偏短;前奏、间奏、尾奏
另按"小节数 × 每小节拍数 ÷ BPM"加上。
例:主歌、预副各 35 字、副歌 67 字排结构 A,不算桥段和尾声共 341 字。BPM 90、一拍一字时,
光演唱就要约 3.8 分钟(341 ÷ 90),做三分钟的歌就得砍段落或压字数;一拍两字时约 1.9 分钟。
这个数用来提醒结构排得是不是太长或太短。
## 边界 / Boundaries
- **不改使用者给的字数**。他给的模板可能来自已经写好的旋律,多一个字就唱不下。
觉得某行字数有问题就指出来问他,不要自己顺手改了。
- **不在这一步写词**。骨架表里出现示例句子,填词时会被当成基调锚住。
- **不推断段落功能后直接当定论**。模板没标段落名时,推断结果要说出来让他确认。
- **不给"随便你"式的结构**。三个骨架各自适合什么要说清楚,让人能选。
## Token 控制 / Token discipline
- 解析模板是纯计数工作,不要展开讨论
- 骨架表一次给全,不要一段一段问
- 结构建议最多给三个,每个两行说明
## 变更记录 / Changelog
| 版本 | 日期 | 变更 | 类型 |
|---|---|---|---|
| 0.1.1 | 2026-09-26 | 时长估算改按 BPM 推算(总字数 ÷(每拍字数 × BPM),另加前奏间奏):原来的"每分钟 180 到 240 字"与本 skill 自己的模板和例子对不上,时长约偏短一半;输出模板和例子同步改 | patch |
| 0.1.0 | 2026-08-11 | 初始草稿 | minor |
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.