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.
npx skills add LiPu-jpg/Openwrite --skill dialoguequalitygit clone --depth 1 https://github.com/LiPu-jpg/OpenwriteWrote 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.
[](https://agentmods.dev/skills/lipu-jpg/openwrite/dialoguequality)<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.
<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>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once 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 |
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.
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 味对话问题。
当前数据来源
对话分析不要只盯着对白片段本身。当前推荐读取顺序是:
data/manuscript/arc_*/ch_*.md— 实际章节正文src/characters/*.md— 角色单源文档data/style/composed.md— 当前作品风格约束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适合看“对白放在整章里是否成立”- 真要改对白,必须结合人物文档和章节戏剧位置一起判断
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.
- 1mo ago First seen · 166 lines · 54 tokens per session scan A 241797368cdc
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.
Other skills, from other repositories
webnovel-init
A guided setup process for a web-novel project that collects creative requirements and creates the project’s initial structure and rules.
webnovel-write
A workflow for producing publishable web-novel chapters, from understanding the context through drafting, review, polishing, submission, and backup.
webnovel-plan
A planning tool for turning a web-novel outline into volume plans, timelines, and chapter outlines. It also writes new story settings back into the existing setting collection.
webnovel-review
A review agent for assessing the quality of fiction chapters. It produces a review report and writes review measurements back to the project.
webnovel-query
A Chinese-language skill for querying a web novel project's setting and story information, including characters, power systems, factions, and foreshadowing.
webnovel-learn
A project skill for learning from a web novel-writing project through the `/webnovel-learn` command. The provided details do not explain what learning tasks or outputs it performs.