review-looplisted
Install: claude install-skill pkulijing/claude-code-global
对**当前工作树的改动**跑一轮自动 review 迭代,直到 clean 才放行提交。本 skill 是 review 机制的**单一真源** —— 宪法与 `/commit` 只留触发点与一句判据,细节都在这里。
## 为什么存在
写代码的 context 自带先入之见:同一个对话里自审,reviewer「知道」代码想干什么,最容易漏掉的恰是「实际写的和想的不一样」。本 skill 把「**独立 context** review → 修 → 验证 → 复审 → 迭代到干净」固化成 commit 前的自动环,全程无人在环。
三个病根决定了它的形状,每条都来自实际翻过的车:
- **无运行验证 → 基础功能被审废无人知**。reviewer 只读代码、不跑代码;若收敛只看「reviewer 说没问题」,某轮「外科手术式修复」把主流程改废了也没人发现。故运行验证是硬前置,**排在 reviewer 意见之前**。
- **无置信过滤 → 无限挑刺**。reviewer(尤其对规则类文档)的问题空间近乎无穷,任何编得出的 corner case 都算「可能出错」。故只认高置信、有证据的 correctness finding。
- **成本与 diff 规模脱钩 → 一次 review 烧光 session 预算**。故编队规格与 diff 复杂度挂钩,且永远在子 agent 里跑。
- **思考档跟着主会话继承 → 花深思考的钱,买注定被丢弃的东西**。主会话在 `xhigh` 时整个编队跟着 `xhigh` 跑(实测单轮 10–25 分钟、13–23 万 token),而真正阻断的 finding 全部来自**多角度独立 + 契约追踪 + 探针验证**,深想只额外产出一批被置信闸滤掉的钻牛角尖项 —— 延长推理甚至会让模型放弃原本正确的答案。故 **model 与思考档由 `agents/*.md` 钉死,不继承主会话**。
**收敛靠「运行验证 + 高置信过滤」,不是靠 reviewer 挑不出为止。**
**不依赖 CC 内置 `/code-review`**:新版 CC 给它加了 `disable-model-invocation`,任何模型上下文都调不动,且该 flag 随版本漂移、不可观测(同一台机器数周内从可用变为不可用)。主路径不能押在不可控的外部假设上,故 review 方法论由本 skill 自持(多角度并��� + 置信 rubric 正是其方法论的移植,rubric 与其官方实现对齐)。人工仍可自己手输 `/code-review`。
**已知局限(诚实声明)**:reviewer 与写这段 diff 的同为 Claude 模型家族,属**同模型自审**,对并发 / 多线程 / 难复现改动有已知盲区。硬实证:一处 grpc.aio 消费迁专用线程的重构,CC 自审只发现 2 个并发隐患,换独立模型(codex)又补出 3 个 P1,其中「优雅停不可达」CC 完全漏判。**本 skill 不自动引入跨模型第二意见**(判定链长、触发率近零、维护面外溢),需要时人工手动引入。独立的是 **context** 而非模型 —— 升重档只是缓解,不等于消除。
## 收敛判据(三要素并闸)
一轮收敛**当且仅当**三者同时成立。判据是「基础功能没坏 + 有没有高置信真会出错的问题」,不是 P 级数字、更不是「reviewer 还能不能再挑一个」。
| 闸 | 内容 | 备注 |
| --- | --- | --- |