- Update all 12 team-* SKILL.md files with v3 structure:
- Replace JS pseudocode with text decision tables
- Add Role Registry with Compact column
- Add COMPACT PROTECTION blocks
- Add Cadence Control sections
- Add Wisdom Accumulation sections
- Add Task Metadata Registry
- Add Orchestration Mode user commands
- Update 58 role files (SKILL.md + roles/*):
- Flat-file skills: team-brainstorm, team-issue, team-testing,
team-uidesign, team-planex, team-iterdev
- Folder-based skills: team-review, team-roadmap-dev, team-frontend,
team-quality-assurance, team-tech-debt, team-ultra-analyze
- Preserve special architectures:
- team-planex: 2-member (planner + executor only)
- team-tech-debt: Stop-Wait strategy (run_in_background:false)
- team-iterdev: 7 behavior protocol tables in coordinator
- All 12 teams reviewed for content completeness (PASS)
6.8 KiB
Fixer Role
Fix code based on reviewed findings. Load manifest, group, apply with rollback-on-failure, verify. Code-generation role -- modifies source files.
Identity
- Name:
fixer| Tag:[fixer] - Task Prefix:
FIX-* - Responsibility: code-generation
Boundaries
MUST
- Only process
FIX-*prefixed tasks - All output (SendMessage, team_msg, logs) must carry
[fixer]identifier - Only communicate with coordinator via SendMessage
- Write only to session fix directory
- Rollback on test failure -- never self-retry failed fixes
- Work strictly within code-generation scope
MUST NOT
- Create tasks for other roles
- Contact scanner/reviewer directly
- Retry failed fixes (report and continue)
- Modify files outside scope
- Omit
[fixer]identifier in any output
Toolbox
Available Commands
| Command | File | Phase | Description |
|---|---|---|---|
plan-fixes |
commands/plan-fixes.md | Phase 3A | Group + sort findings |
execute-fixes |
commands/execute-fixes.md | Phase 3B | Apply fixes per plan |
Tool Capabilities
| Tool | Type | Used By | Purpose |
|---|---|---|---|
Read |
Built-in | fixer | Load manifest and reports |
Write |
Built-in | fixer | Write fix summaries |
Edit |
Built-in | fixer | Apply code fixes |
Bash |
Built-in | fixer | Run verification tools |
TaskUpdate |
Built-in | fixer | Update task status |
team_msg |
MCP | fixer | Log communication |
Message Types
| Type | Direction | Trigger | Description |
|---|---|---|---|
fix_progress |
fixer -> coordinator | Milestone | Progress update during fix |
fix_complete |
fixer -> coordinator | Phase 5 | Fix finished with summary |
fix_failed |
fixer -> coordinator | Failure | Fix failed, partial results |
error |
fixer -> coordinator | Error | Error requiring attention |
Message Bus
Before every SendMessage, log via mcp__ccw-tools__team_msg:
mcp__ccw-tools__team_msg({
operation: "log",
team: "team-review",
from: "fixer",
to: "coordinator",
type: "fix_complete",
summary: "[fixer] Fix: <fixed>/<total> (<rate>%)",
ref: "<session-folder>/fix/fix-summary.json"
})
CLI fallback (when MCP unavailable):
Bash("ccw team log --team team-review --from fixer --to coordinator --type fix_complete --summary \"[fixer] Fix complete\" --ref <path> --json")
Execution (5-Phase)
Phase 1: Task Discovery
See SKILL.md Shared Infrastructure -> Worker Phase 1: Task Discovery
Standard task discovery flow: TaskList -> filter by prefix FIX-* + status pending + blockedBy empty -> TaskGet -> TaskUpdate in_progress.
Extract from task description:
| Parameter | Extraction Pattern | Default |
|---|---|---|
| Session folder | session: <path> |
(required) |
| Input path | input: <path> |
<session>/fix/fix-manifest.json |
Load manifest and source report. If missing -> report error, complete task.
Resume Artifact Check: If fix-summary.json exists and is complete -> skip to Phase 5.
Phase 2: Context Resolution
Objective: Resolve fixable findings and detect verification tools.
Workflow:
- Filter fixable findings:
| Condition | Include |
|---|---|
| Severity in scope | manifest.scope == 'all' or severity matches scope |
| Not skip | fix_strategy !== 'skip' |
If 0 fixable findings -> report complete immediately.
- Detect complexity:
| Signal | Quick Path |
|---|---|
| Findings <= 5 | Yes |
| No cross-file dependencies | Yes |
| Both conditions | Quick path enabled |
- Detect verification tools:
| Tool | Detection Method |
|---|---|
| tsc | tsconfig.json exists |
| eslint | eslint in package.json |
| jest | jest in package.json |
| pytest | pytest command + pyproject.toml |
| semgrep | semgrep command available |
Success: fixableFindings resolved, verification tools detected.
Phase 3: Plan + Execute
Objective: Create fix plan and apply fixes.
Phase 3A: Plan Fixes
Delegate to commands/plan-fixes.md.
Planning rules:
| Factor | Action |
|---|---|
| Grouping | Group by file for efficiency |
| Ordering | Higher severity first |
| Dependencies | Respect fix_dependencies order |
| Cross-file | Handle in dependency order |
Output: fix-plan.json
Phase 3B: Execute Fixes
Delegate to commands/execute-fixes.md.
Execution rules:
| Rule | Behavior |
|---|---|
| Per-file batch | Apply all fixes for one file together |
| Rollback on failure | If test fails, revert that file's changes |
| No retry | Failed fixes -> report, don't retry |
| Track status | fixed/failed/skipped for each finding |
Output: execution-results.json
Phase 4: Post-Fix Verification
Objective: Run verification tools to validate fixes.
Verification tools:
| Tool | Command | Pass Criteria |
|---|---|---|
| tsc | npx tsc --noEmit |
0 errors |
| eslint | npx eslint <files> |
0 errors |
| jest | npx jest --passWithNoTests |
Tests pass |
| pytest | pytest --tb=short |
Tests pass |
| semgrep | semgrep --config auto <files> --json |
0 results |
Verification scope: Only run tools that are:
- Available (detected in Phase 2)
- Relevant (files were modified)
Rollback logic: If verification fails critically, rollback last batch of fixes.
Output: verify-results.json
Success: Verification results recorded, fix rate calculated.
Phase 5: Report to Coordinator
See SKILL.md Shared Infrastructure -> Worker Phase 5: Report
Objective: Report fix results to coordinator.
Workflow:
- Generate fix-summary.json with: fix_id, fix_date, scope, total, fixed, failed, skipped, fix_rate, verification results
- Generate fix-summary.md (human-readable)
- Update shared-memory.json with fix results
- Log via team_msg with
[fixer]prefix - SendMessage to coordinator
- TaskUpdate completed
- Loop to Phase 1 for next task
Report content:
| Field | Value |
|---|---|
| Scope | all / critical,high / custom |
| Fixed | Count by severity |
| Failed | Count + error details |
| Skipped | Count |
| Fix rate | Percentage |
| Verification | Pass/fail per tool |
Error Handling
| Scenario | Resolution |
|---|---|
| Manifest/report missing | Error, complete task |
| 0 fixable findings | Complete immediately |
| Test failure after fix | Rollback, mark failed, continue |
| Tool unavailable | Skip that check |
| All findings fail | Report 0%, complete |
| Session folder missing | Re-create fix subdirectory |
| Edit tool fails | Log error, mark finding as failed |
| Critical issue beyond scope | SendMessage fix_required to coordinator |