HAR: Multi-angle code, plan, scope review. Security/quality check. Trigger: review, code review, plan review, scope analysis. Do NOT load for: implementation, new features, bugfix, setup, release.
Harness の統合レビュースキル。
この SKILL.md は薄い dispatcher であり、詳細な品質基準は references/ を読む。
if $ARGUMENTS == "": → 「今までの作業のレビュー」と解釈し、Review target detection を実行する → review target が 1 つに確定できる場合だけ自動開始する → review target が不明または複数候補の場合は AskUserQuestion で選択肢を出し、認識を揃えてから開始する
skill 結論時の output の 最後の 1 行は必ず次の literal を含める:
↑この結果は Claude が要約します。Enter キーで次へ進むか、新規 prompt で別の指示を出してください。
これは <local-command-stdout> 経由で text response として表示されると user が「止まった」と感じる UX 問題への明示的な instruction (patterns.md P35)。
この skill の責務は review 判定だけ。 commit / push / release は既定では行わない。
APPROVE でも自動 commit しないharness-work、または harness-release の Work Commit Gate に委譲する--commit-on-approve のような明示 opt-in が設計されるまで、この skill 単体の default side effect は禁止| Command | Mode | Purpose |
|---|---|---|
/harness-review | code | 今までの作業を自動検出して review |
/harness-review --quick | quick | 小さな dirty change を軽く closeout |
/harness-review --codex-closeout | codex-closeout | Codex 助言 + focused tests で closeout |
/harness-review --dual | dual | Claude + Codex second opinion |
--pre-review cursor | code+pre-review | fresh-context composer advisory pre-review before brain verdict(read-only) |
/harness-review --cursor | code+cursor-second-opinion | core review gates + cursor second-opinion(brain 一次レビュー必須) |
HARNESS_IMPL_BACKEND=cursor harness-review | code+cursor-second-opinion | default ON 時も core review gates に cursor second-opinion を自動加算。primary verdict は brain 固定 |
/harness-review --team-debate | team-debate | TeamAgent Debate を強制 |
/harness-review --security | security | security 専用 review |
/harness-review plan | plan | Plans.md の計画 review |
/harness-review scope | scope | scope creep / 漏れ review |
引数から実行 mode を決定し、必要な references/ を選択ロードする。
| 入力 | mode | 読む reference |
|---|---|---|
引数なし / code | code | references/code-review.md, references/governance.md |
--quick | quick | references/codex-closeout.md, references/code-review.md |
--codex-closeout | codex-closeout | references/codex-closeout.md |
--dual | dual | references/dual-review.md, references/team-debate.md |
--team-debate | team-debate | references/team-debate.md, references/governance.md |
--security | security | references/security-profile.md, references/governance.md |
--ui-rubric | ui-rubric | references/ui-rubric.md |
plan | plan | references/plan-review.md, references/governance.md |
scope | scope | references/scope-review.md, references/governance.md |
--cursor or resolver result cursor for no-arg / code review only | code+cursor-second-opinion | references/code-review.md, references/governance.md, references/cursor-review.md, references/dual-review.md |
full | full | references/code-review.md, references/team-debate.md, references/dual-review.md |
quick と codex-closeout は軽量 path。
小さな dirty change、single commit、PR branch の closeout を速く見る。
品質 gate を捨てるものではない。
mode 判定時、明示 mode words (plan, scope, full) と明示フラグを先に確定する。no-arg / code review の場合だけ helper root を解決して resolver を 1 回だけ実行し、resolver 不在時は claude とみなす。
HARNESS_PLUGIN_ROOT="${HARNESS_PLUGIN_ROOT:-${CLAUDE_PLUGIN_ROOT:-}}"; if [ -z "$HARNESS_PLUGIN_ROOT" ] && [ -n "${CLAUDE_SKILL_DIR:-}" ]; then probe="$(cd "${CLAUDE_SKILL_DIR}" && pwd)"; while [ "$probe" != "/" ] && [ ! -d "$probe/scripts" ]; do probe="$(cd "$probe/.." && pwd)"; done; [ -d "$probe/scripts" ] && HARNESS_PLUGIN_ROOT="$probe"; fi
if [ -x "${HARNESS_PLUGIN_ROOT:-}/scripts/resolve-impl-backend.sh" ]; then resolved_backend="$(bash "${HARNESS_PLUGIN_ROOT}/scripts/resolve-impl-backend.sh" --role reviewer)"; else resolved_backend="claude"; fino-arg / code review で結果が cursor の場合は --cursor と同じ cursor-second-opinion を追加するが、core review gates (references/code-review.md, references/governance.md) は必ず先に読み、Cursor reference は additive にだけ扱う。primary verdict は brain 側で維持し、cursor は dual_review.cursor_verdict の advisory に限る。plan / scope など明示 mode word は resolver result より優先し、cursor default によって plan/scope references も code/governance references も置き換えない。結果が claude / codex の場合は従来どおりで、review の primary 判定面は変えない。
--pre-review cursor)/harness-review --pre-review cursor は bash scripts/pre-review-cursor.sh [--base ref] で read-only fresh-context composer pre-review(model-routing.sh --host cursor --tier review → cursor-companion.sh task、--write / --workspace / --resume なし)を 1 回実行し、PRE_REVIEW_FINDINGS: を brain 一次レビュー入力へ添付。companion 失敗は PRE_REVIEW_SKIPPED + exit 0(fail-open)。verdict は brain のみ(self-review scope 契約)。
REVIEW_AUTOSTART 契約:
引数なし ($ARGUMENTS == "") で呼ばれた場合、review / /review / /harness-review だけの入力を「今までの作業のレビュー」と解釈する。
Step 1 開始前の handshake 行として次を 1 行だけ出力する。
REVIEW_AUTOSTART: target={resolved_target}, base_ref={resolved_base_ref}, type={mode}REVIEW_TARGET_ASK 契約:
bare 呼び出しで review target が不明または複数候補の場合、Step 1 に進む前に AskUserQuestion を 1 回だけ使い、候補を 2-3 個に絞って確認する。
候補は次の順で作る。
複数候補が同時に成立する場合:
REVIEW_TARGET_AMBIGUOUS: working_tree_and_branch_commitsAskUserQuestion の候補:
clean tree かつ branch 差分がない場合:
REVIEW_TARGET_AMBIGUOUS: clean_tree_no_branch_commitsAskUserQuestion の候補:
ユーザー回答後:
REVIEW_TARGET_CONFIRMED: {choice}
REVIEW_AUTOSTART: target={resolved_target}, base_ref={resolved_base_ref}, type={mode}禁止:
Plans.md を確認するAPPROVE / REQUEST_CHANGES / decision_needed を返すREQUEST_CHANGES の場合は critical / major の修正方針と修正後再レビュー条件を示す詳細は references/governance.md。
ここでは最低限の合格ラインだけ固定する。
APPROVE は次のすべてを満たす時だけ返す(詳細は references/governance.md)。
spec.md alignment(product contract と矛盾しない;仕様正本 alignment check 必須)Plans.md alignment(task / DoD / Depends、[lane:*]、stage gate が contract と一致)[tdd:required] は tdd_red_log / failing output / skip_tdd_reason)not_observed != absent — 証拠なしの「問題なし」「データなし」を APPROVE しない)APPROVE は commit / push / PR 作成命令ではない(read-only boundary)。
詳細は references/team-debate.md。
TeamAgent Debate は、異なる見解を read-only で衝突させる review pass。
| Agent | 主な問い |
|---|---|
| Spec Agent | 仕様正本と実装差分の矛盾を探す |
| Plans Agent | Plans.md の task / DoD / Depends と差分の対応を確認する |
| Regression Agent | 既存挙動・テスト・配布 mirror・CLI/skill UX のデグレを探す |
| Skeptic Agent | 合格させたい前提で見落としている major risk を探す |
Codex 環境で native TeamAgent が使えない場合でも、この gate を省略してはいけない。
codex-companion.sh review、利用可能な reviewer subagent、または明示的に分けた read-only manual-pass で同じ 2-4 視点を再現し、team_agent_mode に native / codex-companion / manual-pass / unavailable を記録する。
詳細は references/code-review.md。
通常 code review は次を見る。
root spec.md alignment、Plans lane/stage、TDD evidence、unknown data contract、evidence pack の詳細は references/governance.md と references/code-review.md。
AI Residuals は scripts/review-ai-residuals.sh と scripts/review-weak-supervision-report.sh を優先して使う。
untracked も見る場合は --include-untracked を使う。
mockData, dummy, fake, localhost, TODO, FIXME, it.skip, test.skip, expect(true).toBe(true) などは候補であり、diff 文脈で severity を決める。
finding 段階は網羅優先。minor と判定した指摘も observations[] / recommendations[] に残し、gate は verdict 段階だけで行う(Opus 4.8 は low-severity の報告を絞る癖がある。references/code-review.md の Finding coverage 参照)。
詳細は references/codex-closeout.md。
軽量 path の原則:
helper:
bash scripts/harness-review-closeout.sh --dry-run --uncommitted
bash scripts/harness-review-closeout.sh --base origin/main --parallel-tests --test "bash tests/test-harness-review-governance.sh"
bash scripts/harness-review-closeout.sh --commit HEAD詳細は references/plan-review.md。
Plan Review は Plans.md の DoD / Depends / Status と実装順序を見る。
仕様正本が必要なタスクで spec_path がない場合は、decision_needed として止める。
詳細は references/scope-review.md。
Scope Review は、要求・差分・テスト・docs の境界が膨らんでいないかを見る。
範囲変更が必要なら、推測で進めず AskUserQuestion または plan 更新に戻す。
references/security-profile.mdreferences/ui-rubric.mdreferences/vision-high-res-flow.mdreferences/dual-review.md/ultrareview は Harness flow 内では既定で呼ばない。
Harness flow の review-result.v1、commit guard、sprint-contract との接続を置き換えないため。
claude ultrareview [target] --json は CI / script からの second-opinion としてだけ扱う。
GitHub-first。 PR host 上の review 事実は GitHub を正とし、local diff は補助証拠として扱う。 ただし local uncommitted review は GitHub に push しない。
User-facing prose follows the explicit session or project language.
If no language is configured, use English. Use Japanese only when
i18n.language: ja, CLAUDE_CODE_HARNESS_LANG=ja, or an explicit session
instruction requests Japanese output.
Machine-readable values stay English.
Start with the result summary.
## Review Result
### {APPROVE | REQUEST_CHANGES | decision_needed} - {one-line conclusion}
Target: `{BASE_REF}..HEAD` or `{target}`
Verification: {commands run}
Strengths:
- ...
Findings:
- [severity] file:line - issue and evidence
Next Actions:
- ...
Details:
```json
{
"schema_version": "review-result.v1",
"verdict": "APPROVE | REQUEST_CHANGES",
"decision_needed": {
"required": false,
"ask_tool": "AskUserQuestion"
},
"accepted_findings": [],
"rejected_findings": [],
"acceptance_bar": {
"critical_major_zero": true,
"spec_alignment": "pass | fail | not_applicable",
"plans_alignment": "pass | fail | not_applicable",
"regression_safety": "pass | fail | not_applicable",
"verification_evidence": "pass | fail | not_applicable"
},
"team_debate": {
"required": false,
"mode": "native | codex-companion | manual-pass | unavailable",
"team_agent_mode": "native | codex-companion | manual-pass | unavailable",
"agents": [],
"disagreements": []
},
"critical_issues": [],
"major_issues": [],
"observations": [],
"recommendations": []
}
```Codex 環境では使える tool が異なるが、合格ライン、仕様正本、Plans.md、デグレ、修正後再レビュー、AskUserQuestion / decision_needed.v1 の契約は同じ。
| 通常環境 | Codex fallback |
|---|---|
| Task tool の TeamAgent Debate | reviewer subagent / codex-companion.sh review / manual-pass |
| AskUserQuestion | 使えない場合は decision_needed.v1 を stdout に出し、推測で進めない |
| TaskList | Plans.md を直接読む |
harness-work: REQUEST_CHANGES 後の修正実行harness-plan: plan / scope / spec の更新harness-release: review 済み work の commit / release7a4e845
Also appears in
since Jul 27, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.