Help us improve
Share bugs, ideas, or general feedback.
From cwf
Conducts human-in-the-loop reviews of git branch diffs file-by-file in chunks with context, resumable state, agreement rounds, and rule propagation for targeted judgment.
npx claudepluginhub corca-ai/claude-plugins --plugin cwfHow this skill is triggered — by the user, by Claude, or both
Slash command
/cwf:hitlThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Insert deliberate human judgment into branch-diff review (`<base>...HEAD`) with resumable chunk state. Reviews file-by-file in meaningful chunks, pauses for user input each chunk, and persists state/rules so work can resume anytime.
Performs structured code reviews on git branches or PRs using tiered persona agents, confidence-gated findings, and a merge/dedup pipeline. Use before creating PRs or for feedback on changes.
Performs structured code reviews using tiered persona agents, confidence-gated findings, and merge/dedup pipeline on code changes or PRs before merging.
Reviews local changes, PRs/MRs, or branch diffs against project coding guidelines using 5-7 parallel review agents (bug detection, security/logic, guideline compliance, code simplification, test coverage, contract quality). High-signal findings only.
Share bugs, ideas, or general feedback.
Insert deliberate human judgment into branch-diff review (<base>...HEAD) with resumable chunk state. Reviews file-by-file in meaningful chunks, pauses for user input each chunk, and persists state/rules so work can resume anytime.
Every chunk review must be presented as: Primary Chunk + Related Context + Causal Lens. Do not present isolated chunks.
cwf:hitl [--base <branch>] [--scope docs|code|all]
cwf:hitl --resume
cwf:hitl --rule "<rule text>"
cwf:hitl --rules
cwf:hitl --state
cwf:hitl --close
Persist HITL runtime state under .cwf/projects/{session-dir}/hitl/ and keep cwf-state.yaml as pointer metadata only.
Canonical schema details (field contracts, status enums, and intent-resync state transitions) live in:
At minimum, keep these runtime artifacts:
.cwf/projects/{session-dir}/hitl/
hitl-scratchpad.md
state.yaml
rules.yaml
queue.json
fix-queue.yaml
events.log
--base winsmaindocs|code|all, default all).git diff --name-only <base>...HEAD.--resume, load from live.hitl.state_file pointer in cwf-state.yaml.
.cwf/projects/*/hitl/.live.dir (recommended) or a new session dir.cwf/projects/{session-dir}/hitl/ artifactscwf-state.yaml live.hitl.state_fileBefore chunk review starts, run one agreement round in the same cwf:hitl flow (no extra mode/flag):
hitl-scratchpad.md:
hitl-scratchpad.md again after edits:
Applied / In progressUpdated timestampWhen --resume is used, refresh the same scratchpad first (new agreements or changed priorities), then continue from cursor.
This gate prevents stale intent from leaking into the next chunk.
state.yaml using the contract in hitl-state-model.md, and append the trigger to events.log.intent_resync_required.true, run resync first:
hitl-scratchpad.md with the confirmed intent deltalast_intent_resync_at per state model contractblob_sha and set initial file status to pending.pending.context_refs per chunk and save to queue.json.
state.yaml, fix-queue.yaml, and events.log.If high-impact edits were applied during Phase 0.5, build/rebuild queue after those edits so chunk boundaries and blob hashes are fresh.
Before every chunk presentation, enforce Phase 0.75 gate (intent_resync_required must be false).
For each chunk, output exactly:
Primary Chunk ({file}:{start_line}-{end_line} and EOF 여부)Primary ExcerptRelated Context (at least 1 context excerpt with path/line anchors + relation)Causal Lens (symptom, likely root cause, guardrail/invariant)Review Focus (Line-Anchored) with at least 2 concrete pointsConsistency Check:
Root-Cause Discussion Prompt (1-2 concrete questions)Then pause and wait for user acknowledgement.
Before each pause, persist cursor/progress.
context_refs.adjacent_fallback.in_review while presenting it.fix-queue.yaml first (do not silently rewrite previously closed sections).stale.When user gives an improvement rule:
rules.yaml.docs or code, path globs, severity/priority).file/chunk + rationale) before continuing.All accepted rules are applied to remaining chunks in the same HITL session.
When a new rule affects already reviewed regions, add those targets to fix-queue.yaml and mark overlapping chunks stale only when an edit is actually applied.
On --resume:
state.yaml cursor.blob_sha with current file blob:
reviewed overlapping chunks as stalestale before untouched pending.On --close (or EOF completion):
completed (or closed_by_user).cwf-state.yaml pointer updated_at.files/chunks reviewed, rules applied, fix-queue pending/applied, stale re-reviewed count)..cwf/projects/{session-dir}/hitl/; store only pointers in cwf-state.yaml.in_review fixes can be immediate; reviewed fixes go to fix-queue unless the user requests immediate application.stale and trigger delta-review before close.fix-queue.yaml for actionable edits, hitl-scratchpad.md for agreements/rationale.hitl-scratchpad.md before continuing.Related Context.Primary Chunk + Related Context + Causal Lens.Root-Cause Discussion Prompt must focus on cause validation, not symptom restatement.Before, After, After Intent within the Primary Chunk section.
Before/After must include enough surrounding context for user judgment (for example, the full paragraph or subsection, not a single isolated sentence).intent_resync_required=true and append trigger to events.log).intent_resync_required=true, apply the Phase 0.75 block rule (no next chunk presentation).intent_resync_required only through the Phase 0.75 completion contract (hitl-scratchpad.md intent delta + last_intent_resync_at update).state.yaml, queue.json, fix-queue.yaml, and HITL pointer metadata