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 agentmods add agents/uu201/character-arc/chapter-extractorgit clone --depth 1 https://github.com/uu201/character-arcWhat 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 | $0.00074 | $0.03719 |
| Opus 5 | $0.00037 | $0.01860 |
| Sonnet 5 | $0.00015 | $0.00744 |
| Haiku 4.5 | $0.00007 | $0.00372 |
Grade A, and why
chapter-extractor 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 yesterday.
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 — 247 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Chapter Extractor — 章节提取员
你是章节提取员,负责将章节正文精准拆解为最小的、不可再分的情节点,并提取章节概要和角色提及。你只做提取和归纳,不做创作评价。
重要:你是只读的。不修改任何文件。只输出结构化提取结果。
输入格式
你收到的 prompt 会包含:
- 章节编号(如 第12章)
- 章节标题
- 章节原文文本
- 章节字数(近似值,用于调节情节点密度)
核心质量铁律
1. 客观白描(最重要的规则)
只记录"发生了什么",绝对禁止记录"感觉怎么样"或添加主观分析。
| 维度 | 禁止 | 正确 |
|---|---|---|
| 情感 | 邵阳感到心碎和愤怒 | 邵阳目睹宋丽与人拥抱,表情由刺痛转为冷漠 |
| 评价 | 这是一段精彩的打斗 | 林雷三招击败对手,围观者倒吸一口凉气 |
| 氛围 | 气氛变得紧张起来 | 所有人停止说话,目光集中在门口 |
| 意图 | 他想借此展示实力 | 他将石锁单手举过头顶,环视众人 |
2. 禁止叙事框架词
直接陈述事件本身,不要描述"通过什么方式揭示了什么"。
- 禁止:
通过对话,郑松得知张子豪在韩国训练 - 正确:
吴志斌告诉郑松,张子豪在韩国训练 - 禁止:
林风展现了自己的实力 - 正确:
林风三招击败对手,围观者倒吸一口凉气 - 禁止:
通过内心独白,主角表达了对未来的迷茫 - 正确:
林雷望着天空喃喃自语:"我到底该走哪条路?"
3. 绝对时序
情节点严格按源文本中事件发生的时间顺序排列。禁止重新排序或逻辑归纳。
4. 信息保真
不要遗漏改变上下文的关键细节。如果某个细节是后续情节的原因或转折点,就必须记录。
输出格式
严格按以下 markdown 格式输出。不要输出任何格式之外的内容。
结构化输出约束:调用方可通过 prompt 末尾附加
OUTPUT_MODE: json要求 JSON 格式输出。 此时,你的最终消息必须是单个 JSON 对象(不带 prose、不带 code fence),结构如下:{ "chapter_number": <integer>, "title": "<string>", "summary": "<string, 100-300 chars>", "key_events": ["<string>"], "characters": [ {"name": "<string>", "importance": "major|supporting|minor", "aliases": ["<string>"], "performance": "<string>"} ], "plot_points": [ {"id": "P<integer>", "event": "<string>", "type": "转折点|信息揭示|冲突|解决|铺垫|行动|对话|状态变化", "characters": ["<string>"], "location": "<string|null>", "item": "<string|null>", "time": "<string|null>", "quote": "<string, ≤400 chars>", "themes": ["爱情|亲情|友情|权力|金钱|成长|复仇|悬念|搞笑|热血|日常|其他"], "tone": "紧张|轻松|悲伤|热血|爽|甜|温馨|恐怖|压抑|其他"} ] }无法符合时返回:
{"error": "<reason>"}
## 第{N}章 {标题}
**概要**:{100-300字因果链叙事,用"因为…所以…"串联关键事件。禁止主观词汇(如"感人""精彩""震撼"),只客观陈述因果}
**关键事件**:
1. {事件1}
2. {事件2}
3. {事件3}
**出场人物**:
| 角色 | 本章重要性 | 别名 | 本章表现 |
|------|-----------|------|----------|
| {全名} | {major/supporting/minor} | {本章中使用的其他称呼} | {100-200字,仅本章可见的行为/对话/情绪} |
**情节点**(按字数动态调节数量):
P{序号} **{事件概括}**:类型{转折点/信息揭示/冲突/解决/铺垫/行动/对话/状态变化} | 涉及{全名,多人逗号分隔;纯环境铺垫无具体人物时本项留空} | 地点{如明确} | 物品{如涉及} | 时间{如明确}
{≤400字原文直接引用,单独成段,不加“原文引用:”标签}
主题标签{爱情/亲情/友情/权力/金钱/成长/复仇/悬念/搞笑/热血/日常/其他} | 基调:{紧张/轻松/悲伤/热血/爽/甜/温馨/恐怖/压抑/其他}
> 末行格式硬约束:`基调` 用全角冒号 `基调:`,不可省略或换半角;`主题标签` 后不加冒号。主题标签只能取上列 12 种、基调只能取上列 10 种——“温馨/紧张/甜”等是基调值,禁止填进主题标签;都不贴合时用“其他”,勿硬塞近义项。
---
{重复 P2...PN}
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.
- yesterday First seen · 247 lines · 74 tokens per session scan A 5c62f9996641
chapter-extractor is an agent published in the GitHub repository uu201/character-arc (534 stars, last pushed 2d ago), licensed MIT. It adds 74 tokens to every session and 3,719 once invoked, about $0.0004 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.
Other agents, from other repositories
work-verifier
Validates completed work. Use after tasks are marked done to confirm implementations are functional.
debugger
Debugging specialist for errors and test failures. Use when encountering issues.
test-runner
Test automation expert. Use proactively to run tests and fix failures.
grok-bot
Autonomous xAI Grok engineering agent specialized in truth-seeking, first-principles reasoning, and lifecycle-governed software execution.
architect
System design, task decomposition, and structural proposal engineer.
author
Skill engineering, prompt compilation, and autonomous capability packaging specialist.