team-lifecycle-v4

SkillDev tools

Full lifecycle team skill, plan, develop, test, review in one

Use team-lifecycle-v4 in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add team-lifecycle-v4 and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the team-lifecycle-v4 skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

team-lifecycle-v4Start free

What this skill tells your AI

The instructions your AI receives, as published by catlog22/maestro-flow in .codex/skills/team-lifecycle-v4/SKILL.md and read by Ahel’s review.

Agent timeout: spawn_agent 异步执行且无内置超时 — 除明确短任务外一律 spawn_agent 后立即 wait_agent({ timeout_ms: 3600000 })(上限 1 小时)阻塞等待,绝不依赖 30000 默认值;timed_out: true 且 Agent 未完成时再次 wait_agent 续等,不丢弃。批量场景使用 spawn_agents_on_csv({ max_runtime_seconds: 3600, ... })。

<required_reading> @~/.maestro/workflows/run-mode-lite.md </required_reading>

Team Lifecycle v4

Orchestrate multi-agent software development: specification → planning → implementation → testing → review.

Architecture

spawn_agent({ task_name: "team_lifecycle_v4", message: "Execute 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 send_message)

Role Registry

RolePathPrefixInner Loop
coordinatorroles/coordinator/role.md——
analystroles/analyst/role.mdRESEARCH-*false
writerroles/writer/role.mdDRAFT-*true
plannerroles/planner/role.mdPLAN-*true
executorroles/executor/role.mdIMPL-*true
testerroles/tester/role.mdTEST-*false
reviewerroles/reviewer/role.mdREVIEW-, QUALITY-, IMPROVE-*false
supervisorroles/supervisor/role.mdCHECKPOINT-*false

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: {run_dir}/work/team/
  • CLI tools: maestro delegate --mode analysis (read-only), maestro delegate --mode write (modifications)
  • Message bus: mcp__maestro__team_msg(session_id=<run-id>, ...)

Worker Spawn Template

Coordinator spawns workers using this template:

spawn_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: {run_dir}/work/team
session_id: <run-id>
team_name: <team-name>
requirement: <task-description>
inner_loop: <true|false>
run_dir: <run-dir from team-session.json run.run_dir>

## Progress Milestones
session_id: <run-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 send_message.

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 send_message for each CHECKPOINT task.

Spawn (Phase 2 — once per session)

spawn_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: {run_dir}/work/team
session_id: <run-id>
team_name: <team-name>
requirement: <task-description>
run_dir: <run-dir from team-session.json run.run_dir>

## Progress Milestones
session_id: <run-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 send_message.

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 send_message.`
})

Wake (handleSpawnNext — per CHECKPOINT task)

send_message({
  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)

send_message({
  type: "shutdown_request",
  recipient: "supervisor",
  content: "Pipeline complete, shutting down supervisor"
})

User Commands

CommandAction
check / statusView execution status graph
resume / continueAdvance to next step
revise <TASK-ID> [feedback]Revise specific task
feedback <text>Inject feedback for revision
recheckRe-run quality check
improve [dimension]Auto-improve weakest dimension

Completion Action

When pipeline completes, coordinator presents:

request_user_input({
  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

{run_dir}/
├── outputs/
│   ├── spec/                   # Spec phase outputs
│   └── plan/                   # Implementation plan + TASK-*.json
├── evidence/
│   └── discussions/            # Discuss round records
├── report.md                   # Human-readable synthesis + handoff
└── work/team/                  # Team coordination (non-artifact)
    ├── team-session.json       # Session state + role registry
    ├── wisdom/                 # Cross-task knowledge
    ├── explorations/           # Shared explore cache
    └── .msg/                   # Team message bus

Error Handling

ScenarioResolution
Unknown commandError with available command list
Role not foundError with role registry
CLI tool failsWorker fallback to direct implementation
Fast-advance conflictCoordinator reconciles on next callback
Supervisor crashRespawn with recovery: true, auto-rebuilds from existing reports
Supervisor not ready for CHECKPOINTSpawn/respawn supervisor, wait for ready, then wake
Completion action failsDefault to Keep Active

Signals

GitHub stars
560
Forks
68
Last commit
Sep 2026
Advanced
Item type
skill
Key
team-lifecycle-v4
Source
github.com/catlog22/maestro-flow