natural-dialogue-techniques

natural-dialogue-techniques is a skill for Claude Code from wordflowlab/novel-writer-skills. It costs 34 tokens per session (2,480 once invoked), scanned A, original, MIT.

A writing guide for creating natural conversations between fictional characters.

In plain words
What is it for?
Use it when writing or revising dialogue, especially to add distinct voices, hidden meaning, interruptions, tension, and character-revealing speech.
Why use it?
It helps dialogue sound different for each character and avoids conversations that merely explain information to the reader.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Good fit Use it when writing or revising dialogue, especially to add distinct voices, hidden meaning, interruptions, tension, and character-revealing speech.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/wordflowlab/novel-writer-skills/dialogue-techniques
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add wordflowlab/novel-writer-skills --skill dialogue-techniques
Clone the repo
git clone --depth 1 https://github.com/wordflowlab/novel-writer-skills

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for natural-dialogue-techniques

README.md
[![agentmods](https://agentmods.dev/badge/skills/wordflowlab/novel-writer-skills/dialogue-techniques/github.svg)](https://agentmods.dev/skills/wordflowlab/novel-writer-skills/dialogue-techniques)
Your own site
<a href="https://agentmods.dev/skills/wordflowlab/novel-writer-skills/dialogue-techniques"><img src="https://agentmods.dev/badge/skills/wordflowlab/novel-writer-skills/dialogue-techniques/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for natural-dialogue-techniques

Your own site · 80×15
<a href="https://agentmods.dev/skills/wordflowlab/novel-writer-skills/dialogue-techniques"><img src="https://agentmods.dev/badge/skills/wordflowlab/novel-writer-skills/dialogue-techniques.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 34 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,480 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00034 $0.02480
Opus 5 $0.00017 $0.01240
Sonnet 5 $0.00007 $0.00496
Haiku 4.5 $0.00003 $0.00248

Measured 12d ago against content hash bf4e48d259a7, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

natural-dialogue-techniques scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

templates/skills/writing-techniques/dialogue-techniques/SKILL.md · 367 lines

How it starts

The opening of the file, as written. The whole thing — 367 lines — stays where its author put it; the contents beside it link to each section on GitHub.

自然对话写作技巧

核心原则

通过语言展现角色

每个角色都应该有独特的声音:

  1. 用词选择

    • 受过教育的 vs 随意的
    • 正式的 vs 俚语
    • 技术术语 vs 日常语言
    • 角色背景决定词汇
  2. 句子结构

    • 短/断断续续 vs 长/流畅
    • 完整句子 vs 片段
    • 简单结构 vs 复杂从句
    • 反映思维方式
  3. 言语模式

    • 打断、停顿、重复
    • 口头禅和填充词
    • 独特的措辞习惯
    • 文化和地域特色
  4. 不说什么

    • 回避的话题
    • 说谎的模式
    • 沉默的时刻
    • 未说出口的含义

潜台词胜过直白

角色的意思 vs 说的话:

❌ 直白对话(说教式)

"我对你生气,因为你昨晚对我撒谎了关于你去哪里。"

✅ 富含潜台词的对话

"你的商务会议开得怎么样?"
"很好。"
"我确定是这样。"

为什么更好

  • 让读者参与推理
  • 创造张力和不适
  • 更真实(人们避免直接冲突)
  • 展示角色动态

潜台词的层次

表面层:字面意义 情感层:真实感受 关系层:权力和亲密度 主题层:更大的故事意义

打断和重叠

真实对话不是有序的:

使用打断

"听着,我知道你认为——"
"你不知道我在想什么。"
"——但如果你让我说完——"
砰的一声,远处的门关上了。
"算了。" 她转身离开。

何时使用打断

  • 情绪高涨时
  • 急迫或恐慌
  • 权力斗争
  • 展示关系动态

思维打断言语

"我只是想说——" 他的脸闪过什么。"没事。不重要。"

效果

  • 展示内在冲突
  • 创造神秘感
  • 暗示隐藏信息
  • 角色自我审查

常见错误

❌ 信息倾倒

问题:角色说话只是为了传达信息给读者

坏例子

"如你所知,鲍勃,我们从 2015 年高中时就是朋友,
当时我们都加入了篮球队,然后我们一起去了斯坦福,
在那里学习工程学..."

好例子

"还记得你三年级那个压哨球吗?"
鲍勃笑了。"教练还在谈论它。"

解决方法

  • 在行动中揭示信息
  • 角色只说他们会说的话
  • 使用简短的暗示而非完整历史
  • 让读者拼凑背景

❌ 每个人听起来都一样

问题:所有角色使用相同的词汇和言语模式

解决方法:为每个主要角色创建"声音表"

声音表示例

角色 句子长度 词汇 怪癖 避免什么
张医生 中长,复杂 正式,医学术语 解释过度 俚语
李学生 短,片段 随意,网络语言 "就是说"、"懂吧" 承认不知道
王老板 简短,命令式 商业,直接 很少浪费词 解释自己

❌ 随意言语中的完美语法

太正式

"我要去商店。你想让我为你买些什么吗?"

自然

"去商店。要我带点啥吗?"

口语化技巧

  • 缩略(想要 → 想,去 → 咱)
  • 省略词语(我去商店 → 去商店)
  • 片段句子
  • 口头填充词(嗯、呃、那个)

❌ 用对话进行叙述

问题:角色说出应该是叙述的内容

坏例子

"我站起来,走向门,打开它。是送货员。"

这不是对话

  • 人们不会叙述自己的行动
  • 这是作者偷懒
  • 使用实际叙述或展示

高级技巧

对话作为行动

使用言语标签展示角色状态:

"随便吧。" 她嘀咕道。(被击败)
"随便吧!" 她厉声说道。(生气)
"随便吧..." 她的声音渐渐消失。(不确定)

超越"说"

  • 低语、嘀咕、咆哮(音量)
  • 厉声、尖叫、吼叫(强度)
  • 讥讽、嘲笑、低语(语调)
  • 但不要过度使用 - "说"通常就够了

沉默作为对话

有时不说什么很重要:

"你爱我吗?"
他看着自己的鞋子。

沉默的力量

  • 说出言语无法说出的
  • 创造紧张
  • 展示不适或痛苦
  • 让读者填补

动作打破对话

不要让角色成为说话的头:

"这不是我想要的。" 她把杯子推开。"不是这样的。"

他在房间里踱步。"那你想要什么?"

"我——" 她的手握紧了桌边。"我不知道。"

Read the full file on GitHub · 367 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago First seen · 367 lines · 34 tokens per session scan A bf4e48d259a7

Subscribe to this mod's changes

natural-dialogue-techniques is a skill published in the GitHub repository wordflowlab/novel-writer-skills (258 stars, last pushed 10mo ago), licensed MIT. It adds 34 tokens to every session and 2,480 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

insight-error-page

Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…

vercel/next.js · 83 tokens