- name
- ccw
- description
- Intelligent coordinator — classify intent via structured extraction (action × object × style), map to skill chain, execute wave-by-wave via spawn_agents_on_csv. Barrier skills trigger coordinator-side artifact analysis between waves to dynamically assemble subsequent skill_call args. Each wave can be 1 or N parallel tasks.
- argument-hint
- "intent text" [-y] [-c|--continue] [--dry-run] [--chain <name>]
- allowed-tools
- spawn_agents_on_csv, Read, Write, Edit, Bash, Glob, Grep, AskUserQuestion
## Auto Mode
When `-y` or `--yes`: Skip clarification and confirmation prompts. Pass `-y` through to each step's skill invocation.
# CCW
## Usage
```bash
$ccw "implement user authentication with JWT"
$ccw -y "refactor the payment module"
$ccw --continue
$ccw --dry-run "add rate limiting to API endpoints"
$ccw --chain feature "add dark mode toggle"
```
**Flags**:
- `-y, --yes` — Auto mode: skip all prompts; propagate `-y` to each skill
- `--continue` — Resume latest paused session from last incomplete wave
- `--dry-run` — Display planned chain without executing
- `--chain <name>` — Force a specific chain (skips intent classification)
**Session state**: `.workflow/.ccw-coordinate/{session-id}/`
**Core Output**: `tasks.csv` (master) + `wave-{N}-results.csv` (per wave) + `context.md` (report)
---
## Overview
Wave-based pipeline coordinator. The coordinator loop builds one wave CSV at a time, calls `spawn_agents_on_csv`, then performs **coordinator-side artifact analysis** before assembling the next wave. Barrier skills produce artifacts (plan.json, analysis results, etc.) that the coordinator reads to dynamically resolve args for subsequent steps.
```
Intent → Structured Extract → Resolve Chain → [Wave Loop]:
(action×object×style) (chainMap)
┌─────────────────────────────────────────────────┐
│ 1. Identify next wave (1 or N parallel steps) │
│ 2. Build wave-{N}.csv with skill_call per row │
│ 3. spawn_agents_on_csv(wave-{N}.csv) │
│ 4. Read wave-{N}-results.csv │
│ 5. If barrier skill: analyze artifacts, │
│ update context for subsequent steps │
│ 6. Merge into master tasks.csv │
└─────────────────────────────────────────────────┘
→ Report
```
---
## Barrier Skills
Skills that produce artifacts requiring **coordinator-side analysis** before the next wave can be assembled. After a barrier skill completes, the coordinator reads its output and updates the execution context.
| Skill | Artifacts to Read | Context Updates |
|-------|------------------|-----------------|
| `analyze-with-file` | `.workflow/.analysis/ANL-*/conclusions.json` | `analysis_dir`, `gaps`, `phase` |
| `brainstorm-with-file` | `.workflow/.brainstorm/*/` | `brainstorm_dir`, `features` |
| `workflow-plan` | `.workflow/active/WFS-*/workflow-session.json` | `plan_dir`, `task_count` |
| `workflow-lite-planex` | `.workflow/.lite-plan/*/plan.json` | `plan_dir`, `task_count` |
| `spec-generator` | `.workflow/.spec/*/` | `spec_session_id` |
| `roadmap-with-file` | `.workflow/.roadmap/*/roadmap.md` | `roadmap_dir` |
| `workflow-tdd-plan` | `.workflow/.tdd-plan/*/` | `tdd_plan_dir` |
| `issue-discover` | `.workflow/.issues/*/` | `issue_dir`, `issue_count` |
| `debug-with-file` | `.workflow/.debug/*/` | `debug_dir`, `findings` |
**Non-barrier skills** (can be grouped into multi-task waves): `workflow-execute`, `workflow-test-fix-cycle`, `review-cycle`, `clean`, `investigate`, `security-audit`, `ship`, `parallel-dev-cycle`, `brainstorm`, all `team-*` skills
---
## Phase 1: Structured Intent Extraction
Extract a structured intent tuple using LLM semantic understanding, then route deterministically via an action × object matrix.
**Extract structured intent from user input:**
```json
{
"action": "<from action enum>",
"object": "<from object enum>",
"scope": "<module/file/area or null>",
"style": "<from style enum>",
"urgency": "<low | normal | high>"
}
```
**Action enum**:
| action | Semantic meaning |
|--------|-----------------|
| `create` | Build something new — feature, project, component, spec |
| `fix` | Repair something broken — fix bug, resolve error, patch |
| `analyze` | Understand deeply — analyze, investigate, discuss, explore concept |
| `plan` | Design approach — plan, break down, roadmap, decompose |
| `execute` | Implement planned work — execute, implement, develop |
| `explore` | Open-ended discovery — brainstorm, ideate, creative thinking |
| `debug` | Diagnose failures — debug, diagnose, troubleshoot |
| `test` | Run or create tests — test, generate test, TDD |
| `review` | Evaluate code quality — review, code review |
| `refactor` | Restructure code — refactor, clean up, tech debt |
| `convert` | Bridge between workflows — convert brainstorm to issue |
**Object enum**:
| object | Meaning |
|--------|---------|
| `feature` | New functionality or enhancement |
| `bug` | Defect, error, broken behavior |
| `issue` | Issue-tracker item for batch/structured management |
| `code` | Source code in general |
| `test` | Tests, test suite, test coverage |
| `spec` | Specification, PRD, product requirements |
| `doc` | Documentation |
| `ui` | User interface, design, component |
| `performance` | Performance characteristics |
| `security` | Security concerns |
| `architecture` | System architecture, design decisions |
| `project` | Entire project (greenfield) |
| `team` | Team-based execution |
**Style enum**:
| style | Meaning |
|-------|---------|
| `quick` | Fast, lightweight, minimal ceremony |
| `documented` | With file artifacts, discussion docs |
| `collaborative` | Multi-agent, multi-perspective |
| `structured` | Formal planning, spec-driven, phased |
| `iterative` | Cycle-based, self-iterating with reflection |
| `tdd` | Test-driven development |
| `default` | No specific style preference |
---
## Chain Map
Routing via `detectTaskType(intent)` → chain name → skill list.
### Task Type Detection (action × object × style matrix)
```javascript
function detectTaskType(intent) {
const { action, object, style, urgency } = intent;
// Urgency override
if (urgency === 'high' && (action === 'fix' || object === 'bug')) return 'bugfix-hotfix';
// Style-first routing
if (style === 'tdd') return 'tdd';
if (style === 'collaborative' && action === 'plan') return 'collaborative-plan';
if (style === 'collaborative' && action === 'analyze') return 'analyze-wave';
if (style === 'collaborative' && action !== 'plan') return 'multi-cli';
if (style === 'iterative' && object === 'test') return 'integration-test';
if (style === 'iterative' && action === 'refactor') return 'refactor';
// Action × Object matrix
const matrix = {
'create': { 'project': 'greenfield', 'feature': 'feature', 'spec': 'spec-driven', 'test': 'test-gen', 'doc': 'documentation', 'ui': 'ui-design', 'issue': 'issue-batch', '_default': 'feature' },
'fix': { 'bug': 'bugfix', 'test': 'test-fix', 'issue': 'issue-batch', 'code': 'bugfix', 'security': 'bugfix', '_default': 'bugfix' },
'analyze':{ 'architecture': 'analyze-file', 'code': 'analyze-file', 'bug': 'debug-file', 'security': 'security', '_default': 'analyze-file' },
'explore':{ 'feature': 'brainstorm', 'architecture': 'brainstorm', 'issue': 'issue-batch', '_default': 'exploration' },
'plan': { 'feature': 'feature', 'project': 'greenfield', 'issue': 'issue-transition', '_default': 'feature' },
'execute':{ 'issue': 'issue-transition', '_default': 'feature' },
'debug': { 'bug': style === 'documented' ? 'debug-file' : 'debug', '_default': style === 'documented' ? 'debug-file' : 'debug' },
'test': { 'test': 'test-fix', 'code': 'test-gen', 'feature': 'integration-test', '_default': 'test-gen' },
'review': { '_default': 'review' },
'refactor':{ '_default': 'refactor' },
'convert':{ 'issue': 'brainstorm-to-issue', '_default': 'issue-transition' },
};
// Special compound detections
if (action === 'plan' && style === 'structured' && /roadmap/.test(rawInput)) return 'roadmap';
if (/csv.?wave|wave.?pipeline|并行波|波次执行/.test(rawInput)) return 'analyze-wave';
if (object === 'team') return 'team-planex';
if (/ship|release|publish/.test(rawInput)) return 'ship';
const actionMap = matrix[action];
if (!actionMap) return 'feature';
return actionMap[object] || actionMap['_default'] || 'feature';
}
```
### Available Skills Inventory
Skills with `SKILL.md` (spawn_agents_on_csv native):
`analyze-with-file`, `brainstorm`, `brainstorm-with-file`, `clean`, `csv-wave-pipeline`, `debug-with-file`, `issue-discover`, `parallel-dev-cycle`, `project-documentation-workflow`, `review-cycle`, `roadmap-with-file`, `spec-generator`, `workflow-execute`, `workflow-lite-planex`, `workflow-plan`, `workflow-tdd-plan`, `workflow-test-fix-cycle`, `team-planex`, `team-coordinate`, `team-lifecycle-v4`, `team-issue`, `team-review`, `team-testing`, `team-quality-assurance`, `team-tech-debt`, `team-perf-opt`, `team-arch-opt`, `team-brainstorm`, `team-ultra-analyze`, `team-uidesign`, `team-ui-polish`, `team-ux-improve`, `team-visual-a11y`, `team-frontend`, `team-frontend-debug`, `team-interactive-craft`, `team-motion-design`, `team-roadmap-dev`
Skills with `orchestrator.md` (phase-based):
`investigate`, `security-audit`, `ship`, `memory-capture`
### Chain Definitions (task_type → skill sequence)
> All `$skill-name` references below correspond to actual `.codex/skills/{skill-name}/` directories.
> **[B]** = barrier skill (solo wave, coordinator analyzes artifacts after)
| task_type | Chain name | Steps (skills, in order) |
|-----------|-----------|--------------------------|
| `bugfix-hotfix` | `bugfix.hotfix` | $workflow-lite-planex `--hotfix` |
GitHubで見る