lightweight tier · open source · Apache 2.0 軽量ティア · オープンソース · Apache 2.0

A lightweight code review
that refuses to fake a PASS.
「偽の合格」を出さない、
軽量コードレビュー。

One pass, in the calling agent's own context — no sub-agent fan-out. It keeps token use low while preserving the review discipline that matters. 呼び出したエージェント自身のコンテキストで 1 パス監査。サブエージェントの fan-out なし。トークン消費を抑えながら、肝心のレビュー規律を保ちます。

For everyday "before I say done" checks. For release gates and high-risk changes, step up to the rigorous tier, review-audit-pro. 日常の「done と言う前」のチェックに。リリース判定や高リスク変更には、徹底ティア review-audit-pro へ。

Apache 2.0 · Claude Code skill · one pass · no sub-agents Apache 2.0 · Claude Code の skill · 1パス · サブエージェントなし

claude code — /review-audit
you > /review-audit the new payment retry path review-audit > one pass, my own context — auditing 6 axes, read-only correctness audited tests/test_retry.py:41 covers the backoff wiring HIGH retry_with_jitter() defined, never called — src/pay.py:88 security audited no secrets logged test efficacy audited pytest -q -> 14 passed, exit 0 spec audited regression audited build exit 0 VERDICT: FAIL 1 high (wiring). evidence attached, tree untouched. coverage: 6/6 audited · 0 not-audited
you > /review-audit 新しい支払いリトライ処理 review-audit > 自分のコンテキストで 1 パス — 6観点を read-only で監査 正しさ 監査済 tests/test_retry.py:41 がバックオフを検証 配線 HIGH retry_with_jitter() は定義のみ、未呼び出し — src/pay.py:88 セキュリティ 監査済 秘密のログ出力なし テスト実効性 監査済 pytest -q → 14 passed, exit 0 spec 準拠 監査済 回帰 監査済 build exit 0 判定: FAIL high 1件(配線)。根拠を添付、ツリーは無傷。 カバレッジ: 6/6 監査済 · 未監査 0

dualform矛盾をカタチに。contradiction, given form.

§ The problem § 課題

A plausible PASS that never really looked. それらしい合格が、実は何も見ていない。

Ask an AI to "review this" and you can get a plausible PASS that skipped axes, cited no evidence, and never ran the tests. review-audit is the everyday, lightweight check designed to stop a vibes-based PASS from being reported as audited. AI に「レビューして」と頼むと、それらしい合格が返ることがあります。実際は一部しか見ていない、根拠が無い、テストを走らせていない —— それでも「問題ありません」と言ってしまう。review-audit は、その「雰囲気の合格」を監査済として出さないように設計した、毎日使える軽量チェックです。

Moment場面 A typical "review this"ふつうの「レビューして」 With /review-audit/review-audit を使うと
Coverageカバレッジ silent gaps — you can't tell what was skipped黙った隙間 —— 何を飛ばしたか分からない every axis reports audited / partial / not-audited / n-a各観点が 監査済 / 部分 / 未監査 / 対象外 を報告
Evidence根拠 "looks fine" with nothing to check「大丈夫そう」、確かめる術なし commands, grep, file:line — or the axis isn't "audited"コマンド・grep・file:line —— なければ「監査済」にしない
Testsテスト assumed to pass, never run走らせず「通るはず」 actually run — only the exit code counts実際に実行 —— 証拠は exit code だけ
The tree作業ツリー may quietly edit while "reviewing"「レビュー中」に黙って書き換わる恐れ read-only — proven untouched by before/after checksumread-only —— 前後の checksum で無傷を証明

§ How it works § 仕組み

One pass, then an honest verdict. 1パスで監査し、正直に判定する。

The target is taken as a read-only snapshot. The calling agent audits the six axes itself in a single pass, re-checks each finding and drops the unprovable, then reports a coverage table and a verdict — PASS, FAIL, or INCOMPLETE. 対象は read-only スナップショットとして受け取ります。呼び出したエージェント自身が 6 観点を 1 パスで監査し、各 finding を再点検して証明できないものは外し、カバレッジ表と判定 —— PASS / FAIL / INCOMPLETE —— を出します。

