feat: migrate all codex team skills from spawn_agents_on_csv to spawn_agent + wait_agent architecture

- Delete 21 old team skill directories using CSV-wave pipeline pattern (~100+ files)
- Delete old team-lifecycle (v3) and team-planex-v2
- Create generic team-worker.toml and team-supervisor.toml (replacing tlv4-specific TOMLs)
- Convert 19 team skills from Claude Code format (Agent/SendMessage/TaskCreate)
  to Codex format (spawn_agent/wait_agent/tasks.json/request_user_input)
- Update team-lifecycle-v4 to use generic agent types (team_worker/team_supervisor)
- Convert all coordinator role files: dispatch.md, monitor.md, role.md
- Convert all worker role files: remove run_in_background, fix Bash syntax
- Convert all specs/pipelines.md references
- Final state: 20 team skills, 217 .md files, zero Claude Code API residuals

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
catlog22
2026-03-24 16:54:48 +08:00
parent 54283e5dbb
commit 1e560ab8e8
334 changed files with 28996 additions and 35516 deletions

View File

@@ -0,0 +1,72 @@
# Pipeline Definitions — team-brainstorm
## Available Pipelines
### Quick Pipeline (3 beats, strictly serial)
```
IDEA-001 → CHALLENGE-001 → SYNTH-001
[ideator] [challenger] [synthesizer]
```
### Deep Pipeline (6 beats, Generator-Critic loop)
```
IDEA-001 → CHALLENGE-001 → IDEA-002(fix) → CHALLENGE-002 → SYNTH-001 → EVAL-001
```
GC loop check: if critique.severity >= HIGH → create IDEA-fix → CHALLENGE-2 → SYNTH; else skip to SYNTH
### Full Pipeline (7 tasks, fan-out parallel ideation + GC)
```
[IDEA-001 + IDEA-002 + IDEA-003](parallel) → CHALLENGE-001(batch) → IDEA-004(fix) → SYNTH-001 → EVAL-001
```
## Task Metadata Registry
| Task ID | Role | Phase | Dependencies | Description |
|---------|------|-------|-------------|-------------|
| IDEA-001 | ideator | generate | (none) | Multi-angle idea generation |
| IDEA-002 | ideator | generate | (none) | Parallel angle (Full pipeline only) |
| IDEA-003 | ideator | generate | (none) | Parallel angle (Full pipeline only) |
| CHALLENGE-001 | challenger | challenge | IDEA-001 (or all IDEA-*) | Devil's advocate critique and feasibility challenge |
| IDEA-004 | ideator | gc-fix | CHALLENGE-001 | Revision based on critique (GC loop, if triggered) |
| CHALLENGE-002 | challenger | gc-fix | IDEA-004 | Re-critique of revised ideas (GC loop round 2) |
| SYNTH-001 | synthesizer | synthesize | last CHALLENGE-* | Cross-idea integration, theme extraction, conflict resolution |
| EVAL-001 | evaluator | evaluate | SYNTH-001 | Scoring, ranking, priority recommendation, final selection |
## Checkpoints
| Trigger | Location | Behavior |
|---------|----------|----------|
| Generator-Critic loop | After CHALLENGE-* | If severity >= HIGH → create IDEA-fix task; else proceed to SYNTH |
| GC loop limit | Max 2 rounds | Exceeds limit → force convergence to SYNTH |
| Pipeline stall | No ready + no running | Check missing tasks, report to user |
## Completion Conditions
| Mode | Completion Condition |
|------|---------------------|
| quick | All 3 tasks completed |
| deep | All 6 tasks (+ any skipped GC tasks) completed |
| full | All 7 tasks (+ any skipped GC tasks) completed |
## Shared State (meta.json)
| Role | State Key |
|------|-----------|
| ideator | `generated_ideas` |
| challenger | `critique_insights` |
| synthesizer | `synthesis_themes` |
| evaluator | `evaluation_scores` |
## Message Types
| Role | Types |
|------|-------|
| coordinator | `pipeline_selected`, `gc_loop_trigger`, `task_unblocked`, `error`, `shutdown` |
| ideator | `ideas_ready`, `ideas_revised`, `error` |
| challenger | `critique_ready`, `error` |
| synthesizer | `synthesis_ready`, `error` |
| evaluator | `evaluation_ready`, `error` |

View File

@@ -0,0 +1,86 @@
{
"team_name": "team-brainstorm",
"team_display_name": "Team Brainstorm",
"description": "Head brainstorming team with Generator-Critic loop, shared memory, and dynamic pipeline selection",
"version": "1.0.0",
"roles": {
"coordinator": {
"task_prefix": null,
"responsibility": "Topic clarification, complexity assessment, pipeline selection, convergence monitoring",
"message_types": ["pipeline_selected", "gc_loop_trigger", "task_unblocked", "error", "shutdown"]
},
"ideator": {
"task_prefix": "IDEA",
"responsibility": "Multi-angle idea generation, concept exploration, divergent thinking",
"message_types": ["ideas_ready", "ideas_revised", "error"]
},
"challenger": {
"task_prefix": "CHALLENGE",
"responsibility": "Devil's advocate, assumption challenging, feasibility questioning",
"message_types": ["critique_ready", "error"]
},
"synthesizer": {
"task_prefix": "SYNTH",
"responsibility": "Cross-idea integration, theme extraction, conflict resolution",
"message_types": ["synthesis_ready", "error"]
},
"evaluator": {
"task_prefix": "EVAL",
"responsibility": "Scoring and ranking, priority recommendation, final selection",
"message_types": ["evaluation_ready", "error"]
}
},
"pipelines": {
"quick": {
"description": "Simple topic: generate → challenge → synthesize",
"task_chain": ["IDEA-001", "CHALLENGE-001", "SYNTH-001"],
"gc_loops": 0
},
"deep": {
"description": "Complex topic with Generator-Critic loop (max 2 rounds)",
"task_chain": ["IDEA-001", "CHALLENGE-001", "IDEA-002", "CHALLENGE-002", "SYNTH-001", "EVAL-001"],
"gc_loops": 2
},
"full": {
"description": "Parallel fan-out ideation + Generator-Critic + evaluation",
"task_chain": ["IDEA-001", "IDEA-002", "IDEA-003", "CHALLENGE-001", "IDEA-004", "SYNTH-001", "EVAL-001"],
"gc_loops": 1,
"parallel_groups": [["IDEA-001", "IDEA-002", "IDEA-003"]]
}
},
"innovation_patterns": {
"generator_critic": {
"generator": "ideator",
"critic": "challenger",
"max_rounds": 2,
"convergence_trigger": "critique.severity < HIGH"
},
"shared_memory": {
"file": "shared-memory.json",
"fields": {
"ideator": "generated_ideas",
"challenger": "critique_insights",
"synthesizer": "synthesis_themes",
"evaluator": "evaluation_scores"
}
},
"dynamic_pipeline": {
"selector": "coordinator",
"criteria": "topic_complexity + scope + time_constraint"
}
},
"collaboration_patterns": ["CP-1", "CP-3", "CP-7"],
"session_dirs": {
"base": ".workflow/.team/BRS-{slug}-{YYYY-MM-DD}/",
"ideas": "ideas/",
"critiques": "critiques/",
"synthesis": "synthesis/",
"evaluation": "evaluation/",
"messages": ".workflow/.team-msg/{team-name}/"
}
}