dialoguequality

dialoguequality is a skill for Claude Code, Codex from LiPu-jpg/Openwrite. It costs 54 tokens per session (1,331 once invoked), scanned A, original, Apache-2.0.

A dialogue-review system for novels that studies how characters speak and whether their voices remain distinct. It can examine speech habits, sentence length, question frequency, and repeated phrases.

In plain words
What is it for?
Use it to extract a character's speech patterns, review a chapter's dialogue, and compare a character's voice with their role and personality.
Why use it?
It helps find dialogue that sounds too similar between characters, overly formal, overly explanatory, or unnatural and AI-like.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to extract a character's speech patterns, review a chapter's dialogue, and compare a character's voice with their role and personality.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/lipu-jpg/openwrite/dialoguequality
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 LiPu-jpg/Openwrite --skill dialoguequality
Clone the repo
git clone --depth 1 https://github.com/LiPu-jpg/Openwrite

Made for: Claude Code, Codex.

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 dialoguequality

README.md
[![agentmods](https://agentmods.dev/badge/skills/lipu-jpg/openwrite/dialoguequality/github.svg)](https://agentmods.dev/skills/lipu-jpg/openwrite/dialoguequality)
Your own site
<a href="https://agentmods.dev/skills/lipu-jpg/openwrite/dialoguequality"><img src="https://agentmods.dev/badge/skills/lipu-jpg/openwrite/dialoguequality/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 dialoguequality

Your own site · 80×15
<a href="https://agentmods.dev/skills/lipu-jpg/openwrite/dialoguequality"><img src="https://agentmods.dev/badge/skills/lipu-jpg/openwrite/dialoguequality.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 54 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,331 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. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.00054 $0.01331
Opus 5.5 $0.00022 $0.00532
Sonnet 5.5 $0.00011 $0.00266
Haiku 4.5 $0.00005 $0.00133

Measured 1mo ago against content hash 241797368cdc, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

dialoguequality 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 1mo 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.

presets/dante/skills/dialoguequality/SKILL.md · 166 lines

How it starts

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

对话质量系统

用于分析角色对白、提取说话习惯、检查角色声音是否区分明显,以及识别 AI 味对话问题。

当前数据来源

对话分析不要只盯着对白片段本身。当前推荐读取顺序是:

  1. data/manuscript/arc_*/ch_*.md — 实际章节正文
  2. src/characters/*.md — 角色单源文档
  3. data/style/composed.md — 当前作品风格约束
  4. src/outline.md / canonical packet — 本章戏剧位置与章节目标

如果需要完整判断某章对白是否失真,优先结合 review_chapter 或章节 packet,而不是只看几行台词。

可用工具

工具 说明
extract_dialogue_fingerprint 提取角色对白指纹
review_chapter 对整章做审查,可发现台词失真、解释性对话、套路对白

什么时候用

  • 角色说话越来越像同一个人
  • 想提取某角色口头禅、句长、问句比例
  • 怀疑一段对白太工整、太礼貌、太像 AI 写的
  • 想比较两个角色的声音有没有拉开

工作方式

1. 提取对白指纹

先定位章节和角色,再提取:

用户: 分析一下林月在第六章的对话风格

AI:
[COMMAND] extract_dialogue_fingerprint {
  "chapter_id": "ch_006",
  "character_names": ["林月"]
}

重点观察:

  • avg_sentence_length:句长偏短还是偏长
  • question_ratio:疑问句比例
  • common_bigrams:高频词组
  • speech_patterns:口头禅、重复习惯、语气特征

2. 结合角色档案复核

提取完后,要对照 src/characters/*.md:

  • 角色身份是否和说话方式一致
  • 是否符合性格、教育程度、职业背景
  • 是否保留了角色特有的回避方式、攻击方式、冷幽默或停顿习惯

3. 识别 AI 味对白

重点查这些问题:

过度礼貌
  • 普通熟人反复说“请”“劳烦”“阁下”
  • 同事或熟人之间说话像正式公文
解释性对话
  • A 向 B 解释 B 本来就知道的事
  • 台词承担“给读者讲设定”的任务,而不是人物交流
完美逻辑
  • 每句话都有正面回应
  • 没有打断、沉默、敷衍、转移话题
  • 像在辩论,不像在说话
套路表达
  • “受教了”“所言极是”“你说得对”
  • “我很生气”“我很震惊”这类直接把情绪说出来
  • “嘴角微微上扬”“眼中闪过一丝”这类套路型动作标签
角色同声化
  • 不同角色句长接近
  • 用词层次相同
  • 职位、年龄、教育背景、社交方式没有反映在对白里

检查清单

角色声音

  • 主角是否有稳定的思维口癖
  • 配角是否有可识别的用词边界
  • 高压状态下的说话方式是否会变化

对话结构

  • 是否有人答非所问
  • 是否有停顿、省略、打断
  • 是否存在大量“解释给读者听”的台词

风格一致性

  • 是否符合 data/style/composed.md
  • 是否符合章节当前戏剧位置
  • 是否和上一章衔接自然

输出建议格式

对话检查结果:ch_006 / 林月

1. 角色声音
- 句长偏短,命令句比例高,符合技术组长的控制型表达
- 高频表达偏直接,几乎不解释理由,角色识别度高

2. 问题
- 第 3 段存在解释性对话,林月不该向熟悉项目的人完整解释背景
- 第 6 段礼貌度偏高,不像她一贯说话方式

3. 修改建议
- 删掉完整解释,改成一句结论 + 一个动作
- 把“请你尽快处理”改成“今天收掉”

示例

示例 1:识别解释性对话

❌
"你也知道,我们项目组最近一直在做那套老系统重构,所以今天才会出这种问题。"

✅
"老系统又炸了。"

原因:后者更像熟人之间的真实说话方式,信息由上下文承担,不靠台词硬讲。

示例 2:识别角色同声化

❌ 陈明 / 林月 / 赵磊都用类似的完整句式解释问题

✅
陈明:偏技术比喻、偏自嘲
林月:短句、结论先行
赵磊:口语化、插科打诨

注意

  • extract_dialogue_fingerprint 适合看“说话指纹”
  • review_chapter 适合看“对白放在整章里是否成立”
  • 真要改对白,必须结合人物文档和章节戏剧位置一起判断

Read the full file on GitHub · 166 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. 1mo ago First seen · 166 lines · 54 tokens per session scan A 241797368cdc

Subscribe to this mod's changes

dialoguequality is a skill published in the GitHub repository LiPu-jpg/Openwrite (872 stars, last pushed yesterday), licensed Apache-2.0. It adds 54 tokens to every session and 1,331 once invoked, about $0.0002 per session on Opus 5.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.