The flow全体の流れ

§ The six axes § 6つの観点

Six axes, each reported honestly. 6つの観点を、それぞれ正直に。

01

Correctness / bugs正しさ / バグ

Logic errors and boundary conditions.ロジックの誤り・境界条件。correctness / bugs

02

Wiring (anti-Potemkin)配線(anti-Potemkin)

Built-but-never-called code, dead code.作ったが呼ばれない・dead code。wiring — built-but-never-called, dead code

03

Securityセキュリティ

Input, auth, and handling of secrets.入力・認証・秘密の扱い。security

04

Test efficacyテスト実効性

Whether the tests actually bite.テストが本当に効いているか。test efficacy

05

Spec compliancespec 準拠

Does it match the spec.仕様どおりか。spec compliance

06

Regression回帰

Actually run the tests / build.テスト/ビルドを実際に走らせる。regression — actually run tests/build

Every axis reports audited / partial / not-audited / n-a. An unexamined axis can never be part of a PASS. 各観点は「監査済 / 部分 / 未監査 / 対象外」を報告します。調べていない観点が PASS に混ざることはありません。

§ The discipline § 核となる規律

Four rules that make a fake PASS impossible. 偽の合格を不可能にする、4つの規律。

01

No false PASS偽の PASS なし

No false PASS

Only an axis you can ground in evidence — a command, a grep, a file:line — counts as "audited".根拠(コマンド・grep・file:line)を示せた観点だけ「監査済」とします。

02

Coverage honestyカバレッジの正直さ

Coverage honesty

"I didn't check this" is a first-class output, not a silent gap.「調べなかった」は黙った隙間ではなく、一級の出力です。

03

Read-only by designread-only 前提

Read-only always

It proposes fixes but does not apply them. A before/after checksum checks that target source files stayed unchanged.修正案は出しますが適用しません。前後の checksum で、対象ソースに変更がないことを確認します。

04

Evidence over vibes雰囲気より証拠

Evidence over vibes

Regression needs a real run with an exit code; wiring needs concrete grep or file:line evidence. "Looks fine" is not enough.回帰には実走コマンドと exit code、配線には grep や file:line の具体的な根拠が必要です。「大丈夫そう」では PASS にしません。

§ When to escalate § いつ pro へ上げるか

When one pass isn't enough, it escalates — not bloats. 1パスで足りない時は、肥大化させずエスカレーション。

review-audit is deliberately lightweight. When one pass isn't enough, it escalates rather than bloating itself, and tells you in its own output when to move to review-audit-pro — for release and publishing, high-risk or large-surface changes, or when you need per-run proof of detection power.

review-audit は意図的に軽量にしています。1 パスで足りない時は、自分を肥大化させるのではなく エスカレーション します。自分の出力の中で、いつ review-audit-pro(リリース/公開・高リスク・大規模・検出力の per-run 実証が要るとき)に上げるべきかを伝えます。

This tier carries no benchmark. One-pass detection is model-dependent and lighter than pro. If you need per-run proof of detection power or fresh-context adversarial verification, use pro.

このティアは ベンチマークを持ちません。1 パスの検出はモデル依存で、pro より軽い。検出力の per-run 実証や fresh-context の敵対検証が必要なら、pro を使ってください。

§ Install & use § インストール / 使い方

Clone, copy, run. clone して、置いて、呼ぶ。

The skill drops into Claude Code. Run /review-audit [target], or call it before you declare a non-trivial change "done". skill を Claude Code に置くだけ。/review-audit [対象] を実行、または non-trivial な変更を done と宣言する前に呼びます。

terminal
# Clone, then copy the skill into Claude Codeclone して、Claude Code の skills に置く
git clone https://github.com/dualform-labs/review-audit.git
cp -r review-audit/skills/review-audit ~/.claude/skills/

# Then, in Claude Code:あとは Claude Code で:
/review-audit [target]
Output language is set in skills/review-audit/config.yml (auto / ja / en). Code, commands, and file:line are kept in English. License: Apache-2.0. 出力言語は skills/review-audit/config.yml(auto / ja / en)で切替。コード・コマンド・file:line は英語で出します。ライセンス:Apache-2.0。