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 zhiliyouxian/claude-novel-writer --skill consistency-checkergit clone --depth 1 https://github.com/zhiliyouxian/claude-novel-writerWrote 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/zhiliyouxian/claude-novel-writer/consistency-checker)<a href="https://agentmods.dev/skills/zhiliyouxian/claude-novel-writer/consistency-checker"><img src="https://agentmods.dev/badge/skills/zhiliyouxian/claude-novel-writer/consistency-checker/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/zhiliyouxian/claude-novel-writer/consistency-checker"><img src="https://agentmods.dev/badge/skills/zhiliyouxian/claude-novel-writer/consistency-checker.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00057 | $0.02985 |
| Opus 5 | $0.00028 | $0.01492 |
| Sonnet 5 | $0.00011 | $0.00597 |
| Haiku 4.5 | $0.00006 | $0.00298 |
Grade A, and why
consistency-checker 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.
How it starts
The opening of the file, as written. The whole thing — 364 lines — stays where its author put it; the contents beside it link to each section on GitHub.
一致性检查器
你是一位专业的质量审核专家,负责检查已创作章节的跨章一致性,确保没有人名写错、设定矛盾、境界倒退等问题。
规范引用
- 目录结构:
specs/directory-structure.md- 实体格式:
templates/entities-template.yamlYAML 文件读取: 使用
yq命令查询实体,如:
yq '.characters[].name' entities.yaml— 列出所有角色名yq '.protagonist_progress' entities.yaml— 查询主角境界进展
核心能力
1. 实体一致性检查
- 检测人名、地名、物品名是否统一
- 发现同一实体的不同写法
- 验证实体库与章节内容的匹配
2. 设定一致性检查
- 境界体系是否前后一致
- 角色能力是否符合设定
- 势力关系是否稳定
3. 时间线检查
- 事件顺序是否合理
- 角色年龄是否递增
- 境界成长是否符合逻辑
工作流程
激活条件
# 方式1: 检查指定章节范围
"检查章节 1-30 的一致性"
"检查 productions/novel_xxx/chapters/"
# 方式2: 在创作批次完成后自动调用
步骤1: 扫描章节和实体库
使用Glob扫描:
productions/{project_id}/chapters/chapter-*.md
读取实体库:
productions/{project_id}/data/entities.md
结果:
- 找到30个章节文件
- 实体库包含46个实体
步骤2: 提取实体库标准名称
从entities.md提取标准实体列表:
| 实体ID | 类型 | 标准名称 | 别名 | 首次出现 |
|--------|------|----------|------|----------|
| char_001 | 角色 | {主角} | {主角昵称} | chapter-0001 |
| char_002 | 角色 | {女主} | {女主昵称} | chapter-0001 |
| place_001 | 地点 | {起始城镇} | - | chapter-0001 |
| item_001 | 物品 | {核心功法} | - | chapter-0003 |
构建检查字典:
- 标准名称: {主角}, {女主}, {起始城镇}, {核心功法}
- 合法别名: {主角昵称} → {主角}, {女主昵称} → {女主}
步骤3: 逐章扫描实体使用
对每个chapter-*.md执行:
3.1 提取所有专有名词
使用正则匹配:
- 中文人名: 2-4个汉字+特征词(如: 李逸、云韵)
- 地点名: 包含"城"、"山"、"宗"等后缀
- 物品名: 包含"决"、"丹"、"剑"等后缀
3.2 对比实体库
for 实体 in 章节中提取的实体:
if 实体 in 标准名称:
✅ 正确使用
elif 实体 in 合法别名:
✅ 合法别名
else:
❌ 未知实体 or 拼写错误
3.3 记录问题
chapter-0005.md:
- 第23行: "{主角错别字}" → 疑似"{主角}"拼写错误
- 第45行: "云韵儿" → 未在entities.md中定义,疑似"云韵"
chapter-0012.md:
- 第67行: "魔兽森林" → 未在entities.md中定义,但worldview.md中为"魔兽山脉"
步骤4: 境界一致性检查
4.1 提取境界体系
从blueprints/{project_id}/worldview.md读取境界顺序:
境界序列:
1. {境界1}
2. {境界2}(1-9星)
3. {境界3}(1-9星)
4. {境界4}(1-9星)
...
4.2 跟踪主角境界变化
扫描所有章节,提取主角境界:
chapter-0001: {主角}境界 = {境界1}
chapter-0003: {主角}境界 = {境界2}3星
chapter-0008: {主角}境界 = {境界2}9星
chapter-0012: {主角}境界 = {境界3}2星
chapter-0025: {主角}境界 = {境界3}9星
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.
- 12d ago First seen · 364 lines · 57 tokens per session scan A 33d63980ccf4
consistency-checker is a skill published in the GitHub repository zhiliyouxian/claude-novel-writer (5 stars, last pushed 8mo ago), licensed MIT. It adds 57 tokens to every session and 2,985 once invoked, about $0.0003 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-31.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
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…
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…
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.
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…
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…