maestro-flow 0.4.9 → 0.4.11
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/.agents/agents/cli-explore-agent.md +189 -0
- package/.agents/agents/conceptual-planning-agent.md +247 -0
- package/.agents/agents/impeccable-agent.md +101 -0
- package/.agents/agents/team-supervisor.md +145 -0
- package/.agents/agents/team-worker.md +239 -0
- package/.agents/agents/ui-design-agent.md +289 -0
- package/.agents/agents/workflow-analyzer.md +117 -0
- package/.agents/agents/workflow-codebase-mapper.md +79 -0
- package/.agents/agents/workflow-collab-planner.md +145 -0
- package/.agents/agents/workflow-debugger.md +105 -0
- package/.agents/agents/workflow-executor.md +134 -0
- package/.agents/agents/workflow-external-researcher.md +88 -0
- package/.agents/agents/workflow-integration-checker.md +85 -0
- package/.agents/agents/workflow-nyquist-auditor.md +87 -0
- package/.agents/agents/workflow-phase-researcher.md +87 -0
- package/.agents/agents/workflow-plan-checker.md +92 -0
- package/.agents/agents/workflow-planner.md +197 -0
- package/.agents/agents/workflow-project-researcher.md +76 -0
- package/.agents/agents/workflow-research-synthesizer.md +72 -0
- package/.agents/agents/workflow-reviewer.md +84 -0
- package/.agents/agents/workflow-roadmapper.md +83 -0
- package/.agents/agents/workflow-verifier.md +122 -0
- package/.agents/skills/codify-to-knowhow/SKILL.md +169 -0
- package/.agents/skills/codify-to-knowhow/phases/01-load-manifest.md +101 -0
- package/.agents/skills/codify-to-knowhow/phases/02-generate-knowhow.md +97 -0
- package/.agents/skills/codify-to-knowhow/phases/03-generate-specs.md +92 -0
- package/.agents/skills/codify-to-knowhow/phases/04-index-verify.md +119 -0
- package/.agents/skills/learn-decompose/SKILL.md +118 -0
- package/.agents/skills/learn-follow/SKILL.md +129 -0
- package/.agents/skills/learn-investigate/SKILL.md +154 -0
- package/.agents/skills/learn-retro/SKILL.md +159 -0
- package/.agents/skills/learn-second-opinion/SKILL.md +124 -0
- package/.agents/skills/maestro/SKILL.md +224 -0
- package/.agents/skills/maestro-amend/SKILL.md +165 -0
- package/.agents/skills/maestro-analyze/SKILL.md +135 -0
- package/.agents/skills/maestro-brainstorm/SKILL.md +118 -0
- package/.agents/skills/maestro-collab/SKILL.md +174 -0
- package/.agents/skills/maestro-composer/SKILL.md +181 -0
- package/.agents/skills/maestro-execute/SKILL.md +133 -0
- package/.agents/skills/maestro-fork/SKILL.md +88 -0
- package/.agents/skills/maestro-guard/SKILL.md +103 -0
- package/.agents/skills/maestro-help/SKILL.md +266 -0
- package/.agents/skills/maestro-help/index/catalog.json +184 -0
- package/.agents/skills/maestro-help/phases/01-parse-intent.md +122 -0
- package/.agents/skills/maestro-help/phases/02-search-present.md +181 -0
- package/.agents/skills/maestro-help/phases/03-workflow-guide.md +186 -0
- package/.agents/skills/maestro-impeccable/SKILL.md +251 -0
- package/.agents/skills/maestro-init/SKILL.md +80 -0
- package/.agents/skills/maestro-learn/SKILL.md +142 -0
- package/.agents/skills/maestro-merge/SKILL.md +66 -0
- package/.agents/skills/maestro-milestone-audit/SKILL.md +70 -0
- package/.agents/skills/maestro-milestone-complete/SKILL.md +77 -0
- package/.agents/skills/maestro-milestone-release/SKILL.md +98 -0
- package/.agents/skills/maestro-overlay/SKILL.md +180 -0
- package/.agents/skills/maestro-plan/SKILL.md +172 -0
- package/.agents/skills/maestro-player/SKILL.md +177 -0
- package/.agents/skills/maestro-quick/SKILL.md +67 -0
- package/.agents/skills/maestro-ralph/SKILL.md +685 -0
- package/.agents/skills/maestro-ralph-execute/SKILL.md +259 -0
- package/.agents/skills/maestro-roadmap/SKILL.md +170 -0
- package/.agents/skills/maestro-tools-execute/SKILL.md +119 -0
- package/.agents/skills/maestro-tools-register/SKILL.md +159 -0
- package/.agents/skills/maestro-ui-codify/SKILL.md +82 -0
- package/.agents/skills/maestro-update/SKILL.md +178 -0
- package/.agents/skills/maestro-verify/SKILL.md +111 -0
- package/.agents/skills/manage-codebase-rebuild/SKILL.md +77 -0
- package/.agents/skills/manage-codebase-refresh/SKILL.md +59 -0
- package/.agents/skills/manage-harvest/SKILL.md +96 -0
- package/.agents/skills/manage-issue/SKILL.md +75 -0
- package/.agents/skills/manage-issue-discover/SKILL.md +83 -0
- package/.agents/skills/manage-knowhow/SKILL.md +79 -0
- package/.agents/skills/manage-knowhow-capture/SKILL.md +81 -0
- package/.agents/skills/manage-learn/SKILL.md +67 -0
- package/.agents/skills/manage-status/SKILL.md +54 -0
- package/.agents/skills/manage-wiki/SKILL.md +64 -0
- package/.agents/skills/quality-auto-test/SKILL.md +138 -0
- package/.agents/skills/quality-debug/SKILL.md +122 -0
- package/.agents/skills/quality-refactor/SKILL.md +69 -0
- package/.agents/skills/quality-retrospective/SKILL.md +79 -0
- package/.agents/skills/quality-review/SKILL.md +130 -0
- package/.agents/skills/quality-sync/SKILL.md +53 -0
- package/.agents/skills/quality-test/SKILL.md +119 -0
- package/.agents/skills/security-audit/SKILL.md +157 -0
- package/.agents/skills/skill-iter-tune/SKILL.md +384 -0
- package/.agents/skills/skill-iter-tune/phases/01-setup.md +144 -0
- package/.agents/skills/skill-iter-tune/phases/02-execute.md +292 -0
- package/.agents/skills/skill-iter-tune/phases/03-evaluate.md +312 -0
- package/.agents/skills/skill-iter-tune/phases/04-improve.md +186 -0
- package/.agents/skills/skill-iter-tune/phases/05-report.md +166 -0
- package/.agents/skills/skill-iter-tune/specs/evaluation-criteria.md +63 -0
- package/.agents/skills/skill-iter-tune/templates/eval-prompt.md +134 -0
- package/.agents/skills/skill-iter-tune/templates/execute-prompt.md +97 -0
- package/.agents/skills/spec-add/SKILL.md +70 -0
- package/.agents/skills/spec-load/SKILL.md +73 -0
- package/.agents/skills/spec-remove/SKILL.md +53 -0
- package/.agents/skills/spec-setup/SKILL.md +50 -0
- package/.agents/skills/team-coordinate/SKILL.md +268 -0
- package/.agents/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +247 -0
- package/.agents/skills/team-coordinate/roles/coordinator/commands/dispatch.md +131 -0
- package/.agents/skills/team-coordinate/roles/coordinator/commands/monitor.md +358 -0
- package/.agents/skills/team-coordinate/roles/coordinator/role.md +365 -0
- package/.agents/skills/team-coordinate/specs/knowledge-transfer.md +111 -0
- package/.agents/skills/team-coordinate/specs/pipelines.md +97 -0
- package/.agents/skills/team-coordinate/specs/quality-gates.md +112 -0
- package/.agents/skills/team-coordinate/specs/role-spec-template.md +198 -0
- package/.agents/skills/team-executor/SKILL.md +191 -0
- package/.agents/skills/team-executor/roles/executor/commands/monitor.md +239 -0
- package/.agents/skills/team-executor/roles/executor/role.md +171 -0
- package/.agents/skills/team-executor/specs/session-schema.md +264 -0
- package/.agents/skills/team-lifecycle-v4/SKILL.md +211 -0
- package/.agents/skills/team-lifecycle-v4/roles/analyst/role.md +96 -0
- package/.agents/skills/team-lifecycle-v4/roles/coordinator/commands/analyze.md +56 -0
- package/.agents/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +56 -0
- package/.agents/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +206 -0
- package/.agents/skills/team-lifecycle-v4/roles/coordinator/role.md +130 -0
- package/.agents/skills/team-lifecycle-v4/roles/executor/commands/fix.md +35 -0
- package/.agents/skills/team-lifecycle-v4/roles/executor/commands/implement.md +62 -0
- package/.agents/skills/team-lifecycle-v4/roles/executor/role.md +69 -0
- package/.agents/skills/team-lifecycle-v4/roles/planner/role.md +87 -0
- package/.agents/skills/team-lifecycle-v4/roles/reviewer/commands/review-code.md +34 -0
- package/.agents/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +44 -0
- package/.agents/skills/team-lifecycle-v4/roles/reviewer/role.md +71 -0
- package/.agents/skills/team-lifecycle-v4/roles/supervisor/role.md +194 -0
- package/.agents/skills/team-lifecycle-v4/roles/tester/role.md +89 -0
- package/.agents/skills/team-lifecycle-v4/roles/writer/role.md +97 -0
- package/.agents/skills/team-lifecycle-v4/specs/knowledge-transfer.md +114 -0
- package/.agents/skills/team-lifecycle-v4/specs/pipelines.md +140 -0
- package/.agents/skills/team-lifecycle-v4/specs/quality-gates.md +130 -0
- package/.agents/skills/team-lifecycle-v4/templates/architecture.md +254 -0
- package/.agents/skills/team-lifecycle-v4/templates/epics.md +196 -0
- package/.agents/skills/team-lifecycle-v4/templates/product-brief.md +133 -0
- package/.agents/skills/team-lifecycle-v4/templates/requirements.md +224 -0
- package/.agents/skills/team-quality-assurance/SKILL.md +149 -0
- package/.agents/skills/team-quality-assurance/roles/analyst/role.md +90 -0
- package/.agents/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -0
- package/.agents/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +111 -0
- package/.agents/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +250 -0
- package/.agents/skills/team-quality-assurance/roles/coordinator/role.md +143 -0
- package/.agents/skills/team-quality-assurance/roles/executor/role.md +68 -0
- package/.agents/skills/team-quality-assurance/roles/generator/role.md +70 -0
- package/.agents/skills/team-quality-assurance/roles/scout/role.md +77 -0
- package/.agents/skills/team-quality-assurance/roles/strategist/role.md +73 -0
- package/.agents/skills/team-quality-assurance/specs/pipelines.md +115 -0
- package/.agents/skills/team-quality-assurance/specs/team-config.json +131 -0
- package/.agents/skills/team-review/SKILL.md +149 -0
- package/.agents/skills/team-review/roles/coordinator/commands/analyze.md +71 -0
- package/.agents/skills/team-review/roles/coordinator/commands/dispatch.md +91 -0
- package/.agents/skills/team-review/roles/coordinator/commands/monitor.md +224 -0
- package/.agents/skills/team-review/roles/coordinator/role.md +132 -0
- package/.agents/skills/team-review/roles/fixer/role.md +78 -0
- package/.agents/skills/team-review/roles/reviewer/role.md +70 -0
- package/.agents/skills/team-review/roles/scanner/role.md +81 -0
- package/.agents/skills/team-review/specs/dimensions.md +82 -0
- package/.agents/skills/team-review/specs/finding-schema.json +82 -0
- package/.agents/skills/team-review/specs/pipelines.md +102 -0
- package/.agents/skills/team-review/specs/team-config.json +27 -0
- package/.agents/skills/team-tech-debt/SKILL.md +130 -0
- package/.agents/skills/team-tech-debt/roles/assessor/role.md +79 -0
- package/.agents/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -0
- package/.agents/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +156 -0
- package/.agents/skills/team-tech-debt/roles/coordinator/commands/monitor.md +209 -0
- package/.agents/skills/team-tech-debt/roles/coordinator/role.md +123 -0
- package/.agents/skills/team-tech-debt/roles/executor/role.md +78 -0
- package/.agents/skills/team-tech-debt/roles/planner/role.md +71 -0
- package/.agents/skills/team-tech-debt/roles/scanner/role.md +92 -0
- package/.agents/skills/team-tech-debt/roles/validator/role.md +80 -0
- package/.agents/skills/team-tech-debt/specs/pipelines.md +47 -0
- package/.agents/skills/team-tech-debt/specs/team-config.json +129 -0
- package/.agents/skills/team-testing/SKILL.md +145 -0
- package/.agents/skills/team-testing/roles/analyst/role.md +105 -0
- package/.agents/skills/team-testing/roles/coordinator/commands/analyze.md +70 -0
- package/.agents/skills/team-testing/roles/coordinator/commands/dispatch.md +108 -0
- package/.agents/skills/team-testing/roles/coordinator/commands/monitor.md +257 -0
- package/.agents/skills/team-testing/roles/coordinator/role.md +134 -0
- package/.agents/skills/team-testing/roles/executor/role.md +101 -0
- package/.agents/skills/team-testing/roles/generator/role.md +100 -0
- package/.agents/skills/team-testing/roles/strategist/role.md +85 -0
- package/.agents/skills/team-testing/specs/pipelines.md +101 -0
- package/.agents/skills/team-testing/specs/team-config.json +93 -0
- package/.agents/skills/wiki-connect/SKILL.md +64 -0
- package/.agents/skills/wiki-digest/SKILL.md +70 -0
- package/.agents/skills/workflow-skill-designer/SKILL.md +498 -0
- package/.agents/skills/workflow-skill-designer/phases/01-requirements-analysis.md +356 -0
- package/.agents/skills/workflow-skill-designer/phases/02-orchestrator-design.md +444 -0
- package/.agents/skills/workflow-skill-designer/phases/03-phase-design.md +458 -0
- package/.agents/skills/workflow-skill-designer/phases/04-validation.md +471 -0
- 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 +223 -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 +681 -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/.claude/commands/maestro-ralph.md +222 -87
- package/.claude/commands/maestro.md +13 -11
- package/.codex/skills/maestro/SKILL.md +23 -17
- package/.codex/skills/maestro-ralph/SKILL.md +177 -67
- package/dist/src/commands/install-backend.d.ts +12 -0
- package/dist/src/commands/install-backend.d.ts.map +1 -1
- package/dist/src/commands/install-backend.js +144 -0
- package/dist/src/commands/install-backend.js.map +1 -1
- package/dist/src/core/component-defs.d.ts +6 -0
- package/dist/src/core/component-defs.d.ts.map +1 -1
- package/dist/src/core/component-defs.js +97 -0
- package/dist/src/core/component-defs.js.map +1 -1
- package/dist/src/tui/install-ui/ExtraMcpConfig.d.ts +11 -0
- package/dist/src/tui/install-ui/ExtraMcpConfig.d.ts.map +1 -0
- package/dist/src/tui/install-ui/ExtraMcpConfig.js +61 -0
- package/dist/src/tui/install-ui/ExtraMcpConfig.js.map +1 -0
- package/dist/src/tui/install-ui/InstallConfirm.d.ts +3 -0
- package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallConfirm.js +1 -1
- package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.d.ts +2 -0
- package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallExecution.js +14 -2
- package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
- package/dist/src/tui/install-ui/InstallFlow.d.ts +1 -1
- package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallFlow.js +16 -3
- package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
- package/dist/src/tui/install-ui/InstallHub.d.ts +2 -0
- package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallHub.js +8 -0
- package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
- package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
- package/dist/src/tui/install-ui/InstallResult.js +3 -1
- package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
- package/dist/src/utils/update-notices.js +19 -0
- package/dist/src/utils/update-notices.js.map +1 -1
- package/package.json +7 -2
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Dispatch Tasks
|
|
2
|
+
|
|
3
|
+
Create testing task chains with correct dependencies. Supports targeted, standard, and comprehensive pipelines.
|
|
4
|
+
|
|
5
|
+
## Workflow
|
|
6
|
+
|
|
7
|
+
1. Read task-analysis.json -> extract pipeline_mode and dependency_graph
|
|
8
|
+
2. Read specs/pipelines.md -> get task registry for selected pipeline
|
|
9
|
+
3. Topological sort tasks (respect blockedBy)
|
|
10
|
+
4. Validate all owners exist in role registry (SKILL.md)
|
|
11
|
+
5. For each task (in order):
|
|
12
|
+
- TaskCreate with structured description (see template below)
|
|
13
|
+
- TaskUpdate with blockedBy + owner assignment
|
|
14
|
+
6. Update session.json with pipeline.tasks_total
|
|
15
|
+
7. Validate chain (no orphans, no cycles, all refs valid)
|
|
16
|
+
|
|
17
|
+
## Task Description Template
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
PURPOSE: <goal> | Success: <criteria>
|
|
21
|
+
TASK:
|
|
22
|
+
- <step 1>
|
|
23
|
+
- <step 2>
|
|
24
|
+
CONTEXT:
|
|
25
|
+
- Session: <session-folder>
|
|
26
|
+
- Scope: <scope>
|
|
27
|
+
- Layer: <L1-unit|L2-integration|L3-e2e>
|
|
28
|
+
- Upstream artifacts: <artifact-1>, <artifact-2>
|
|
29
|
+
- Shared memory: <session>/wisdom/.msg/meta.json
|
|
30
|
+
EXPECTED: <deliverable path> + <quality criteria>
|
|
31
|
+
CONSTRAINTS: <scope limits, focus areas>
|
|
32
|
+
---
|
|
33
|
+
InnerLoop: <true|false>
|
|
34
|
+
RoleSpec: ~ or <project>/.claude/skills/team-testing/roles/<role>/role.md
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Pipeline Task Registry
|
|
38
|
+
|
|
39
|
+
### Targeted Pipeline
|
|
40
|
+
```
|
|
41
|
+
STRATEGY-001 (strategist): Analyze change scope, define test strategy
|
|
42
|
+
blockedBy: []
|
|
43
|
+
TESTGEN-001 (generator): Generate L1 unit tests
|
|
44
|
+
blockedBy: [STRATEGY-001], meta: layer=L1-unit
|
|
45
|
+
TESTRUN-001 (executor): Execute L1 tests, collect coverage
|
|
46
|
+
blockedBy: [TESTGEN-001], inner_loop: true, meta: layer=L1-unit, coverage_target=80%
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Standard Pipeline
|
|
50
|
+
```
|
|
51
|
+
STRATEGY-001 (strategist): Analyze change scope, define test strategy
|
|
52
|
+
blockedBy: []
|
|
53
|
+
TESTGEN-001 (generator): Generate L1 unit tests
|
|
54
|
+
blockedBy: [STRATEGY-001], meta: layer=L1-unit
|
|
55
|
+
TESTRUN-001 (executor): Execute L1 tests, collect coverage
|
|
56
|
+
blockedBy: [TESTGEN-001], inner_loop: true, meta: layer=L1-unit, coverage_target=80%
|
|
57
|
+
TESTGEN-002 (generator): Generate L2 integration tests
|
|
58
|
+
blockedBy: [TESTRUN-001], meta: layer=L2-integration
|
|
59
|
+
TESTRUN-002 (executor): Execute L2 tests, collect coverage
|
|
60
|
+
blockedBy: [TESTGEN-002], inner_loop: true, meta: layer=L2-integration, coverage_target=60%
|
|
61
|
+
TESTANA-001 (analyst): Defect pattern analysis, quality report
|
|
62
|
+
blockedBy: [TESTRUN-002]
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Comprehensive Pipeline
|
|
66
|
+
```
|
|
67
|
+
STRATEGY-001 (strategist): Analyze change scope, define test strategy
|
|
68
|
+
blockedBy: []
|
|
69
|
+
TESTGEN-001 (generator-1): Generate L1 unit tests
|
|
70
|
+
blockedBy: [STRATEGY-001], meta: layer=L1-unit
|
|
71
|
+
TESTGEN-002 (generator-2): Generate L2 integration tests
|
|
72
|
+
blockedBy: [STRATEGY-001], meta: layer=L2-integration
|
|
73
|
+
TESTRUN-001 (executor-1): Execute L1 tests, collect coverage
|
|
74
|
+
blockedBy: [TESTGEN-001], inner_loop: true, meta: layer=L1-unit, coverage_target=80%
|
|
75
|
+
TESTRUN-002 (executor-2): Execute L2 tests, collect coverage
|
|
76
|
+
blockedBy: [TESTGEN-002], inner_loop: true, meta: layer=L2-integration, coverage_target=60%
|
|
77
|
+
TESTGEN-003 (generator): Generate L3 E2E tests
|
|
78
|
+
blockedBy: [TESTRUN-001, TESTRUN-002], meta: layer=L3-e2e
|
|
79
|
+
TESTRUN-003 (executor): Execute L3 tests, collect coverage
|
|
80
|
+
blockedBy: [TESTGEN-003], inner_loop: true, meta: layer=L3-e2e, coverage_target=40%
|
|
81
|
+
TESTANA-001 (analyst): Defect pattern analysis, quality report
|
|
82
|
+
blockedBy: [TESTRUN-003]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## InnerLoop Flag Rules
|
|
86
|
+
|
|
87
|
+
- true: generator, executor roles (GC loop iterations)
|
|
88
|
+
- false: strategist, analyst roles
|
|
89
|
+
|
|
90
|
+
## Dependency Validation
|
|
91
|
+
|
|
92
|
+
- No orphan tasks (all tasks have valid owner)
|
|
93
|
+
- No circular dependencies
|
|
94
|
+
- All blockedBy references exist
|
|
95
|
+
- Session reference in every task description
|
|
96
|
+
- RoleSpec reference in every task description
|
|
97
|
+
|
|
98
|
+
## Log After Creation
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
mcp__ccw-tools__team_msg({
|
|
102
|
+
operation: "log",
|
|
103
|
+
session_id: <session-id>,
|
|
104
|
+
from: "coordinator",
|
|
105
|
+
type: "pipeline_selected",
|
|
106
|
+
data: { pipeline: "<mode>", task_count: <N> }
|
|
107
|
+
})
|
|
108
|
+
```
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
|
|
2
|
+
## Sub-Agent Registration (Antigravity)
|
|
3
|
+
|
|
4
|
+
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:
|
|
5
|
+
- global install: `~/.gemini/antigravity-cli/agents/`
|
|
6
|
+
- workspace install: `<project>/.agents/agents/`
|
|
7
|
+
|
|
8
|
+
- `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)`
|
|
9
|
+
|
|
10
|
+
**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.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
# Monitor Pipeline
|
|
14
|
+
|
|
15
|
+
Event-driven pipeline coordination. Beat model: coordinator wake -> process -> spawn -> STOP.
|
|
16
|
+
|
|
17
|
+
## Constants
|
|
18
|
+
|
|
19
|
+
- SPAWN_MODE: background
|
|
20
|
+
- ONE_STEP_PER_INVOCATION: true
|
|
21
|
+
- FAST_ADVANCE_AWARE: true
|
|
22
|
+
- WORKER_AGENT: team-worker
|
|
23
|
+
- MAX_GC_ROUNDS: 3
|
|
24
|
+
|
|
25
|
+
## Handler Router
|
|
26
|
+
|
|
27
|
+
| Source | Handler |
|
|
28
|
+
|--------|---------|
|
|
29
|
+
| Message contains [strategist], [generator], [executor], [analyst] | handleCallback |
|
|
30
|
+
| "capability_gap" | handleAdapt |
|
|
31
|
+
| "check" or "status" | handleCheck |
|
|
32
|
+
| "resume" or "continue" | handleResume |
|
|
33
|
+
| All tasks completed | handleComplete |
|
|
34
|
+
| Default | handleSpawnNext |
|
|
35
|
+
|
|
36
|
+
## Role-Worker Map
|
|
37
|
+
|
|
38
|
+
| Prefix | Role | Role Spec | inner_loop |
|
|
39
|
+
|--------|------|-----------|------------|
|
|
40
|
+
| STRATEGY-* | strategist | `~ or <project>/.claude/skills/team-testing/roles/strategist/role.md` | false |
|
|
41
|
+
| TESTGEN-* | generator | `~ or <project>/.claude/skills/team-testing/roles/generator/role.md` | true |
|
|
42
|
+
| TESTRUN-* | executor | `~ or <project>/.claude/skills/team-testing/roles/executor/role.md` | true |
|
|
43
|
+
| TESTANA-* | analyst | `~ or <project>/.claude/skills/team-testing/roles/analyst/role.md` | false |
|
|
44
|
+
|
|
45
|
+
## handleCallback
|
|
46
|
+
|
|
47
|
+
Worker completed. Process and advance.
|
|
48
|
+
|
|
49
|
+
1. Parse message to identify role and task ID:
|
|
50
|
+
|
|
51
|
+
| Message Pattern | Role Detection |
|
|
52
|
+
|----------------|---------------|
|
|
53
|
+
| `[strategist]` or task ID `STRATEGY-*` | strategist |
|
|
54
|
+
| `[generator]` or task ID `TESTGEN-*` | generator |
|
|
55
|
+
| `[executor]` or task ID `TESTRUN-*` | executor |
|
|
56
|
+
| `[analyst]` or task ID `TESTANA-*` | analyst |
|
|
57
|
+
|
|
58
|
+
2. Check if progress update (inner loop) or final completion
|
|
59
|
+
3. Progress -> update session state, STOP
|
|
60
|
+
4. Completion -> mark task done via TaskUpdate(status="completed"), remove from active_workers
|
|
61
|
+
5. Check for checkpoints:
|
|
62
|
+
- TESTRUN-* completes -> read meta.json for executor.pass_rate and executor.coverage:
|
|
63
|
+
- (pass_rate >= 0.95 AND coverage >= target) OR gc_rounds[layer] >= MAX_GC_ROUNDS -> proceed to handleSpawnNext
|
|
64
|
+
- (pass_rate < 0.95 OR coverage < target) AND gc_rounds[layer] < MAX_GC_ROUNDS -> create GC fix tasks, increment gc_rounds[layer]
|
|
65
|
+
|
|
66
|
+
**GC Fix Task Creation** (when coverage below target):
|
|
67
|
+
```
|
|
68
|
+
TaskCreate({
|
|
69
|
+
subject: "TESTGEN-<layer>-fix-<round>: Revise <layer> tests (GC #<round>)",
|
|
70
|
+
description: "PURPOSE: Revise tests to fix failures and improve coverage | Success: pass_rate >= 0.95 AND coverage >= target
|
|
71
|
+
TASK:
|
|
72
|
+
- Read previous test results and failure details
|
|
73
|
+
- Revise tests to address failures
|
|
74
|
+
- Improve coverage for uncovered areas
|
|
75
|
+
CONTEXT:
|
|
76
|
+
- Session: <session-folder>
|
|
77
|
+
- Layer: <layer>
|
|
78
|
+
- Previous results: <session>/results/run-<N>.json
|
|
79
|
+
EXPECTED: Revised test files in <session>/tests/<layer>/
|
|
80
|
+
CONSTRAINTS: Only modify test files
|
|
81
|
+
---
|
|
82
|
+
InnerLoop: true
|
|
83
|
+
RoleSpec: ~ or <project>/.claude/skills/team-testing/roles/generator/role.md"
|
|
84
|
+
})
|
|
85
|
+
TaskCreate({
|
|
86
|
+
subject: "TESTRUN-<layer>-fix-<round>: Re-execute <layer> (GC #<round>)",
|
|
87
|
+
description: "PURPOSE: Re-execute tests after revision | Success: pass_rate >= 0.95
|
|
88
|
+
CONTEXT:
|
|
89
|
+
- Session: <session-folder>
|
|
90
|
+
- Layer: <layer>
|
|
91
|
+
- Input: tests/<layer>
|
|
92
|
+
EXPECTED: <session>/results/run-<N>-gc.json
|
|
93
|
+
---
|
|
94
|
+
InnerLoop: true
|
|
95
|
+
RoleSpec: ~ or <project>/.claude/skills/team-testing/roles/executor/role.md",
|
|
96
|
+
blockedBy: ["TESTGEN-<layer>-fix-<round>"]
|
|
97
|
+
})
|
|
98
|
+
```
|
|
99
|
+
Update session.gc_rounds[layer]++
|
|
100
|
+
|
|
101
|
+
6. -> handleSpawnNext
|
|
102
|
+
|
|
103
|
+
## handleCheck
|
|
104
|
+
|
|
105
|
+
Read-only status report, then STOP.
|
|
106
|
+
|
|
107
|
+
**Worker Progress** (from message bus):
|
|
108
|
+
|
|
109
|
+
Before generating status output, read worker milestones:
|
|
110
|
+
|
|
111
|
+
```javascript
|
|
112
|
+
const progressMsgs = mcp__ccw-tools__team_msg({
|
|
113
|
+
operation: "list", session_id: sessionId, type: "progress", last: 50
|
|
114
|
+
})
|
|
115
|
+
const blockerMsgs = mcp__ccw-tools__team_msg({
|
|
116
|
+
operation: "list", session_id: sessionId, type: "blocker", last: 10
|
|
117
|
+
})
|
|
118
|
+
|
|
119
|
+
// Aggregate latest milestone per task
|
|
120
|
+
const taskProgress = {}
|
|
121
|
+
for (const msg of (progressMsgs.result?.messages || [])) {
|
|
122
|
+
const tid = msg.data?.task_id
|
|
123
|
+
if (tid && (!taskProgress[tid] || msg.ts > taskProgress[tid].ts)) {
|
|
124
|
+
taskProgress[tid] = { phase: msg.data.phase, pct: msg.data.progress_pct, ts: msg.ts }
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Include in status output:
|
|
130
|
+
- Per-worker latest milestone (phase + progress_pct) next to task status
|
|
131
|
+
- Active blockers section (if any blockerMsgs found)
|
|
132
|
+
|
|
133
|
+
Output:
|
|
134
|
+
```
|
|
135
|
+
[coordinator] Testing Pipeline Status
|
|
136
|
+
[coordinator] Mode: <pipeline_mode>
|
|
137
|
+
[coordinator] Progress: <done>/<total> (<pct>%)
|
|
138
|
+
[coordinator] GC Rounds: L1: <n>/3, L2: <n>/3
|
|
139
|
+
|
|
140
|
+
[coordinator] Pipeline Graph:
|
|
141
|
+
STRATEGY-001: <done|run|wait> test-strategy.md
|
|
142
|
+
TESTGEN-001: <done|run|wait> generating L1...
|
|
143
|
+
TESTRUN-001: <done|run|wait> blocked by TESTGEN-001
|
|
144
|
+
TESTGEN-002: <done|run|wait> blocked by TESTRUN-001
|
|
145
|
+
TESTRUN-002: <done|run|wait> blocked by TESTGEN-002
|
|
146
|
+
TESTANA-001: <done|run|wait> blocked by TESTRUN-*
|
|
147
|
+
|
|
148
|
+
[coordinator] Active Workers: <list with elapsed time>
|
|
149
|
+
[coordinator] Ready: <pending tasks with resolved deps>
|
|
150
|
+
[coordinator] Commands: 'resume' to advance | 'check' to refresh
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Then STOP.
|
|
154
|
+
|
|
155
|
+
## handleResume
|
|
156
|
+
|
|
157
|
+
1. No active workers -> handleSpawnNext
|
|
158
|
+
2. Has active -> check each status
|
|
159
|
+
- completed -> mark done via TaskUpdate
|
|
160
|
+
- in_progress -> still running
|
|
161
|
+
3. Some completed -> handleSpawnNext
|
|
162
|
+
4. All running -> report status, STOP
|
|
163
|
+
|
|
164
|
+
## handleSpawnNext
|
|
165
|
+
|
|
166
|
+
Find ready tasks, spawn workers, STOP.
|
|
167
|
+
|
|
168
|
+
1. Collect from TaskList():
|
|
169
|
+
- completedSubjects: status = completed
|
|
170
|
+
- inProgressSubjects: status = in_progress
|
|
171
|
+
- readySubjects: status = pending AND all blockedBy in completedSubjects
|
|
172
|
+
|
|
173
|
+
2. No ready + work in progress -> report waiting, STOP
|
|
174
|
+
3. No ready + nothing in progress -> handleComplete
|
|
175
|
+
4. Has ready -> for each ready task:
|
|
176
|
+
a. Determine role from prefix (use Role-Worker Map)
|
|
177
|
+
b. Check if inner loop role (generator/executor) with active worker -> skip (worker picks up next task)
|
|
178
|
+
c. TaskUpdate -> in_progress
|
|
179
|
+
d. team_msg log -> task_unblocked
|
|
180
|
+
e. Spawn team-worker:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
invoke_subagent([{ TypeName: "team-worker", Role: "<role>", Prompt: "<Prompt>", Workspace: "inherit" }])
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
f. Add to active_workers
|
|
187
|
+
|
|
188
|
+
5. **Parallel spawn** (comprehensive pipeline):
|
|
189
|
+
- TESTGEN-001 + TESTGEN-002 both unblocked -> spawn both in parallel (name: "generator-1", "generator-2")
|
|
190
|
+
- TESTRUN-001 + TESTRUN-002 both unblocked -> spawn both in parallel (name: "executor-1", "executor-2")
|
|
191
|
+
|
|
192
|
+
6. Update session.json, output summary, STOP
|
|
193
|
+
|
|
194
|
+
## handleComplete
|
|
195
|
+
|
|
196
|
+
Pipeline done. Generate report and completion action.
|
|
197
|
+
|
|
198
|
+
1. Verify all tasks (including any GC fix tasks) have status "completed" or "deleted"
|
|
199
|
+
2. If any tasks incomplete -> return to handleSpawnNext
|
|
200
|
+
3. If all complete:
|
|
201
|
+
- Read final state from meta.json (analyst.quality_score, executor.coverage, gc_rounds)
|
|
202
|
+
- Generate summary (deliverables, task count, GC rounds, coverage metrics)
|
|
203
|
+
4. Read session.completion_action:
|
|
204
|
+
- interactive -> ask_question (Archive/Keep/Deepen Coverage)
|
|
205
|
+
- auto_archive -> Archive & Clean (status=completed, TeamDelete)
|
|
206
|
+
- auto_keep -> Keep Active (status=paused)
|
|
207
|
+
|
|
208
|
+
## handleAdapt
|
|
209
|
+
|
|
210
|
+
Capability gap reported mid-pipeline.
|
|
211
|
+
|
|
212
|
+
1. Parse gap description
|
|
213
|
+
2. Check if existing role covers it -> redirect
|
|
214
|
+
3. Role count < 5 -> generate dynamic role-spec in <session>/role-specs/
|
|
215
|
+
4. Create new task, spawn worker
|
|
216
|
+
5. Role count >= 5 -> merge or pause
|
|
217
|
+
|
|
218
|
+
## Fast-Advance Reconciliation
|
|
219
|
+
|
|
220
|
+
On every coordinator wake:
|
|
221
|
+
1. Read team_msg entries with type="fast_advance"
|
|
222
|
+
2. Sync active_workers with spawned successors
|
|
223
|
+
3. No duplicate spawns
|
|
224
|
+
|
|
225
|
+
## Phase 4: State Persistence
|
|
226
|
+
|
|
227
|
+
After every handler execution:
|
|
228
|
+
1. Reconcile active_workers with actual TaskList states
|
|
229
|
+
2. Remove entries for completed/deleted tasks
|
|
230
|
+
3. Write updated session.json
|
|
231
|
+
4. STOP (wait for next callback)
|
|
232
|
+
|
|
233
|
+
## Error Handling
|
|
234
|
+
|
|
235
|
+
| Scenario | Resolution |
|
|
236
|
+
|----------|------------|
|
|
237
|
+
| Session file not found | Error, suggest re-initialization |
|
|
238
|
+
| Worker callback from unknown role | Log info, scan for other completions |
|
|
239
|
+
| GC loop exceeded (3 rounds) | Accept current coverage with warning, proceed |
|
|
240
|
+
| Pipeline stall | Check blockedBy chains, report to user |
|
|
241
|
+
| Coverage tool unavailable | Degrade to pass rate judgment |
|
|
242
|
+
| Worker crash | Reset task to pending, respawn |
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# Coordinator Role
|
|
2
|
+
|
|
3
|
+
Orchestrate team-testing: analyze -> dispatch -> spawn -> monitor -> report.
|
|
4
|
+
|
|
5
|
+
## Identity
|
|
6
|
+
- Name: coordinator | Tag: [coordinator]
|
|
7
|
+
- Responsibility: Change scope analysis -> Create team -> Dispatch tasks -> Monitor progress -> Report results
|
|
8
|
+
|
|
9
|
+
## Boundaries
|
|
10
|
+
|
|
11
|
+
### MUST
|
|
12
|
+
- Use `team-worker` agent type for all worker spawns (NOT `general-purpose`)
|
|
13
|
+
- Follow Command Execution Protocol for dispatch and monitor commands
|
|
14
|
+
- Respect pipeline stage dependencies (blockedBy)
|
|
15
|
+
- Stop after spawning workers -- wait for callbacks
|
|
16
|
+
- Handle Generator-Critic cycles with max 3 iterations per layer
|
|
17
|
+
- Execute completion action in Phase 5
|
|
18
|
+
|
|
19
|
+
### MUST NOT
|
|
20
|
+
- Implement domain logic (test generation, execution, analysis) -- workers handle this
|
|
21
|
+
- Spawn workers without creating tasks first
|
|
22
|
+
- Skip quality gates when coverage is below target
|
|
23
|
+
- Modify test files or source code directly -- delegate to workers
|
|
24
|
+
- Force-advance pipeline past failed GC loops
|
|
25
|
+
|
|
26
|
+
## Command Execution Protocol
|
|
27
|
+
When coordinator needs to execute a specific phase:
|
|
28
|
+
1. Read `commands/<command>.md`
|
|
29
|
+
2. Follow the workflow defined in the command
|
|
30
|
+
3. Commands are inline execution guides, NOT separate agents
|
|
31
|
+
4. Execute synchronously, complete before proceeding
|
|
32
|
+
|
|
33
|
+
## Entry Router
|
|
34
|
+
|
|
35
|
+
| Detection | Condition | Handler |
|
|
36
|
+
|-----------|-----------|---------|
|
|
37
|
+
| Worker callback | Message contains [strategist], [generator], [executor], [analyst] | -> handleCallback (monitor.md) |
|
|
38
|
+
| Status check | Args contain "check" or "status" | -> handleCheck (monitor.md) |
|
|
39
|
+
| Manual resume | Args contain "resume" or "continue" | -> handleResume (monitor.md) |
|
|
40
|
+
| Capability gap | Message contains "capability_gap" | -> handleAdapt (monitor.md) |
|
|
41
|
+
| Pipeline complete | All tasks completed | -> handleComplete (monitor.md) |
|
|
42
|
+
| Interrupted session | Active session in .workflow/.team/TST-* | -> Phase 0 |
|
|
43
|
+
| New session | None of above | -> Phase 1 |
|
|
44
|
+
|
|
45
|
+
For callback/check/resume/adapt/complete: load @commands/monitor.md, execute handler, STOP.
|
|
46
|
+
|
|
47
|
+
## Phase 0: Session Resume Check
|
|
48
|
+
|
|
49
|
+
1. Scan .workflow/.team/TST-*/session.json for active/paused sessions
|
|
50
|
+
2. No sessions -> Phase 1
|
|
51
|
+
3. Single session -> reconcile (audit TaskList, reset in_progress->pending, rebuild team, kick first ready task)
|
|
52
|
+
4. Multiple -> ask_question for selection
|
|
53
|
+
|
|
54
|
+
## Phase 1: Requirement Clarification
|
|
55
|
+
|
|
56
|
+
TEXT-LEVEL ONLY. No source code reading.
|
|
57
|
+
|
|
58
|
+
1. Parse task description from $ARGUMENTS
|
|
59
|
+
2. Analyze change scope:
|
|
60
|
+
```
|
|
61
|
+
run_command("git diff --name-only HEAD~1 2>/dev/null || git diff --name-only --cached")
|
|
62
|
+
```
|
|
63
|
+
3. Select pipeline:
|
|
64
|
+
|
|
65
|
+
| Condition | Pipeline |
|
|
66
|
+
|-----------|----------|
|
|
67
|
+
| fileCount <= 3 AND moduleCount <= 1 | targeted |
|
|
68
|
+
| fileCount <= 10 AND moduleCount <= 3 | standard |
|
|
69
|
+
| Otherwise | comprehensive |
|
|
70
|
+
|
|
71
|
+
4. Clarify if ambiguous (ask_question for scope)
|
|
72
|
+
5. Delegate to @commands/analyze.md
|
|
73
|
+
6. Output: task-analysis.json
|
|
74
|
+
7. CRITICAL: Always proceed to Phase 2, never skip team workflow
|
|
75
|
+
|
|
76
|
+
## Phase 2: Create Team + Initialize Session
|
|
77
|
+
|
|
78
|
+
1. Resolve workspace paths (MUST do first):
|
|
79
|
+
- `project_root` = result of `run_command({ command: "pwd" })`
|
|
80
|
+
- `skill_root` = `<project_root>/.claude/skills/team-testing`
|
|
81
|
+
2. Generate session ID: TST-<slug>-<date>
|
|
82
|
+
3. Create session folder structure (strategy/, tests/L1-unit/, tests/L2-integration/, tests/L3-e2e/, results/, analysis/, wisdom/)
|
|
83
|
+
4. TeamCreate with team name "testing"
|
|
84
|
+
5. Read specs/pipelines.md -> select pipeline based on mode
|
|
85
|
+
6. Initialize pipeline via team_msg state_update:
|
|
86
|
+
```
|
|
87
|
+
mcp__ccw-tools__team_msg({
|
|
88
|
+
operation: "log", session_id: "<id>", from: "coordinator",
|
|
89
|
+
type: "state_update", summary: "Session initialized",
|
|
90
|
+
data: {
|
|
91
|
+
pipeline_mode: "<targeted|standard|comprehensive>",
|
|
92
|
+
pipeline_stages: ["strategist", "generator", "executor", "analyst"],
|
|
93
|
+
team_name: "testing",
|
|
94
|
+
coverage_targets: { "L1": 80, "L2": 60, "L3": 40 },
|
|
95
|
+
gc_rounds: {}
|
|
96
|
+
}
|
|
97
|
+
})
|
|
98
|
+
```
|
|
99
|
+
7. Write session.json
|
|
100
|
+
|
|
101
|
+
## Phase 3: Create Task Chain
|
|
102
|
+
|
|
103
|
+
Delegate to @commands/dispatch.md:
|
|
104
|
+
1. Read specs/pipelines.md for selected pipeline's task registry
|
|
105
|
+
2. Topological sort tasks
|
|
106
|
+
3. Create tasks via TaskCreate with blockedBy
|
|
107
|
+
4. Update session.json
|
|
108
|
+
|
|
109
|
+
## Phase 4: Spawn-and-Stop
|
|
110
|
+
|
|
111
|
+
Delegate to @commands/monitor.md#handleSpawnNext:
|
|
112
|
+
1. Find ready tasks (pending + blockedBy resolved)
|
|
113
|
+
2. Spawn team-worker agents (see SKILL.md Spawn Template)
|
|
114
|
+
3. Output status summary
|
|
115
|
+
4. STOP
|
|
116
|
+
|
|
117
|
+
## Phase 5: Report + Completion Action
|
|
118
|
+
|
|
119
|
+
1. Generate summary (deliverables, pipeline stats, GC rounds, coverage metrics)
|
|
120
|
+
2. Execute completion action per session.completion_action:
|
|
121
|
+
- interactive -> ask_question (Archive/Keep/Deepen Coverage)
|
|
122
|
+
- auto_archive -> Archive & Clean
|
|
123
|
+
- auto_keep -> Keep Active
|
|
124
|
+
|
|
125
|
+
## Error Handling
|
|
126
|
+
|
|
127
|
+
| Error | Resolution |
|
|
128
|
+
|-------|------------|
|
|
129
|
+
| Task too vague | ask_question for clarification |
|
|
130
|
+
| Session corruption | Attempt recovery, fallback to manual |
|
|
131
|
+
| Worker crash | Reset task to pending, respawn |
|
|
132
|
+
| Dependency cycle | Detect in analysis, halt |
|
|
133
|
+
| GC loop exceeded (3 rounds) | Accept current coverage, log to wisdom, proceed |
|
|
134
|
+
| Coverage tool unavailable | Degrade to pass rate judgment |
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
role: executor
|
|
3
|
+
prefix: TESTRUN
|
|
4
|
+
inner_loop: true
|
|
5
|
+
message_types:
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Test Executor
|
|
9
|
+
|
|
10
|
+
Execute tests, collect coverage, attempt auto-fix for failures. Acts as the Critic in the Generator-Critic loop. Reports pass rate and coverage for coordinator GC decisions.
|
|
11
|
+
|
|
12
|
+
## Phase 2: Context Loading
|
|
13
|
+
|
|
14
|
+
| Input | Source | Required |
|
|
15
|
+
|-------|--------|----------|
|
|
16
|
+
| Task description | From task subject/description | Yes |
|
|
17
|
+
| Session path | Extracted from task description | Yes |
|
|
18
|
+
| Test directory | Task description (Input: <path>) | Yes |
|
|
19
|
+
| Coverage target | Task description (default: 80%) | Yes |
|
|
20
|
+
| .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
|
|
21
|
+
|
|
22
|
+
1. Extract session path and test directory from task description
|
|
23
|
+
2. Load test specs: Run `ccw spec load --category test` for test framework conventions and coverage targets
|
|
24
|
+
3. Extract coverage target (default: 80%)
|
|
25
|
+
3. Read .msg/meta.json for framework info (from strategist namespace)
|
|
26
|
+
4. Determine test framework:
|
|
27
|
+
|
|
28
|
+
| Framework | Run Command |
|
|
29
|
+
|-----------|-------------|
|
|
30
|
+
| Jest | `npx jest --coverage --json --outputFile=<session>/results/jest-output.json` |
|
|
31
|
+
| Pytest | `python -m pytest --cov --cov-report=json:<session>/results/coverage.json -v` |
|
|
32
|
+
| Vitest | `npx vitest run --coverage --reporter=json` |
|
|
33
|
+
|
|
34
|
+
5. Find test files to execute:
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
grep_search("<session>/<test-dir>/**/*")
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Phase 3: Test Execution + Fix Cycle
|
|
41
|
+
|
|
42
|
+
**Iterative test-fix cycle** (max 3 iterations):
|
|
43
|
+
|
|
44
|
+
| Step | Action |
|
|
45
|
+
|------|--------|
|
|
46
|
+
| 1 | Run test command |
|
|
47
|
+
| 2 | Parse results: pass rate + coverage |
|
|
48
|
+
| 3 | pass_rate >= 0.95 AND coverage >= target -> success, exit |
|
|
49
|
+
| 4 | Extract failing test details |
|
|
50
|
+
| 5 | Delegate fix to CLI tool (gemini write mode) |
|
|
51
|
+
| 6 | Increment iteration; >= 3 -> exit with failures |
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
run_command("<test-command> 2>&1 || true")
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
**Auto-fix delegation** (on failure):
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
run_command({
|
|
61
|
+
command: `maestro delegate "PURPOSE: Fix test failures to achieve pass rate >= 0.95; success = all tests pass
|
|
62
|
+
TASK: • Analyze test failure output • Identify root causes • Fix test code only (not source) • Preserve test intent
|
|
63
|
+
MODE: write
|
|
64
|
+
CONTEXT: @<session>/<test-dir>/**/* | Memory: Test framework: <framework>, iteration <N>/3
|
|
65
|
+
EXPECTED: Fixed test files with: corrected assertions, proper async handling, fixed imports, maintained coverage
|
|
66
|
+
CONSTRAINTS: Only modify test files | Preserve test structure | No source code changes
|
|
67
|
+
Test failures:
|
|
68
|
+
<test-output>" --tool gemini --mode write --cd <session>`,
|
|
69
|
+
run_in_background: false
|
|
70
|
+
})
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Save results**: `<session>/results/run-<N>.json`
|
|
74
|
+
|
|
75
|
+
## Phase 4: Defect Pattern Extraction & State Update
|
|
76
|
+
|
|
77
|
+
**Extract defect patterns from failures**:
|
|
78
|
+
|
|
79
|
+
| Pattern Type | Detection Keywords |
|
|
80
|
+
|--------------|-------------------|
|
|
81
|
+
| Null reference | "null", "undefined", "Cannot read property" |
|
|
82
|
+
| Async timing | "timeout", "async", "await", "promise" |
|
|
83
|
+
| Import errors | "Cannot find module", "import" |
|
|
84
|
+
| Type mismatches | "type", "expected", "received" |
|
|
85
|
+
|
|
86
|
+
**Record effective test patterns** (if pass_rate > 0.8):
|
|
87
|
+
|
|
88
|
+
| Pattern | Detection |
|
|
89
|
+
|---------|-----------|
|
|
90
|
+
| Happy path | "should succeed", "valid input" |
|
|
91
|
+
| Edge cases | "edge", "boundary", "limit" |
|
|
92
|
+
| Error handling | "should fail", "error", "throw" |
|
|
93
|
+
|
|
94
|
+
Update `<session>/wisdom/.msg/meta.json` under `executor` namespace:
|
|
95
|
+
- Merge `{ "executor": { pass_rate, coverage, defect_patterns, effective_patterns, coverage_history_entry } }`
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
role: generator
|
|
3
|
+
prefix: TESTGEN
|
|
4
|
+
inner_loop: true
|
|
5
|
+
message_types:
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Test Generator
|
|
9
|
+
|
|
10
|
+
Generate test code by layer (L1 unit / L2 integration / L3 E2E). Acts as the Generator in the Generator-Critic loop. Supports revision mode for GC loop iterations.
|
|
11
|
+
|
|
12
|
+
## Phase 2: Context Loading
|
|
13
|
+
|
|
14
|
+
| Input | Source | Required |
|
|
15
|
+
|-------|--------|----------|
|
|
16
|
+
| Task description | From task subject/description | Yes |
|
|
17
|
+
| Session path | Extracted from task description | Yes |
|
|
18
|
+
| Test strategy | <session>/strategy/test-strategy.md | Yes |
|
|
19
|
+
| .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
|
|
20
|
+
|
|
21
|
+
1. Extract session path and layer from task description
|
|
22
|
+
2. Load test specs: Run `ccw spec load --category test` for test framework conventions and coverage targets
|
|
23
|
+
3. Read test strategy:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
view_file("<session>/strategy/test-strategy.md")
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
3. Read source files to test (from strategy priority_files, limit 20)
|
|
30
|
+
4. Read .msg/meta.json for framework and scope context
|
|
31
|
+
|
|
32
|
+
5. Detect revision mode:
|
|
33
|
+
|
|
34
|
+
| Condition | Mode |
|
|
35
|
+
|-----------|------|
|
|
36
|
+
| Task subject contains "fix" or "revised" | Revision -- load previous failures |
|
|
37
|
+
| Otherwise | Fresh generation |
|
|
38
|
+
|
|
39
|
+
For revision mode:
|
|
40
|
+
- Read latest result file for failure details
|
|
41
|
+
- Read effective test patterns from .msg/meta.json
|
|
42
|
+
|
|
43
|
+
6. Read wisdom files if available
|
|
44
|
+
|
|
45
|
+
## Phase 3: Test Generation
|
|
46
|
+
|
|
47
|
+
**Strategy selection by complexity**:
|
|
48
|
+
|
|
49
|
+
| File Count | Strategy |
|
|
50
|
+
|------------|----------|
|
|
51
|
+
| <= 3 files | Direct: inline Write/Edit |
|
|
52
|
+
| 3-5 files | Single code-developer agent |
|
|
53
|
+
| > 5 files | Batch: group by module, one agent per batch |
|
|
54
|
+
|
|
55
|
+
**Direct generation** (per source file):
|
|
56
|
+
1. Generate test path: `<session>/tests/<layer>/<test-file>`
|
|
57
|
+
2. Generate test code: happy path, edge cases, error handling
|
|
58
|
+
3. Write test file
|
|
59
|
+
|
|
60
|
+
**CLI delegation** (medium/high complexity):
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
run_command({
|
|
64
|
+
command: `maestro delegate "PURPOSE: Generate <layer> tests using <framework> to achieve coverage target; success = all priority files covered with quality tests
|
|
65
|
+
TASK: • Analyze source files • Generate test cases (happy path, edge cases, errors) • Write test files with proper structure • Ensure import resolution
|
|
66
|
+
MODE: write
|
|
67
|
+
CONTEXT: @<source-files> @<session>/strategy/test-strategy.md | Memory: Framework: <framework>, Layer: <layer>, Round: <round>
|
|
68
|
+
<if-revision: Previous failures: <failure-details>
|
|
69
|
+
Effective patterns: <patterns-from-meta>>
|
|
70
|
+
EXPECTED: Test files in <session>/tests/<layer>/ with: proper test structure, comprehensive coverage, correct imports, framework conventions
|
|
71
|
+
CONSTRAINTS: Follow test strategy priorities | Use framework best practices | <layer>-appropriate assertions
|
|
72
|
+
Source files to test:
|
|
73
|
+
<file-list-with-content>" --tool gemini --mode write --cd <session>`,
|
|
74
|
+
run_in_background: false
|
|
75
|
+
})
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Output verification**:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
grep_search("<session>/tests/<layer>/**/*")
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Phase 4: Self-Validation & State Update
|
|
85
|
+
|
|
86
|
+
**Validation checks**:
|
|
87
|
+
|
|
88
|
+
| Check | Method | Action on Fail |
|
|
89
|
+
|-------|--------|----------------|
|
|
90
|
+
| Syntax | `tsc --noEmit` or equivalent | Auto-fix imports/types |
|
|
91
|
+
| File count | Count generated files | Report issue |
|
|
92
|
+
| Import resolution | Check broken imports | Fix import paths |
|
|
93
|
+
|
|
94
|
+
Update `<session>/wisdom/.msg/meta.json` under `generator` namespace:
|
|
95
|
+
- Merge `{ "generator": { test_files, layer, round, is_revision } }`
|