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 XRenSiu/claude-code-forge --skill review-loopgit clone --depth 1 https://github.com/XRenSiu/claude-code-forgeWrote 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/xrensiu/claude-code-forge/review-loop)<a href="https://agentmods.dev/skills/xrensiu/claude-code-forge/review-loop"><img src="https://agentmods.dev/badge/skills/xrensiu/claude-code-forge/review-loop/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/xrensiu/claude-code-forge/review-loop"><img src="https://agentmods.dev/badge/skills/xrensiu/claude-code-forge/review-loop.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.00291 | $0.06532 |
| Opus 5.5 | $0.00116 | $0.02613 |
| Sonnet 5.5 | $0.00058 | $0.01306 |
| Haiku 4.5 | $0.00029 | $0.00653 |
Grade A, and why
review-loop 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 — 278 lines — stays where its author put it; the contents beside it link to each section on GitHub.
review-loop — 提 PR 之后,跟进 review 直到收敛
本文件只写引擎给不出的东西——终止绑定、预算、安全边界、判据、依赖事实、原语契约。步骤怎么 编排是你(引擎)自己的份额。
done_when — 终止绑定(编译态,不可跳过)
循环退出当且仅当下列信号之一。谓词由脚本判定,不用阅读 PR 页面的印象替代:
| 信号 | 含义 | 动作 |
|---|---|---|
done → exit 10(或 watch → 10) |
PR merged / closed | 汇报最终状态,结束 |
done → exit 0 |
APPROVED ∧ 未解决线程 = 0 ∧ checks 非红非未知 ∧ 线程列表未截断 | 汇报"已获批准,等待合并";merge 是人类动作 |
done --solo → exit 0 |
单人仓库替代谓词(见下节,更严,必须显式开启) | 同上,且汇报预审轮次与 A 档存活数 |
watch → exit 21 |
连续空轮询达上限(默认约 30 分钟无活动) | 暂停,问用户"继续挂起还是收工" |
round → exit 30 |
全局轮次预算耗尽 | 硬停,汇报全部未收敛项;在 /ai-dlc 里 fail --signal budget_exhausted |
strike → exit 31 |
该线程往返达上限 | 冻结该线程:回一条"来回几轮未收敛,交给 @ 定夺",其余照常;/ai-dlc 里 fail --signal review_thread_strike_limit |
绑定规则:
- 每完成一批「修复 + push + 回帖 + 收束」,调用一次
round <PR>——轮次由脚本记账,你不自行 维护任何计数器。 - exit 0 里的「未解决线程 = 0」靠收束推进:你修好的线程自己 resolve,剩下的未解决线程只有真正 待人类定夺的(REJECT / ESCALATE / 冻结)。存在合法的不收敛,见下面两节:单维护者仓库 (谓词上不可能)与 REJECT 悬而未决(谓词上不该)。
- reviewer 在你已回复过的线程再次表达异议或提出新要求 → 对该线程
strike <PR> <thread_id>; 曾返回 31 的线程不再自动回帖。 - 每轮活动处理完,用
done <PR>判收敛,exit 20 时 stdout 说明还缺哪条。
结束汇报:处理评论数、ACCEPT / REJECT / REPLY / ESCALATE / SKIPPED 各计数、已收束线程数、
commit 列表、CI 状态(照抄 checks 三态字符串,不要写"检查通过")、剩余未解决线程(逐条注明为什么没收束)。
合法的不收敛(一):单维护者仓库
GitHub 禁止 PR 作者 approve 自己的 PR。仓库只有一个维护者时 reviewDecision 永远到不了
APPROVED,默认谓词因此在机械上不可能收敛——这不是代码不好,是谓词把"有第二个人"当成了
必要条件(dogfood 2026-09-06,I-69:本仓库的 review 阶段只能靠 waiver 记账收场)。
这种仓库用 SELF_REVIEW=1 / done <PR> --solo 换一组更严的替代条件(缺一不可):
| 条件 | 为什么它比 APPROVED 严 |
|---|---|
无 CHANGES_REQUESTED |
与原谓词同 |
| 未解决线程 = 0 ∧ 线程列表未截断 | 与原谓词同 |
checks 非 red 非 unknown |
与原谓词同(none_configured 会被显式标注,见下) |
≥ 1 轮 selfreview 记录 |
APPROVED 不要求任何人真的读过 diff;这里要求一轮隔离上下文的对抗式预审留下机械记录 |
| 该轮 A 档存活 = 0 | approve 可以带着未处理的 A 档发生;这里不行 |
该轮记录的 head_sha == 当前 HEAD |
approve 不会因为你又推了提交而失效(除非仓库配了 dismiss);这里会:预审必须是对正在收敛的这份代码做的 |
selfreview 记录由脚本写进 counters(.self_review.rounds / last.a_tier / last.head_sha),
findings 文件来自 agents/pr-reviewer.md 的隔离预审(或 /pr --pre-review 的产出);A 档存活数取
文件里显式的 a_tier_survivors: N,没有就数 tier: A / severity: P0 的条目。
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 Changed 55e36105cfa8
- 1mo ago Changed ec2ebc1a0912
- 1mo ago Changed · +60 lines e113dbe17b86
- 1mo ago First seen · 218 lines · 291 tokens per session scan A cca97da2256f
review-loop is a skill published in the GitHub repository XRenSiu/claude-code-forge (2 stars, last pushed 1mo ago), licensed MIT. It adds 291 tokens to every session and 6,532 once invoked, about $0.0012 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-09-05.
Other skills, from other repositories
pr
Draft a PR body from OMC's paper trail — the smallest visual that proves the change, evidence consumed from the verify protocol (never re-collected), reversibility from the ADR test on the diff, glossary language throughout.
merge-batch
Prepare and merge an owner-selected PR batch with contributor credit and exact-candidate admission. Use for a pasted PR list; combined focused validation is diagnostic, and every actual landing still requires its applicable checks and authorization.
otto-pr-review-loop
Run Polly and OCR on a PR until all findings settle.
engram-branch-pr
PR creation workflow for Engram following the issue-first enforcement system. Trigger: When creating a pull request, opening a PR, or preparing changes for review.
github-contributor
A step-by-step guide for contributing code, tests, documentation, or build changes to open-source projects you do not maintain. It explains how to prepare a pull request that follows the project’s rules and is easier for maintainers to review.
revdiff
Review diffs, files, and documents with inline annotations in a TUI overlay, or answer questions about revdiff usage, configuration, themes, and keybindings. Opens revdiff in agterm/tmux/zellij/herdr/kitty/wezterm/cmux/ghostty/iterm2/emacs-vterm, captures annotations, and addresses them. Works in git, hg, and jj repos…