with one click
harness-review
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.
Menu
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.
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.
Generic release automation for projects using Keep a Changelog + GitHub. Single confirmation gate then end-to-end automation: bump detection, CHANGELOG promotion, PR/main merge, tag, GitHub Release. Trigger: release, version bump, publish. Do NOT load for: implementation, review, planning, setup.
Generic release automation for projects using Keep a Changelog + GitHub. Single confirmation gate then end-to-end automation: bump detection, CHANGELOG promotion, PR/main merge, tag, GitHub Release. Trigger: release, version bump, publish. Do NOT load for: implementation, review, planning, setup.
HAR: Project init, tool setup, agent config, memory setup, skill mirror sync. Trigger: setup, init, new project, CI/Codex setup, harness-mem, mirror. Do NOT load for: implementation, review, release, planning.
HAR: Project init, tool setup, agent config, memory setup, skill mirror sync. Trigger: setup, init, new project, CI/Codex setup, harness-mem, mirror. Do NOT load for: implementation, review, release, planning.
Generate a Progress Tracker HTML for non-engineer vibecoders to glance at session progress (cc:WIP / cc:TODO / cc:å®äº counts, percentage, elapsed/estimated minutes, cost so far/estimate, drift alerts). Uses Plans.md as source of truth, renders a single-file HTML with auto-regeneration support. Use when user asks for progress overview, session status snapshot, dashboard, or says: progress tracker, é²æç¢ºèª, 鲿ããŒã, dashboard. Do NOT load for: actual implementation, code review, release work.
| name | harness-review |
| description | 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. |
| description-en | 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. |
| description-ja | HAR:ã³ãŒãã»ãã©ã³ã»ã¹ã³ãŒããå€è§çã«ã¬ãã¥ãŒãã»ãã¥ãªãã£ã»å質ãã§ãã¯ãã¬ãã¥ãŒããŠãã¬ãã¥ãŒãã³ãŒãã¬ãã¥ãŒããã©ã³ã¬ãã¥ãŒãã¹ã³ãŒãåæã§èµ·åãå®è£ ã»æ°æ©èœã»ãã°ä¿®æ£ã»ã»ããã¢ããã»ãªãªãŒã¹ã«ã¯äœ¿ããªãã |
| kind | workflow |
| purpose | Review code, plans, scope, and evidence before acceptance |
| trigger | review, ã¬ãã¥ãŒããŠ, code review, plan review, scope analysis |
| shape | evaluate |
| role | evaluator |
| pair | harness-work |
| owner | harness-core |
| since | 2026-05-05 |
| allowed-tools | ["Read","Grep","Glob","Bash","Task","Monitor","AskUserQuestion"] |
| argument-hint | [code|plan|scope|--quick|--codex-closeout|--dual|--team-debate|--security|--ui-rubric] |
| context | fork |
| effort | high |
| user-invocable | true |
Harness ã®çµ±åã¬ãã¥ãŒã¹ãã«ã
ãã® SKILL.md ã¯èã dispatcher ã§ããã詳现ãªåè³ªåºæºã¯ references/ ãèªãã
if $ARGUMENTS == "": â ãä»ãŸã§ã®äœæ¥ã®ã¬ãã¥ãŒããšè§£éããReview target detection ãå®è¡ãã â review target ã 1 ã€ã«ç¢ºå®ã§ããå Žåã ãèªåéå§ãã â review target ãäžæãŸãã¯è€æ°åè£ã®å Žå㯠AskUserQuestion ã§éžæè¢ãåºããèªèãæããŠããéå§ãã
skill çµè«æã® output ã® æåŸã® 1 è¡ã¯å¿
ã P35 footer ãå«ããfooter ã¯æ¬æ (user-facing prose) ãšåãèšèªã§åºåããïŒèšèªè§£æ±ºã¯æ¢åã®èšèªã«ãŒã«ã«åŸããfooter å¥çŽã¯èšèªãåå®çŸ©ããªãïŒããã㯠<local-command-stdout> çµç±ã®è¡šç€ºã§ user ããæ¢ãŸã£ãããšæãã UX åé¡ãžã®æç€ºç㪠instruction (patterns.md P35) ã§ãæå³ã¯èšèªã«äŸåããªããã literal ã¯èšèªããšã«åãæ¿ãã (#208):
âãã®çµæã¯ Claude ãèŠçŽããŸããEnter ããŒã§æ¬¡ãžé²ãããæ°èŠ prompt ã§å¥ã®æç€ºãåºããŠãã ãããâClaude will summarize this result. Press Enter to continue, or send a new prompt for a different instruction.ãã® 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 |
/harness-review --cursor | code+cursor-second-opinion | core review gates ã« cursor (composer-2.5-fast) second-opinion ãå ç® (read = leanãOpus reviewer å¿ é 䜵走) |
HARNESS_IMPL_BACKEND=cursor harness-review | code+cursor-second-opinion | default ON æã core review gates ã« cursor second-opinion ãèªåå ç®ãprimary verdict 㯠Opus/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"; fi
no-arg / code review ã§çµæã cursor ã®å Žå㯠--cursor ãšåã cursor-second-opinion ã远å ããããcore review gates (references/code-review.md, references/governance.md) ã¯å¿
ãå
ã«èªã¿ãCursor reference 㯠additive ã«ã ãæ±ããprimary verdict 㯠Opus/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 å€å®é¢ã¯å€ããªãã
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_commitsãclean tree ã〠branch å·®åããªãå Žå㯠REVIEW_TARGET_AMBIGUOUS: clean_tree_no_branch_commits ã 1 è¡åºåããŠãã AskUserQuestion ãåºãREVIEW_TARGET_CONFIRMED: {choice} ã«ç¶ã㊠REVIEW_AUTOSTART è¡ãåºåããreferences/code-review.md ã® Target Selection ç¯ã«åŸãçŠæ¢:
Plans.md ã確èªããAPPROVE / REQUEST_CHANGES / decision_needed ãè¿ãREQUEST_CHANGES ã®å Žå㯠critical / major ã®ä¿®æ£æ¹éãšä¿®æ£åŸåã¬ãã¥ãŒæ¡ä»¶ã瀺ã詳现㯠references/governance.mdã
ããã§ã¯æäœéã®åæ Œã©ã€ã³ã ãåºå®ããã
APPROVE ã¯æ¬¡ã®ãã¹ãŠãæºããæã ãè¿ãã
spec_path) ãŸãã¯æç€ºããã spec_skip_reason ãšççŸããªãPlans.md ã® task / DoD / Depends ãšççŸããªãAPPROVE ãªã®ã« evidence ã空ã®åºåã¯çŠæ¢minor / recommendation ãšããŠçç±ä»ãã§æ Œäžãæžã¿è©³çŽ°ã¯ 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 ã¯æ¬¡ãèŠãã
仿§æ£æ¬ alignment check ã¯å¿
é ã
spec_path ãããå Žåã¯å·®åã仿§æ£æ¬ãšççŸããªãã確èªãã仿§æ£æ¬ãå¿
èŠãªã®ã«ç¡ãå Žå㯠spec_skip_reason ã®åŠ¥åœæ§ãèŠãã
Plans.md alignment check ãšãã°ã¬ alignment check ãåã gate ã§æ±ãã
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 åç
§ïŒã
TDD ã required ã® task ã§ã¯ skip_tdd_reasonãred-logãfocused tests ã®èšŒè·¡ã確èªããã
蚌跡ãªãã§ APPROVE ããªãã
詳现㯠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 / release