Claude-Code-Workflow team-arch-opt

Unified team skill for architecture optimization. Uses team-worker agent architecture with role directories for domain logic. Coordinator orchestrates pipeline, workers are team-worker agents. Triggers on "team arch-opt".

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/.codex/skills/team-arch-opt" ~/.claude/skills/catlog22-claude-code-workflow-team-arch-opt-8bc510 && rm -rf "$T"
manifest: .codex/skills/team-arch-opt/SKILL.md
source content

Team Architecture Optimization

Orchestrate multi-agent architecture optimization: analyze codebase -> design refactoring plan -> implement changes -> validate improvements -> review code quality.

Architecture

Skill(skill="team-arch-opt", 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       v       v
                 [analyzer][designer][refactorer][validator][reviewer]

Role Registry

RolePathPrefixInner Loop
coordinatorroles/coordinator/role.md
analyzerroles/analyzer/role.mdANALYZE-*false
designerroles/designer/role.mdDESIGN-*false
refactorerroles/refactorer/role.mdREFACTOR-, FIX-true
validatorroles/validator/role.mdVALIDATE-*false
reviewerroles/reviewer/role.mdREVIEW-, QUALITY-false

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

Delegation Lock

Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.

Before calling ANY tool, apply this check:

Tool CallVerdictReason
spawn_agent
,
wait_agent
,
close_agent
,
send_message
,
followup_task
ALLOWEDOrchestration
list_agents
ALLOWEDAgent health check
request_user_input
ALLOWEDUser interaction
mcp__ccw-tools__team_msg
ALLOWEDMessage bus
Read/Write
on
.workflow/.team/
files
ALLOWEDSession state
Read
on
roles/
,
commands/
,
specs/
ALLOWEDLoading own instructions
Read/Grep/Glob
on project source code
BLOCKEDDelegate to worker
Edit
on any file outside
.workflow/
BLOCKEDDelegate to worker
Bash("ccw cli ...")
BLOCKEDOnly workers call CLI
Bash
running build/test/lint commands
BLOCKEDDelegate to worker

If a tool call is BLOCKED: STOP. Create a task, spawn a worker.

No exceptions for "simple" tasks. Even a single-file read-and-report MUST go through spawn_agent.


Shared Constants

  • Session prefix:
    TAO
  • Session path:
    .workflow/.team/TAO-<date>-<slug>/
  • 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:

spawn_agent({
  agent_type: "team_worker",
  task_name: "<task-id>",
  fork_turns: "none",
  message: `## Role Assignment
role: <role>
role_spec: <skill_root>/roles/<role>/role.md
session: <session-folder>
session_id: <session-id>
requirement: <task-description>
inner_loop: <true|false>

Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.

## Task Context
task_id: <task-id>
title: <task-title>
description: <task-description>
pipeline_phase: <pipeline-phase>

## Upstream Context
<prev_context>`
})

After spawning, use

wait_agent({ timeout_ms: 1800000 })
to collect results. If
result.timed_out
, send STATUS_CHECK via followup_task (wait 3 min), then FINALIZE with interrupt (wait 3 min), then mark timed_out and close agents. Use
close_agent({ target: <name> })
each worker.

Inner Loop roles (refactorer): Set

inner_loop: true
. Single-task roles (analyzer, designer, validator, reviewer): Set
inner_loop: false
.

Model Selection Guide

Architecture optimization is reasoning-intensive. All analysis and design roles need high reasoning effort.

Rolereasoning_effortRationale
analyzerhighDeep structural analysis of codebase architecture
designerhighArchitecture redesign requires careful reasoning about tradeoffs
refactorerhighCode transformations must preserve correctness
validatorhighValidation must thoroughly check refactoring correctness
reviewerhighCode quality review demands deep understanding

Override in spawn_agent when needed:

spawn_agent({
  agent_type: "team_worker",
  task_name: "<task-id>",
  fork_turns: "none",
  reasoning_effort: "high",
  message: "..."
})

User Commands

CommandAction
check
/
status
View execution status graph (branch-grouped), no advancement
resume
/
continue
Check worker states, advance next step
revise <TASK-ID> [feedback]
Revise specific task + cascade downstream
feedback <text>
Analyze feedback impact, create targeted revision chain
recheck
Re-run quality check
improve [dimension]
Auto-improve weakest dimension

Session Directory

.workflow/.team/TAO-<date>-<slug>/
├── session.json                    # Session metadata + status + parallel_mode
├── task-analysis.json              # Coordinator analyze output
├── artifacts/
│   ├── architecture-baseline.json  # Analyzer: pre-refactoring metrics
│   ├── architecture-report.md      # Analyzer: ranked structural issue findings
│   ├── refactoring-plan.md         # Designer: prioritized refactoring plan
│   ├── validation-results.json     # Validator: post-refactoring validation
│   ├── review-report.md            # Reviewer: code review findings
│   ├── aggregate-results.json      # Fan-out/independent: aggregated results
│   ├── branches/                   # Fan-out mode branch artifacts
│   │   └── B{NN}/
│   │       ├── refactoring-detail.md
│   │       ├── validation-results.json
│   │       └── review-report.md
│   └── pipelines/                  # Independent mode pipeline artifacts
│       └── {P}/
│           └── ...
├── explorations/
│   ├── cache-index.json            # Shared explore cache
│   └── <hash>.md
├── wisdom/
│   └── patterns.md                 # Discovered patterns and conventions
├── discussions/
│   ├── DISCUSS-REFACTOR.md
│   └── DISCUSS-REVIEW.md
└── .msg/
    ├── messages.jsonl              # Message bus log
    └── meta.json                   # Session state + cross-role state

Specs Reference

v4 Agent Coordination

Message Semantics

IntentAPIExample
Queue supplementary info (don't interrupt)
send_message
Send codebase patterns to running analyzer
Assign new work / trigger processing
followup_task
Assign fix task to refactorer after review feedback
Check running agents
list_agents
Verify agent health during resume

Agent Health Check

Use

list_agents({})
in handleResume and handleComplete:

// Reconcile session state with actual running agents
const running = list_agents({})
// Compare with session.json active tasks
// Reset orphaned tasks (in_progress but agent gone) to pending

Named Agent Targeting

Workers are spawned with

task_name: "<task-id>"
enabling direct addressing:

  • send_message({ target: "ANALYZE-001", message: "..." })
    -- queue analysis context without interrupting
  • followup_task({ target: "REFACTOR-001", message: "..." })
    -- assign fix task after review feedback
  • close_agent({ target: "VALIDATE-001" })
    -- cleanup by name

Merged Exploration Pattern

For architecture analysis, analyzer may need broad codebase exploration. Consider spawning analyzer with

fork_turns: "all"
when deep structural analysis of interconnected modules is needed:

spawn_agent({
  agent_type: "team_worker",
  task_name: "ANALYZE-001",
  fork_turns: "all",   // Share coordinator's codebase context
  reasoning_effort: "high",
  message: "..."
})

Error Handling

ScenarioResolution
Unknown commandError with available command list
Role not foundError with role registry
CLI tool failsWorker fallback to direct implementation
Fast-advance conflictCoordinator reconciles on next callback
Completion action failsDefault to Keep Active
consensus_blocked HIGHCoordinator creates revision task or pauses pipeline
Branch fix cycle >= 3Escalate only that branch to user, others continue
max_branches exceededCoordinator truncates to top N at CP-2.5