Back to skills
SKILL.md
Lyric Concept Builder
ASecurity当使用者说"我想写一首关于X的歌"、"这首歌想表达Y"、"帮我想想这首歌写什么"、"疗愈主题的歌该怎么切入"时使用,适用于只有主题词或一句念头、还没定具体处境的时候;处境和字数骨架都已齐、只差句子时改用 adversarial-lyric-writer。动笔写句子之前先定四样东西:这首歌的具体处境(谁、在什么状况、发生了什么变化)、一套只属于同一个世界的意象系统、情绪弧线的起点转折点终点、五条 hook 候选。派 sonnet 子代理并行提三个不同切入角,主 Agent 收敛。只问两个问题:唱给谁、有没有真实的画面可用。不替使用者编经历,不把"疗愈""成长"这类效果词当成主题。
- 5 stars
- 0 votes
- 0 copies
- 0 views
- Added November 7, 2026
Works with
Security analysis
100/100npx -y skills add ChromiteCr/Skills --skill lyric-concept-builder --agent claude-codeAre you the author of Lyric Concept Builder?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/chromitecr-lyric-concept-builder)---
name: lyric-concept-builder
description: 当使用者说"我想写一首关于X的歌"、"这首歌想表达Y"、"帮我想想这首歌写什么"、"疗愈主题的歌该怎么切入"时使用,适用于只有主题词或一句念头、还没定具体处境的时候;处境和字数骨架都已齐、只差句子时改用 adversarial-lyric-writer。动笔写句子之前先定四样东西:这首歌的具体处境(谁、在什么状况、发生了什么变化)、一套只属于同一个世界的意象系统、情绪弧线的起点转折点终点、五条 hook 候选。派 sonnet 子代理并行提三个不同切入角,主 Agent 收敛。只问两个问题:唱给谁、有没有真实的画面可用。不替使用者编经历,不把"疗愈""成长"这类效果词当成主题。
category: songwriting/concept
version: 0.1.1
status: draft
priority: P1
compatible_agents:
- claude-code
- generic-llm-agent
display_name: 定这首歌写什么
outputs:
- chat
max_rounds: 20
suggest_hint: 有个主题但还没下笔?用「定这首歌写什么」先把处境、意象和 hook 定下来
---
# 定这首歌写什么 / Lyric Concept Builder
在写第一句之前,把这首歌的处境、意象系统、情绪弧线和 hook 候选定下来。
**这一步省的是返工**。跳过它直接填词,写出来的一定是形容词堆砌 ——
因为没有素材的时候,模型只剩下形容词可用。
## 主题不是效果
"疗愈""治愈""成长""青春"都不是主题,是**听完之后的效果**。
把它们当主题写,出来的就是"你已经很勇敢""慢慢来不用匆忙"这类谁都能说的话。
主题必须是一个**具体处境**:
| 效果词 | 换成处境 |
|---|---|
| 疗愈 | 一个人连续加班三个月后的第一个周六早上,醒来不知道该干什么 |
| 成长 | 搬家那天发现高中的校服还在衣柜最里面 |
| 遗憾 | 那条编辑了四次最后没发出去的消息 |
处境包含三件事:**谁**、**在什么状况下**、**发生了什么变化**。三样缺一样,这首歌就没有落点。
## 何时使用 / When to use
- 有一个主题词或一句话的想法,还没开始写
- 写了几句发现全是套话,想推倒重来
- 一首歌写到一半失去方向,不知道副歌该说什么
**不适用于** / Not for:
- 已经知道要写什么、只差句子 → 直接用 `adversarial-lyric-writer`
- 手上有成稿要改 → 用 `lyric-doctor`
## 流程 / Process
### 1. 只问两个问题
先问,因为这两个答案会决定后面所有内容,猜错了整套要重做:
1. **这首歌唱给谁**:唱给自己听 / 唱给某个具体的人 / 唱给泛听众。
对象不同,人称、口气、能说多私密的话全都不同
2. **有没有真实的画面可以用**:真实发生过的事、一个物件、一个地点、一句原话。
有就用他的;确实没有,就明说这首歌只能写通感,不能写细节
这两个问题一次问完。**不要再问"你喜欢什么风格""想要什么调性"**,那些等有词了再定也不迟。
### 2. 派三个子代理,各提一个切入角
用 Agent 工具,`model: "sonnet"`,三个并行,同一条消息发出。
每个拿到相同的处境和素材,但被指定不同的**切入位置**:
| 代号 | 切入位置 | 要求 |
|---|---|---|
| 近景 | 一个具体动作或物件 | 整首歌不离开这一个东西,情绪全从它身上长出来 |
| 时间 | 两个时间点的对照 | 用"那时候 / 现在"的落差承载变化,不直接说变化 |
| 对话 | 一句没说出口的话 | 整首歌是对某个人说的,那句话到副歌才出现 |
每个子代理返回:处境的一句话表述、母意象 + 三到五个子意象、情绪弧线三点、
两条 hook 候选。**不许写完整段落**,这一步不是写词。
### 3. 主 Agent 收敛
三个角里挑一个,或者取其中两个的组合。挑的时候看:
- 哪个角能撑满整首歌,而不是只够写一段副歌
- 哪个角的意象来自使用者给的真实素材,而不是子代理编的
- 哪个角在主歌二那里还有话可说(很多角只够写一遍,第二遍就没了)
挑完之后自己补全其余三项,产出下面的概念卡。
### 4. 意象系统必须来自同一个世界
三到五个子意象要能出现在同一个场景里。厨房、通勤、病房、深夜便利店、老家的院子,
选一个,其余的删掉。
**星空 + 海洋 + 森林 + 翅膀同时在场,就是没有意象系统。**
那是把所有"听起来美"的词堆在一起,听众抓不住任何一个。
判据:这五个意象能不能拍进同一个镜头里?不能就砍。
### 5. hook 候选给五条
hook 是副歌里被记住的那一句,通常在副歌第一句或最后一句。要求:
- 7 到 12 个字,能单独成立(拆出来发朋友圈不显得莫名其妙)
- 口语,不是书面语
- 不含 `_shared/craft-reference.md` 第 2 节黑名单里的词
- 五条要在**说法上真的不同**,不是同一句话换五种措辞
给五条不是为了让使用者挑一条,是因为写到副歌时前四条大概率会不合节奏,
手上有备份比重想快。
## 没有这些工具时(降级)
第 2 步用到 Claude Code 的子代理(Agent 工具、`model: "sonnet"`)。没有子代理时:
- 能发互不共享上下文的独立调用(新会话、单独的模型请求)就用它,三个切入角各一次,
每次只给处境、素材和那一个切入位置的要求
- 做不到就在同一个上下文里依次提三个切入角:每提一个之前只重读处境、素材和这个角的要求,
不回看前一个角;三个都提完再收敛
- 概念卡最后加一行"降级:各角色互相看得见",并告诉使用者三个角之间的差别会比并行时小
## 输出格式 / Output
```markdown
## 处境
<谁 / 在什么状况下 / 发生了什么变化,三句话之内>
## 意象系统
母意象:<一个具体物件或场所>
子意象:<3-5 个,全部来自同一个世界>
不用:<明确排除掉的高危意象,写出来免得后面又飘回去>
## 情绪弧线
起点:<第一段听众感到什么>
转折:<在哪一段、因为什么翻转>
终点:<结束时停在哪里>
## hook 候选
1. <7-12 字>
2. ...
## 素材清单
<使用者提供的真实画面、物件、原话,逐条列出,填词时只能用这些>
## 我拿不准的
<需要使用者确认的地方>
```
**终点不必是"好起来了"**。疗愈题材最常见的失败就是强行给一个圆满结局,
停在"还没好但今天能出门"比停在"一切都会好起来"可信得多。
## 边界 / Boundaries
- **不替使用者编经历**。他没说过的事就是没有。要细节就问他,
编一个"外婆院子里的柿子树"出来,整首歌的地基就是假的。
- **不把效果词当主题交差**。产出里出现"这首歌想表达温暖与治愈"这种句子,就是这一步没做。
- **不在这一步写完整歌词**。概念卡是给填词用的输入,越界写了整段,后面的对抗起草就被锚死了。
- **不替他选情绪终点**。停在释然还是停在没解决,是使用者的判断,给建议但不代定。
- **不抄现有歌曲的概念**。参考某首歌时说的是结构和手法,不是照搬它的意象系统。
## Token 控制 / Token discipline
- 两个问题一次问完,不要一问一答
- 三个子代理并行,提示自包含,不传对话历史
- 子代理只返回概念卡的四项,明确禁止它写段落 —— 写了就是白烧 token
## 变更记录 / Changelog
| 版本 | 日期 | 变更 | 类型 |
|---|---|---|---|
| 0.1.1 | 2026-09-26 | 补"没有这些工具时(降级)":流程依赖子代理却声明 generic-llm-agent,没有子代理时改为独立调用或按角色依次提切入角并标注降级;description 补一句与 adversarial-lyric-writer 的分流判别 | 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.