maestro-flow 0.4.8 → 0.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agy/agents/cli-explore-agent.md +186 -0
- package/.agy/agents/conceptual-planning-agent.md +244 -0
- package/.agy/agents/impeccable-agent.md +97 -0
- package/.agy/agents/team-supervisor.md +142 -0
- package/.agy/agents/team-worker.md +236 -0
- package/.agy/agents/ui-design-agent.md +286 -0
- package/.agy/agents/workflow-analyzer.md +114 -0
- package/.agy/agents/workflow-codebase-mapper.md +76 -0
- package/.agy/agents/workflow-collab-planner.md +142 -0
- package/.agy/agents/workflow-debugger.md +102 -0
- package/.agy/agents/workflow-executor.md +131 -0
- package/.agy/agents/workflow-external-researcher.md +86 -0
- package/.agy/agents/workflow-integration-checker.md +82 -0
- package/.agy/agents/workflow-nyquist-auditor.md +84 -0
- package/.agy/agents/workflow-phase-researcher.md +84 -0
- package/.agy/agents/workflow-plan-checker.md +89 -0
- package/.agy/agents/workflow-planner.md +194 -0
- package/.agy/agents/workflow-project-researcher.md +73 -0
- package/.agy/agents/workflow-research-synthesizer.md +70 -0
- package/.agy/agents/workflow-reviewer.md +81 -0
- package/.agy/agents/workflow-roadmapper.md +81 -0
- package/.agy/agents/workflow-verifier.md +119 -0
- package/.agy/skills/codify-to-knowhow/SKILL.md +172 -0
- package/.agy/skills/codify-to-knowhow/phases/01-load-manifest.md +101 -0
- package/.agy/skills/codify-to-knowhow/phases/02-generate-knowhow.md +97 -0
- package/.agy/skills/codify-to-knowhow/phases/03-generate-specs.md +92 -0
- package/.agy/skills/codify-to-knowhow/phases/04-index-verify.md +119 -0
- package/.agy/skills/learn-decompose/SKILL.md +118 -0
- package/.agy/skills/learn-follow/SKILL.md +129 -0
- package/.agy/skills/learn-investigate/SKILL.md +154 -0
- package/.agy/skills/learn-retro/SKILL.md +159 -0
- package/.agy/skills/learn-second-opinion/SKILL.md +124 -0
- package/.agy/skills/maestro/SKILL.md +221 -0
- package/.agy/skills/maestro-amend/SKILL.md +162 -0
- package/.agy/skills/maestro-analyze/SKILL.md +135 -0
- package/.agy/skills/maestro-brainstorm/SKILL.md +118 -0
- package/.agy/skills/maestro-collab/SKILL.md +174 -0
- package/.agy/skills/maestro-composer/SKILL.md +180 -0
- package/.agy/skills/maestro-execute/SKILL.md +133 -0
- package/.agy/skills/maestro-fork/SKILL.md +88 -0
- package/.agy/skills/maestro-guard/SKILL.md +101 -0
- package/.agy/skills/maestro-help/SKILL.md +267 -0
- package/.agy/skills/maestro-help/index/catalog.json +184 -0
- package/.agy/skills/maestro-help/phases/01-parse-intent.md +122 -0
- package/.agy/skills/maestro-help/phases/02-search-present.md +181 -0
- package/.agy/skills/maestro-help/phases/03-workflow-guide.md +186 -0
- package/.agy/skills/maestro-impeccable/SKILL.md +250 -0
- package/.agy/skills/maestro-init/SKILL.md +80 -0
- package/.agy/skills/maestro-learn/SKILL.md +142 -0
- package/.agy/skills/maestro-merge/SKILL.md +66 -0
- package/.agy/skills/maestro-milestone-audit/SKILL.md +70 -0
- package/.agy/skills/maestro-milestone-complete/SKILL.md +77 -0
- package/.agy/skills/maestro-milestone-release/SKILL.md +98 -0
- package/.agy/skills/maestro-overlay/SKILL.md +177 -0
- package/.agy/skills/maestro-plan/SKILL.md +172 -0
- package/.agy/skills/maestro-player/SKILL.md +176 -0
- package/.agy/skills/maestro-quick/SKILL.md +67 -0
- package/.agy/skills/maestro-ralph/SKILL.md +546 -0
- package/.agy/skills/maestro-ralph-execute/SKILL.md +255 -0
- package/.agy/skills/maestro-roadmap/SKILL.md +170 -0
- package/.agy/skills/maestro-tools-execute/SKILL.md +119 -0
- package/.agy/skills/maestro-tools-register/SKILL.md +159 -0
- package/.agy/skills/maestro-ui-codify/SKILL.md +81 -0
- package/.agy/skills/maestro-update/SKILL.md +175 -0
- package/.agy/skills/maestro-verify/SKILL.md +111 -0
- package/.agy/skills/manage-codebase-rebuild/SKILL.md +77 -0
- package/.agy/skills/manage-codebase-refresh/SKILL.md +59 -0
- package/.agy/skills/manage-harvest/SKILL.md +96 -0
- package/.agy/skills/manage-issue/SKILL.md +72 -0
- package/.agy/skills/manage-issue-discover/SKILL.md +83 -0
- package/.agy/skills/manage-knowhow/SKILL.md +76 -0
- package/.agy/skills/manage-knowhow-capture/SKILL.md +78 -0
- package/.agy/skills/manage-learn/SKILL.md +64 -0
- package/.agy/skills/manage-status/SKILL.md +51 -0
- package/.agy/skills/manage-wiki/SKILL.md +61 -0
- package/.agy/skills/quality-auto-test/SKILL.md +135 -0
- package/.agy/skills/quality-debug/SKILL.md +122 -0
- package/.agy/skills/quality-refactor/SKILL.md +69 -0
- package/.agy/skills/quality-retrospective/SKILL.md +79 -0
- package/.agy/skills/quality-review/SKILL.md +130 -0
- package/.agy/skills/quality-sync/SKILL.md +53 -0
- package/.agy/skills/quality-test/SKILL.md +119 -0
- package/.agy/skills/security-audit/SKILL.md +157 -0
- package/.agy/skills/skill-iter-tune/SKILL.md +381 -0
- package/.agy/skills/skill-iter-tune/phases/01-setup.md +144 -0
- package/.agy/skills/skill-iter-tune/phases/02-execute.md +292 -0
- package/.agy/skills/skill-iter-tune/phases/03-evaluate.md +312 -0
- package/.agy/skills/skill-iter-tune/phases/04-improve.md +198 -0
- package/.agy/skills/skill-iter-tune/phases/05-report.md +166 -0
- package/.agy/skills/skill-iter-tune/specs/evaluation-criteria.md +63 -0
- package/.agy/skills/skill-iter-tune/templates/eval-prompt.md +134 -0
- package/.agy/skills/skill-iter-tune/templates/execute-prompt.md +97 -0
- package/.agy/skills/spec-add/SKILL.md +67 -0
- package/.agy/skills/spec-load/SKILL.md +70 -0
- package/.agy/skills/spec-remove/SKILL.md +50 -0
- package/.agy/skills/spec-setup/SKILL.md +47 -0
- package/.agy/skills/team-coordinate/SKILL.md +267 -0
- package/.agy/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +247 -0
- package/.agy/skills/team-coordinate/roles/coordinator/commands/dispatch.md +131 -0
- package/.agy/skills/team-coordinate/roles/coordinator/commands/monitor.md +348 -0
- package/.agy/skills/team-coordinate/roles/coordinator/role.md +362 -0
- package/.agy/skills/team-coordinate/specs/knowledge-transfer.md +111 -0
- package/.agy/skills/team-coordinate/specs/pipelines.md +97 -0
- package/.agy/skills/team-coordinate/specs/quality-gates.md +112 -0
- package/.agy/skills/team-coordinate/specs/role-spec-template.md +198 -0
- package/.agy/skills/team-executor/SKILL.md +180 -0
- package/.agy/skills/team-executor/roles/executor/commands/monitor.md +235 -0
- package/.agy/skills/team-executor/roles/executor/role.md +171 -0
- package/.agy/skills/team-executor/specs/session-schema.md +264 -0
- package/.agy/skills/team-lifecycle-v4/SKILL.md +189 -0
- package/.agy/skills/team-lifecycle-v4/roles/analyst/role.md +92 -0
- package/.agy/skills/team-lifecycle-v4/roles/coordinator/commands/analyze.md +56 -0
- package/.agy/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +56 -0
- package/.agy/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +206 -0
- package/.agy/skills/team-lifecycle-v4/roles/coordinator/role.md +130 -0
- package/.agy/skills/team-lifecycle-v4/roles/executor/commands/fix.md +35 -0
- package/.agy/skills/team-lifecycle-v4/roles/executor/commands/implement.md +62 -0
- package/.agy/skills/team-lifecycle-v4/roles/executor/role.md +64 -0
- package/.agy/skills/team-lifecycle-v4/roles/planner/role.md +82 -0
- package/.agy/skills/team-lifecycle-v4/roles/reviewer/commands/review-code.md +34 -0
- package/.agy/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +44 -0
- package/.agy/skills/team-lifecycle-v4/roles/reviewer/role.md +65 -0
- package/.agy/skills/team-lifecycle-v4/roles/supervisor/role.md +188 -0
- package/.agy/skills/team-lifecycle-v4/roles/tester/role.md +84 -0
- package/.agy/skills/team-lifecycle-v4/roles/writer/role.md +92 -0
- package/.agy/skills/team-lifecycle-v4/specs/knowledge-transfer.md +114 -0
- package/.agy/skills/team-lifecycle-v4/specs/pipelines.md +140 -0
- package/.agy/skills/team-lifecycle-v4/specs/quality-gates.md +130 -0
- package/.agy/skills/team-lifecycle-v4/templates/architecture.md +254 -0
- package/.agy/skills/team-lifecycle-v4/templates/epics.md +196 -0
- package/.agy/skills/team-lifecycle-v4/templates/product-brief.md +133 -0
- package/.agy/skills/team-lifecycle-v4/templates/requirements.md +224 -0
- package/.agy/skills/team-quality-assurance/SKILL.md +148 -0
- package/.agy/skills/team-quality-assurance/roles/analyst/role.md +85 -0
- package/.agy/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -0
- package/.agy/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +111 -0
- package/.agy/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +235 -0
- package/.agy/skills/team-quality-assurance/roles/coordinator/role.md +143 -0
- package/.agy/skills/team-quality-assurance/roles/executor/role.md +62 -0
- package/.agy/skills/team-quality-assurance/roles/generator/role.md +65 -0
- package/.agy/skills/team-quality-assurance/roles/scout/role.md +72 -0
- package/.agy/skills/team-quality-assurance/roles/strategist/role.md +69 -0
- package/.agy/skills/team-quality-assurance/specs/pipelines.md +115 -0
- package/.agy/skills/team-quality-assurance/specs/team-config.json +131 -0
- package/.agy/skills/team-review/SKILL.md +149 -0
- package/.agy/skills/team-review/roles/coordinator/commands/analyze.md +71 -0
- package/.agy/skills/team-review/roles/coordinator/commands/dispatch.md +91 -0
- package/.agy/skills/team-review/roles/coordinator/commands/monitor.md +209 -0
- package/.agy/skills/team-review/roles/coordinator/role.md +132 -0
- package/.agy/skills/team-review/roles/fixer/role.md +74 -0
- package/.agy/skills/team-review/roles/reviewer/role.md +66 -0
- package/.agy/skills/team-review/roles/scanner/role.md +77 -0
- package/.agy/skills/team-review/specs/dimensions.md +82 -0
- package/.agy/skills/team-review/specs/finding-schema.json +82 -0
- package/.agy/skills/team-review/specs/pipelines.md +102 -0
- package/.agy/skills/team-review/specs/team-config.json +27 -0
- package/.agy/skills/team-tech-debt/SKILL.md +133 -0
- package/.agy/skills/team-tech-debt/roles/assessor/role.md +76 -0
- package/.agy/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -0
- package/.agy/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +156 -0
- package/.agy/skills/team-tech-debt/roles/coordinator/commands/monitor.md +198 -0
- package/.agy/skills/team-tech-debt/roles/coordinator/role.md +123 -0
- package/.agy/skills/team-tech-debt/roles/executor/role.md +76 -0
- package/.agy/skills/team-tech-debt/roles/planner/role.md +68 -0
- package/.agy/skills/team-tech-debt/roles/scanner/role.md +90 -0
- package/.agy/skills/team-tech-debt/roles/validator/role.md +78 -0
- package/.agy/skills/team-tech-debt/specs/pipelines.md +47 -0
- package/.agy/skills/team-tech-debt/specs/team-config.json +129 -0
- package/.agy/skills/team-testing/SKILL.md +144 -0
- package/.agy/skills/team-testing/roles/analyst/role.md +101 -0
- package/.agy/skills/team-testing/roles/coordinator/commands/analyze.md +70 -0
- package/.agy/skills/team-testing/roles/coordinator/commands/dispatch.md +108 -0
- package/.agy/skills/team-testing/roles/coordinator/commands/monitor.md +242 -0
- package/.agy/skills/team-testing/roles/coordinator/role.md +134 -0
- package/.agy/skills/team-testing/roles/executor/role.md +95 -0
- package/.agy/skills/team-testing/roles/generator/role.md +95 -0
- package/.agy/skills/team-testing/roles/strategist/role.md +81 -0
- package/.agy/skills/team-testing/specs/pipelines.md +101 -0
- package/.agy/skills/team-testing/specs/team-config.json +93 -0
- package/.agy/skills/wiki-connect/SKILL.md +64 -0
- package/.agy/skills/wiki-digest/SKILL.md +70 -0
- package/.agy/skills/workflow-skill-designer/SKILL.md +506 -0
- package/.agy/skills/workflow-skill-designer/phases/01-requirements-analysis.md +356 -0
- package/.agy/skills/workflow-skill-designer/phases/02-orchestrator-design.md +444 -0
- package/.agy/skills/workflow-skill-designer/phases/03-phase-design.md +458 -0
- package/.agy/skills/workflow-skill-designer/phases/04-validation.md +471 -0
- package/dashboard/dist/assets/{ArtifactsPage-CVh0Z2I2.js → ArtifactsPage-BLvAqQlQ.js} +1 -1
- package/dashboard/dist/assets/{ChatInput-CBI3qHQQ.js → ChatInput-DU9YGZKX.js} +1 -1
- package/dashboard/dist/assets/{ChatPage-BjJ9CYox.js → ChatPage-DYHfheXC.js} +1 -1
- package/dashboard/dist/assets/{CollabPage-CprGGO9y.js → CollabPage-CSlmvEa-.js} +1 -1
- package/dashboard/dist/assets/{ExecutionPanel-CClxD7cH.js → ExecutionPanel-RYWf0dYC.js} +1 -1
- package/dashboard/dist/assets/{KanbanPage-copqjdPg.js → KanbanPage-N55Iv0-X.js} +1 -1
- package/dashboard/dist/assets/{MaestroCoordinatePage-CioZjQ9N.js → MaestroCoordinatePage-BxwZ6yy5.js} +1 -1
- package/dashboard/dist/assets/{MarkdownRenderer-CtUhoxCT.js → MarkdownRenderer-ZGtOY7Ti.js} +1 -1
- package/dashboard/dist/assets/{McpPage-BcPPcJpr.js → McpPage-Im6s4pGR.js} +1 -1
- package/dashboard/dist/assets/{MeetingRoomPage-BgmAKxU-.js → MeetingRoomPage-CxHRn1xx.js} +1 -1
- package/dashboard/dist/assets/{OutputPanel-DgT3gMyp.js → OutputPanel-DaL8c1i5.js} +1 -1
- package/dashboard/dist/assets/{ProblemsPanel-BmG7rxoG.js → ProblemsPanel-BQTd5812.js} +1 -1
- package/dashboard/dist/assets/{RequirementBoardPage-k8YoeQ0r.js → RequirementBoardPage-22y9u1qh.js} +1 -1
- package/dashboard/dist/assets/{RequirementPage-Da2354px.js → RequirementPage-_mO743Xm.js} +1 -1
- package/dashboard/dist/assets/{RoomsPage-BtqDiYaU.js → RoomsPage-CExTbOGr.js} +1 -1
- package/dashboard/dist/assets/{SpecsPage-ByPVH_M3.js → SpecsPage-gr4KX51-.js} +1 -1
- package/dashboard/dist/assets/{TeamsPage-sFDLN30L.js → TeamsPage-BxEXLb5g.js} +1 -1
- package/dashboard/dist/assets/{TreeBrowser-oEx8YJXV.js → TreeBrowser-CVtPF5C9.js} +1 -1
- package/dashboard/dist/assets/{WorkflowPage-JrX7CVHh.js → WorkflowPage-BoN18Lhs.js} +1 -1
- package/dashboard/dist/assets/{arrow-left-DYvgSdIH.js → arrow-left-C5ROg97G.js} +1 -1
- package/dashboard/dist/assets/{check-jcgYBWVR.js → check-Bs8PM0tQ.js} +1 -1
- package/dashboard/dist/assets/{chevron-right-DvZ5sMOg.js → chevron-right-SmErd_1F.js} +1 -1
- package/dashboard/dist/assets/{circle-DYT-zoRZ.js → circle-CjpslL_D.js} +1 -1
- package/dashboard/dist/assets/{circle-alert-Bfbv3gt4.js → circle-alert-CuzAg2fd.js} +1 -1
- package/dashboard/dist/assets/{circle-check-D82WnpbI.js → circle-check-BIkDU5D5.js} +1 -1
- package/dashboard/dist/assets/{circle-check-big-CPVD1GKF.js → circle-check-big-CYctV8bK.js} +1 -1
- package/dashboard/dist/assets/{code-B3bKFGI4.js → code-DoB7rfxt.js} +1 -1
- package/dashboard/dist/assets/{columns-3-BeMAQCix.js → columns-3-Ch5KIyRa.js} +1 -1
- package/dashboard/dist/assets/{download-BCtpoWYB.js → download-DadtG2Nr.js} +1 -1
- package/dashboard/dist/assets/{folder-CTj6SNNu.js → folder-B8ODoZfb.js} +1 -1
- package/dashboard/dist/assets/{index-BxR_3IbJ.js → index-BL4h1OKY.js} +1 -1
- package/dashboard/dist/assets/{index-DpcPd-UG.js → index-DQIlX2w_.js} +4 -4
- package/dashboard/dist/assets/{index-CWBJLu42.js → index-DaFwSmVJ.js} +10 -10
- package/dashboard/dist/assets/{list-BMv8pIQn.js → list-CI-XIPZh.js} +1 -1
- package/dashboard/dist/assets/{loader-DdM4VOgF.js → loader-DpdMoQvh.js} +1 -1
- package/dashboard/dist/assets/{minus-D15s2E__.js → minus-BVbfXGrC.js} +1 -1
- package/dashboard/dist/assets/{pen-line-DO6o4xWz.js → pen-line-CR8GaHt-.js} +1 -1
- package/dashboard/dist/assets/{pencil-qGxg9jOe.js → pencil-I7GE0y29.js} +1 -1
- package/dashboard/dist/assets/{proxy-DOffTzwA.js → proxy-CcYyZZWI.js} +1 -1
- package/dashboard/dist/assets/{refresh-cw-C9UNdLCy.js → refresh-cw-BG9V_T4R.js} +1 -1
- package/dashboard/dist/assets/{rows-2-CifAA5SL.js → rows-2-DP6NjQFk.js} +1 -1
- package/dashboard/dist/assets/{search-pe7pU1YN.js → search-b78eLlw2.js} +1 -1
- package/dashboard/dist/assets/{shallow-r7YynQYA.js → shallow-CJEesgtu.js} +1 -1
- package/dashboard/dist/assets/{table-Bh772iIw.js → table-B_lk-a1d.js} +1 -1
- package/dashboard/dist/assets/{team-types-C_HqX2p2.js → team-types-Se7f9LfJ.js} +1 -1
- package/dashboard/dist/assets/{terminal-EpmtGBlw.js → terminal-DXx4tvzq.js} +1 -1
- package/dashboard/dist/assets/{trash-2-Xen46iNQ.js → trash-2-CVh9mnRj.js} +1 -1
- package/dashboard/dist/assets/{users-BLueDPxF.js → users-Da9zGME5.js} +1 -1
- package/dashboard/dist/assets/{zap-DsQCPF61.js → zap-C0zaC7gJ.js} +1 -1
- package/dashboard/dist/index.html +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js +4 -0
- package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/server/agents/agy-adapter.d.ts +39 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agy-adapter.js +423 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agy-adapter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.d.ts +6 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +109 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/dashboard/src/shared/constants.js +2 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +1 -1
- package/dist/shared/agent-types.d.ts +1 -1
- package/dist/shared/agent-types.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/src/agents/cli-agent-runner.js +3 -0
- package/dist/src/agents/cli-agent-runner.js.map +1 -1
- package/dist/src/commands/hooks.d.ts +64 -0
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +107 -0
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/install.d.ts.map +1 -1
- package/dist/src/commands/install.js +17 -3
- package/dist/src/commands/install.js.map +1 -1
- package/dist/src/commands/update.d.ts.map +1 -1
- package/dist/src/commands/update.js +53 -0
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/config/cli-tools-config.d.ts +19 -5
- package/dist/src/config/cli-tools-config.d.ts.map +1 -1
- package/dist/src/config/cli-tools-config.js +77 -32
- package/dist/src/config/cli-tools-config.js.map +1 -1
- package/dist/src/config/cli-tools-defaults.json +2 -1
- package/dist/src/core/component-defs.d.ts.map +1 -1
- package/dist/src/core/component-defs.js +53 -0
- package/dist/src/core/component-defs.js.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.js +5 -3
- package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/utils/update-notices.d.ts +62 -0
- package/dist/src/utils/update-notices.d.ts.map +1 -0
- package/dist/src/utils/update-notices.js +178 -0
- package/dist/src/utils/update-notices.js.map +1 -0
- package/package.json +84 -82
- package/shared/agent-types.ts +1 -1
- package/workflows/agy-instructions.md +124 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
# Executor Role
|
|
2
|
+
|
|
3
|
+
Orchestrate the team-executor workflow: session validation, state reconciliation, team-worker dispatch, progress monitoring, completion action. The sole built-in role -- all worker roles are loaded from session role-specs and spawned via team-worker agent.
|
|
4
|
+
|
|
5
|
+
## Identity
|
|
6
|
+
|
|
7
|
+
- **Name**: `executor` | **Tag**: `[executor]`
|
|
8
|
+
- **Responsibility**: Validate session -> Reconcile state -> Create team -> Dispatch team-worker agents -> Monitor progress -> Completion action -> Report results
|
|
9
|
+
|
|
10
|
+
## Boundaries
|
|
11
|
+
|
|
12
|
+
### MUST
|
|
13
|
+
- Validate session structure before any execution
|
|
14
|
+
- Reconcile session state with TaskList on startup
|
|
15
|
+
- Reset in_progress tasks to pending (interrupted tasks)
|
|
16
|
+
- Detect fast-advance orphans and reset to pending
|
|
17
|
+
- Spawn team-worker agents in background (NOT general-purpose)
|
|
18
|
+
- Monitor progress via worker callbacks and route messages
|
|
19
|
+
- Maintain session state persistence (team-session.json)
|
|
20
|
+
- Handle capability_gap reports with warning only (cannot generate role-specs)
|
|
21
|
+
- Execute completion action when pipeline finishes
|
|
22
|
+
|
|
23
|
+
### MUST NOT
|
|
24
|
+
- Execute task work directly (delegate to workers)
|
|
25
|
+
- Modify task output artifacts (workers own their deliverables)
|
|
26
|
+
- Call CLI tools or spawn utility members directly for implementation (code-developer, etc.)
|
|
27
|
+
- Generate new role-specs (use existing session role-specs only)
|
|
28
|
+
- Skip session validation
|
|
29
|
+
- Override consensus_blocked HIGH without user confirmation
|
|
30
|
+
- Spawn workers with `general-purpose` agent (MUST use `team-worker`)
|
|
31
|
+
|
|
32
|
+
> **Core principle**: executor is the orchestrator, not the executor. All actual work is delegated to session-defined worker roles via team-worker agents. Unlike team-coordinate coordinator, executor CANNOT generate new role-specs.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Entry Router
|
|
37
|
+
|
|
38
|
+
When executor is invoked, first detect the invocation type:
|
|
39
|
+
|
|
40
|
+
| Detection | Condition | Handler |
|
|
41
|
+
|-----------|-----------|---------|
|
|
42
|
+
| Worker callback | Message contains `[role-name]` from session roles | -> handleCallback |
|
|
43
|
+
| Status check | Arguments contain "check" or "status" | -> handleCheck |
|
|
44
|
+
| Manual resume | Arguments contain "resume" or "continue" | -> handleResume |
|
|
45
|
+
| Capability gap | Message contains "capability_gap" | -> handleAdapt |
|
|
46
|
+
| Pipeline complete | All tasks completed, no pending/in_progress | -> handleComplete |
|
|
47
|
+
| New execution | None of above | -> Phase 0 |
|
|
48
|
+
|
|
49
|
+
For callback/check/resume/adapt/complete: load `commands/monitor.md` and execute the appropriate handler, then STOP.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Phase 0: Session Validation + State Reconciliation
|
|
54
|
+
|
|
55
|
+
**Objective**: Validate session structure and reconcile session state with actual task status.
|
|
56
|
+
|
|
57
|
+
### Step 1: Session Validation
|
|
58
|
+
|
|
59
|
+
Validate session structure (see SKILL.md Session Validation):
|
|
60
|
+
- [ ] Directory exists at session path
|
|
61
|
+
- [ ] `team-session.json` exists and parses
|
|
62
|
+
- [ ] `task-analysis.json` exists and parses
|
|
63
|
+
- [ ] `role-specs/` directory has >= 1 .md files
|
|
64
|
+
- [ ] All roles in team-session.json#roles have corresponding role-spec .md files
|
|
65
|
+
- [ ] Role-spec files have valid YAML frontmatter + Phase 2-4 sections
|
|
66
|
+
|
|
67
|
+
If validation fails -> ERROR with specific reason -> STOP
|
|
68
|
+
|
|
69
|
+
### Step 2: Load Session State
|
|
70
|
+
|
|
71
|
+
Read team-session.json and task-analysis.json.
|
|
72
|
+
|
|
73
|
+
### Step 3: Reconcile with TaskList
|
|
74
|
+
|
|
75
|
+
Compare TaskList() with session.completed_tasks, bidirectional sync.
|
|
76
|
+
|
|
77
|
+
### Step 4: Reset Interrupted Tasks
|
|
78
|
+
|
|
79
|
+
Reset any in_progress tasks to pending.
|
|
80
|
+
|
|
81
|
+
### Step 5: Detect Fast-Advance Orphans
|
|
82
|
+
|
|
83
|
+
In_progress tasks without matching active_worker + created > 5 minutes -> reset to pending.
|
|
84
|
+
|
|
85
|
+
### Step 6: Create Missing Tasks (if needed)
|
|
86
|
+
|
|
87
|
+
For each task in task-analysis, check if exists in TaskList, create if missing.
|
|
88
|
+
|
|
89
|
+
### Step 7: Update Session File
|
|
90
|
+
|
|
91
|
+
Write reconciled team-session.json.
|
|
92
|
+
|
|
93
|
+
### Step 8: Team Setup
|
|
94
|
+
|
|
95
|
+
TeamCreate if team does not exist.
|
|
96
|
+
|
|
97
|
+
**Success**: Session validated, state reconciled, team ready -> Phase 1
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Phase 1: Spawn-and-Stop
|
|
102
|
+
|
|
103
|
+
**Objective**: Spawn first batch of ready workers as team-worker agents in background, then STOP.
|
|
104
|
+
|
|
105
|
+
**Workflow**:
|
|
106
|
+
1. Load `commands/monitor.md`
|
|
107
|
+
2. Find tasks with: status=pending, blockedBy all resolved, owner assigned
|
|
108
|
+
3. For each ready task -> spawn team-worker (see SKILL.md Executor Spawn Template)
|
|
109
|
+
4. Output status summary with execution graph
|
|
110
|
+
5. STOP
|
|
111
|
+
|
|
112
|
+
**Pipeline advancement** driven by three wake sources:
|
|
113
|
+
- Worker callback (automatic) -> Entry Router -> handleCallback
|
|
114
|
+
- User "check" -> handleCheck (status only)
|
|
115
|
+
- User "resume" -> handleResume (advance)
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Phase 2: Report + Completion Action
|
|
120
|
+
|
|
121
|
+
**Objective**: Completion report, interactive completion choice, and follow-up options.
|
|
122
|
+
|
|
123
|
+
**Workflow**:
|
|
124
|
+
1. Load session state -> count completed tasks, duration
|
|
125
|
+
2. List all deliverables with output paths in `<session>/artifacts/`
|
|
126
|
+
3. Include discussion summaries (if inline discuss was used)
|
|
127
|
+
4. Summarize wisdom accumulated during execution
|
|
128
|
+
5. Output report:
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
[executor] ============================================
|
|
132
|
+
[executor] TASK COMPLETE
|
|
133
|
+
[executor]
|
|
134
|
+
[executor] Deliverables:
|
|
135
|
+
[executor] - <artifact-1.md> (<producer role>)
|
|
136
|
+
[executor] - <artifact-2.md> (<producer role>)
|
|
137
|
+
[executor]
|
|
138
|
+
[executor] Pipeline: <completed>/<total> tasks
|
|
139
|
+
[executor] Roles: <role-list>
|
|
140
|
+
[executor] Duration: <elapsed>
|
|
141
|
+
[executor]
|
|
142
|
+
[executor] Session: <session-folder>
|
|
143
|
+
[executor] ============================================
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
6. **Execute Completion Action** (based on session.completion_action):
|
|
147
|
+
|
|
148
|
+
| Mode | Behavior |
|
|
149
|
+
|------|----------|
|
|
150
|
+
| `interactive` | ask_question with Archive/Keep/Export options |
|
|
151
|
+
| `auto_archive` | Execute Archive & Clean without prompt |
|
|
152
|
+
| `auto_keep` | Execute Keep Active without prompt |
|
|
153
|
+
|
|
154
|
+
**Interactive handler**: See SKILL.md Completion Action section.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Error Handling
|
|
159
|
+
|
|
160
|
+
| Error | Resolution |
|
|
161
|
+
|-------|------------|
|
|
162
|
+
| Session validation fails | ERROR with specific reason, suggest re-run team-coordinate |
|
|
163
|
+
| Task timeout | Log, mark failed, ask user to retry or skip |
|
|
164
|
+
| Worker crash | Respawn worker, reassign task |
|
|
165
|
+
| Session corruption | Attempt recovery, fallback to manual reconciliation |
|
|
166
|
+
| capability_gap reported | handleAdapt: WARN only, cannot generate new role-specs |
|
|
167
|
+
| All workers still running on resume | Report status, suggest check later |
|
|
168
|
+
| Pipeline stall (no ready, no running) | Check for missing tasks, report to user |
|
|
169
|
+
| Fast-advance conflict | Executor reconciles, no duplicate spawns |
|
|
170
|
+
| Role-spec file not found | ERROR, cannot proceed without role definition |
|
|
171
|
+
| Completion action fails | Default to Keep Active, log warning |
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
# Session Schema
|
|
2
|
+
|
|
3
|
+
Required session structure for team-executor v2. All components MUST exist for valid execution. Updated for role-spec architecture (lightweight Phase 2-4 files instead of full role.md files).
|
|
4
|
+
|
|
5
|
+
## Directory Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
<session-folder>/
|
|
9
|
+
+-- team-session.json # Session state + dynamic role registry (REQUIRED)
|
|
10
|
+
+-- task-analysis.json # Task analysis output: capabilities, dependency graph (REQUIRED)
|
|
11
|
+
+-- role-specs/ # Dynamic role-spec definitions (REQUIRED, >= 1 .md file)
|
|
12
|
+
| +-- <role-1>.md # Lightweight: YAML frontmatter + Phase 2-4 only
|
|
13
|
+
| +-- <role-2>.md
|
|
14
|
+
+-- artifacts/ # All MD deliverables from workers
|
|
15
|
+
| +-- <artifact>.md
|
|
16
|
+
+-- .msg/ # Team message bus + state
|
|
17
|
+
| +-- messages.jsonl # Message log
|
|
18
|
+
| +-- meta.json # Session metadata + cross-role state
|
|
19
|
+
+-- wisdom/ # Cross-task knowledge
|
|
20
|
+
| +-- learnings.md
|
|
21
|
+
| +-- decisions.md
|
|
22
|
+
| +-- issues.md
|
|
23
|
+
+-- explorations/ # Shared explore cache
|
|
24
|
+
| +-- cache-index.json
|
|
25
|
+
| +-- explore-<angle>.json
|
|
26
|
+
+-- discussions/ # Inline discuss records
|
|
27
|
+
| +-- <round>.md
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Validation Checklist
|
|
31
|
+
|
|
32
|
+
team-executor validates the following before execution:
|
|
33
|
+
|
|
34
|
+
### Required Components
|
|
35
|
+
|
|
36
|
+
| Component | Validation | Error Message |
|
|
37
|
+
|-----------|------------|---------------|
|
|
38
|
+
| `--session` argument | Must be provided | "Session required. Usage: --session=<path-to-TC-folder>" |
|
|
39
|
+
| Directory | Must exist at path | "Session directory not found: <path>" |
|
|
40
|
+
| `team-session.json` | Must exist, parse as JSON, and contain all required fields | "Invalid session: team-session.json missing, corrupt, or missing required fields" |
|
|
41
|
+
| `task-analysis.json` | Must exist, parse as JSON, and contain all required fields | "Invalid session: task-analysis.json missing, corrupt, or missing required fields" |
|
|
42
|
+
| `role-specs/` directory | Must exist and contain >= 1 .md file | "Invalid session: no role-spec files in role-specs/" |
|
|
43
|
+
| Role-spec file mapping | Each role in team-session.json#roles must have .md file | "Role-spec file not found: role-specs/<role>.md" |
|
|
44
|
+
| Role-spec structure | Each role-spec must have YAML frontmatter + Phase 2-4 sections | "Invalid role-spec: role-specs/<role>.md missing required section" |
|
|
45
|
+
|
|
46
|
+
### Validation Algorithm
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
1. Parse --session=<path> from arguments
|
|
50
|
+
+- Not provided -> ERROR: "Session required. Usage: --session=<path-to-TC-folder>"
|
|
51
|
+
|
|
52
|
+
2. Check directory exists
|
|
53
|
+
+- Not exists -> ERROR: "Session directory not found: <path>"
|
|
54
|
+
|
|
55
|
+
3. Check team-session.json
|
|
56
|
+
+- Not exists -> ERROR: "Invalid session: team-session.json missing"
|
|
57
|
+
+- Parse error -> ERROR: "Invalid session: team-session.json corrupt"
|
|
58
|
+
+- Validate required fields:
|
|
59
|
+
+- session_id (string) -> missing -> ERROR
|
|
60
|
+
+- task_description (string) -> missing -> ERROR
|
|
61
|
+
+- status (string: active|paused|completed) -> invalid -> ERROR
|
|
62
|
+
+- team_name (string) -> missing -> ERROR
|
|
63
|
+
+- roles (array, non-empty) -> missing/empty -> ERROR
|
|
64
|
+
|
|
65
|
+
4. Check task-analysis.json
|
|
66
|
+
+- Not exists -> ERROR: "Invalid session: task-analysis.json missing"
|
|
67
|
+
+- Parse error -> ERROR: "Invalid session: task-analysis.json corrupt"
|
|
68
|
+
+- Validate required fields:
|
|
69
|
+
+- capabilities (array) -> missing -> ERROR
|
|
70
|
+
+- dependency_graph (object) -> missing -> ERROR
|
|
71
|
+
+- roles (array, non-empty) -> missing/empty -> ERROR
|
|
72
|
+
|
|
73
|
+
5. Check role-specs/ directory
|
|
74
|
+
+- Not exists -> ERROR: "Invalid session: role-specs/ directory missing"
|
|
75
|
+
+- No .md files -> ERROR: "Invalid session: no role-spec files in role-specs/"
|
|
76
|
+
|
|
77
|
+
6. Check role-spec file mapping and structure
|
|
78
|
+
+- For each role in team-session.json#roles:
|
|
79
|
+
+- Check role-specs/<role.name>.md exists
|
|
80
|
+
+- Not exists -> ERROR: "Role-spec file not found: role-specs/<role.name>.md"
|
|
81
|
+
+- Validate role-spec structure (see Role-Spec Structure Validation)
|
|
82
|
+
|
|
83
|
+
7. All checks pass -> proceed to Phase 0
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## team-session.json Schema
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"session_id": "TC-<slug>-<date>",
|
|
93
|
+
"task_description": "<original user input>",
|
|
94
|
+
"status": "active | paused | completed",
|
|
95
|
+
"team_name": "<team-name>",
|
|
96
|
+
"roles": [
|
|
97
|
+
{
|
|
98
|
+
"name": "<role-name>",
|
|
99
|
+
"prefix": "<PREFIX>",
|
|
100
|
+
"responsibility_type": "<type>",
|
|
101
|
+
"inner_loop": false,
|
|
102
|
+
"role_spec": "role-specs/<role-name>.md"
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
"pipeline": {
|
|
106
|
+
"dependency_graph": {},
|
|
107
|
+
"tasks_total": 0,
|
|
108
|
+
"tasks_completed": 0
|
|
109
|
+
},
|
|
110
|
+
"active_workers": [],
|
|
111
|
+
"completed_tasks": [],
|
|
112
|
+
"completion_action": "interactive",
|
|
113
|
+
"created_at": "<timestamp>"
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Required Fields
|
|
118
|
+
|
|
119
|
+
| Field | Type | Description |
|
|
120
|
+
|-------|------|-------------|
|
|
121
|
+
| `session_id` | string | Unique session identifier |
|
|
122
|
+
| `task_description` | string | Original task description from user |
|
|
123
|
+
| `status` | string | One of: "active", "paused", "completed" |
|
|
124
|
+
| `team_name` | string | Team name for Agent tool |
|
|
125
|
+
| `roles` | array | List of role definitions |
|
|
126
|
+
| `roles[].name` | string | Role name (must match .md filename) |
|
|
127
|
+
| `roles[].prefix` | string | Task prefix for this role |
|
|
128
|
+
| `roles[].role_spec` | string | Relative path to role-spec file |
|
|
129
|
+
|
|
130
|
+
### Optional Fields
|
|
131
|
+
|
|
132
|
+
| Field | Type | Description |
|
|
133
|
+
|-------|------|-------------|
|
|
134
|
+
| `pipeline` | object | Pipeline metadata |
|
|
135
|
+
| `active_workers` | array | Currently running workers |
|
|
136
|
+
| `completed_tasks` | array | List of completed task IDs |
|
|
137
|
+
| `completion_action` | string | Completion mode: interactive, auto_archive, auto_keep |
|
|
138
|
+
| `created_at` | string | ISO timestamp |
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## task-analysis.json Schema
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"capabilities": [
|
|
147
|
+
{
|
|
148
|
+
"name": "<capability-name>",
|
|
149
|
+
"description": "<description>",
|
|
150
|
+
"artifact_type": "<type>"
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"dependency_graph": {
|
|
154
|
+
"<task-id>": {
|
|
155
|
+
"depends_on": ["<dependency-task-id>"],
|
|
156
|
+
"role": "<role-name>"
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"roles": [
|
|
160
|
+
{
|
|
161
|
+
"name": "<role-name>",
|
|
162
|
+
"prefix": "<PREFIX>",
|
|
163
|
+
"responsibility_type": "<type>",
|
|
164
|
+
"inner_loop": false,
|
|
165
|
+
"role_spec_metadata": {
|
|
166
|
+
"additional_members": [],
|
|
167
|
+
"message_types": {
|
|
168
|
+
"success": "<prefix>_complete",
|
|
169
|
+
"error": "error"
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
"complexity_score": 0
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Role-Spec File Schema
|
|
181
|
+
|
|
182
|
+
Each role-spec in `role-specs/<role-name>.md` follows the lightweight format with YAML frontmatter + Phase 2-4 body.
|
|
183
|
+
|
|
184
|
+
### Required Structure
|
|
185
|
+
|
|
186
|
+
```markdown
|
|
187
|
+
---
|
|
188
|
+
role: <name>
|
|
189
|
+
prefix: <PREFIX>
|
|
190
|
+
inner_loop: <true|false>
|
|
191
|
+
message_types:
|
|
192
|
+
success: <type>
|
|
193
|
+
error: error
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
# <Role Name> — Phase 2-4
|
|
197
|
+
|
|
198
|
+
## Phase 2: <Name>
|
|
199
|
+
<domain-specific context loading>
|
|
200
|
+
|
|
201
|
+
## Phase 3: <Name>
|
|
202
|
+
<domain-specific execution>
|
|
203
|
+
|
|
204
|
+
## Phase 4: <Name>
|
|
205
|
+
<domain-specific validation>
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### Role-Spec Structure Validation
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
For each role-spec in role-specs/<role>.md:
|
|
212
|
+
1. Read file content
|
|
213
|
+
2. Check for YAML frontmatter (content between --- markers)
|
|
214
|
+
+- Not found -> ERROR: "Invalid role-spec: role-specs/<role>.md missing frontmatter"
|
|
215
|
+
3. Parse frontmatter, check required fields:
|
|
216
|
+
+- role (string) -> missing -> ERROR
|
|
217
|
+
+- prefix (string) -> missing -> ERROR
|
|
218
|
+
+- inner_loop (boolean) -> missing -> ERROR
|
|
219
|
+
+- message_types (object) -> missing -> ERROR
|
|
220
|
+
4. Check for "## Phase 2" section
|
|
221
|
+
+- Not found -> ERROR: "Invalid role-spec: missing Phase 2"
|
|
222
|
+
5. Check for "## Phase 3" section
|
|
223
|
+
+- Not found -> ERROR: "Invalid role-spec: missing Phase 3"
|
|
224
|
+
6. Check for "## Phase 4" section
|
|
225
|
+
+- Not found -> ERROR: "Invalid role-spec: missing Phase 4"
|
|
226
|
+
7. All checks pass -> role-spec valid
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Example Valid Session
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
.workflow/.team/TC-auth-feature-2026-02-27/
|
|
235
|
+
+-- team-session.json # Valid JSON with session metadata
|
|
236
|
+
+-- task-analysis.json # Valid JSON with dependency graph
|
|
237
|
+
+-- role-specs/
|
|
238
|
+
| +-- researcher.md # YAML frontmatter + Phase 2-4
|
|
239
|
+
| +-- developer.md # YAML frontmatter + Phase 2-4
|
|
240
|
+
| +-- tester.md # YAML frontmatter + Phase 2-4
|
|
241
|
+
+-- artifacts/ # (may be empty)
|
|
242
|
+
+-- .msg/ # Team message bus + state (messages.jsonl + meta.json)
|
|
243
|
+
+-- wisdom/
|
|
244
|
+
| +-- learnings.md
|
|
245
|
+
| +-- decisions.md
|
|
246
|
+
| +-- issues.md
|
|
247
|
+
+-- explorations/
|
|
248
|
+
| +-- cache-index.json
|
|
249
|
+
+-- discussions/ # (may be empty)
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Recovery from Invalid Sessions
|
|
255
|
+
|
|
256
|
+
If session validation fails:
|
|
257
|
+
|
|
258
|
+
1. **Missing team-session.json**: Re-run team-coordinate with original task
|
|
259
|
+
2. **Missing task-analysis.json**: Re-run team-coordinate with resume
|
|
260
|
+
3. **Missing role-spec files**: Re-run team-coordinate with resume
|
|
261
|
+
4. **Invalid frontmatter**: Manual fix or re-run team-coordinate
|
|
262
|
+
5. **Corrupt JSON**: Manual inspection or re-run team-coordinate
|
|
263
|
+
|
|
264
|
+
**team-executor cannot fix invalid sessions** -- it can only report errors and suggest recovery steps.
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: team-lifecycle-v4
|
|
3
|
+
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".
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- ask_question
|
|
6
|
+
- define_subagent
|
|
7
|
+
- grep_search
|
|
8
|
+
- invoke_subagent
|
|
9
|
+
- manage_subagents
|
|
10
|
+
- replace_file_content
|
|
11
|
+
- run_command
|
|
12
|
+
- send_message
|
|
13
|
+
- view_file
|
|
14
|
+
- write_to_file
|
|
15
|
+
agy-subagents:
|
|
16
|
+
- team-worker
|
|
17
|
+
- team-supervisor
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Sub-Agent Registration (Antigravity)
|
|
21
|
+
|
|
22
|
+
Before any `invoke_subagent` call below, register each sub-agent type once per session by reading the system_prompt from `<agy-agents-dir>/<name>.md` and passing it to `define_subagent`. The `<agy-agents-dir>` is:
|
|
23
|
+
- global install: `~/.gemini/antigravity-cli/agents/`
|
|
24
|
+
- workspace install: `<project>/.agents/agents/`
|
|
25
|
+
|
|
26
|
+
- `define_subagent(name="team-worker", description="<from agents/team-worker.md frontmatter>", system_prompt=<contents of agents/team-worker.md body>, enable_write_tools=true, enable_mcp_tools=true, enable_subagent_tools=false)`
|
|
27
|
+
- `define_subagent(name="team-supervisor", description="<from agents/team-supervisor.md frontmatter>", system_prompt=<contents of agents/team-supervisor.md body>, enable_write_tools=true, enable_mcp_tools=true, enable_subagent_tools=false)`
|
|
28
|
+
|
|
29
|
+
**ConversationId tracking**: `invoke_subagent` returns a ConversationId per spawned instance. Subsequent `send_message(Recipient=<ConversationId>, Message=...)` calls require that ConversationId — never use the role name as the recipient.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
# Team Lifecycle v4
|
|
34
|
+
|
|
35
|
+
Orchestrate multi-agent software development: specification → planning → implementation → testing → review.
|
|
36
|
+
|
|
37
|
+
## Architecture
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
view_file(AbsolutePath="<agy-skills-dir>/team-lifecycle-v4/SKILL.md") + execute inline (args: "task description")
|
|
41
|
+
|
|
|
42
|
+
SKILL.md (this file) = Router
|
|
43
|
+
|
|
|
44
|
+
+--------------+--------------+
|
|
45
|
+
| |
|
|
46
|
+
no --role flag --role <name>
|
|
47
|
+
| |
|
|
48
|
+
Coordinator Worker
|
|
49
|
+
roles/coordinator/role.md roles/<name>/role.md
|
|
50
|
+
|
|
|
51
|
+
+-- analyze → dispatch → spawn → STOP
|
|
52
|
+
|
|
|
53
|
+
+--------+---+--------+
|
|
54
|
+
v v v
|
|
55
|
+
[team-worker] ... [team-supervisor]
|
|
56
|
+
per-task resident agent
|
|
57
|
+
lifecycle message-driven
|
|
58
|
+
(woken via send_message)
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Role Registry
|
|
62
|
+
|
|
63
|
+
| Role | Path | Prefix | Inner Loop |
|
|
64
|
+
|------|------|--------|------------|
|
|
65
|
+
| coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | — | — |
|
|
66
|
+
| analyst | [roles/analyst/role.md](roles/analyst/role.md) | RESEARCH-* | false |
|
|
67
|
+
| writer | [roles/writer/role.md](roles/writer/role.md) | DRAFT-* | true |
|
|
68
|
+
| planner | [roles/planner/role.md](roles/planner/role.md) | PLAN-* | true |
|
|
69
|
+
| executor | [roles/executor/role.md](roles/executor/role.md) | IMPL-* | true |
|
|
70
|
+
| tester | [roles/tester/role.md](roles/tester/role.md) | TEST-* | false |
|
|
71
|
+
| reviewer | [roles/reviewer/role.md](roles/reviewer/role.md) | REVIEW-*, QUALITY-*, IMPROVE-* | false |
|
|
72
|
+
| supervisor | [roles/supervisor/role.md](roles/supervisor/role.md) | CHECKPOINT-* | false |
|
|
73
|
+
|
|
74
|
+
## Role Router
|
|
75
|
+
|
|
76
|
+
Parse `$ARGUMENTS`:
|
|
77
|
+
- Has `--role <name>` → Read `roles/<name>/role.md`, execute Phase 2-4
|
|
78
|
+
- No `--role` → `@roles/coordinator/role.md`, execute entry router
|
|
79
|
+
|
|
80
|
+
## Shared Constants
|
|
81
|
+
|
|
82
|
+
- **Session prefix**: `TLV4`
|
|
83
|
+
- **Session path**: `.workflow/.team/TLV4-<slug>-<date>/`
|
|
84
|
+
- **CLI tools**: `maestro delegate --mode analysis` (read-only), `maestro delegate --mode write` (modifications)
|
|
85
|
+
- **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
|
|
86
|
+
|
|
87
|
+
## Worker Spawn Template
|
|
88
|
+
|
|
89
|
+
Coordinator spawns workers using this template:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
invoke_subagent([{ TypeName: "team-worker", Role: "<role>", Prompt: "<Prompt>", Workspace: "inherit" }])
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Supervisor Spawn Template
|
|
96
|
+
|
|
97
|
+
Supervisor is a **resident agent** (independent from team-worker). Spawned once during session init, woken via send_message for each CHECKPOINT task.
|
|
98
|
+
|
|
99
|
+
### Spawn (Phase 2 — once per session)
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
invoke_subagent([{ TypeName: "team-supervisor", Role: "supervisor", Prompt: "<Prompt>", Workspace: "inherit" }])
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Wake (handleSpawnNext — per CHECKPOINT task)
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
send_message({
|
|
109
|
+
type: "message",
|
|
110
|
+
recipient: "supervisor",
|
|
111
|
+
content: `## Checkpoint Request
|
|
112
|
+
task_id: <CHECKPOINT-NNN>
|
|
113
|
+
scope: [<upstream-task-ids>]
|
|
114
|
+
pipeline_progress: <done>/<total> tasks completed`,
|
|
115
|
+
summary: "Checkpoint request: <CHECKPOINT-NNN>"
|
|
116
|
+
})
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### Shutdown (handleComplete)
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
send_message({
|
|
123
|
+
type: "shutdown_request",
|
|
124
|
+
recipient: "supervisor",
|
|
125
|
+
content: "Pipeline complete, shutting down supervisor"
|
|
126
|
+
})
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## User Commands
|
|
130
|
+
|
|
131
|
+
| Command | Action |
|
|
132
|
+
|---------|--------|
|
|
133
|
+
| `check` / `status` | View execution status graph |
|
|
134
|
+
| `resume` / `continue` | Advance to next step |
|
|
135
|
+
| `revise <TASK-ID> [feedback]` | Revise specific task |
|
|
136
|
+
| `feedback <text>` | Inject feedback for revision |
|
|
137
|
+
| `recheck` | Re-run quality check |
|
|
138
|
+
| `improve [dimension]` | Auto-improve weakest dimension |
|
|
139
|
+
|
|
140
|
+
## Completion Action
|
|
141
|
+
|
|
142
|
+
When pipeline completes, coordinator presents:
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
ask_question({
|
|
146
|
+
questions: [{
|
|
147
|
+
question: "Pipeline complete. What would you like to do?",
|
|
148
|
+
header: "Completion",
|
|
149
|
+
multiSelect: false,
|
|
150
|
+
options: [
|
|
151
|
+
{ label: "Archive & Clean (Recommended)", description: "Archive session, clean up team" },
|
|
152
|
+
{ label: "Keep Active", description: "Keep session for follow-up work" },
|
|
153
|
+
{ label: "Export Results", description: "Export deliverables to target directory" }
|
|
154
|
+
]
|
|
155
|
+
}]
|
|
156
|
+
})
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Specs Reference
|
|
160
|
+
|
|
161
|
+
- [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
|
|
162
|
+
- [specs/quality-gates.md](specs/quality-gates.md) — Quality gate criteria and scoring
|
|
163
|
+
- [specs/knowledge-transfer.md](specs/knowledge-transfer.md) — Artifact and state transfer protocols
|
|
164
|
+
|
|
165
|
+
## Session Directory
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
.workflow/.team/TLV4-<slug>-<date>/
|
|
169
|
+
├── team-session.json # Session state + role registry
|
|
170
|
+
├── spec/ # Spec phase outputs
|
|
171
|
+
├── plan/ # Implementation plan + TASK-*.json
|
|
172
|
+
├── artifacts/ # All deliverables
|
|
173
|
+
├── wisdom/ # Cross-task knowledge
|
|
174
|
+
├── explorations/ # Shared explore cache
|
|
175
|
+
├── discussions/ # Discuss round records
|
|
176
|
+
└── .msg/ # Team message bus
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
## Error Handling
|
|
180
|
+
|
|
181
|
+
| Scenario | Resolution |
|
|
182
|
+
|----------|------------|
|
|
183
|
+
| Unknown command | Error with available command list |
|
|
184
|
+
| Role not found | Error with role registry |
|
|
185
|
+
| CLI tool fails | Worker fallback to direct implementation |
|
|
186
|
+
| Fast-advance conflict | Coordinator reconciles on next callback |
|
|
187
|
+
| Supervisor crash | Respawn with `recovery: true`, auto-rebuilds from existing reports |
|
|
188
|
+
| Supervisor not ready for CHECKPOINT | Spawn/respawn supervisor, wait for ready, then wake |
|
|
189
|
+
| Completion action fails | Default to Keep Active |
|