Claude-Code-Workflow team-review

Unified team skill for code review. 3-role pipeline: scanner, reviewer, fixer. Triggers on team-review.

install
source · Clone the upstream repo
git clone https://github.com/catlog22/Claude-Code-Workflow
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/catlog22/Claude-Code-Workflow "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/team-review" ~/.claude/skills/catlog22-claude-code-workflow-team-review && rm -rf "$T"
manifest: .claude/skills/team-review/SKILL.md
source content

Team Review

Orchestrate multi-agent code review: scanner -> reviewer -> fixer. Toolchain + LLM scan, deep analysis with root cause enrichment, and automated fix with rollback-on-failure.

Architecture

Skill(skill="team-review", args="task description")
                    |
         SKILL.md (this file) = Router
                    |
     +--------------+--------------+
     |                             |
  no --role flag              --role <name>
     |                             |
  Coordinator                  Worker
  roles/coordinator/role.md    roles/<name>/role.md
     |
     +-- analyze -> dispatch -> spawn workers -> STOP
                                    |
                    +-------+-------+-------+
                    v       v       v
                [scan]  [review]  [fix]
                team-worker agents, each loads roles/<role>/role.md

Role Registry

RolePathPrefixInner Loop
coordinatorroles/coordinator/role.md
scannerroles/scanner/role.mdSCAN-*false
reviewerroles/reviewer/role.mdREV-*false
fixerroles/fixer/role.mdFIX-*true

Role Router

Parse

$ARGUMENTS
:

  • Has
    --role <name>
    -> Read
    roles/<name>/role.md
    , execute Phase 2-4
  • No
    --role
    ->
    @roles/coordinator/role.md
    , execute entry router

Shared Constants

  • Session prefix:
    RV
  • Session path:
    .workflow/.team/RV-<slug>-<date>/
  • Team name:
    review
  • CLI tools:
    ccw cli --mode analysis
    (read-only),
    ccw cli --mode write
    (modifications)
  • Message bus:
    mcp__ccw-tools__team_msg(session_id=<session-id>, ...)

Worker Spawn Template

Coordinator spawns workers using this template:

Agent({
  subagent_type: "team-worker",
  description: "Spawn <role> worker",
  team_name: "review",
  name: "<role>",
  run_in_background: true,
  prompt: `## Role Assignment
role: <role>
role_spec: <skill_root>/roles/<role>/role.md
session: <session-folder>
session_id: <session-id>
team_name: review
requirement: <task-description>
inner_loop: <true|false>

## Progress Milestones
session_id: <session-id>
Report progress via team_msg at natural phase boundaries (context loaded -> core work done -> verification).
Report blockers immediately via team_msg type="blocker".
Report completion via team_msg type="task_complete" after final SendMessage.

Read role_spec file (@<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.
Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).`
})

User Commands

CommandAction
check
/
status
View pipeline status graph
resume
/
continue
Advance to next step
--full
Enable scan + review + fix pipeline
--fix
Fix-only mode (skip scan/review)
-q
/
--quick
Quick scan only
--dimensions=sec,cor,prf,mnt
Custom dimensions
-y
/
--yes
Skip confirmations

Completion Action

When pipeline completes, coordinator presents:

AskUserQuestion({
  questions: [{
    question: "Review pipeline complete. What would you like to do?",
    header: "Completion",
    multiSelect: false,
    options: [
      { label: "Archive & Clean (Recommended)", description: "Archive session, clean up team" },
      { label: "Keep Active", description: "Keep session for follow-up work" },
      { label: "Export Results", description: "Export deliverables to target directory" }
    ]
  }]
})

Session Directory

.workflow/.team/RV-<slug>-<date>/
├── .msg/messages.jsonl     # Team message bus
├── .msg/meta.json          # Session state + cross-role state
├── wisdom/                 # Cross-task knowledge
├── scan/                   # Scanner output
├── review/                 # Reviewer output
└── fix/                    # Fixer output

Specs Reference

Error Handling

ScenarioResolution
Unknown --role valueError with available role list
Role not foundError with expected path (roles/<name>/role.md)
CLI tool failsWorker fallback to direct implementation
Scanner finds 0 findingsReport clean, skip review + fix
User declines fixDelete FIX tasks, complete with review-only results
Fast-advance conflictCoordinator reconciles on next callback
Completion action failsDefault to Keep Active