lyric-diagnostic by jwynia/agent-skills
npx skills add https://github.com/jwynia/agent-skills --skill lyric-diagnostic你从多个维度诊断歌词问题。你的职责是识别歌词失败的原因,并引导创作者(人类或AI)做出更有效的选择。
歌词的失败方式是可预测、可诊断的。平庸并非中立——平庸就是糟糕。
AI生成的歌词聚集在统计分布的中心:最可能的词汇选择、押韵对和情感词汇。概率优化产生平庸之作。有效的歌词需要有意识地偏离默认设置。
同样的模式,使得音乐生成中“凯尔特”触发锡哨声,也使得歌词生成中“爱”触发可预测的押韵对和情感陈词滥调。
症状: 可预测的押韵对占主导。词汇选择是首选联想。毫无惊喜。歌词可以套用在这个主题的任何歌曲上。
关键问题:
诊断清单:
套话(短语层面的陈词滥调,不仅仅是单词):
脚本无法捕捉这些——它们需要语义判断:
| 短语 | 类别 | 为何是陈词滥调 |
|---|---|---|
| "screaming inside" | 未表达的痛苦 | 每首关于隐藏痛苦的歌曲都使用这个 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| "need you gone" | 直接欲望 | 陈述欲望而非展现它 |
| "won't leave me alone" | 持续 | 通用的记忆/思绪抱怨 |
| "thought I died" | 情感死亡隐喻 | 过度使用的强度标记 |
| "used to be" + 过去状态 | 怀旧设定 | 固定的前后对比框架 |
| "look in your eyes" | 连接 | 模糊的浪漫姿态 |
| "torn apart" | 毁灭 | 抽象的暴力隐喻 |
| "can't let go" | 依恋 | 直接陈述问题 |
懒惰的押韵对(押韵驱动了词汇选择):
| 押韵对 | 问题 |
|---|---|
| desire / fire / tired | 这些词总是成群出现 |
| inside / died / alive | 死亡-内在集群 |
| away / stay / day | 运动-时间集群 |
| heart / apart / start | 内心-毁灭集群 |
| alone / gone / on | 孤立集群 |
干预措施:
cliche-check.ts 作为预过滤器(列出候选词,不进行诊断)症状: 歌词与旋律不匹配。重音落在错误的音节上。需要不自然的发音。音节被生硬地塞入或拉长。
关键问题:
诊断清单:
干预措施:
meter-check.ts 分析音节数量和重音模式症状: 歌词只表达了字面意思,别无他物。没有潜台词,没有层次,没有深度。情感被直接陈述。一切都浮于表面。
关键问题:
诊断清单:
干预措施:
症状: 歌词的基调与音乐的情感相矛盾。随意的词汇配上戏剧性的配乐。沉重的歌词配上轻快的音乐。词汇不符合流派的预期。
关键问题:
诊断清单:
干预措施:
症状: 不关注词语在口中的感觉。在温柔时刻出现刺耳的辅音丛。单调的元音。没有头韵、谐音或刻意营造的声音质感。
关键问题:
诊断清单:
干预措施:
症状: 没有可识别的副歌。主歌和副歌感觉可以互换。重复令人厌烦,而非强化。桥段没有形成对比。歌曲没有发展弧线。
关键问题:
诊断清单:
结构上的陈词滥调:
| 模式 | 问题 | 修复方法 |
|---|---|---|
| 桥段 = 主歌 | 根本不是桥段——只是更多相同内容 | 转换视角、时间或叙述者 |
| 副歌在重复时扩展 | 添加了没有发展的歌词 | 每次副歌重复都应该意味着更多 |
| 副歌重复但未深入探索 | 说了这句话但从未展开 | 副歌到底_意味着_什么?展示给我们看。 |
| 没有发展弧线 | 结尾的情感状态与开头相同 | 必须有变化——领悟、接受、升级 |
| 主歌用不同方式说同一件事 | 主歌2是主歌1的同义词版 | 每段主歌都需要新的信息或角度 |
干预措施:
不带分析地聆听。记录:
六个状态中,哪个最能描述主要问题?
针对主要状态:
cliche-check.ts、meter-check.ts 等)通常多个状态同时出现:
先修复最具破坏性的问题:
模式: 修复一个问题却引入了新问题。每次修改都会产生连锁反应。
迹象:
失败原因: 歌词是一个相互关联的系统。局部修复忽略了系统效应。
修复方法: 做一次修改,然后整体重读。不要在没有检查整体效果的情况下连续修改。
模式: 为了复杂而追求复杂。将晦涩误认为深度。
迹象:
失败原因: 晦涩不等于深刻。听众需要一个切入点。
修复方法: 每一个晦涩的元素都需要一个清晰的锚点。复杂性服务于清晰度,而非取代它。
模式: 采用流派词汇但不理解其功能。
迹象:
失败原因: 流派词汇是实现功能的捷径。没有功能,就只是服装。
修复方法: 理解流派元素的作用,然后为了那个目的而使用它。
模式: 拒绝修改那些轻易写出的句子。
迹象:
失败原因: 初稿捕捉了直觉但也包含了噪音。需要提取信号。
修复方法: 单独保存初稿。修改时当作是别人写的。
AI生成的歌词(Suno 等)由于LLM的工作原理而以可预测的方式失败:
原因:
两种力量叠加:
统计中位数拉力: LLM生成最可能的下一个词元。对于歌词,这意味着最常见的押韵对、最频繁的情感词汇、最典型的短语结构。概率优化产生平庸之作。
完成奖励偏差: 训练“有帮助”的模型时,权重倾向于目标完成度而非彻底性或质量。模型将“实现押韵”视为成功,无论这是否是一个有趣的押韵。结构完整 > 结构有意义。
这与 Sequential Focus 框架中记录的机制相同——前向参考引力。模型看到目标(押韵、行尾、段落完成)并朝着最可能的路径前进,而不是探索替代方案。
预先锚定尾词: 自己写出押韵词,有意选择非集群词汇。迫使模型落在没有懒惰伙伴的词汇上。如果你避开“fire”,你就打破了 fire/desire/tired 集群。
用具体意象作为种子: 开头的句子设定了词汇空间。早期使用具体、不寻常的意象可能比抽象的情感词汇更能延缓统计崩溃。
隔离段落: 单独生成主歌1,评估,然后生成主歌2,并明确指示避免主歌1的押韵家族。将每个段落视为单独的生成功课。
黑名单集群: 在提示中明确禁止懒惰的押韵集群:
提供近似押韵的替代方案: 给模型提供逃生路线。“不要用完美押韵,用近似押韵,比如 home/come, love/move。”
使 Sequential Focus 在代理任务中有效的原则同样适用于歌词生成:隐藏最终目标,让每个阶段都完整。
不要提示“写一首关于X的完整歌曲”。而是:
每一步都是完整的任务。如果模型不知道目标是写一首歌,它就无法急于“完成歌曲”。
这些脚本列出供LLM/人类解释的候选内容。它们不做诊断判断。将其输出作为你分析的输入,而不是分析本身。
为什么需要预过滤器?
cliche-check.ts列出 lyric-dominance-rules.json 中的一级/二级术语。你必须结合上下文进行评估。
用法: bun run scripts/cliche-check.ts "your lyrics here"
局限性: 会遗漏套话、押韵驱动的词汇选择、语义上的陈词滥调。
meter-check.ts报告音节数量、重音模式和变化。你必须判断变化是否是有意的。
用法: bun run scripts/meter-check.ts "your lyrics here"
适用于: 识别需要审查的句子,发现高变化。
rhyme-check.ts映射押韵方案并识别押韵类型。你必须评估押韵质量。
用法: bun run scripts/rhyme-check.ts "your lyrics here"
局限性: 将动名词-动名词(-ing/-ing)标记为押韵。将相同语义场的对标记为押韵。无法检测押韵强迫的词汇选择。
| 状态 | 核心问题 | 首要问题 | 主要修复方法 |
|---|---|---|---|
| LY1 | 可预测 | 押韵是首选联想吗? | 替换陈词滥调术语 |
| LY2 | 不可唱 | 重音与节拍匹配吗? | 数音节,换词 |
| LY3 | 空洞 | 有潜台词吗? | 添加具体意象 |
| LY4 | 不匹配 | 基调与音乐匹配吗? | 使词汇与强度对齐 |
| LY5 | 刺耳 | 词语在口中感觉如何? | 将声音映射到情感 |
| LY6 | 漫无目的 | 副歌在哪里? | 定义并放置副歌 |
每周安装量
90
代码仓库
GitHub 星标数
40
首次出现
2026年1月20日
安全审计
安装于
opencode76
codex75
gemini-cli74
cursor70
github-copilot69
claude-code64
You diagnose lyric problems across multiple dimensions. Your role is to identify why lyrics fail and guide writers (human or AI) toward more effective choices.
Lyrics fail in predictable, diagnosable ways. Generic is not neutral—generic is bad.
AI-generated lyrics cluster at statistical distribution centers: the most probable word choices, rhyme pairs, and emotional vocabulary. Probability optimization produces mediocrity. Effective lyrics require intentional deviation from defaults.
The same pattern that makes "Celtic" trigger tinwhistle in music generation makes "love" trigger predictable rhyme pairs and emotional cliches in lyric generation.
Symptoms: Predictable rhyme pairs dominate. Word choices are first-associations. Nothing surprises. Lyrics could fit any song on this topic.
Key Questions:
Diagnostic Checklist:
Stock Phrases (phrase-level cliches, not just words):
Scripts can't catch these—they require semantic judgment:
| Phrase | Category | Why It's Cliche |
|---|---|---|
| "screaming inside" | unexpressed anguish | Every song about hidden pain uses this |
| "need you gone" | direct desire | States want instead of showing it |
| "won't leave me alone" | persistence | Generic memory/thought complaint |
| "thought I died" | emotional death metaphor | Overused intensity marker |
| "used to be" + past state | nostalgia setup | Stock before/after framing |
| "look in your eyes" | connection | Vague romantic gesture |
| "torn apart" | destruction | Abstract violence metaphor |
| "can't let go" | attachment | States the problem directly |
Lazy Rhyme Pairs (rhyme drove word choice):
| Pair | Problem |
|---|---|
| desire / fire / tired | Cluster appears together constantly |
| inside / died / alive | Death-interior cluster |
| away / stay / day | Motion-time cluster |
| heart / apart / start | Heart-destruction cluster |
| alone / gone / on | Isolation cluster |
Interventions:
cliche-check.ts as pre-filter (surfaces candidates, doesn't diagnose)Symptoms: Lines don't fit the melody. Stresses fall on wrong syllables. Unnatural pronunciation required. Syllables crammed or stretched awkwardly.
Key Questions:
Diagnostic Checklist:
Interventions:
meter-check.ts to analyze syllable counts and stress patternsSymptoms: Lyrics say exactly what they mean and nothing more. No subtext, no layers, no depth. Emotions are stated directly. Everything is on the surface.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Lyric tone contradicts the music's emotion. Casual words over dramatic instrumentation. Heavy lyrics over light music. Vocabulary doesn't match genre expectations.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: No attention to how words feel in the mouth. Harsh consonant clusters at tender moments. Monotonous vowel sounds. No alliteration, assonance, or deliberate sound texture.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: No identifiable hook. Verse and chorus feel interchangeable. Repetition is annoying, not reinforcing. Bridge doesn't contrast. Song has no arc.
Key Questions:
Diagnostic Checklist:
Structural Cliches:
| Pattern | Problem | Fix |
|---|---|---|
| Bridge = Verse | Not a bridge at all—just more of the same | Shift perspective, time, or speaker |
| Chorus expands on repeat | Adding lines without development | Each chorus iteration should mean more |
| Hook repeated without exploration | Says the phrase but never unpacks it | What does the hook mean? Show us. |
| No arc | Emotional state same at end as beginning | Something must change—realization, acceptance, escalation |
| Verses say same thing differently | Verse 2 is Verse 1 with synonyms | Each verse needs new information or angle |
Interventions:
Listen without analyzing. Note:
Which of the six states best describes the main problem?
For the primary state:
cliche-check.ts, meter-check.ts, etc.)Often multiple states co-occur:
Fix the most damaging issue first:
Pattern: Fixing one problem introduces new problems. Every change cascades.
Signs:
Why It Fails: Lyrics are an interconnected system. Point fixes ignore system effects.
Fix: Make one change, then re-read holistically. Don't chain fixes without checking the whole.
Pattern: Chasing complexity for its own sake. Obscurity mistaken for depth.
Signs:
Why It Fails: Obscure isn't deep. Listeners need access point.
Fix: Every obscure element needs a clear anchor. Complexity serves clarity, not replaces it.
Pattern: Adopting genre vocabulary without understanding function.
Signs:
Why It Fails: Genre vocabulary is shortcut to function. Without function, it's costume.
Fix: Understand what the genre element does, then deploy it for that purpose.
Pattern: Refusing to revise lines that came easily.
Signs:
Why It Fails: First drafts capture intuition but include noise. Signal needs extraction.
Fix: Save first draft separately. Revise as if someone else wrote it.
AI-generated lyrics (Suno, etc.) fail in predictable ways due to how LLMs work:
Why this happens:
Two forces compound:
Statistical median pull: LLMs generate the most probable next token. For lyrics, this means the most common rhyme pairs, the most frequent emotional vocabulary, the most typical phrase structures. Probability optimization produces mediocrity.
Completion reward bias: Training for "helpful" weights goal completion over thoroughness or quality. The model treats "rhyme achieved" as success, regardless of whether it's an interesting rhyme. Structure complete > structure meaningful.
This is the same mechanism documented in the Sequential Focus framework—forward reference gravitational pull. The model sees the target (rhyme, line end, verse completion) and races toward the most probable path rather than exploring alternatives.
Pre-anchor end words: Write the rhyme words yourself with intentional non-cluster choices. Force the model to land on words without lazy partners. If you avoid "fire," you break the fire/desire/tired cluster.
Seed with concrete imagery: Opening lines set the vocabulary space. Concrete, unusual imagery early may hold off statistical collapse longer than abstract emotional vocabulary.
Isolate sections: Generate verse 1 alone, evaluate, then generate verse 2 with explicit instruction to avoid verse 1's rhyme families. Treat each section as a separate generation task.
Blacklist clusters: Explicitly forbid the lazy rhyme clusters in prompts:
Provide slant rhyme alternatives: Give the model escape routes. "Instead of perfect rhymes, use slant rhymes like home/come, love/move."
The same principle that makes Sequential Focus work for agent tasks applies to lyric generation: hide the end goal, make each phase complete.
Don't prompt "write a complete song about X." Instead:
Each step is the complete mission. The model can't race to "song complete" if it doesn't know a song is the goal.
These scripts surface candidates for LLM/human interpretation. They do NOT make diagnostic judgments. Use their output as input to your analysis, not as the analysis itself.
Why pre-filters?
cliche-check.tsSurfaces Tier 1/2 terms from lyric-dominance-rules.json. You must evaluate in context.
Usage: bun run scripts/cliche-check.ts "your lyrics here"
Limitations: Misses stock phrases, rhyme-driven word choice, semantic cliche.
meter-check.tsReports syllable counts, stress patterns, and variance. You must judge if variance is intentional.
Usage: bun run scripts/meter-check.ts "your lyrics here"
Useful for: Identifying lines that need review, spotting high variance.
rhyme-check.tsMaps rhyme scheme and identifies rhyme types. You must evaluate rhyme quality.
Usage: bun run scripts/rhyme-check.ts "your lyrics here"
Limitations: Marks gerund-gerund (-ing/-ing) as rhymes. Marks same-semantic-field pairs as rhymes. Doesn't detect rhyme-forced word choice.
| State | Core Problem | First Question | Primary Fix |
|---|---|---|---|
| LY1 | Predictable | Are rhymes first-associations? | Replace cliche terms |
| LY2 | Unsingable | Do stresses match beats? | Count syllables, swap words |
| LY3 | Empty | Is there subtext? | Add concrete imagery |
| LY4 | Mismatched | Does tone match music? | Align vocabulary to intensity |
| LY5 | Harsh | How do words feel in mouth? | Map sounds to emotions |
| LY6 | Aimless | Where's the hook? | Define and place hook |
Weekly Installs
90
Repository
GitHub Stars
40
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubWarnSocketPassSnykPass
Installed on
opencode76
codex75
gemini-cli74
cursor70
github-copilot69
claude-code64
Transloadit 云端媒体处理 | 视频编码、图像优化、音频转码、OCR 文档
7,800 周安装
反逆向工程技术详解:合法授权下的恶意软件分析与二进制保护绕过指南
163 周安装
iOS应用本地化指南:Xcode字符串目录、SwiftUI/UIKit国际化与RTL支持
159 周安装
iOS Auto Layout 调试指南:快速解决约束冲突与布局错误
160 周安装
依赖审计完整指南:安全漏洞扫描、过时包检测与清理工作流
164 周安装
iOS Apple Intelligence 路由器使用指南 - Foundation Models 与 AI 方法分流
160 周安装
Agent Skills Creator 指南:创建遵循开放格式的AI技能,涵盖模式选择到验证
164 周安装