skills/workflow-review-process/SKILL.md
--- name: workflow-review-process user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs), Bash(mkdir -p .workflows/.inbox) --- # Review Process Act as a **senior software architect** with deep experience in code review. You haven't seen this code before. Your job is to verify that every plan task was implemented correctly, tested adequately, and meets professional quality standard
npx skillsauth add leeovery/claude-technical-workflows workflow-review-processInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Act as a senior software architect with deep experience in code review. You haven't seen this code before. Your job is to verify that every plan task was implemented correctly, tested adequately, and meets professional quality standards — then assess the product holistically.
Follows implementation. Verify plan tasks were implemented, tested adequately, and meet quality standards — then assess the product holistically.
Follow these steps EXACTLY as written. Do not skip steps or combine them.
CRITICAL: This guidance is mandatory.
*_gate_mode: auto value in the manifest, set by the user's explicit a/auto choice at a prior gate.**STOP.** directives) — no courtesy check-ins, mid-loop summaries that end the turn, or unprescribed pauses between tasks/topics/phases.Context refresh (compaction) summarizes the conversation, losing procedural detail. When you detect a context refresh has occurred — the conversation feels abruptly shorter, you lack memory of recent steps, or a summary precedes this message — follow this recovery protocol:
.workflows/{work_unit}/review/{topic}/report.md with per-task report files alongside (report-{phase_id}-{task_id}.md). Synthesis staging files are at .workflows/{work_unit}/implementation/{topic}/review-tasks-c{N}.md. These are your source of truth for progress.git status and git log --oneline -10 to see recent commits. Commit messages follow a conventional pattern that reveals what was completed.Do not guess at progress or continue from memory. The files on disk and git history are authoritative — your recollection is not.
Output the next fenced block as a code block:
── Resume Detection ─────────────────────────────
Output the next fenced block as markdown (not a code block):
> Checking for an existing review. If one exists, you can
> continue reviewing unreviewed tasks or start fresh.
Check if a review file exists at .workflows/{work_unit}/review/{topic}/report.md.
→ Proceed to Step 1.
Gather coverage state. Read completed_tasks from the implementation manifest:
node .claude/skills/workflow-manifest/scripts/manifest.cjs get {work_unit}.implementation.{topic} completed_tasks
Check if reviewed_tasks exists in the review manifest:
node .claude/skills/workflow-manifest/scripts/manifest.cjs exists {work_unit}.review.{topic} reviewed_tasks
If true, read it:
node .claude/skills/workflow-manifest/scripts/manifest.cjs get {work_unit}.review.{topic} reviewed_tasks
Compare completed_tasks against reviewed_tasks. Let {C} = total completed, {R} = reviewed, {U} = unreviewed ({C} − {R}).
If reviewed_tasks exists and unreviewed tasks remain:
Output the next fenced block as a code block:
Found existing review for "{topic:(titlecase)}".
Review covered {R} of {C} tasks. {U} task(s) not yet reviewed.
Output the next fenced block as markdown (not a code block):
· · · · · · · · · · · ·
Continue or restart?
- **`c`/`continue`** — Review the {U} unreviewed tasks
- **`r`/`restart`** — Delete review, re-review all {C} tasks
· · · · · · · · · · · ·
STOP. Wait for user response.
Otherwise (all tasks reviewed, or no tracking data):
Output the next fenced block as a code block:
Found existing review for "{topic:(titlecase)}".
@if(reviewed_tasks exists) All {C} tasks have been reviewed. @endif
Output the next fenced block as markdown (not a code block):
· · · · · · · · · · · ·
Continue or restart?
- **`c`/`continue`** — Continue from current review state
- **`r`/`restart`** — Delete review, start fresh
· · · · · · · · · · · ·
STOP. Wait for user response.
continueIf unreviewed tasks exist:
Set unreviewed_tasks = [{list of unreviewed internal IDs}].
→ Proceed to Step 1.
If all tasks reviewed:
→ Proceed to Step 7.
Otherwise (no tracking data):
→ Proceed to Step 1.
restartreport-*.md) in the review directory (.workflows/{work_unit}/review/{topic}/)node .claude/skills/workflow-manifest/scripts/manifest.cjs exists {work_unit}.review.{topic} reviewed_tasks
If true:
node .claude/skills/workflow-manifest/scripts/manifest.cjs delete {work_unit}.review.{topic} reviewed_tasks
review({work_unit}): restart review→ Proceed to Step 1.
Output the next fenced block as a code block:
── Initialize Review ────────────────────────────
Output the next fenced block as markdown (not a code block):
> Registering the review phase in the manifest.
Check if review phase is registered in manifest:
node .claude/skills/workflow-manifest/scripts/manifest.cjs exists {work_unit}.review.{topic}
falsenode .claude/skills/workflow-manifest/scripts/manifest.cjs init-phase {work_unit}.review.{topic}
→ Proceed to Step 2.
→ Proceed to Step 2.
Output the next fenced block as a code block:
── Read Plans and Specifications ────────────────
Output the next fenced block as markdown (not a code block):
> Reading the plan and specification that the
> implementation was built from.
Load read-plans.md and follow its instructions as written.
→ Proceed to Step 3.
Output the next fenced block as a code block:
── Load Project Skills ──────────────────────────
Output the next fenced block as markdown (not a code block):
> Loading project-level skills that inform
> quality expectations.
Load load-project-skills.md and follow its instructions as written.
→ Proceed to Step 4.
Output the next fenced block as a code block:
── Knowledge Usage ──────────────────────────────
Output the next fenced block as markdown (not a code block):
> Loading the usage guide for the knowledge base. Review verifies
> against the current spec — that's in scope without the KB. The guide
> documents the narrow case where a cross-work-unit consistency check
> is warranted.
Load knowledge-usage.md and follow its instructions as written.
→ Proceed to Step 5.
Output the next fenced block as a code block:
── QA Verification ──────────────────────────────
Output the next fenced block as markdown (not a code block):
> Dispatching task verifier agents. Each task is
> independently verified against its acceptance criteria
> and the specification.
Load invoke-task-verifiers.md and follow its instructions as written.
Knowledge-base nudge — use only for cross-work-unit consistency checks ("does this mirror how similar decisions were made elsewhere?"). Consistency with the current spec is already in scope — no KB needed. See knowledge-usage.md.
→ Proceed to Step 6.
Output the next fenced block as a code block:
── Produce Review ───────────────────────────────
Output the next fenced block as markdown (not a code block):
> Synthesising agent findings into the review report.
> Aggregating per-task results into an overall assessment.
Load produce-review.md and follow its instructions as written.
→ Proceed to Step 7.
Output the next fenced block as a code block:
── Present Review ───────────────────────────────
Output the next fenced block as markdown (not a code block):
> Presenting the review findings. You'll see the
> verdict, summary, and detailed per-task results.
Load present-review.md and follow its instructions as written.
→ Proceed to Step 8.
Output the next fenced block as a code block:
── Compliance Self-Check ────────────────────────
Output the next fenced block as markdown (not a code block):
> Verifying the review follows workflow conventions.
Load compliance-check.md and follow its instructions as written.
→ Proceed to Step 9.
Output the next fenced block as a code block:
── Review Actions ───────────────────────────────
Output the next fenced block as markdown (not a code block):
> Deciding what to do with the findings. You can
> accept the review, request fixes, or ask questions.
Load review-actions-loop.md and follow its instructions as written.
tools
--- name: workflow-discovery user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-discovery/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs), Bash(git status), Bash(git add), Bash(git commit), Bash(cp), Bash(mkdir -p .workflows/), Bash(mv .workflows/.inbox/) --- # Discovery The universal first phase. Shape the work the user is bringing — confirm what kind of work it is,
tools
--- name: workflow-continue-quickfix user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-continue-quickfix/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs) --- Continue an in-progress quick-fix. Determines current phase and routes to the appropriate phase skill. > **⚠️ ZERO OUTPUT RULE**: Do not narrate your processing. Produce no output until a step or reference file
tools
--- name: workflow-continue-feature user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-continue-feature/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs) --- Continue an in-progress feature. Determines current phase and routes to the appropriate phase skill. > **⚠️ ZERO OUTPUT RULE**: Do not narrate your processing. Produce no output until a step or reference file expl
tools
--- name: workflow-continue-epic user-invocable: false allowed-tools: Bash(node .claude/skills/workflow-continue-epic/scripts/discovery.cjs), Bash(node .claude/skills/workflow-manifest/scripts/manifest.cjs), Bash(node .claude/skills/workflow-knowledge/scripts/knowledge.cjs), Bash(node .claude/skills/workflow-legacy-research-split/scripts/detect.cjs), Bash(node .claude/skills/workflow-discovery/scripts/discovery.cjs) --- Continue an in-progress epic. Shows full phase-by-phase state and routes to