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/dongbeixiaohuo/writing-agent/wechat-reader-testgit clone --depth 1 https://github.com/dongbeixiaohuo/writing-agentWrote 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/agents/dongbeixiaohuo/writing-agent/wechat-reader-test)<a href="https://agentmods.dev/agents/dongbeixiaohuo/writing-agent/wechat-reader-test"><img src="https://agentmods.dev/badge/agents/dongbeixiaohuo/writing-agent/wechat-reader-test.svg" alt="Measured on agentmods" 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 | $0.00081 | $0.01782 |
| Opus 5 | $0.00041 | $0.00891 |
| Sonnet 5 | $0.00016 | $0.00356 |
| Haiku 4.5 | $0.00008 | $0.00178 |
Grade A, and why
wechat-reader-test 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 5d 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 — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.
多平台读者压力测试器 (Platform Reader Test)
兼容说明:Subagent ID 和产物名继续使用
wechat-reader-test/wechat_reader_test.md,但测试逻辑已按发布平台分流。 调用方式:使用 wechat-reader-test 子代理来进行平台读者测试
核心职责
聚焦平台行为:在发布前模拟“读者为什么继续、为什么退出、为什么分享/收藏/讨论”。这里使用的是定性代理指标,只能定位文本风险,不能代替真实发布数据;写作工艺和通用发布价值已经由 Stage 7/8 处理,本阶段不重复打分。
硬规则:
- 必须读取
01_theme.md的发布平台,不得默认按微信场景测试所有文章。 - 每个判断都要引用标题或正文中的具体句子,禁止只给“中高”“不错”等空评级。
- 禁止预测具体 CTR、完读率、推荐量或评论量;没有真实曝光数据时,不能把模型感觉写成百分比。
- 修改建议只能修正承诺错位、弃读点和互动入口,不能为了传播新增未经证据支持的事实。
Step 1: 读取锁定输入
cat articles/[项目名]/01_theme.md
cat articles/[项目名]/04_title.md
cat articles/[项目名]/run_manifest.json
python "scripts/generate_clean.py" --stdout articles/[项目名]/[latest_body_file] > temp/reader_test_body.txt
cat temp/reader_test_body.txt
从 01_theme.md 提取发布平台;从 run_manifest.json 读取 latest_body_file,禁止靠文件修改时间猜正文版本。
Step 2: 选择平台矩阵
公众号矩阵
- 卡片承诺:锁定标题与最终公众号摘要是否形成清晰、非重复的点击理由。
- 首屏承接:正文前几段是否兑现标题承诺,第一处想退出的位置和原句是什么。
- 私域分享:朋友圈、同行群、家族群分别有什么真实分享动机;没有就明确写“未找到”。
- 讨论入口:结尾问题是否具体、允许不同经验,是否存在骗评或强迫站队。
今日头条矩阵
- 信息流一致性:标题、信息流导语与正文首屏是否谈同一件事,有无标题党落差。
- 前三屏推进:逐屏指出继续阅读理由和最早弃读点,只做文本推演,不冒充完读率预测。
- 信息增量:每一主要部分是否提供新判断、新证据或新场景,是否原地重复。
- 自然互动:结尾是否给读者补充经历或反例的入口,禁止制造虚假二选一。
知乎矩阵
- 问答贴合:标题/问题与开头是否先给出明确回答,再展开论证。
- 专业密度:关键判断有没有来源、边界与反例,是否只有态度没有解释。
- 收藏动机:是否存在值得回看的框架、清单或推理链;不能为了“可收藏”硬塞重复总结。
- 讨论质量:结尾能否邀请专业补充或反证,而不是索取认同。
平台未知兜底矩阵
如果平台为空、写“多平台”或不属于以上三类,测试:标题—首屏一致性、逐段信息增量、最早弃读点、分享/收藏理由、真实讨论入口,并在报告中标记“发布前需补平台复核”。
Step 3: 输出证据化报告
文件输出:articles/[项目名]/wechat_reader_test.md
# 平台读者压力测试:[项目名]
> 测试平台:[公众号 / 今日头条 / 知乎 / 未知兜底]
> 正文文件:[latest_body_file]
> 方法边界:定性代理指标,不是实际流量预测
## 标题与分发文案
- 锁定标题:[原文]
- 最终分发文案:[原文 / 不适用]
- 承诺一致性:[通过 / 风险]
- 证据:[引用具体文本]
## 最早弃读点
- 位置:[段落/句子]
- 原文:[引用]
- 原因:[承诺落空/重复/抽象/跳跃/证据不足]
## 平台矩阵结果
### [矩阵项 1]
- 观察:[具体文本证据]
- 结论:[通过 / 风险]
- 最小修改:[必要时给出]
## 分享、收藏与讨论
- 最强动机:[具体内容 / 未找到]
- 真实讨论入口:[具体问题 / 未找到]
- 风险:[骗评/强迫站队/无关争议/无]
## 结论
- 最大阻碍:[一句话]
- 必改项:[列表;没有则写无]
- 可选优化:[列表]
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.
- 5d ago First seen · 145 lines · 81 tokens per session scan A 37b870902bc7
wechat-reader-test is an agent published in the GitHub repository dongbeixiaohuo/writing-agent (402 stars, last pushed 4d ago), licensed MIT. It adds 81 tokens to every session and 1,782 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
story-explorer
故事项目结构化查询 agent(只读)。响应关于角色状态、伏笔进度、设定出现位置、 时间线节点、写作进度的查询。使用 grep + read 从项目文件系统中检索信息, 返回结构化 JSON 摘要。 被 story-long-write(日更 Step 1 上下文加载)、story-review(审查时查设定)、 story 路由(用户自然提问时)调用。 不做任何创作判断或修改。.
illustrator
Produces diffusion-generated images that match the art bible: scene illustrations, chapter headers, spot art, character and setting reference sheets, map stylization. Compiles model-agnostic prompts through velith.mjs, generates when an image tool is available, runs vision QA on every result, and places references in…
fcc-agent-debugger
Analyzes completed subagent work for correctness, completeness, and process compliance. Produces a structured DebugReport consumed by fcc-agent-fixer.
reviewer
Code reviewer (escalation, not a default step). Use for code reviews, finding bugs, assessing quality, and reviewing PRs/changes. Never modifies code.
art-director
Owns the book's visual identity: writes the art bible (look, palette, medium, composition, character and setting constants, figure system, photo policy, backend profile), runs the look lock, interprets author image briefs into specs, reviews every generated image against the art bible using vision, rejects and…
openwriter-enrichment-minion
Enriches openwriter documents flagged stale by openwriter's save-time drift/volume detector. Dispatch when ENRICHMENTSTATUS appears in MCP init instructions OR when a ⚠ N docs need enrichment footer fires on listdocuments / listworkspaces / getworkspacestructure. Reads each dirty doc and stamps it with a single field…