mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-03-25 19:48:33 +08:00
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:
72
.codex/skills/team-brainstorm/specs/pipelines.md
Normal file
72
.codex/skills/team-brainstorm/specs/pipelines.md
Normal 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` |
|
||||
86
.codex/skills/team-brainstorm/specs/team-config.json
Normal file
86
.codex/skills/team-brainstorm/specs/team-config.json
Normal 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}/"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user