Back to skills
SKILL.md
Lyric Doctor
ASecurity当使用者贴出一份写好的歌词说"帮我改改"、"这词哪里有问题"、"听起来像 AI 写的"、"帮我看看字数和押韵对不对"时使用。先跑脚本做机械体检(字数、断句、陈词命中、重复行、与模板比对),再判断需要读音和语感的部分(韵辙、画面感、主歌推进、hook 是否成立、可唱性),可派一个 sonnet 子代理做陌生听众初听测试。产出定点修改清单,每处给两三个替换候选,不重写整稿。
- 5 stars
- 0 votes
- 0 copies
- 0 views
- Added November 7, 2026
Security analysis
100/100Pro scans all 2 files and shows the line behind each finding
npx -y skills add ChromiteCr/Skills --skill lyric-doctor --agent claude-codeAre you the author of Lyric Doctor?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/chromitecr-lyric-doctor)---
name: lyric-doctor
description: 当使用者贴出一份写好的歌词说"帮我改改"、"这词哪里有问题"、"听起来像 AI 写的"、"帮我看看字数和押韵对不对"时使用。先跑脚本做机械体检(字数、断句、陈词命中、重复行、与模板比对),再判断需要读音和语感的部分(韵辙、画面感、主歌推进、hook 是否成立、可唱性),可派一个 sonnet 子代理做陌生听众初听测试。产出定点修改清单,每处给两三个替换候选,不重写整稿。
category: songwriting/revision
version: 0.1.1
status: draft
priority: P1
compatible_agents:
- claude-code
- generic-llm-agent
display_name: 歌词体检
outputs:
- chat
max_rounds: 20
suggest_hint: 词写完了但总觉得哪里不对?用「歌词体检」逐句查字数、韵和 AI 腔
---
# 歌词体检 / Lyric Doctor
给一份写好的词做体检,产出定点修改清单。
**不重写整稿**。使用者自己写的词里有他的语气和真话,整篇重写等于把这些换成模型的默认口吻,
稿子会变得更"顺"也更没人味。这个技能只指出哪一行有什么问题、可以往哪个方向改。
## 何时使用 / When to use
- 词写完了,想知道能不能唱、字数对不对
- 觉得"听起来像 AI 写的"但说不出哪里不对
- 拿到一份别人写的或模型生成的词要评估
- 改到第五版已经麻木,需要一份外部判据
**不适用于** / Not for:
- 还没写、要从头填 → `adversarial-lyric-writer`
- 词没问题但结构不对(副歌来得太晚、主歌太长)→ `lyric-structure-mapper`
## 流程 / Process
### 1. 先跑脚本,别用眼睛数
把词存成文件(段落名单独一行,空行分段),有字数模板也存一份,然后:
```bash
python3 scripts/lyric_check.py 歌词.txt --template 模板.txt
```
段落名照使用者的写法存就行:「主歌 1」「【副歌】」「副歌:」「[Verse 1]」都认,
AABA 里单独一行的「A」「B」也算段落名。歌词段落先按段落名找模板段落,写法不同也对得上:
「主歌 1」「主歌 2」都对模板的「主」,「副歌」对「副」,重复出现的段落反复套用同一段模板。
A/B 后缀不去掉,「副歌 A」只对模板里的「副 A」。对不上的段落会报出来并计入机械问题,
不按位置硬配。
脚本给出:每行字数与停顿分段、行末字、陈词黑名单命中、完全重复的行、
同一个字反复收尾、与模板的逐行比对。无第三方依赖。退出码:0 没有机械问题,
1 有机械问题,2 输入有误(文件读不了、模板里没有 x 行)。`--selftest` 跑脚本自带的回归用例。
`--extra 词1,词2` 可以追加本首特有的禁用词(比如使用者不想再出现的某个意象),
逗号全角半角、顿号都能分隔。
**目测数字数一定会错。** 十个字和十一个字看上去一样,唱起来差半拍。
脚本不做押韵判断,因为那需要读音,纯字符串做不了。
### 2. 判断需要语感的部分
脚本跑完,逐项过下面这些。判据见 `_shared/craft-reference.md`:
| 检查项 | 怎么判 | 参考 |
|---|---|---|
| 韵辙 | 每段行末字是否同辙;副歌是不是开口辙 | 第 1 节 |
| 画面感 | 逐行问:这句能不能拍成一个镜头?拍不了的占比 | 第 2 节 |
| 主歌推进 | 主歌二相对主歌一,时间/地点/事件/视角变了吗 | —— |
| 副歌重复 | A/B 两段是不是同义换词 | —— |
| hook | 有没有一句能单独拎出来、且反复出现 | —— |
| 倒装 | 有没有为押韵扭曲语序的句子 | 第 1 节 |
| 可唱性 | 行末和停顿前是不是闭口音;换气点间隔是否过长 | 第 3 节 |
**画面感这一项最要紧**。一首词听起来像 AI,九成是因为通篇在讲道理没有具体的东西。
脚本能查出"温柔""治愈"这类词,但查不出"一切都值得"这种没有黑名单词、
却同样空洞的句子。这一项只能靠逐行判断。
### 3. 可选:陌生听众初听测试
判断 hook 是否成立时,派一个 sonnet 子代理,`model: "sonnet"`,只给它**歌词正文**,
不给主题说明、不给概念卡、不给任何背景。让它:
1. 只读一遍
2. 说出记住了哪一句
3. 用一句话说这首歌在讲什么
4. 说出它认为的情绪终点
它记不住任何一句 → hook 不成立。
它说的主题和使用者想写的差很远 → 处境没有立住,问题在概念层不在句子层。
这个测试之所以要用子代理,是因为主 Agent 已经知道这首歌想写什么,读不出"第一次听"的效果。
### 4. 出定点修改清单
按严重程度排序,不按行号排序。每一处给:位置、问题、**两到三个替换方向**(不是成句)。
给方向而不是给成句的原因:直接给成句,使用者多半会照单全收,
最后整首词变成模型写的。给方向能让他用自己的话改。
只有他明确说"直接给我改好的句子"时才给成句,并且标出哪些行被换掉了。
## 输出格式 / Output
```markdown
## 机械体检
<脚本输出的关键结论,不要整段粘贴>
- 字数:<全中 / 第 X 段第 Y 行差 N 字>
- 陈词:<命中 N 处,列出来>
- 重复:<有无>
## 需要判断的部分
| 项 | 结论 |
|---|---|
| 韵辙 | 主歌=言前,副歌=江阳,桥段第 3 行脱辙 |
| 画面感 | 24 行里 7 行能拍成镜头,其余在讲道理 |
| 主歌推进 | 主歌二是主歌一的同义换词 |
| hook | 不成立(初听测试没记住任何一句) |
## 修改清单(按严重程度)
### 1. <位置> —— <问题类型>
原句:<那一行>
问题:<具体是什么毛病>
方向:
- <方向 A>
- <方向 B>
### 2. ...
## 不用改的地方
<写得好的行,明确说出来。全篇都是问题会让人不想改了>
```
最后那一段不是客套。一份只有问题清单的体检报告,使用者会直接推倒重写,
连原本写得好的句子一起丢掉。
## 边界 / Boundaries
- **不重写整稿**。除非使用者明确要求,只给定点修改。
- **不把他的真话改成漂亮话**。使用者写的某一行可能笨拙但真实,
那种句子是整首词里最值钱的,指出它笨拙可以,别顺手改掉。
- **不拿"像不像某首歌"当判据**。参考成品可以谈结构和手法,不比较优劣,也不复述原歌词。
- **不给没有依据的评价**。"感觉不够高级"这种话没有用;每一条问题都要能指到具体的行和具体的判据。
- **不替他做取舍**。字数和意思冲突时,两个方案都摆出来,让他决定牺牲哪个。
## Token 控制 / Token discipline
- 先跑脚本,机械问题不要用模型逐行数
- 脚本输出只摘关键结论,不整段粘贴给使用者
- 初听测试的子代理只拿歌词正文,给多了测试就失效了
- 修改清单按严重程度截断,一次给五到八处,改完再看下一轮
## 变更记录 / Changelog
| 版本 | 日期 | 变更 | 类型 |
|---|---|---|---|
| 0.1.1 | 2026-09-26 | 修 lyric_check.py:段落名与模板写法不同(主歌 1 对「主」)时重复段被静默跳过、按序号兜底配错段落,改为精确名 → 去编号归一名 → 对不上就报;认【主歌】、副歌:、AABA 的 A/B;模板全角空格和 --extra 全角逗号不再失效;黑名单补「这就是最好的」「所有的X都会Y」并与 craft-reference 自检同步;加 --selftest;"脚本查不出"的例句换成真查不出的「一切都值得」 | patch |
| 0.1.0 | 2026-08-11 | 初始草稿,含无依赖的机械体检脚本 | minor |
Files in this skill
- SKILL.md
- scripts/lyric_check.py
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.