| name | team-lifecycle-v4 |
| description | Full lifecycle team skill โ plan, develop, test, review in one coordinated session. Role-based architecture with coordinator-driven beat model. Triggers on "team lifecycle v4". |
| allowed-tools | TeamCreate(*), TeamDelete(*), SendMessage(*), TaskCreate(*), TaskUpdate(*), TaskList(*), TaskGet(*), Agent(*), AskUserQuestion(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*), mcp__ccw-tools__team_msg(*) |
Team Lifecycle v4
Orchestrate multi-agent software development: specification โ planning โ implementation โ testing โ review.
Architecture
Skill(skill="team-lifecycle-v4", args="task description")
|
SKILL.md (this file) = Router
|
+--------------+--------------+
| |
no --role flag --role <name>
| |
Coordinator Worker
roles/coordinator/role.md roles/<name>/role.md
|
+-- analyze โ dispatch โ spawn โ STOP
|
+--------+---+--------+
v v v
[team-worker] ... [team-supervisor]
per-task resident agent
lifecycle message-driven
(woken via SendMessage)
Role Registry
Role Router
Parse $ARGUMENTS:
- Has
--role <name> โ Read roles/<name>/role.md, execute Phase 2-4
- No
--role โ @roles/coordinator/role.md, execute entry router
Shared Constants
- Session prefix:
TLV4
- Session path:
.workflow/.team/TLV4-<slug>-<date>/
- CLI tools:
ccw cli --mode analysis (read-only), ccw cli --mode write (modifications)
- Message bus:
mcp__ccw-tools__team_msg(session_id=<session-id>, ...)
Worker Spawn Template
Coordinator spawns workers using this template:
Agent({
subagent_type: "team-worker",
description: "Spawn <role> worker",
team_name: <team-name>,
name: "<role>",
run_in_background: true,
prompt: `## Role Assignment
role: <role>
role_spec: <skill_root>/roles/<role>/role.md
session: <session-folder>
session_id: <session-id>
team_name: <team-name>
requirement: <task-description>
inner_loop: <true|false>
## Progress Milestones
session_id: <session-id>
Report progress via team_msg at natural phase boundaries (context loaded -> core work done -> verification).
Report blockers immediately via team_msg type="blocker".
Report completion via team_msg type="task_complete" after final SendMessage.
Read role_spec file (@<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.
Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).`
})
Supervisor Spawn Template
Supervisor is a resident agent (independent from team-worker). Spawned once during session init, woken via SendMessage for each CHECKPOINT task.
Spawn (Phase 2 โ once per session)
Agent({
subagent_type: "team-supervisor",
description: "Spawn resident supervisor",
team_name: <team-name>,
name: "supervisor",
run_in_background: true,
prompt: `## Role Assignment
role: supervisor
role_spec: <skill_root>/roles/supervisor/role.md
session: <session-folder>
session_id: <session-id>
team_name: <team-name>
requirement: <task-description>
## Progress Milestones
session_id: <session-id>
Report progress via team_msg at natural phase boundaries (context loaded -> core work done -> verification).
Report blockers immediately via team_msg type="blocker".
Report completion via team_msg type="task_complete" after final SendMessage.
Read role_spec file (@<skill_root>/roles/supervisor/role.md) to load checkpoint definitions.
Init: load baseline context, report ready, go idle.
Wake cycle: coordinator sends checkpoint requests via SendMessage.`
})
Wake (handleSpawnNext โ per CHECKPOINT task)
SendMessage({
type: "message",
recipient: "supervisor",
content: `## Checkpoint Request
task_id: <CHECKPOINT-NNN>
scope: [<upstream-task-ids>]
pipeline_progress: <done>/<total> tasks completed`,
summary: "Checkpoint request: <CHECKPOINT-NNN>"
})
Shutdown (handleComplete)
SendMessage({
type: "shutdown_request",
recipient: "supervisor",
content: "Pipeline complete, shutting down supervisor"
})
User Commands
| Command | Action |
|---|
check / status | View execution status graph |
resume / continue | Advance to next step |
revise <TASK-ID> [feedback] | Revise specific task |
feedback <text> | Inject feedback for revision |
recheck | Re-run quality check |
improve [dimension] | Auto-improve weakest dimension |
Completion Action
When pipeline completes, coordinator presents:
AskUserQuestion({
questions: [{
question: "Pipeline complete. What would you like to do?",
header: "Completion",
multiSelect: false,
options: [
{ label: "Archive & Clean (Recommended)", description: "Archive session, clean up team" },
{ label: "Keep Active", description: "Keep session for follow-up work" },
{ label: "Export Results", description: "Export deliverables to target directory" }
]
}]
})
Specs Reference
Session Directory
.workflow/.team/TLV4-<slug>-<date>/
โโโ team-session.json # Session state + role registry
โโโ spec/ # Spec phase outputs
โโโ plan/ # Implementation plan + TASK-*.json
โโโ artifacts/ # All deliverables
โโโ wisdom/ # Cross-task knowledge
โโโ explorations/ # Shared explore cache
โโโ discussions/ # Discuss round records
โโโ .msg/ # Team message bus
Error Handling
| Scenario | Resolution |
|---|
| Unknown command | Error with available command list |
| Role not found | Error with role registry |
| CLI tool fails | Worker fallback to direct implementation |
| Fast-advance conflict | Coordinator reconciles on next callback |
| Supervisor crash | Respawn with recovery: true, auto-rebuilds from existing reports |
| Supervisor not ready for CHECKPOINT | Spawn/respawn supervisor, wait for ready, then wake |
| Completion action fails | Default to Keep Active |