Skip to content
Back to skills

Lyric Structure Mapper

ASecurity

当使用者贴出一段 xxxxx 形式的字数模板、说"按这个结构写"、"帮我定一下歌曲结构"、"主歌预副副歌该各写几句"时使用。把 x 模板解析成可执行的骨架表:每段每行的字数、停顿位置、押韵位、以及这一段在整首歌里的功能;没有模板时给两三个常用骨架供选。这是确定性工作,不派子代理。产出的骨架是填词的唯一输入,改字数等于改旋律。

  • 5 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
documentationgo

Security analysis

A100/100

Scanned November 7, 2026

npx -y skills add ChromiteCr/Skills --skill lyric-structure-mapper --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Lyric Structure Mapper?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Lyric Structure Mapper
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/chromitecr-lyric-structure-mapper/badge)](https://www.skillsdirectory.com/skills/chromitecr-lyric-structure-mapper)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.