Prerequisites
Phase 2 completion required:
docs/phase-2-architecture/architecture.md must exist
refc/ directory with C reference model must exist
If prerequisites are missing: WARNING — recommend running /rtl-agent-team:p2-arch-design.
Proceed with available artifacts — orchestrator will adapt scope.
Execution
# Step 1: Team creation (main session = leader)
TeamCreate(team_name="p3-uarch", description="Phase 3 uArch: dual-stream uArch + BFM development")
# Step 2: Write team-config.json for hook consumption
Write(".rat/state/team-config.json", json.dumps({
"team_mode": true,
"team_name": "p3-uarch",
"leader_session_id": "<current_session_id>",
"coordinator_name": "coordinator",
"worker_count": 3,
"phase": "p3",
"created_at": "<ISO_TIMESTAMP>"
}))
# Step 3: Prepare directories
Bash("mkdir -p docs/phase-3-uarch reviews/phase-3-uarch .rat/scratch/phase-3")
# Step 4: Create initial task graph (T1 and T2 are independent — no dependencies)
TaskCreate(subject="T1: uArch Design",
description="Per-block micro-architecture design from architecture spec")
TaskCreate(subject="T2: BFM Development",
description="Bus Functional Model development from architecture spec")
# Step 5: Spawn coordinator as teammate (orchestrator)
Agent(team_name="p3-uarch", subagent_type="rtl-agent-team:p3-uarch-team-orchestrator",
name="coordinator", description="P3 uArch coordination",
prompt="You are the Phase 3 uArch coordinator in team 'p3-uarch'. "
"Manage the task graph using TaskCreate/TaskList/TaskUpdate. "
"Direct workers via SendMessage. "
"Initial tasks T1 (uarch) and T2 (BFM) already created by leader. "
"Create dynamic tasks (T3 BFM gate, T4-T10 review rounds), then perform Step 3.7/3.8 "
"iron artifact production (REQ-U-* from resolved OPEN-2-*) + open resolution + "
"zero-opens + ambiguity gate, then Step 3.9 compliance. "
"Signal leader ONLY after the Phase 3 Gate (Step 4) passes — including the "
"Step 3.9 compliance check, ADR generation, and the mandatory Codex cross-review. "
"User input: $ARGUMENTS")
# Step 6: Spawn workers as teammates (3 general-purpose)
Agent(team_name="p3-uarch", subagent_type="rtl-agent-team:uarch-designer",
name="uarch-worker", description="P3 uArch design and review",
prompt="You are a Phase 3 uArch worker in team 'p3-uarch'. "
"Coordinator: 'coordinator' (send results via SendMessage). "
"Phase artifacts: docs/phase-3-uarch/, reviews/phase-3-uarch/. "
"Specialty: per-block uArch design, timing review, algorithm consistency. "
"For specialist work, spawn: Task(subagent_type='rtl-agent-team:<specialist>', prompt='...'). "
"Examples: timing-advisor for timing review, vcodec-architecture-expert for domain. "
"Follow the Team Worker Protocol section of your agent definition. "
"Scratch dir: .rat/scratch/phase-3/ (for write-restricted outputs).")
Agent(team_name="p3-uarch", subagent_type="rtl-agent-team:bfm-dev",
name="bfm-worker", description="P3 BFM development",
prompt="You are a Phase 3 BFM worker in team 'p3-uarch'. "
"Coordinator: 'coordinator' (send results via SendMessage). "
"Phase artifacts: bfm/, docs/phase-3-uarch/. "
"Specialty: BFM development, BFM correctness review, I/O logging. "
"For specialist work, spawn: Task(subagent_type='rtl-agent-team:ref-model-dev', prompt='...'). "
"Follow the Team Worker Protocol section of your agent definition.")
Agent(team_name="p3-uarch", subagent_type="rtl-agent-team:rtl-architect",
name="review-worker", description="P3 review lead",
prompt="You are a Phase 3 review worker in team 'p3-uarch'. "
"Coordinator: 'coordinator' (send results via SendMessage). "
"Phase artifacts: reviews/phase-3-uarch/. "
"Specialty: feature preservation review, aggregation, final consolidation. "
"For specialist work, spawn: Task(subagent_type='rtl-agent-team:<specialist>', prompt='...'). "
"Follow the Team Worker Protocol section of your agent definition. "
"Scratch dir: .rat/scratch/phase-3/ (for write-restricted outputs).")
# Step 7: Leader wait — teardown is gated on the COORDINATOR SIGNAL, not on TaskList.
# "All tasks completed" is necessary but NOT sufficient: the coordinator's post-gate
# work (compliance check, ADR generation, phase summary, Codex cross-review) runs via
# direct Task() calls that never appear in the shared task graph.
while True:
if coordinator_signaled_phase_complete:
# SendMessage from 'coordinator' — sent only after the phase gate
# AND all post-gate mandatory steps pass (see coordinator prompt above)
break
tasks = TaskList()
if all(t.status == "completed" for t in tasks):
# Task graph drained but no coordinator signal yet → the coordinator is
# still running gate/post-gate steps. KEEP WAITING — do NOT TeamDelete.
pass
# Continue polling
# Step 8: Cleanup
TeamDelete()
Bash("rm -f .rat/state/team-config.json")
Bash("rm -rf .rat/scratch/phase-3/")
Workflow Notes
- Open Resolution: resolve all OPEN-2-* items from Phase 2
open-requirements.json
- Zero-Opens Invariant: no unresolved OPEN-* items may pass to Phase 4
- Exit gate includes
open-resolved, zero-remaining-opens, and ambiguity-pass
- Exit gate includes
compliance-pass (compliance-checker vs P1+P2 iron, orchestrator Step 3.9)
1---2name: rtl-p3-uarch-team3description: Phase 3 uArch with parallel team workers: dual-stream per-block uArch + BFM development. Use for 'uarch team', 'Phase 3 team', 'parallel uarch'.4---56<Purpose>7Execute Phase 3 uArch design pipeline using Claude Code native team infrastructure.8The skill (main session) handles team lifecycle: TeamCreate, coordinator + worker9spawning, task monitoring, and cleanup. The coordinator teammate manages task graphs10and directs workers via SendMessage.11</Purpose>1213<Use_When>14- Phase 2 architecture is complete and uArch design is needed15- User says "uarch team", "Phase 3 team", "parallel uarch"16- Have multiple modules requiring parallel uarch design17- Need maximum parallelism for dual-stream uArch + BFM development18</Use_When>1920<Do_Not_Use_When>21- Phase 2 architecture not complete (run p2-arch-design first)22- Single module only (use rtl-p3-uarch-design for simpler flow)23- Only need BFM (use bfm-develop)24</Do_Not_Use_When>2526## Prerequisites2728Phase 2 completion required:29- `docs/phase-2-architecture/architecture.md` must exist30- `refc/` directory with C reference model must exist3132If prerequisites are missing: WARNING — recommend running `/rtl-agent-team:p2-arch-design`.33Proceed with available artifacts — orchestrator will adapt scope.3435## Execution3637```python38# Step 1: Team creation (main session = leader)39TeamCreate(team_name="p3-uarch", description="Phase 3 uArch: dual-stream uArch + BFM development")4041# Step 2: Write team-config.json for hook consumption42Write(".rat/state/team-config.json", json.dumps({43 "team_mode": true,44 "team_name": "p3-uarch",45 "leader_session_id": "<current_session_id>",46 "coordinator_name": "coordinator",47 "worker_count": 3,48 "phase": "p3",49 "created_at": "<ISO_TIMESTAMP>"50}))5152# Step 3: Prepare directories53Bash("mkdir -p docs/phase-3-uarch reviews/phase-3-uarch .rat/scratch/phase-3")5455# Step 4: Create initial task graph (T1 and T2 are independent — no dependencies)56TaskCreate(subject="T1: uArch Design",57 description="Per-block micro-architecture design from architecture spec")58TaskCreate(subject="T2: BFM Development",59 description="Bus Functional Model development from architecture spec")6061# Step 5: Spawn coordinator as teammate (orchestrator)62Agent(team_name="p3-uarch", subagent_type="rtl-agent-team:p3-uarch-team-orchestrator",63 name="coordinator", description="P3 uArch coordination",64 prompt="You are the Phase 3 uArch coordinator in team 'p3-uarch'. "65 "Manage the task graph using TaskCreate/TaskList/TaskUpdate. "66 "Direct workers via SendMessage. "67 "Initial tasks T1 (uarch) and T2 (BFM) already created by leader. "68 "Create dynamic tasks (T3 BFM gate, T4-T10 review rounds), then perform Step 3.7/3.8 "69 "iron artifact production (REQ-U-* from resolved OPEN-2-*) + open resolution + "70 "zero-opens + ambiguity gate, then Step 3.9 compliance. "71 "Signal leader ONLY after the Phase 3 Gate (Step 4) passes — including the "72 "Step 3.9 compliance check, ADR generation, and the mandatory Codex cross-review. "73 "User input: $ARGUMENTS")7475# Step 6: Spawn workers as teammates (3 general-purpose)76Agent(team_name="p3-uarch", subagent_type="rtl-agent-team:uarch-designer",77 name="uarch-worker", description="P3 uArch design and review",78 prompt="You are a Phase 3 uArch worker in team 'p3-uarch'. "79 "Coordinator: 'coordinator' (send results via SendMessage). "80 "Phase artifacts: docs/phase-3-uarch/, reviews/phase-3-uarch/. "81 "Specialty: per-block uArch design, timing review, algorithm consistency. "82 "For specialist work, spawn: Task(subagent_type='rtl-agent-team:<specialist>', prompt='...'). "83 "Examples: timing-advisor for timing review, vcodec-architecture-expert for domain. "84 "Follow the Team Worker Protocol section of your agent definition. "85 "Scratch dir: .rat/scratch/phase-3/ (for write-restricted outputs).")86Agent(team_name="p3-uarch", subagent_type="rtl-agent-team:bfm-dev",87 name="bfm-worker", description="P3 BFM development",88 prompt="You are a Phase 3 BFM worker in team 'p3-uarch'. "89 "Coordinator: 'coordinator' (send results via SendMessage). "90 "Phase artifacts: bfm/, docs/phase-3-uarch/. "91 "Specialty: BFM development, BFM correctness review, I/O logging. "92 "For specialist work, spawn: Task(subagent_type='rtl-agent-team:ref-model-dev', prompt='...'). "93 "Follow the Team Worker Protocol section of your agent definition.")94Agent(team_name="p3-uarch", subagent_type="rtl-agent-team:rtl-architect",95 name="review-worker", description="P3 review lead",96 prompt="You are a Phase 3 review worker in team 'p3-uarch'. "97 "Coordinator: 'coordinator' (send results via SendMessage). "98 "Phase artifacts: reviews/phase-3-uarch/. "99 "Specialty: feature preservation review, aggregation, final consolidation. "100 "For specialist work, spawn: Task(subagent_type='rtl-agent-team:<specialist>', prompt='...'). "101 "Follow the Team Worker Protocol section of your agent definition. "102 "Scratch dir: .rat/scratch/phase-3/ (for write-restricted outputs).")103104# Step 7: Leader wait — teardown is gated on the COORDINATOR SIGNAL, not on TaskList.105# "All tasks completed" is necessary but NOT sufficient: the coordinator's post-gate106# work (compliance check, ADR generation, phase summary, Codex cross-review) runs via107# direct Task() calls that never appear in the shared task graph.108while True:109 if coordinator_signaled_phase_complete:110 # SendMessage from 'coordinator' — sent only after the phase gate111 # AND all post-gate mandatory steps pass (see coordinator prompt above)112 break113 tasks = TaskList()114 if all(t.status == "completed" for t in tasks):115 # Task graph drained but no coordinator signal yet → the coordinator is116 # still running gate/post-gate steps. KEEP WAITING — do NOT TeamDelete.117 pass118 # Continue polling119120# Step 8: Cleanup121TeamDelete()122Bash("rm -f .rat/state/team-config.json")123Bash("rm -rf .rat/scratch/phase-3/")124```125126## Workflow Notes127128- Open Resolution: resolve all OPEN-2-* items from Phase 2 `open-requirements.json`129- Zero-Opens Invariant: no unresolved OPEN-* items may pass to Phase 4130- Exit gate includes `open-resolved`, `zero-remaining-opens`, and `ambiguity-pass`131- Exit gate includes `compliance-pass` (compliance-checker vs P1+P2 iron, orchestrator Step 3.9)