Help us improve
Share bugs, ideas, or general feedback.
From claudecode-research-harness-workflow
Reviews code, plans, and scope from multiple angles before acceptance, with security and quality checks. Auto-detects review targets or prompts for clarification.
npx claudepluginhub maxwell2732/claudecode-research-harness-workflow --plugin claudecode-research-harness-workflowHow this skill is triggered — by the user, by Claude, or both
Slash command
/claudecode-research-harness-workflow:harness-review [code|plan|scope|--quick|--codex-closeout|--dual|--team-debate|--security|--ui-rubric][code|plan|scope|--quick|--codex-closeout|--dual|--team-debate|--security|--ui-rubric]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Integrated Harness review skill.
Multi-angle review of code, plans, scope, and security before acceptance. Supports quick reviews, team debate, and Codex-assisted closeout.
Runs parallel reviews from 6 reviewers (security, UX/DX, external Codex/Gemini CLIs, domain experts) on code, plans, or requirements for quality gates. Invoke via /review --mode code/plan/clarify.
Multi-phase code review pipeline with mechanical checks, graph-scoped context, parallel review agents, cross-agent deduplication, and structured output. Use for completed work reviews.
Share bugs, ideas, or general feedback.
Integrated Harness review skill.
This SKILL.md is a thin dispatcher; read references/ for detailed quality criteria.
if $ARGUMENTS == "": → Interpret as "review of work done so far" and run Review target detection → Auto-start only when exactly one review target can be determined → When the review target is unclear or there are multiple candidates, use AskUserQuestion to present options and align understanding before starting
The last line of skill output must always include this literal:
↑Claude will summarize this result. Press Enter to continue, or enter a new prompt for a different instruction.
This is an explicit instruction for the UX problem where text displayed via <local-command-stdout> makes users feel it has "stopped" (patterns.md P35).
This skill's responsibility is review judgment only. Commit / push / release are not performed by default.
APPROVE.harness-work, or the harness-release Work Commit Gate.--commit-on-approve is designed.| Command | Mode | Purpose |
|---|---|---|
/harness-review | code | Auto-detect work done so far and review |
/harness-review --quick | quick | Quick closeout of a small dirty change |
/harness-review --codex-closeout | codex-closeout | Codex advice + focused tests closeout |
/harness-review --dual | dual | Claude + Codex second opinion |
/harness-review --team-debate | team-debate | Force TeamAgent Debate |
/harness-review --security | security | Security-only review |
/harness-review plan | plan | Review Plans.md plan |
/harness-review scope | scope | Scope creep / gap review |
Determine execution mode from arguments and selectively load required references/.
| Input | Mode | References to load |
|---|---|---|
No args / 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 |
full | full | references/code-review.md, references/team-debate.md, references/dual-review.md |
quick and codex-closeout are lightweight paths.
For quickly reviewing small dirty changes, single commits, or PR branch closeouts.
They do not discard quality gates.
REVIEW_AUTOSTART contract:
When called with no args ($ARGUMENTS == ""), interpret input of just review / /review / /harness-review as "review of work done so far."
Output only one handshake line before starting Step 1:
REVIEW_AUTOSTART: target={resolved_target}, base_ref={resolved_base_ref}, type={mode}
REVIEW_TARGET_ASK contract:
When the review target is unclear or there are multiple candidates on a bare call, use AskUserQuestion once before proceeding to Step 1 to narrow down to 2-3 candidates and confirm.
Build candidates in this order:
When multiple candidates are simultaneously valid:
REVIEW_TARGET_AMBIGUOUS: working_tree_and_branch_commits
AskUserQuestion candidates:
When clean tree and no branch diff:
REVIEW_TARGET_AMBIGUOUS: clean_tree_no_branch_commits
AskUserQuestion candidates:
After user answers:
REVIEW_TARGET_CONFIRMED: {choice}
REVIEW_AUTOSTART: target={resolved_target}, base_ref={resolved_base_ref}, type={mode}
Prohibited:
Plans.mdAPPROVE / REQUEST_CHANGES / decision_neededREQUEST_CHANGES: show fix policy for critical/major items and re-review conditions after fixingDetails in references/governance.md.
Only the minimum pass threshold is fixed here.
Return APPROVE only when all of the following are met:
spec_path) or explicit spec_skip_reasonPlans.md task / DoD / DependsAPPROVE but empty evidence is prohibited.minor / recommendation with reasoning.Details in references/team-debate.md.
TeamAgent Debate is a review pass that collides different views read-only.
| Agent | Primary question |
|---|---|
| Spec Agent | Find conflicts between spec source of truth and implementation diff |
| Plans Agent | Verify correspondence between Plans.md task / DoD / Depends and diff |
| Regression Agent | Find regressions in existing behavior, tests, distribution mirrors, CLI/skill UX |
| Skeptic Agent | Find major risks being overlooked under the assumption of wanting to pass |
Even when native TeamAgent is unavailable in Codex environments, this gate must not be skipped.
Reproduce the same 2-4 perspectives using codex-companion.sh review, available reviewer subagents, or an explicitly separated read-only manual-pass, and record team_agent_mode as native / codex-companion / manual-pass / unavailable.
Details in references/code-review.md.
Normal code review checks:
Spec source of truth alignment check is mandatory.
When spec_path exists, verify the diff does not conflict with the spec source of truth; when a spec is needed but absent, check the validity of spec_skip_reason.
Plans.md alignment check and regression alignment check are handled at the same gate.
AI Residuals: prioritize using scripts/review-ai-residuals.sh and scripts/review-weak-supervision-report.sh.
Use --include-untracked when checking untracked files as well.
mockData, dummy, fake, localhost, TODO, FIXME, it.skip, test.skip, expect(true).toBe(true) etc. are candidates; determine severity from diff context.
For TDD-required tasks, verify evidence of skip_tdd_reason, red-log, and focused tests.
Do not APPROVE without evidence.
Details in references/codex-closeout.md.
Lightweight path principles:
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
Details in references/plan-review.md.
Plan Review checks DoD / Depends / Status and implementation order in Plans.md.
When a task requires a spec source of truth but spec_path is missing, stop as decision_needed.
Details in references/scope-review.md.
Scope Review checks whether the boundary of requirements, diff, tests, and docs has expanded beyond scope.
When scope change is needed, do not proceed by guessing — return to AskUserQuestion or plan update.
references/security-profile.mdreferences/ui-rubric.mdreferences/vision-high-res-flow.mdreferences/dual-review.md/ultrareview is not called by default within Harness flow.
It does not replace the connection with Harness flow's review-result.v1, commit guard, and sprint-contract.
claude ultrareview [target] --json is treated only as a second-opinion from CI / scripts.
GitHub-first. Review facts on the PR host treat GitHub as authoritative; local diff is treated as supplementary evidence. Local uncommitted reviews are not pushed to GitHub.
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": []
}
```
Available tools differ in Codex environments.
Even so, the contracts for pass threshold, spec source of truth, Plans.md, regression, post-fix re-review, and AskUserQuestion / decision_needed.v1 are the same.
| Normal environment | Codex fallback |
|---|---|
| Task tool TeamAgent Debate | reviewer subagent / codex-companion.sh review / manual-pass |
| AskUserQuestion | When unavailable, output decision_needed.v1 to stdout; do not proceed by guessing |
| TaskList | Read Plans.md directly |
harness-work: Execute fixes after REQUEST_CHANGESharness-plan: Update plan / scope / specharness-release: Commit / release reviewed work