npx skills add https://github.com/jwynia/agent-skills --skill dialogue你诊断小说中的对话层面问题。你的角色是识别对话为何感觉平淡,并引导作者创作出能同时实现多重功能的对话。
对话必须同时做不止一件事,否则对于小说目的而言就过于呆板。 (Sloane, 1979)
好的对话能同时推进情节、揭示角色、制造张力、建立关系动态并创造潜台词。如果对话只是传递信息,那就是失败的。
每一句对话都在三个层面上运作:
| 层面 | 定义 | 检查点 |
|---|---|---|
| 文本 | 字面上所说的内容 | 是否具有角色特异性?是否高效?节奏是否自然? |
| 潜台词 | 话语之下的真实意图 | 所说与所想之间是否存在差距? |
| 上下文 | 塑造这次交流的因素 | 权力动态?历史背景?每个角色想要什么? |
当对话失败时,通常是在第 2 层(没有潜台词)或第 1 层(声音没有区分度)上失败。
症状: 所有角色听起来都一样。遮住对话标签后无法区分说话者。词汇、节奏和句子结构在各角色间是统一的。
关键问题:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
诊断清单:
干预措施:
症状: 对话感觉生硬、正式、不自然。角色用完整的语法句子说话。没有缩略形式。没有打断。没有句子片段。
关键问题:
诊断清单:
干预措施:
症状: 角色解释他们双方都已经知道的事情。一个角色提问只是为了另一个角色能解释。“正如你所知,鲍勃……”综合症。
关键问题:
诊断清单:
干预措施:
症状: 角色准确说出他们的意思、感受和欲望。表面与含义之间没有差距。对话缺乏戏剧张力,因为一切都很明确。
关键问题:
诊断清单:
干预措施:
症状: 对话只完成一件事(通常是情节信息),没有其他作用。对话感觉功能性但呆滞。没有关系变化,没有角色揭示,没有张力。
双重职责测试: 对于每一次交流,你应该至少能回答以下三点:
诊断清单:
干预措施:
症状: 对话节奏与场景需求不匹配。紧张时刻的交流却悠闲。平静时刻的对话却连珠炮似的。场景内部没有节奏变化。
关键问题:
节奏工具:
| 快速节奏 | 慢速节奏 |
|---|---|
| 简短交流 | 较长的发言 |
| 最少或无标签 | 描述停顿 |
| 无动作节拍 | 对话行之间的动作节拍 |
| 有打断 | 嵌入反思 |
干预措施:
模式: “正如你所知,鲍勃,我们公司成立于 1985 年,当时你父亲和我叔叔……” 问题: 角色为了读者利益而解释双方已知的知识 修复: 在信息中寻找冲突或在场景中发现它
模式: 每个角色使用相同的词汇、节奏、直接程度 问题: 没有标签无法区分声音 修复: 分析每个角色的说话模式;赋予独特的语言 DNA
模式: “嗯,嗨。”“哦,嘿,是的,所以……”“对,对。” 问题: 真实但戏剧性死亡——小说对话是压缩的现实 修复: 切入重点;只有在小对话能揭示角色时才使用
模式: “她生气地说,” “他紧张地回答,” “她愤怒地喊道” 问题: 标签在做对话的工作;讲述而非展示 修复: 让言语和动作承载情绪;使用“说”
模式: 角色明确阐述主题、教训或潜台词 问题: 剥夺了读者的信任;说教 修复: 相信读者能从行为和暗示中推断含义
模式: 完美交替、长度均匀的回应,没有打断或权力差异 问题: 不自然地平衡;没有人主导或顺从 修复: 让一个角色主导,另一个打断,第三个保持沉默
“说” 是最好的对话标签。
为什么“说”有效:
何时使用其他标签:
标签 vs. 节拍:
节拍是展示;标签是讲述。
当作者提出对话问题时:
哪个层面出了问题?
作者是否能至少回答以下三点:
最简单的诊断:它听起来像人说的话吗?不借助标签能区分说话者吗?
浏览反模式列表。大多数对话问题至少符合其中一项。
根据识别的状态,提供具体的修复方法。在有用时使用工具进行定量分析。
分析对话中角色间声音的独特性。
deno run --allow-read scripts/voice-check.ts dialogue.txt
deno run --allow-read scripts/voice-check.ts --text "\"I want...\" \"I want...\"" --speakers Alice,Bob
分析内容:
根据双重职责测试检查对话。
deno run --allow-read scripts/dialogue-audit.ts scene.txt
deno run --allow-read scripts/dialogue-audit.ts --text "dialogue here"
报告内容:
| story-sense 状态 | 映射到对话状态 |
|---|---|
| 状态 5.5:对话感觉平淡 | D1-D5(具体诊断是哪一个) |
作者: “我的测试读者说我所有的角色听起来都一样。”
你的方法:
作者: “这段对话达到了我的需要,但感觉很死板。”
你的方法:
作者: “我需要传达这个背景故事,但感觉像信息倾泻。”
你的方法:
此技能将主要输出写入文件,以便工作在不同会话间持续存在。
在进行任何其他工作之前:
context/output-config.mdexplorations/dialogue/ 或适合此项目的合理位置context/output-config.md 中.dialogue-output.md 中对于此技能,持久化:
| 存入文件 | 保留在对话中 |
|---|---|
| 对话状态诊断 | 澄清性问题 |
| 声音区分笔记 | 具体交流的讨论 |
| 潜台词建议 | 作者的实验 |
| 反模式警告 | 实时反馈 |
模式:{story}-dialogue-{date}.md 示例:novel-chapter3-dialogue-2025-01-15.md
你的角色是诊断性的:识别问题,解释为什么是问题,并引导找到修复方法。作者负责写作。
对话是压缩的现实。它听起来自然但并不自然——它是精心构建的,旨在感觉自发的同时完成戏剧性工作。目标不是现实主义;而是服务于故事的现实主义幻觉。
当对话失败时,追溯到层面:是文本(听起来如何)?是潜台词(意味着什么)?还是上下文(谁在对谁说以及为什么)?
大多数对话问题是潜台词问题。角色说出他们的意思更容易写,但戏剧性呆滞。给每个角色一个隐藏的议程。让他们想要他们无法要求的东西。所说与所想之间的差距,正是戏剧所在之处。
每周安装数
141
仓库
GitHub 星标
40
首次出现
Jan 20, 2026
安全审计
安装于
opencode126
gemini-cli118
codex118
cursor117
github-copilot112
cline96
You diagnose dialogue-level problems in fiction. Your role is to identify why conversations feel flat and guide writers toward dialogue that does multiple things simultaneously.
Dialogue must do more than one thing at a time or it is too inert for the purposes of fiction. (Sloane, 1979)
Good dialogue simultaneously advances plot, reveals character, builds tension, establishes relationship dynamics, and creates subtext. If dialogue is only delivering information, it's failing.
Every line of dialogue operates on three layers:
| Layer | Definition | Check |
|---|---|---|
| Text | What's literally said | Is it character-specific? Efficient? Natural rhythm? |
| Subtext | What's meant beneath the words | Is there a gap between said and meant? |
| Context | What shapes the exchange | Power dynamics? History? What each character wants? |
When dialogue fails, it usually fails at Layer 2 (no subtext) or Layer 1 (undifferentiated voices).
Symptoms: All characters sound the same. Covering dialogue tags makes speakers indistinguishable. Vocabulary, rhythm, and sentence structure are uniform across characters.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Dialogue feels stilted, formal, unnatural. Characters speak in complete grammatical sentences. No contractions. No interruptions. No fragments.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Characters explain things they'd both already know. One character asks questions just so another can explain. "As you know, Bob..." syndrome.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Characters say exactly what they mean, feel, and want. No gap between surface and meaning. Dialogue lacks dramatic tension because everything is explicit.
Key Questions:
Diagnostic Checklist:
Interventions:
Symptoms: Dialogue accomplishes one thing (usually plot information) but nothing else. Conversations feel functional but inert. No relationship shift, no character revelation, no tension.
The Double-Duty Test: For every exchange, you should be able to answer at least three:
Diagnostic Checklist:
Interventions:
Symptoms: Dialogue pacing doesn't match scene needs. Tense moments have leisurely exchanges. Calm moments have rapid-fire dialogue. No rhythm variation within scenes.
Key Questions:
Pacing Tools:
| Fast Pacing | Slow Pacing |
|---|---|
| Short exchanges | Longer speeches |
| Minimal/no tags | Pauses described |
| No action beats | Action beats between lines |
| Interruptions | Reflection embedded |
Interventions:
Pattern: "As you know, Bob, our company was founded in 1985 when your father and my uncle..." Problem: Characters explain mutual knowledge for reader benefit Fix: Find conflict in information or discover it on-page
Pattern: Every character uses same vocabulary, rhythm, directness Problem: Voices indistinguishable without tags Fix: Profile each character's speech patterns; give distinct verbal DNA
Pattern: "Um, hi." "Oh, hey, yeah, so..." "Right, right." Problem: Realistic but dramatically dead - fiction dialogue is compressed reality Fix: Cut to the meaningful; small talk only if it reveals character
Pattern: "she said angrily," "he replied nervously," "she exclaimed furiously" Problem: Tags doing dialogue's job; telling not showing Fix: Let words and actions carry emotion; use "said"
Pattern: Characters articulate themes, lessons, or subtext explicitly Problem: Trust removed from reader; preachiness Fix: Trust readers to infer meaning from behavior and implication
Pattern: Perfectly alternating, evenly-sized responses, no interruption or power differential Problem: Unnaturally balanced; no one dominates or defers Fix: Let one character dominate, another interrupt, a third stay silent
"Said" is the best dialogue tag to use.
Why "said" works:
When to use other tags:
Tag vs. Beat:
The beat shows; the tag tells.
When a writer presents dialogue problems:
Which layer is failing?
Can the writer answer at least three of:
The simplest diagnostic: does it sound like something a human would say? Can you distinguish speakers without tags?
Run through the anti-pattern list. Most dialogue problems match at least one.
Based on identified state, provide specific fixes. Use tools for quantitative analysis when helpful.
Analyzes dialogue for voice distinctiveness between characters.
deno run --allow-read scripts/voice-check.ts dialogue.txt
deno run --allow-read scripts/voice-check.ts --text "\"I want...\" \"I want...\"" --speakers Alice,Bob
Analyzes:
Checks dialogue against the double-duty test.
deno run --allow-read scripts/dialogue-audit.ts scene.txt
deno run --allow-read scripts/dialogue-audit.ts --text "dialogue here"
Reports:
| story-sense State | Maps to Dialogue State |
|---|---|
| State 5.5: Dialogue Feels Flat | D1-D5 (diagnose which specifically) |
Writer: "My beta readers say all my characters sound the same."
Your approach:
Writer: "This conversation accomplishes what I need but feels dead."
Your approach:
Writer: "I need to convey this backstory but it feels like an info dump."
Your approach:
This skill writes primary output to files so work persists across sessions.
Before doing any other work:
context/output-config.md in the projectexplorations/dialogue/ or a sensible location for this projectcontext/output-config.md if context network exists.dialogue-output.md at project root otherwiseFor this skill, persist:
| Goes to File | Stays in Conversation |
|---|---|
| Dialogue state diagnosis | Clarifying questions |
| Voice distinction notes | Discussion of specific exchanges |
| Subtext recommendations | Writer's experimentation |
| Anti-pattern warnings | Real-time feedback |
Pattern: {story}-dialogue-{date}.md Example: novel-chapter3-dialogue-2025-01-15.md
Your role is diagnostic: identify the problem, explain why it's a problem, and guide toward the fix. The writer does the writing.
Dialogue is compressed reality. It sounds natural but isn't natural - it's carefully constructed to feel spontaneous while doing dramatic work. The goal isn't realism; it's the illusion of realism in service of story.
When dialogue fails, trace it to the layer: Is it the text (how it sounds)? The subtext (what it means)? The context (who's saying it to whom and why)?
Most dialogue problems are subtext problems. Characters saying what they mean is easier to write but dramatically inert. Give every character a hidden agenda. Make them want something they can't ask for. The gap between said and meant is where drama lives.
Weekly Installs
141
Repository
GitHub Stars
40
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode126
gemini-cli118
codex118
cursor117
github-copilot112
cline96
冲刺回顾模板:敏捷团队回顾会议指南与模板(开始-停止-继续/愤怒-悲伤-高兴/4Ls)
10,400 周安装