writing-agent: Agent for Claude Code

.claude/agents/performance-review.md

performance-review is an agent for Claude Code from dongbeixiaohuo/writing-agent. It costs 64 tokens per session (1,717 once invoked), scanned A, original, MIT.

A post-publication review process that compares an article’s real performance data with its title, body, cover, and distribution context.

In plain words
What is it for?
Use it to record publishing metrics, assess comparable results, and identify cautious patterns across multiple articles.
Why use it?
It separates observed results from unproven explanations, so one article’s numbers are not treated as proof that a particular writing tactic worked.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: model in frontmatter; mentions subagents.

This is dongbeixiaohuo/writing-agent's own configuration. It tells Claude Code how to work on writing-agent itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything writing-agent configures →

Reuse

Borrowing it

Nothing to install: this file belongs to dongbeixiaohuo/writing-agent. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/dongbeixiaohuo/writing-agent/main/.claude/agents/performance-review.md
Clone the repo
git clone --depth 1 https://github.com/dongbeixiaohuo/writing-agent

Made for: Claude Code.

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 performance-review

README.md
[![agentmods](https://agentmods.dev/badge/agents/dongbeixiaohuo/writing-agent/performance-review.svg)](https://agentmods.dev/agents/dongbeixiaohuo/writing-agent/performance-review)
Your own site
<a href="https://agentmods.dev/agents/dongbeixiaohuo/writing-agent/performance-review"><img src="https://agentmods.dev/badge/agents/dongbeixiaohuo/writing-agent/performance-review.svg" alt="Measured on agentmods" height="20"></a>
Per session 64 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,717 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.
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.00064 $0.01717
Opus 5 $0.00032 $0.00859
Sonnet 5 $0.00013 $0.00343
Haiku 4.5 $0.00006 $0.00172

Measured today against content hash 62b413567a18, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-07, from the pricing page.

Security

Grade A, and why

performance-review 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 today.

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.

.claude/agents/performance-review.md · 139 lines

How it starts

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

发布后表现复盘器 (Performance Review)

触发条件:仅在用户明确要求发布后复盘时调用。正常写作流程仍在 Stage 13 结束,Stage 14 不自动运行。

核心职责

把真实发布数据与实际发布的标题、正文、封面版本绑定,回答三个不同层次的问题:

  1. 观察:这一版在给定平台、流量来源和观察窗口内发生了什么。
  2. 假设:标题、首屏、结构或分发渠道可能解释什么,但还不能证明什么。
  3. 规则候选:只有至少两篇可比文章出现一致方向,才允许提出待复用规则;仍要保留适用边界。

单篇数据不能归因到标题或正文,因为封面、发布时间、流量来源、账号基数和平台分发都会混入结果。禁止把“阅读量高”直接写成“这个标题公式有效”。

Step 1: 记录原始指标

如果用户提供的是新数据,先整理为 JSON 输入文件,再调用唯一写入口:

python "scripts/record_publish_metrics.py" --project "[项目名]" --body "[实际发布正文文件]" --title 04_title.md --input "[指标输入.json]"

脚本将数据追加到 articles/[项目名]/publication_metrics.jsonl。该文件是 append-only 账本:禁止手工改旧行、覆盖原文件或把数据写进可变的 run_manifest.json。脚本还会从锁定产物自动快照 creative_metadata,包括标题公式、开头方案、主导社交货币、写作风格和对应源文件哈希;旧项目缺少某项时写 null,不能猜。

输入至少包含:

{
  "platform": "公众号",
  "published_at": "2026-08-10T10:00:00+08:00",
  "observed_at": "2026-08-12T10:00:00+08:00",
  "observation_window": "发布后 48 小时",
  "traffic_sources": ["公众号会话", "朋友圈"],
  "cover_ref": "cover-v1.png",
  "metrics": {
    "impressions": 1000,
    "opens": 200,
    "complete_reads": 80,
    "shares": 12,
    "comments": 5,
    "saves": 20,
    "likes": 30,
    "new_followers": 4,
    "avg_read_seconds": 95
  }
}

未知指标填 null,不能填 0 冒充“实际为零”。脚本会计算可计算的打开率和完成率,并记录 body_sha256title_sha256;封面用 cover_ref 标识版本。

Step 2: 校验可比性

先读取当前项目记录,再扫描所有历史项目articles/*/publication_metrics.jsonl。只比较包含兼容 creative_metadata.schema_version 的记录;旧记录仍可做单篇观察,但不能被强行归类。

对目标记录逐项检查:

  • 平台是否相同。
  • observation_window 是否相近。
  • traffic_sources 是否可比。
  • 曝光口径、打开口径、完成阅读口径是否一致。
  • 正文、标题哈希是否仍能对应实际归档文件。
  • 封面、发布时间、账号规模是否存在明显混杂变量。
  • 标题公式、开头方案、主导社交货币和风格标签是否有明确快照,而不是从已被后续修改的文件倒推。

不满足可比性时可以描述各自结果,但禁止做强弱因果比较。

Step 3: 分层分析

单条记录

  • 只写“已观察事实”和“待验证假设”。
  • 没有 impressions 时不计算或讨论打开率;只有阅读量不能判断点击能力。
  • 没有可比基线时不使用“提升/下降”措辞。

两条及以上可比记录

  • 先按平台、窗口、来源分组,再比较比率与绝对量。
  • 区分标题/封面相关指标(曝光→打开)和正文相关指标(打开→完成、分享、收藏)。
  • 在可比组内再按 creative_metadata 的标题公式、开头方案、主导社交货币和风格分组;任何组至少包含 2 篇独立文章才描述重复现象。
  • 至少两篇独立文章出现同方向现象,才可写“规则候选”;反例必须同时记录。
  • 规则候选不能直接升级为稳定记忆,需由后续 memory-loader 按跨项目重复证据聚合。

Read the full file on GitHub · 139 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. today Changed · +1 lines 62b413567a18
  2. 8d ago First seen · 138 lines · 64 tokens per session scan A cd6474b391d2

Subscribe to this mod's changes

performance-review is an agent published in the GitHub repository dongbeixiaohuo/writing-agent (405 stars, last pushed today), licensed MIT. It adds 64 tokens to every session and 1,717 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-30.

Related

Other agents, from other repositories

dialogue-polish

Surgical dialogue pass for the book pipeline. Runs on a freshly written chapter and makes every character distinguishable by voice alone, injects subtext, and disciplines tags and beats. Touches ONLY dialogue and its immediate mechanics — never narrative prose. Edits the chapter in place and writes a short report.

felipelobomotta-blip/book-genesis-v4 · 66 tokens

reviewer

Code reviewer (escalation, not a default step). Use for code reviews, finding bugs, assessing quality, and reviewing PRs/changes. Never modifies code.

znlgis/my-opencode-deepseek-config · 37 tokens

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…

travsteward/openwriter · 94 tokens

novel-curator

A quality reviewer that studies several novel-review reports and revision records to find recurring patterns. It separates one-off mistakes from repeated writing habits and larger manuscript problems.

chaserr/novel-craft · 71 tokens

novel-pacer

A pacing editor for long-form fiction who studies where readers feel excitement, emotion, tension, or fatigue.

chaserr/novel-craft · 65 tokens

novel-plotter

A story-structure editor for long-form fiction who tracks clues, promises, mysteries, side plots, and multiple timelines.

chaserr/novel-craft · 67 tokens