@josstei/maestro 1.6.4-rc.1
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/plugins/marketplace.json +20 -0
- package/CHANGELOG.md +485 -0
- package/EXAMPLES.md +255 -0
- package/GEMINI.md +231 -0
- package/LICENSE +201 -0
- package/QWEN.md +241 -0
- package/README.md +220 -0
- package/agents/accessibility_specialist.md +20 -0
- package/agents/analytics_engineer.md +22 -0
- package/agents/api_designer.md +19 -0
- package/agents/architect.md +19 -0
- package/agents/cloud_architect.md +19 -0
- package/agents/cobol_engineer.md +22 -0
- package/agents/code_reviewer.md +17 -0
- package/agents/coder.md +22 -0
- package/agents/compliance_reviewer.md +19 -0
- package/agents/content_strategist.md +19 -0
- package/agents/copywriter.md +19 -0
- package/agents/data_engineer.md +22 -0
- package/agents/database_administrator.md +21 -0
- package/agents/db2_dba.md +21 -0
- package/agents/debugger.md +19 -0
- package/agents/design_system_engineer.md +22 -0
- package/agents/devops_engineer.md +23 -0
- package/agents/hlasm_assembler_specialist.md +22 -0
- package/agents/i18n_specialist.md +21 -0
- package/agents/ibm_i_specialist.md +22 -0
- package/agents/integration_engineer.md +23 -0
- package/agents/ml_engineer.md +23 -0
- package/agents/mlops_engineer.md +23 -0
- package/agents/mobile_engineer.md +23 -0
- package/agents/observability_engineer.md +23 -0
- package/agents/performance_engineer.md +21 -0
- package/agents/platform_engineer.md +24 -0
- package/agents/product_manager.md +20 -0
- package/agents/prompt_engineer.md +22 -0
- package/agents/refactor.md +22 -0
- package/agents/release_manager.md +22 -0
- package/agents/security_engineer.md +21 -0
- package/agents/seo_specialist.md +21 -0
- package/agents/site_reliability_engineer.md +21 -0
- package/agents/solutions_architect.md +19 -0
- package/agents/technical_writer.md +21 -0
- package/agents/tester.md +23 -0
- package/agents/ux_designer.md +20 -0
- package/agents/zos_sysprog.md +21 -0
- package/bin/maestro-mcp-server.js +10 -0
- package/claude/.claude-plugin/plugin.json +21 -0
- package/claude/.mcp.json +11 -0
- package/claude/README.md +191 -0
- package/claude/agents/accessibility-specialist.md +36 -0
- package/claude/agents/analytics-engineer.md +38 -0
- package/claude/agents/api-designer.md +33 -0
- package/claude/agents/architect.md +33 -0
- package/claude/agents/cloud-architect.md +33 -0
- package/claude/agents/cobol-engineer.md +38 -0
- package/claude/agents/code-reviewer.md +31 -0
- package/claude/agents/coder.md +38 -0
- package/claude/agents/compliance-reviewer.md +33 -0
- package/claude/agents/content-strategist.md +33 -0
- package/claude/agents/copywriter.md +33 -0
- package/claude/agents/data-engineer.md +37 -0
- package/claude/agents/database-administrator.md +37 -0
- package/claude/agents/db2-dba.md +37 -0
- package/claude/agents/debugger.md +32 -0
- package/claude/agents/design-system-engineer.md +38 -0
- package/claude/agents/devops-engineer.md +39 -0
- package/claude/agents/hlasm-assembler-specialist.md +38 -0
- package/claude/agents/i18n-specialist.md +37 -0
- package/claude/agents/ibm-i-specialist.md +38 -0
- package/claude/agents/integration-engineer.md +39 -0
- package/claude/agents/ml-engineer.md +39 -0
- package/claude/agents/mlops-engineer.md +39 -0
- package/claude/agents/mobile-engineer.md +39 -0
- package/claude/agents/observability-engineer.md +39 -0
- package/claude/agents/performance-engineer.md +34 -0
- package/claude/agents/platform-engineer.md +40 -0
- package/claude/agents/product-manager.md +34 -0
- package/claude/agents/prompt-engineer.md +38 -0
- package/claude/agents/refactor.md +38 -0
- package/claude/agents/release-manager.md +38 -0
- package/claude/agents/security-engineer.md +37 -0
- package/claude/agents/seo-specialist.md +37 -0
- package/claude/agents/site-reliability-engineer.md +37 -0
- package/claude/agents/solutions-architect.md +33 -0
- package/claude/agents/technical-writer.md +37 -0
- package/claude/agents/tester.md +39 -0
- package/claude/agents/ux-designer.md +34 -0
- package/claude/agents/zos-sysprog.md +37 -0
- package/claude/hooks/claude-hooks.json +48 -0
- package/claude/mcp/maestro-server.js +9 -0
- package/claude/mcp-config.example.json +9 -0
- package/claude/scripts/adapters/claude-adapter.js +7 -0
- package/claude/scripts/hook-runner.js +8 -0
- package/claude/scripts/policy-enforcer.js +294 -0
- package/claude/skills/a11y-audit/SKILL.md +26 -0
- package/claude/skills/archive/SKILL.md +24 -0
- package/claude/skills/code-review/SKILL.md +7 -0
- package/claude/skills/compliance-check/SKILL.md +26 -0
- package/claude/skills/debug-workflow/SKILL.md +27 -0
- package/claude/skills/delegation/SKILL.md +7 -0
- package/claude/skills/design-dialogue/SKILL.md +7 -0
- package/claude/skills/execute/SKILL.md +38 -0
- package/claude/skills/execution/SKILL.md +7 -0
- package/claude/skills/implementation-planning/SKILL.md +7 -0
- package/claude/skills/orchestrate/SKILL.md +38 -0
- package/claude/skills/perf-check/SKILL.md +26 -0
- package/claude/skills/resume-session/SKILL.md +38 -0
- package/claude/skills/review-code/SKILL.md +27 -0
- package/claude/skills/security-audit/SKILL.md +28 -0
- package/claude/skills/seo-audit/SKILL.md +26 -0
- package/claude/skills/session-management/SKILL.md +7 -0
- package/claude/skills/status/SKILL.md +22 -0
- package/claude/skills/validation/SKILL.md +7 -0
- package/claude/src/agents/accessibility-specialist.md +163 -0
- package/claude/src/agents/analytics-engineer.md +182 -0
- package/claude/src/agents/api-designer.md +124 -0
- package/claude/src/agents/architect.md +120 -0
- package/claude/src/agents/cloud-architect.md +134 -0
- package/claude/src/agents/cobol-engineer.md +127 -0
- package/claude/src/agents/code-reviewer.md +123 -0
- package/claude/src/agents/coder.md +132 -0
- package/claude/src/agents/compliance-reviewer.md +219 -0
- package/claude/src/agents/content-strategist.md +111 -0
- package/claude/src/agents/copywriter.md +113 -0
- package/claude/src/agents/data-engineer.md +130 -0
- package/claude/src/agents/database-administrator.md +126 -0
- package/claude/src/agents/db2-dba.md +124 -0
- package/claude/src/agents/debugger.md +133 -0
- package/claude/src/agents/design-system-engineer.md +258 -0
- package/claude/src/agents/devops-engineer.md +138 -0
- package/claude/src/agents/hlasm-assembler-specialist.md +134 -0
- package/claude/src/agents/i18n-specialist.md +241 -0
- package/claude/src/agents/ibm-i-specialist.md +132 -0
- package/claude/src/agents/integration-engineer.md +133 -0
- package/claude/src/agents/ml-engineer.md +115 -0
- package/claude/src/agents/mlops-engineer.md +116 -0
- package/claude/src/agents/mobile-engineer.md +115 -0
- package/claude/src/agents/observability-engineer.md +133 -0
- package/claude/src/agents/performance-engineer.md +139 -0
- package/claude/src/agents/platform-engineer.md +129 -0
- package/claude/src/agents/product-manager.md +170 -0
- package/claude/src/agents/prompt-engineer.md +129 -0
- package/claude/src/agents/refactor.md +138 -0
- package/claude/src/agents/release-manager.md +132 -0
- package/claude/src/agents/security-engineer.md +143 -0
- package/claude/src/agents/seo-specialist.md +129 -0
- package/claude/src/agents/site-reliability-engineer.md +131 -0
- package/claude/src/agents/solutions-architect.md +137 -0
- package/claude/src/agents/technical-writer.md +129 -0
- package/claude/src/agents/tester.md +135 -0
- package/claude/src/agents/ux-designer.md +168 -0
- package/claude/src/agents/zos-sysprog.md +134 -0
- package/claude/src/config/setting-resolver.js +32 -0
- package/claude/src/core/agent-registry.js +67 -0
- package/claude/src/core/canonical-source.js +39 -0
- package/claude/src/core/env-file-parser.js +82 -0
- package/claude/src/core/feature-blocks.js +34 -0
- package/claude/src/core/logger.js +12 -0
- package/claude/src/core/markdown-state.js +36 -0
- package/claude/src/core/policy-rules.js +32 -0
- package/claude/src/core/project-root-resolver.js +184 -0
- package/claude/src/core/stdin-reader.js +77 -0
- package/claude/src/core/version.js +50 -0
- package/claude/src/entry-points/core-command-registry.js +37 -0
- package/claude/src/entry-points/preamble-builders.js +54 -0
- package/claude/src/entry-points/registry.js +199 -0
- package/claude/src/entry-points/templates/claude-core-command.md.tmpl +38 -0
- package/claude/src/entry-points/templates/claude-skill.md.tmpl +18 -0
- package/claude/src/entry-points/templates/codex-core-command.md.tmpl +16 -0
- package/claude/src/entry-points/templates/codex-skill.md.tmpl +11 -0
- package/claude/src/entry-points/templates/gemini-command.toml.tmpl +17 -0
- package/claude/src/entry-points/templates/gemini-core-command.toml.tmpl +30 -0
- package/claude/src/generated/agent-registry.json +630 -0
- package/claude/src/generated/hook-registry.json +18 -0
- package/claude/src/generated/resource-registry.json +16 -0
- package/claude/src/hooks/logic/after-agent-logic.js +54 -0
- package/claude/src/hooks/logic/before-agent-logic.js +57 -0
- package/claude/src/hooks/logic/hook-state.js +127 -0
- package/claude/src/hooks/logic/session-end-logic.js +17 -0
- package/claude/src/hooks/logic/session-start-logic.js +25 -0
- package/claude/src/lib/discovery/index.js +172 -0
- package/claude/src/lib/errors/index.js +104 -0
- package/claude/src/lib/framework-detection.js +50 -0
- package/claude/src/lib/frontmatter/index.js +262 -0
- package/claude/src/lib/io/index.js +96 -0
- package/claude/src/lib/naming/index.js +94 -0
- package/claude/src/lib/validation/index.js +124 -0
- package/claude/src/lib/yaml-emit.js +38 -0
- package/claude/src/mcp/content/provider.js +68 -0
- package/claude/src/mcp/content/runtime-content.js +188 -0
- package/claude/src/mcp/contracts/cache-path-rejector.js +39 -0
- package/claude/src/mcp/contracts/downstream-context.js +106 -0
- package/claude/src/mcp/contracts/plan-schema.js +148 -0
- package/claude/src/mcp/contracts/workspace-marker.js +61 -0
- package/claude/src/mcp/core/create-server.js +76 -0
- package/claude/src/mcp/core/line-reader.js +35 -0
- package/claude/src/mcp/core/project-root-cache.js +120 -0
- package/claude/src/mcp/core/protocol-dispatcher.js +274 -0
- package/claude/src/mcp/core/recovery-hints.js +43 -0
- package/claude/src/mcp/core/tool-outcome.js +77 -0
- package/claude/src/mcp/core/tool-registry.js +82 -0
- package/claude/src/mcp/handlers/assess-task-complexity.js +108 -0
- package/claude/src/mcp/handlers/blocker-parser.js +34 -0
- package/claude/src/mcp/handlers/design-gate.js +393 -0
- package/claude/src/mcp/handlers/get-agent.js +54 -0
- package/claude/src/mcp/handlers/get-runtime-context.js +49 -0
- package/claude/src/mcp/handlers/get-skill-content.js +51 -0
- package/claude/src/mcp/handlers/initialize-workspace.js +45 -0
- package/claude/src/mcp/handlers/reconciliation.js +224 -0
- package/claude/src/mcp/handlers/resolve-settings.js +39 -0
- package/claude/src/mcp/handlers/session-state-core.js +108 -0
- package/claude/src/mcp/handlers/session-state-tools.js +562 -0
- package/claude/src/mcp/handlers/validate-plan.js +76 -0
- package/claude/src/mcp/maestro-server.js +122 -0
- package/claude/src/mcp/runtime/runtime-config-map.js +70 -0
- package/claude/src/mcp/tool-packs/content/index.js +80 -0
- package/claude/src/mcp/tool-packs/contracts.js +30 -0
- package/claude/src/mcp/tool-packs/index.js +15 -0
- package/claude/src/mcp/tool-packs/session/index.js +243 -0
- package/claude/src/mcp/tool-packs/workspace/index.js +98 -0
- package/claude/src/mcp/utils/extension-root.js +31 -0
- package/claude/src/mcp/validation/agent-checker.js +81 -0
- package/claude/src/mcp/validation/dag-checker.js +214 -0
- package/claude/src/mcp/validation/file-overlap-checker.js +63 -0
- package/claude/src/mcp/validation/schema-checker.js +108 -0
- package/claude/src/platforms/claude/runtime-config.js +60 -0
- package/claude/src/platforms/shared/adapters/claude-adapter.js +36 -0
- package/claude/src/platforms/shared/adapters/conventions.js +29 -0
- package/claude/src/platforms/shared/adapters/exit-codes.js +6 -0
- package/claude/src/platforms/shared/adapters/factory.js +40 -0
- package/claude/src/platforms/shared/agent-names.js +10 -0
- package/claude/src/platforms/shared/hook-runner.js +52 -0
- package/claude/src/references/architecture.md +139 -0
- package/claude/src/references/orchestration-steps.md +193 -0
- package/claude/src/skills/shared/code-review/SKILL.md +145 -0
- package/claude/src/skills/shared/delegation/SKILL.md +370 -0
- package/claude/src/skills/shared/delegation/protocols/agent-base-protocol.md +145 -0
- package/claude/src/skills/shared/delegation/protocols/filesystem-safety-protocol.md +31 -0
- package/claude/src/skills/shared/design-dialogue/SKILL.md +284 -0
- package/claude/src/skills/shared/execution/SKILL.md +258 -0
- package/claude/src/skills/shared/implementation-planning/SKILL.md +303 -0
- package/claude/src/skills/shared/session-management/SKILL.md +314 -0
- package/claude/src/skills/shared/validation/SKILL.md +204 -0
- package/claude/src/state/session-state.js +113 -0
- package/claude/src/templates/design-document.md +95 -0
- package/claude/src/templates/implementation-plan.md +86 -0
- package/claude/src/templates/session-state.md +68 -0
- package/claude/src/version.json +3 -0
- package/commands/maestro/a11y-audit.toml +22 -0
- package/commands/maestro/archive.toml +23 -0
- package/commands/maestro/compliance-check.toml +22 -0
- package/commands/maestro/debug.toml +23 -0
- package/commands/maestro/execute.toml +30 -0
- package/commands/maestro/orchestrate.toml +30 -0
- package/commands/maestro/perf-check.toml +22 -0
- package/commands/maestro/resume.toml +38 -0
- package/commands/maestro/review.toml +23 -0
- package/commands/maestro/security-audit.toml +24 -0
- package/commands/maestro/seo-audit.toml +22 -0
- package/commands/maestro/status.toml +21 -0
- package/docs/architecture.md +310 -0
- package/docs/cicd.md +647 -0
- package/docs/flow.md +255 -0
- package/docs/maestro-cheatsheet.md +199 -0
- package/docs/overview.md +141 -0
- package/docs/runtime-claude.md +190 -0
- package/docs/runtime-codex.md +197 -0
- package/docs/runtime-gemini.md +170 -0
- package/docs/runtime-qwen.md +147 -0
- package/docs/usage.md +312 -0
- package/gemini-extension.json +55 -0
- package/hooks/adapters/gemini-adapter.js +2 -0
- package/hooks/adapters/qwen-adapter.js +2 -0
- package/hooks/hook-runner.js +3 -0
- package/hooks/hooks.json +56 -0
- package/mcp/maestro-server.js +4 -0
- package/package.json +93 -0
- package/plugins/maestro/.app.json +3 -0
- package/plugins/maestro/.codex-plugin/plugin.json +41 -0
- package/plugins/maestro/.mcp.json +16 -0
- package/plugins/maestro/README.md +57 -0
- package/plugins/maestro/references/runtime-guide.md +125 -0
- package/plugins/maestro/skills/a11y-audit/SKILL.md +16 -0
- package/plugins/maestro/skills/archive/SKILL.md +16 -0
- package/plugins/maestro/skills/code-review/SKILL.md +6 -0
- package/plugins/maestro/skills/compliance-check/SKILL.md +16 -0
- package/plugins/maestro/skills/debug-workflow/SKILL.md +16 -0
- package/plugins/maestro/skills/delegation/SKILL.md +6 -0
- package/plugins/maestro/skills/design-dialogue/SKILL.md +6 -0
- package/plugins/maestro/skills/execute/SKILL.md +16 -0
- package/plugins/maestro/skills/execution/SKILL.md +6 -0
- package/plugins/maestro/skills/implementation-planning/SKILL.md +6 -0
- package/plugins/maestro/skills/orchestrate/SKILL.md +16 -0
- package/plugins/maestro/skills/perf-check/SKILL.md +16 -0
- package/plugins/maestro/skills/resume-session/SKILL.md +16 -0
- package/plugins/maestro/skills/review-code/SKILL.md +16 -0
- package/plugins/maestro/skills/security-audit/SKILL.md +16 -0
- package/plugins/maestro/skills/seo-audit/SKILL.md +16 -0
- package/plugins/maestro/skills/session-management/SKILL.md +6 -0
- package/plugins/maestro/skills/status/SKILL.md +14 -0
- package/plugins/maestro/skills/validation/SKILL.md +6 -0
- package/plugins/maestro/src/agents/accessibility-specialist.md +163 -0
- package/plugins/maestro/src/agents/analytics-engineer.md +182 -0
- package/plugins/maestro/src/agents/api-designer.md +124 -0
- package/plugins/maestro/src/agents/architect.md +120 -0
- package/plugins/maestro/src/agents/cloud-architect.md +134 -0
- package/plugins/maestro/src/agents/cobol-engineer.md +127 -0
- package/plugins/maestro/src/agents/code-reviewer.md +123 -0
- package/plugins/maestro/src/agents/coder.md +132 -0
- package/plugins/maestro/src/agents/compliance-reviewer.md +219 -0
- package/plugins/maestro/src/agents/content-strategist.md +111 -0
- package/plugins/maestro/src/agents/copywriter.md +113 -0
- package/plugins/maestro/src/agents/data-engineer.md +130 -0
- package/plugins/maestro/src/agents/database-administrator.md +126 -0
- package/plugins/maestro/src/agents/db2-dba.md +124 -0
- package/plugins/maestro/src/agents/debugger.md +133 -0
- package/plugins/maestro/src/agents/design-system-engineer.md +258 -0
- package/plugins/maestro/src/agents/devops-engineer.md +138 -0
- package/plugins/maestro/src/agents/hlasm-assembler-specialist.md +134 -0
- package/plugins/maestro/src/agents/i18n-specialist.md +241 -0
- package/plugins/maestro/src/agents/ibm-i-specialist.md +132 -0
- package/plugins/maestro/src/agents/integration-engineer.md +133 -0
- package/plugins/maestro/src/agents/ml-engineer.md +115 -0
- package/plugins/maestro/src/agents/mlops-engineer.md +116 -0
- package/plugins/maestro/src/agents/mobile-engineer.md +115 -0
- package/plugins/maestro/src/agents/observability-engineer.md +133 -0
- package/plugins/maestro/src/agents/performance-engineer.md +139 -0
- package/plugins/maestro/src/agents/platform-engineer.md +129 -0
- package/plugins/maestro/src/agents/product-manager.md +170 -0
- package/plugins/maestro/src/agents/prompt-engineer.md +129 -0
- package/plugins/maestro/src/agents/refactor.md +138 -0
- package/plugins/maestro/src/agents/release-manager.md +132 -0
- package/plugins/maestro/src/agents/security-engineer.md +143 -0
- package/plugins/maestro/src/agents/seo-specialist.md +129 -0
- package/plugins/maestro/src/agents/site-reliability-engineer.md +131 -0
- package/plugins/maestro/src/agents/solutions-architect.md +137 -0
- package/plugins/maestro/src/agents/technical-writer.md +129 -0
- package/plugins/maestro/src/agents/tester.md +135 -0
- package/plugins/maestro/src/agents/ux-designer.md +168 -0
- package/plugins/maestro/src/agents/zos-sysprog.md +134 -0
- package/plugins/maestro/src/config/setting-resolver.js +32 -0
- package/plugins/maestro/src/core/agent-registry.js +67 -0
- package/plugins/maestro/src/core/canonical-source.js +39 -0
- package/plugins/maestro/src/core/env-file-parser.js +82 -0
- package/plugins/maestro/src/core/feature-blocks.js +34 -0
- package/plugins/maestro/src/core/logger.js +12 -0
- package/plugins/maestro/src/core/markdown-state.js +36 -0
- package/plugins/maestro/src/core/policy-rules.js +32 -0
- package/plugins/maestro/src/core/project-root-resolver.js +184 -0
- package/plugins/maestro/src/core/stdin-reader.js +77 -0
- package/plugins/maestro/src/core/version.js +50 -0
- package/plugins/maestro/src/entry-points/core-command-registry.js +37 -0
- package/plugins/maestro/src/entry-points/preamble-builders.js +54 -0
- package/plugins/maestro/src/entry-points/registry.js +199 -0
- package/plugins/maestro/src/entry-points/templates/claude-core-command.md.tmpl +38 -0
- package/plugins/maestro/src/entry-points/templates/claude-skill.md.tmpl +18 -0
- package/plugins/maestro/src/entry-points/templates/codex-core-command.md.tmpl +16 -0
- package/plugins/maestro/src/entry-points/templates/codex-skill.md.tmpl +11 -0
- package/plugins/maestro/src/entry-points/templates/gemini-command.toml.tmpl +17 -0
- package/plugins/maestro/src/entry-points/templates/gemini-core-command.toml.tmpl +30 -0
- package/plugins/maestro/src/generated/agent-registry.json +630 -0
- package/plugins/maestro/src/generated/hook-registry.json +18 -0
- package/plugins/maestro/src/generated/resource-registry.json +16 -0
- package/plugins/maestro/src/hooks/logic/after-agent-logic.js +54 -0
- package/plugins/maestro/src/hooks/logic/before-agent-logic.js +57 -0
- package/plugins/maestro/src/hooks/logic/hook-state.js +127 -0
- package/plugins/maestro/src/hooks/logic/session-end-logic.js +17 -0
- package/plugins/maestro/src/hooks/logic/session-start-logic.js +25 -0
- package/plugins/maestro/src/lib/discovery/index.js +172 -0
- package/plugins/maestro/src/lib/errors/index.js +104 -0
- package/plugins/maestro/src/lib/framework-detection.js +50 -0
- package/plugins/maestro/src/lib/frontmatter/index.js +262 -0
- package/plugins/maestro/src/lib/io/index.js +96 -0
- package/plugins/maestro/src/lib/naming/index.js +94 -0
- package/plugins/maestro/src/lib/validation/index.js +124 -0
- package/plugins/maestro/src/lib/yaml-emit.js +38 -0
- package/plugins/maestro/src/mcp/content/provider.js +68 -0
- package/plugins/maestro/src/mcp/content/runtime-content.js +188 -0
- package/plugins/maestro/src/mcp/contracts/cache-path-rejector.js +39 -0
- package/plugins/maestro/src/mcp/contracts/downstream-context.js +106 -0
- package/plugins/maestro/src/mcp/contracts/plan-schema.js +148 -0
- package/plugins/maestro/src/mcp/contracts/workspace-marker.js +61 -0
- package/plugins/maestro/src/mcp/core/create-server.js +76 -0
- package/plugins/maestro/src/mcp/core/line-reader.js +35 -0
- package/plugins/maestro/src/mcp/core/project-root-cache.js +120 -0
- package/plugins/maestro/src/mcp/core/protocol-dispatcher.js +274 -0
- package/plugins/maestro/src/mcp/core/recovery-hints.js +43 -0
- package/plugins/maestro/src/mcp/core/tool-outcome.js +77 -0
- package/plugins/maestro/src/mcp/core/tool-registry.js +82 -0
- package/plugins/maestro/src/mcp/handlers/assess-task-complexity.js +108 -0
- package/plugins/maestro/src/mcp/handlers/blocker-parser.js +34 -0
- package/plugins/maestro/src/mcp/handlers/design-gate.js +393 -0
- package/plugins/maestro/src/mcp/handlers/get-agent.js +54 -0
- package/plugins/maestro/src/mcp/handlers/get-runtime-context.js +49 -0
- package/plugins/maestro/src/mcp/handlers/get-skill-content.js +51 -0
- package/plugins/maestro/src/mcp/handlers/initialize-workspace.js +45 -0
- package/plugins/maestro/src/mcp/handlers/reconciliation.js +224 -0
- package/plugins/maestro/src/mcp/handlers/resolve-settings.js +39 -0
- package/plugins/maestro/src/mcp/handlers/session-state-core.js +108 -0
- package/plugins/maestro/src/mcp/handlers/session-state-tools.js +562 -0
- package/plugins/maestro/src/mcp/handlers/validate-plan.js +76 -0
- package/plugins/maestro/src/mcp/maestro-server.js +122 -0
- package/plugins/maestro/src/mcp/runtime/runtime-config-map.js +70 -0
- package/plugins/maestro/src/mcp/tool-packs/content/index.js +80 -0
- package/plugins/maestro/src/mcp/tool-packs/contracts.js +30 -0
- package/plugins/maestro/src/mcp/tool-packs/index.js +15 -0
- package/plugins/maestro/src/mcp/tool-packs/session/index.js +243 -0
- package/plugins/maestro/src/mcp/tool-packs/workspace/index.js +98 -0
- package/plugins/maestro/src/mcp/utils/extension-root.js +31 -0
- package/plugins/maestro/src/mcp/validation/agent-checker.js +81 -0
- package/plugins/maestro/src/mcp/validation/dag-checker.js +214 -0
- package/plugins/maestro/src/mcp/validation/file-overlap-checker.js +63 -0
- package/plugins/maestro/src/mcp/validation/schema-checker.js +108 -0
- package/plugins/maestro/src/platforms/codex/runtime-config.js +58 -0
- package/plugins/maestro/src/platforms/shared/adapters/conventions.js +29 -0
- package/plugins/maestro/src/platforms/shared/adapters/exit-codes.js +6 -0
- package/plugins/maestro/src/platforms/shared/adapters/factory.js +40 -0
- package/plugins/maestro/src/platforms/shared/agent-names.js +10 -0
- package/plugins/maestro/src/platforms/shared/hook-runner.js +52 -0
- package/plugins/maestro/src/references/architecture.md +139 -0
- package/plugins/maestro/src/references/orchestration-steps.md +193 -0
- package/plugins/maestro/src/skills/shared/code-review/SKILL.md +145 -0
- package/plugins/maestro/src/skills/shared/delegation/SKILL.md +370 -0
- package/plugins/maestro/src/skills/shared/delegation/protocols/agent-base-protocol.md +145 -0
- package/plugins/maestro/src/skills/shared/delegation/protocols/filesystem-safety-protocol.md +31 -0
- package/plugins/maestro/src/skills/shared/design-dialogue/SKILL.md +284 -0
- package/plugins/maestro/src/skills/shared/execution/SKILL.md +258 -0
- package/plugins/maestro/src/skills/shared/implementation-planning/SKILL.md +303 -0
- package/plugins/maestro/src/skills/shared/session-management/SKILL.md +314 -0
- package/plugins/maestro/src/skills/shared/validation/SKILL.md +204 -0
- package/plugins/maestro/src/state/session-state.js +113 -0
- package/plugins/maestro/src/templates/design-document.md +95 -0
- package/plugins/maestro/src/templates/implementation-plan.md +86 -0
- package/plugins/maestro/src/templates/session-state.md +68 -0
- package/plugins/maestro/src/version.json +3 -0
- package/policies/maestro.toml +44 -0
- package/qwen/agents/accessibility_specialist.md +18 -0
- package/qwen/agents/analytics_engineer.md +20 -0
- package/qwen/agents/api_designer.md +17 -0
- package/qwen/agents/architect.md +17 -0
- package/qwen/agents/cloud_architect.md +17 -0
- package/qwen/agents/cobol_engineer.md +20 -0
- package/qwen/agents/code_reviewer.md +15 -0
- package/qwen/agents/coder.md +20 -0
- package/qwen/agents/compliance_reviewer.md +17 -0
- package/qwen/agents/content_strategist.md +17 -0
- package/qwen/agents/copywriter.md +17 -0
- package/qwen/agents/data_engineer.md +20 -0
- package/qwen/agents/database_administrator.md +19 -0
- package/qwen/agents/db2_dba.md +19 -0
- package/qwen/agents/debugger.md +17 -0
- package/qwen/agents/design_system_engineer.md +20 -0
- package/qwen/agents/devops_engineer.md +21 -0
- package/qwen/agents/hlasm_assembler_specialist.md +20 -0
- package/qwen/agents/i18n_specialist.md +19 -0
- package/qwen/agents/ibm_i_specialist.md +20 -0
- package/qwen/agents/integration_engineer.md +21 -0
- package/qwen/agents/ml_engineer.md +21 -0
- package/qwen/agents/mlops_engineer.md +21 -0
- package/qwen/agents/mobile_engineer.md +21 -0
- package/qwen/agents/observability_engineer.md +21 -0
- package/qwen/agents/performance_engineer.md +19 -0
- package/qwen/agents/platform_engineer.md +22 -0
- package/qwen/agents/product_manager.md +18 -0
- package/qwen/agents/prompt_engineer.md +20 -0
- package/qwen/agents/refactor.md +20 -0
- package/qwen/agents/release_manager.md +20 -0
- package/qwen/agents/security_engineer.md +19 -0
- package/qwen/agents/seo_specialist.md +19 -0
- package/qwen/agents/site_reliability_engineer.md +19 -0
- package/qwen/agents/solutions_architect.md +17 -0
- package/qwen/agents/technical_writer.md +19 -0
- package/qwen/agents/tester.md +21 -0
- package/qwen/agents/ux_designer.md +18 -0
- package/qwen/agents/zos_sysprog.md +19 -0
- package/qwen/hooks.json +56 -0
- package/qwen-extension.json +55 -0
- package/scripts/check-layer-boundaries.js +74 -0
- package/scripts/generate.js +155 -0
- package/scripts/install-codex-plugin.js +167 -0
- package/scripts/install-git-hooks.js +43 -0
- package/scripts/npm-publish-idempotent.js +150 -0
- package/scripts/package-release-artifacts.js +156 -0
- package/scripts/release-artifact-manifest.js +378 -0
- package/scripts/release-version-metadata.js +129 -0
- package/scripts/update-versions.js +33 -0
- package/scripts/verify-npm-pack.js +85 -0
- package/scripts/verify-release-artifacts.js +95 -0
- package/src/agents/accessibility-specialist.md +163 -0
- package/src/agents/analytics-engineer.md +182 -0
- package/src/agents/api-designer.md +124 -0
- package/src/agents/architect.md +120 -0
- package/src/agents/cloud-architect.md +134 -0
- package/src/agents/cobol-engineer.md +127 -0
- package/src/agents/code-reviewer.md +123 -0
- package/src/agents/coder.md +132 -0
- package/src/agents/compliance-reviewer.md +219 -0
- package/src/agents/content-strategist.md +111 -0
- package/src/agents/copywriter.md +113 -0
- package/src/agents/data-engineer.md +130 -0
- package/src/agents/database-administrator.md +126 -0
- package/src/agents/db2-dba.md +124 -0
- package/src/agents/debugger.md +133 -0
- package/src/agents/design-system-engineer.md +258 -0
- package/src/agents/devops-engineer.md +138 -0
- package/src/agents/hlasm-assembler-specialist.md +134 -0
- package/src/agents/i18n-specialist.md +241 -0
- package/src/agents/ibm-i-specialist.md +132 -0
- package/src/agents/integration-engineer.md +133 -0
- package/src/agents/ml-engineer.md +115 -0
- package/src/agents/mlops-engineer.md +116 -0
- package/src/agents/mobile-engineer.md +115 -0
- package/src/agents/observability-engineer.md +133 -0
- package/src/agents/performance-engineer.md +139 -0
- package/src/agents/platform-engineer.md +129 -0
- package/src/agents/product-manager.md +170 -0
- package/src/agents/prompt-engineer.md +129 -0
- package/src/agents/refactor.md +138 -0
- package/src/agents/release-manager.md +132 -0
- package/src/agents/security-engineer.md +143 -0
- package/src/agents/seo-specialist.md +129 -0
- package/src/agents/site-reliability-engineer.md +131 -0
- package/src/agents/solutions-architect.md +137 -0
- package/src/agents/technical-writer.md +129 -0
- package/src/agents/tester.md +135 -0
- package/src/agents/ux-designer.md +168 -0
- package/src/agents/zos-sysprog.md +134 -0
- package/src/config/setting-resolver.js +32 -0
- package/src/core/agent-registry.js +67 -0
- package/src/core/canonical-source.js +39 -0
- package/src/core/env-file-parser.js +82 -0
- package/src/core/feature-blocks.js +34 -0
- package/src/core/logger.js +12 -0
- package/src/core/markdown-state.js +36 -0
- package/src/core/policy-rules.js +32 -0
- package/src/core/project-root-resolver.js +184 -0
- package/src/core/stdin-reader.js +77 -0
- package/src/core/version.js +50 -0
- package/src/entry-points/core-command-registry.js +37 -0
- package/src/entry-points/preamble-builders.js +54 -0
- package/src/entry-points/registry.js +199 -0
- package/src/entry-points/templates/claude-core-command.md.tmpl +38 -0
- package/src/entry-points/templates/claude-skill.md.tmpl +18 -0
- package/src/entry-points/templates/codex-core-command.md.tmpl +16 -0
- package/src/entry-points/templates/codex-skill.md.tmpl +11 -0
- package/src/entry-points/templates/gemini-command.toml.tmpl +17 -0
- package/src/entry-points/templates/gemini-core-command.toml.tmpl +30 -0
- package/src/generated/agent-registry.json +630 -0
- package/src/generated/hook-registry.json +18 -0
- package/src/generated/resource-registry.json +16 -0
- package/src/generator/entry-point-expander.js +182 -0
- package/src/generator/file-writer.js +167 -0
- package/src/generator/generation-session.js +62 -0
- package/src/generator/manifest-curator.js +31 -0
- package/src/generator/manifest-expander.js +256 -0
- package/src/generator/payload-builder.js +217 -0
- package/src/generator/registry-scanner.js +130 -0
- package/src/generator/stale-pruner.js +101 -0
- package/src/hooks/logic/after-agent-logic.js +54 -0
- package/src/hooks/logic/before-agent-logic.js +57 -0
- package/src/hooks/logic/hook-state.js +127 -0
- package/src/hooks/logic/session-end-logic.js +17 -0
- package/src/hooks/logic/session-start-logic.js +25 -0
- package/src/lib/discovery/index.js +172 -0
- package/src/lib/errors/index.js +104 -0
- package/src/lib/framework-detection.js +50 -0
- package/src/lib/frontmatter/index.js +262 -0
- package/src/lib/io/index.js +96 -0
- package/src/lib/naming/index.js +94 -0
- package/src/lib/validation/index.js +124 -0
- package/src/lib/yaml-emit.js +38 -0
- package/src/manifest.js +11 -0
- package/src/mcp/content/provider.js +68 -0
- package/src/mcp/content/runtime-content.js +188 -0
- package/src/mcp/contracts/cache-path-rejector.js +39 -0
- package/src/mcp/contracts/downstream-context.js +106 -0
- package/src/mcp/contracts/plan-schema.js +148 -0
- package/src/mcp/contracts/workspace-marker.js +61 -0
- package/src/mcp/core/create-server.js +76 -0
- package/src/mcp/core/line-reader.js +35 -0
- package/src/mcp/core/project-root-cache.js +120 -0
- package/src/mcp/core/protocol-dispatcher.js +274 -0
- package/src/mcp/core/recovery-hints.js +43 -0
- package/src/mcp/core/tool-outcome.js +77 -0
- package/src/mcp/core/tool-registry.js +82 -0
- package/src/mcp/handlers/assess-task-complexity.js +108 -0
- package/src/mcp/handlers/blocker-parser.js +34 -0
- package/src/mcp/handlers/design-gate.js +393 -0
- package/src/mcp/handlers/get-agent.js +54 -0
- package/src/mcp/handlers/get-runtime-context.js +49 -0
- package/src/mcp/handlers/get-skill-content.js +51 -0
- package/src/mcp/handlers/initialize-workspace.js +45 -0
- package/src/mcp/handlers/reconciliation.js +224 -0
- package/src/mcp/handlers/resolve-settings.js +39 -0
- package/src/mcp/handlers/session-state-core.js +108 -0
- package/src/mcp/handlers/session-state-tools.js +562 -0
- package/src/mcp/handlers/validate-plan.js +76 -0
- package/src/mcp/maestro-server.js +122 -0
- package/src/mcp/runtime/runtime-config-map.js +70 -0
- package/src/mcp/tool-packs/content/index.js +80 -0
- package/src/mcp/tool-packs/contracts.js +30 -0
- package/src/mcp/tool-packs/index.js +15 -0
- package/src/mcp/tool-packs/session/index.js +243 -0
- package/src/mcp/tool-packs/workspace/index.js +98 -0
- package/src/mcp/utils/extension-root.js +31 -0
- package/src/mcp/validation/agent-checker.js +81 -0
- package/src/mcp/validation/dag-checker.js +214 -0
- package/src/mcp/validation/file-overlap-checker.js +63 -0
- package/src/mcp/validation/schema-checker.js +108 -0
- package/src/platforms/claude/metadata.js +96 -0
- package/src/platforms/claude/runtime-config.js +60 -0
- package/src/platforms/codex/metadata.js +107 -0
- package/src/platforms/codex/runtime-config.js +58 -0
- package/src/platforms/gemini/metadata.js +27 -0
- package/src/platforms/gemini/runtime-config.js +62 -0
- package/src/platforms/metadata-shared.js +131 -0
- package/src/platforms/metadata.js +29 -0
- package/src/platforms/qwen/metadata.js +27 -0
- package/src/platforms/qwen/runtime-config.js +62 -0
- package/src/platforms/shared/adapters/claude-adapter.js +36 -0
- package/src/platforms/shared/adapters/conventions.js +29 -0
- package/src/platforms/shared/adapters/exit-codes.js +6 -0
- package/src/platforms/shared/adapters/factory.js +40 -0
- package/src/platforms/shared/adapters/gemini-adapter.js +34 -0
- package/src/platforms/shared/adapters/qwen-adapter.js +93 -0
- package/src/platforms/shared/agent-names.js +10 -0
- package/src/platforms/shared/hook-runner.js +52 -0
- package/src/references/architecture.md +139 -0
- package/src/references/orchestration-steps.md +193 -0
- package/src/scripts/ensure-workspace.js +14 -0
- package/src/scripts/read-active-session.js +26 -0
- package/src/scripts/read-setting.js +18 -0
- package/src/scripts/read-state.js +17 -0
- package/src/scripts/write-state.js +22 -0
- package/src/skills/shared/code-review/SKILL.md +145 -0
- package/src/skills/shared/delegation/SKILL.md +370 -0
- package/src/skills/shared/delegation/protocols/agent-base-protocol.md +145 -0
- package/src/skills/shared/delegation/protocols/filesystem-safety-protocol.md +31 -0
- package/src/skills/shared/design-dialogue/SKILL.md +284 -0
- package/src/skills/shared/execution/SKILL.md +258 -0
- package/src/skills/shared/implementation-planning/SKILL.md +303 -0
- package/src/skills/shared/session-management/SKILL.md +314 -0
- package/src/skills/shared/validation/SKILL.md +204 -0
- package/src/state/session-state.js +113 -0
- package/src/templates/design-document.md +95 -0
- package/src/templates/implementation-plan.md +86 -0
- package/src/templates/session-state.md +68 -0
- package/src/transforms/agent-stub.js +29 -0
- package/src/transforms/extract-examples.js +63 -0
- package/src/transforms/index.js +35 -0
- package/src/transforms/parse-frontmatter.js +23 -0
- package/src/transforms/rebuild-frontmatter.js +147 -0
- package/src/transforms/skill-discovery-stub.js +27 -0
- package/src/transforms/skill-metadata.js +14 -0
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: validation
|
|
3
|
+
description: Cross-cutting validation methodology for verifying phase outputs and project integrity
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Validation Skill
|
|
7
|
+
|
|
8
|
+
Activate this skill when validating phase outputs during orchestration execution or when running standalone validation checks. This skill provides the pipeline, heuristics, and interpretation rules for verifying that changes meet quality standards.
|
|
9
|
+
|
|
10
|
+
## Validation Pipeline
|
|
11
|
+
|
|
12
|
+
Execute validation steps in this order. Stop on the first blocking failure unless the user explicitly requests continuing.
|
|
13
|
+
|
|
14
|
+
### Step 1: Build / Compile
|
|
15
|
+
Verify the project compiles without errors.
|
|
16
|
+
|
|
17
|
+
| Project Type | Command |
|
|
18
|
+
|-------------|---------|
|
|
19
|
+
| Node.js (TypeScript) | `npx tsc --noEmit` |
|
|
20
|
+
| Node.js (JavaScript) | N/A (skip) |
|
|
21
|
+
| Rust | `cargo build` |
|
|
22
|
+
| Go | `go build ./...` |
|
|
23
|
+
| Python | `python -m py_compile [files]` |
|
|
24
|
+
| Java (Maven) | `mvn compile` |
|
|
25
|
+
| Java (Gradle) | `./gradlew compileJava` |
|
|
26
|
+
|
|
27
|
+
### Step 2: Lint / Format
|
|
28
|
+
Verify code meets style and quality standards.
|
|
29
|
+
|
|
30
|
+
| Project Type | Command |
|
|
31
|
+
|-------------|---------|
|
|
32
|
+
| Node.js | `npx eslint . && npx prettier --check .` |
|
|
33
|
+
| Rust | `cargo clippy && cargo fmt --check` |
|
|
34
|
+
| Go | `go vet ./... && gofmt -l .` |
|
|
35
|
+
| Python | `ruff check . && ruff format --check .` |
|
|
36
|
+
| Java | `mvn checkstyle:check` or `./gradlew checkstyleMain` |
|
|
37
|
+
|
|
38
|
+
### Step 3: Unit Tests
|
|
39
|
+
Run unit tests to verify behavior preservation.
|
|
40
|
+
|
|
41
|
+
| Project Type | Command |
|
|
42
|
+
|-------------|---------|
|
|
43
|
+
| Node.js (Jest) | `npx jest` |
|
|
44
|
+
| Node.js (Vitest) | `npx vitest run` |
|
|
45
|
+
| Rust | `cargo test` |
|
|
46
|
+
| Go | `go test ./...` |
|
|
47
|
+
| Python (pytest) | `python -m pytest tests/` |
|
|
48
|
+
| Java (Maven) | `mvn test` |
|
|
49
|
+
| Java (Gradle) | `./gradlew test` |
|
|
50
|
+
|
|
51
|
+
### Step 4: Integration Tests
|
|
52
|
+
Run integration tests if available and applicable.
|
|
53
|
+
|
|
54
|
+
Detect integration test presence by looking for:
|
|
55
|
+
- `tests/integration/`, `test/integration/`, or `**/integration_test*` directories/files
|
|
56
|
+
- Test files with `integration` in the name
|
|
57
|
+
- Test scripts in package.json (e.g., `test:integration`)
|
|
58
|
+
|
|
59
|
+
### Step 5: Manual Verification
|
|
60
|
+
For changes that cannot be automatically validated, present a checklist to the user.
|
|
61
|
+
|
|
62
|
+
## Project Type Detection
|
|
63
|
+
|
|
64
|
+
Detect the project type by checking for the presence of these files in the project root:
|
|
65
|
+
|
|
66
|
+
| Indicator File | Project Type |
|
|
67
|
+
|---------------|-------------|
|
|
68
|
+
| `package.json` | Node.js (check for `typescript` dep for TS) |
|
|
69
|
+
| `Cargo.toml` | Rust |
|
|
70
|
+
| `go.mod` | Go |
|
|
71
|
+
| `pyproject.toml` or `setup.py` | Python |
|
|
72
|
+
| `pom.xml` | Java (Maven) |
|
|
73
|
+
| `build.gradle` or `build.gradle.kts` | Java (Gradle) |
|
|
74
|
+
| `Gemfile` | Ruby |
|
|
75
|
+
| `*.csproj` or `*.sln` | .NET |
|
|
76
|
+
|
|
77
|
+
When multiple indicators are present, validate each project type independently.
|
|
78
|
+
|
|
79
|
+
## Validation Result Interpretation
|
|
80
|
+
|
|
81
|
+
### Pass
|
|
82
|
+
All executed validation steps completed with exit code 0. No errors or warnings that indicate broken functionality.
|
|
83
|
+
|
|
84
|
+
### Fail (Blocking)
|
|
85
|
+
Any of the following constitute a blocking failure:
|
|
86
|
+
- Build/compile errors
|
|
87
|
+
- Lint errors (not warnings, unless the project treats warnings as errors)
|
|
88
|
+
- Test failures
|
|
89
|
+
- Type errors
|
|
90
|
+
|
|
91
|
+
### Warn (Non-Blocking)
|
|
92
|
+
The following are recorded but do not block progression:
|
|
93
|
+
- Lint warnings (when not configured as errors)
|
|
94
|
+
- Deprecation notices
|
|
95
|
+
- Coverage decreases (unless coverage threshold is configured)
|
|
96
|
+
- Format-only issues (can be auto-fixed)
|
|
97
|
+
|
|
98
|
+
## Validation Modes
|
|
99
|
+
|
|
100
|
+
The validation strictness is controlled by `MAESTRO_VALIDATION_STRICTNESS` (default: `normal`).
|
|
101
|
+
|
|
102
|
+
| Mode | Behavior |
|
|
103
|
+
|------|----------|
|
|
104
|
+
| `strict` | Warnings are treated as blocking failures. All lint warnings, deprecation notices, and coverage decreases block phase progression. |
|
|
105
|
+
| `normal` | Only errors block. Warnings are recorded but do not prevent phase completion. This is the default behavior described in the Pass/Fail/Warn sections above. |
|
|
106
|
+
| `lenient` | Nothing blocks automatically. All failures and warnings are recorded in session state and reported to the user, but phase progression continues. The user reviews the accumulated report at completion. |
|
|
107
|
+
|
|
108
|
+
### Strictness Application
|
|
109
|
+
|
|
110
|
+
When evaluating each validation step:
|
|
111
|
+
1. Run the validation command and capture the exit code and output
|
|
112
|
+
2. Classify the result as Pass, Fail (Blocking), or Warn (Non-Blocking) using the standard criteria above
|
|
113
|
+
3. Apply the strictness mode:
|
|
114
|
+
- `strict`: Fail (Blocking) AND Warn (Non-Blocking) both stop progression
|
|
115
|
+
- `normal`: Only Fail (Blocking) stops progression
|
|
116
|
+
- `lenient`: Record everything, stop nothing — append all results to session state and continue
|
|
117
|
+
4. If strictness causes a result to be downgraded from blocking to non-blocking, note this in the validation output: "Warning recorded but not blocking (lenient mode)"
|
|
118
|
+
|
|
119
|
+
## Post-Phase Validation
|
|
120
|
+
|
|
121
|
+
### When to Validate
|
|
122
|
+
Run validation after:
|
|
123
|
+
- Every phase that creates or modifies source code
|
|
124
|
+
- Every parallel batch completion (validate the combined result)
|
|
125
|
+
- Before marking any phase as `completed`
|
|
126
|
+
|
|
127
|
+
### When to Skip Validation
|
|
128
|
+
Skip validation when:
|
|
129
|
+
- The phase only modified documentation files
|
|
130
|
+
- The phase only produced read-only analysis (`architect`, `code-reviewer` reports)
|
|
131
|
+
- The user explicitly requests skipping validation
|
|
132
|
+
|
|
133
|
+
Record `skipped` with rationale in the phase validation result.
|
|
134
|
+
|
|
135
|
+
## Manual Verification Checklist
|
|
136
|
+
|
|
137
|
+
For changes that cannot be automatically validated, present this checklist template:
|
|
138
|
+
|
|
139
|
+
```
|
|
140
|
+
### Manual Verification Required
|
|
141
|
+
|
|
142
|
+
The following changes require manual verification:
|
|
143
|
+
|
|
144
|
+
- [ ] [Description of what to verify]
|
|
145
|
+
- [ ] [Visual/UI changes look correct]
|
|
146
|
+
- [ ] [Integration with external service works]
|
|
147
|
+
- [ ] [Environment-specific behavior confirmed]
|
|
148
|
+
|
|
149
|
+
Please confirm these items are verified before I mark this phase as complete.
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Use manual verification for:
|
|
153
|
+
- UI/visual changes
|
|
154
|
+
- External service integrations
|
|
155
|
+
- Environment-specific configurations
|
|
156
|
+
- Performance improvements (require load testing)
|
|
157
|
+
- Security remediations (require penetration testing)
|
|
158
|
+
|
|
159
|
+
## Incremental Validation Mode
|
|
160
|
+
|
|
161
|
+
When full pipeline validation is unnecessary, use targeted validation based on the type of changes in the completed phase:
|
|
162
|
+
|
|
163
|
+
### Validation Scope by Change Type
|
|
164
|
+
- **Phase created new files only** (no existing files modified): Run lint + type check on the new files only. This provides fast feedback without running the full test suite against unchanged code.
|
|
165
|
+
- **Phase modified existing files**: Run the full test suite. Existing tests serve as behavior-preservation checks — any failure indicates a potential regression.
|
|
166
|
+
- **Phase touched configuration files** (build config, CI config, environment config, dependency manifests): Run the full pipeline (build + lint + type check + all tests). Configuration changes can have cascading effects across the entire project.
|
|
167
|
+
- **Phase only produced documentation or analysis**: Skip validation (record as `skipped` with rationale).
|
|
168
|
+
|
|
169
|
+
### Scope Detection
|
|
170
|
+
Determine the change type automatically from the completing agent's Task Report:
|
|
171
|
+
1. Parse Files Created and Files Modified lists
|
|
172
|
+
2. Classify each file: source code, test code, configuration, documentation
|
|
173
|
+
3. Apply the most comprehensive validation scope that matches any changed file type (e.g., if one config file and three source files changed, run the full pipeline because config was touched)
|
|
174
|
+
|
|
175
|
+
## Validation Failure Diagnosis
|
|
176
|
+
|
|
177
|
+
When validation fails, provide a structured diagnosis to help the orchestrator decide next steps.
|
|
178
|
+
|
|
179
|
+
### Diagnosis Protocol
|
|
180
|
+
1. **Categorize the failure**: type error, lint error, test failure, build error, runtime error
|
|
181
|
+
2. **Identify involved files**: Which files from the current phase appear in the error output?
|
|
182
|
+
3. **Determine causality**: Is the failure caused by the current phase's changes, or is it a pre-existing issue?
|
|
183
|
+
- Check: Does the failure reference files modified in this phase?
|
|
184
|
+
- Check: Run validation against a clean snapshot while always restoring local state:
|
|
185
|
+
- `git stash push --include-untracked -m "maestro-causality-check"`
|
|
186
|
+
- `[validation command]` (capture exit code as `validation_exit`)
|
|
187
|
+
- `git stash pop` (run regardless of `validation_exit`)
|
|
188
|
+
- If `validation_exit` is non-zero in the clean snapshot, classify the failure as pre-existing.
|
|
189
|
+
- If `git stash pop` fails, mark the diagnosis as inconclusive until restoration conflicts are resolved.
|
|
190
|
+
4. **Classify resolution path**:
|
|
191
|
+
- **Fixable by same agent**: The error is in files the agent owns, the fix is straightforward (missing import, type mismatch, lint violation). Re-delegate to the same agent with the error context.
|
|
192
|
+
- **Requires different agent**: The error is caused by an interface mismatch between phases. Identify which phase introduced the incompatibility.
|
|
193
|
+
- **Requires human input**: The error reveals an ambiguity in the design or plan that cannot be resolved without user guidance. Escalate with full context.
|
|
194
|
+
|
|
195
|
+
### Diagnosis Output Format
|
|
196
|
+
```
|
|
197
|
+
### Validation Diagnosis
|
|
198
|
+
- **Failure Type**: [type error | lint error | test failure | build error]
|
|
199
|
+
- **Failing Files**: [list of files from current phase involved in the failure]
|
|
200
|
+
- **Root Cause**: [brief description of why validation failed]
|
|
201
|
+
- **Pre-existing**: [yes | no — was this failure present before this phase's changes?]
|
|
202
|
+
- **Resolution Path**: [re-delegate to same agent | escalate to user | requires cross-phase fix]
|
|
203
|
+
- **Recommended Action**: [specific next step with context to include in re-delegation or escalation]
|
|
204
|
+
```
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const { atomicWriteSync } = require('../lib/io');
|
|
6
|
+
|
|
7
|
+
const DEFAULT_STATE_DIR = 'docs/maestro';
|
|
8
|
+
|
|
9
|
+
function validateRelativePath(filePath) {
|
|
10
|
+
if (path.isAbsolute(filePath)) {
|
|
11
|
+
throw new Error('Path must be relative');
|
|
12
|
+
}
|
|
13
|
+
const segments = filePath.split(/[/\\]/);
|
|
14
|
+
if (segments.includes('..')) {
|
|
15
|
+
throw new Error('Path traversal not allowed');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function validateContainment(absolutePath, rootDir) {
|
|
20
|
+
let resolved = path.resolve(absolutePath);
|
|
21
|
+
let resolvedRoot = path.resolve(rootDir);
|
|
22
|
+
try { resolved = fs.realpathSync(resolved); } catch {}
|
|
23
|
+
try { resolvedRoot = fs.realpathSync(resolvedRoot); } catch {}
|
|
24
|
+
const rootPrefix = resolvedRoot + path.sep;
|
|
25
|
+
if (!resolved.startsWith(rootPrefix) && resolved !== resolvedRoot) {
|
|
26
|
+
throw new Error('state_dir must be within the project root');
|
|
27
|
+
}
|
|
28
|
+
return resolved;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function resolveStateDirPath(cwd, stateDirOverride) {
|
|
32
|
+
const stateDir = stateDirOverride || process.env.MAESTRO_STATE_DIR || DEFAULT_STATE_DIR;
|
|
33
|
+
const base = cwd || process.cwd();
|
|
34
|
+
|
|
35
|
+
if (path.isAbsolute(stateDir)) {
|
|
36
|
+
return validateContainment(stateDir, base);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
validateRelativePath(stateDir);
|
|
40
|
+
return path.join(base, stateDir);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function resolveActiveSessionPath(cwd) {
|
|
44
|
+
return path.join(resolveStateDirPath(cwd), 'state', 'active-session.md');
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function hasActiveSession(cwd) {
|
|
48
|
+
try {
|
|
49
|
+
const sessionPath = resolveActiveSessionPath(cwd);
|
|
50
|
+
return fs.existsSync(sessionPath);
|
|
51
|
+
} catch {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function readState(relativePath, basePath) {
|
|
57
|
+
validateRelativePath(relativePath);
|
|
58
|
+
const fullPath = path.join(basePath, relativePath);
|
|
59
|
+
return fs.readFileSync(fullPath, 'utf8');
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function writeState(relativePath, content, basePath) {
|
|
63
|
+
validateRelativePath(relativePath);
|
|
64
|
+
const fullPath = path.join(basePath, relativePath);
|
|
65
|
+
atomicWriteSync(fullPath, content);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function ensureWorkspace(stateDir, basePath) {
|
|
69
|
+
const fullBase = path.isAbsolute(stateDir)
|
|
70
|
+
? validateContainment(stateDir, basePath)
|
|
71
|
+
: (() => {
|
|
72
|
+
validateRelativePath(stateDir);
|
|
73
|
+
return path.join(basePath, stateDir);
|
|
74
|
+
})();
|
|
75
|
+
fs.mkdirSync(fullBase, { recursive: true, mode: 0o700 });
|
|
76
|
+
const stats = fs.lstatSync(fullBase);
|
|
77
|
+
if (stats.isSymbolicLink()) {
|
|
78
|
+
throw new Error('STATE_DIR must not be a symlink');
|
|
79
|
+
}
|
|
80
|
+
const dirs = [
|
|
81
|
+
path.join(fullBase, 'state'),
|
|
82
|
+
path.join(fullBase, 'state', 'archive'),
|
|
83
|
+
path.join(fullBase, 'plans'),
|
|
84
|
+
path.join(fullBase, 'plans', 'archive'),
|
|
85
|
+
];
|
|
86
|
+
for (const dir of dirs) {
|
|
87
|
+
try {
|
|
88
|
+
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
89
|
+
} catch {
|
|
90
|
+
throw new Error('Failed to create workspace directory');
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
fs.accessSync(dir, fs.constants.W_OK);
|
|
94
|
+
} catch {
|
|
95
|
+
throw new Error('Workspace directory not writable');
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const stateGitignore = path.join(fullBase, 'state', '.gitignore');
|
|
99
|
+
try {
|
|
100
|
+
fs.writeFileSync(stateGitignore, 'active-session.md\narchive/\n', { mode: 0o600, flag: 'wx' });
|
|
101
|
+
} catch {}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
module.exports = {
|
|
105
|
+
DEFAULT_STATE_DIR,
|
|
106
|
+
validateContainment,
|
|
107
|
+
resolveStateDirPath,
|
|
108
|
+
resolveActiveSessionPath,
|
|
109
|
+
hasActiveSession,
|
|
110
|
+
readState,
|
|
111
|
+
writeState,
|
|
112
|
+
ensureWorkspace,
|
|
113
|
+
};
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "<topic>"
|
|
3
|
+
created: "<ISO 8601 timestamp>"
|
|
4
|
+
status: "draft"
|
|
5
|
+
authors: ["TechLead", "User"]
|
|
6
|
+
type: "design"
|
|
7
|
+
design_depth: "standard" # one of: quick, standard, deep
|
|
8
|
+
task_complexity: "medium" # one of: simple, medium, complex
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# <Topic> Design Document
|
|
12
|
+
|
|
13
|
+
## Problem Statement
|
|
14
|
+
|
|
15
|
+
[Clear description of the problem being solved, including context and motivation]
|
|
16
|
+
|
|
17
|
+
## Requirements
|
|
18
|
+
|
|
19
|
+
### Functional Requirements
|
|
20
|
+
|
|
21
|
+
1. **REQ-1**: [Requirement with measurable acceptance criteria]
|
|
22
|
+
|
|
23
|
+
### Non-Functional Requirements
|
|
24
|
+
|
|
25
|
+
1. **REQ-N**: [Performance, security, scalability, reliability requirements]
|
|
26
|
+
|
|
27
|
+
### Constraints
|
|
28
|
+
|
|
29
|
+
- [Technical, organizational, or business constraints]
|
|
30
|
+
|
|
31
|
+
## Approach
|
|
32
|
+
|
|
33
|
+
### Selected Approach
|
|
34
|
+
|
|
35
|
+
**[Approach Name]**
|
|
36
|
+
|
|
37
|
+
[Description of the selected approach and why it was chosen]
|
|
38
|
+
|
|
39
|
+
### Alternatives Considered
|
|
40
|
+
|
|
41
|
+
#### [Alternative 1 Name]
|
|
42
|
+
|
|
43
|
+
- **Description**: [Brief overview]
|
|
44
|
+
- **Pros**: [Key advantages]
|
|
45
|
+
- **Cons**: [Key disadvantages]
|
|
46
|
+
- **Rejected Because**: [Specific reason this was not selected]
|
|
47
|
+
|
|
48
|
+
### Decision Matrix
|
|
49
|
+
|
|
50
|
+
*(Standard and Deep modes only — omit in Quick mode)*
|
|
51
|
+
|
|
52
|
+
| Criterion | Weight | [Approach A] | [Approach B] |
|
|
53
|
+
|-----------|--------|--------------|--------------|
|
|
54
|
+
| [Criterion from requirements] | [%] | [1-5]: [justification] | [1-5]: [justification] |
|
|
55
|
+
| **Weighted Total** | | [score] | [score] |
|
|
56
|
+
|
|
57
|
+
## Architecture
|
|
58
|
+
|
|
59
|
+
<!-- Standard+Deep: Include rationale annotations on key decisions.
|
|
60
|
+
Format: [decision] — *[rationale referencing constraints or user-stated preferences]*
|
|
61
|
+
Deep only: Include per-decision alternatives considered.
|
|
62
|
+
Format: [decision] *(considered: [alt A] — rejected because [reason]; [alt B] — rejected because [reason])*
|
|
63
|
+
Deep only: Tag decisions with Traces To: REQ-N -->
|
|
64
|
+
|
|
65
|
+
### Component Diagram
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
[ASCII or text-based component diagram showing key components and their relationships]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Data Flow
|
|
72
|
+
|
|
73
|
+
[Description of how data flows through the system, including inputs, transformations, and outputs]
|
|
74
|
+
|
|
75
|
+
### Key Interfaces
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
[Interface definitions with type signatures for the primary contracts between components]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Agent Team
|
|
82
|
+
|
|
83
|
+
| Phase | Agent(s) | Parallel | Deliverables |
|
|
84
|
+
|-------|----------|----------|--------------|
|
|
85
|
+
| 1 | [agent] | No | [deliverable] |
|
|
86
|
+
|
|
87
|
+
## Risk Assessment
|
|
88
|
+
|
|
89
|
+
| Risk | Severity | Likelihood | Mitigation |
|
|
90
|
+
|------|----------|------------|------------|
|
|
91
|
+
| [risk] | HIGH/MEDIUM/LOW | HIGH/MEDIUM/LOW | [mitigation strategy] |
|
|
92
|
+
|
|
93
|
+
## Success Criteria
|
|
94
|
+
|
|
95
|
+
1. [Measurable criterion that indicates successful completion]
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "<topic> Implementation Plan"
|
|
3
|
+
design_ref: "<path to design document>"
|
|
4
|
+
created: "<ISO 8601 timestamp>"
|
|
5
|
+
status: "draft"
|
|
6
|
+
total_phases: <integer>
|
|
7
|
+
estimated_files: <integer>
|
|
8
|
+
task_complexity: "medium" # one of: simple, medium, complex
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# <Topic> Implementation Plan
|
|
12
|
+
|
|
13
|
+
## Plan Overview
|
|
14
|
+
|
|
15
|
+
- **Total phases**: [N]
|
|
16
|
+
- **Agents involved**: [list of agent names]
|
|
17
|
+
- **Estimated effort**: [summary of scope and complexity]
|
|
18
|
+
|
|
19
|
+
## Dependency Graph
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
[ASCII diagram showing phase dependencies and parallel opportunities]
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Execution Strategy
|
|
26
|
+
|
|
27
|
+
| Stage | Phases | Execution | Agent Count | Notes |
|
|
28
|
+
|-------|--------|-----------|-------------|-------|
|
|
29
|
+
| 1 | Phase 1 | Sequential | 1 | Foundation |
|
|
30
|
+
|
|
31
|
+
## Phase 1: <Phase Name>
|
|
32
|
+
|
|
33
|
+
### Objective
|
|
34
|
+
[Clear, measurable statement of what this phase delivers]
|
|
35
|
+
|
|
36
|
+
### Agent: <agent-name>
|
|
37
|
+
### Parallel: <Yes/No>
|
|
38
|
+
|
|
39
|
+
### Files to Create
|
|
40
|
+
|
|
41
|
+
- `path/to/file` — [Purpose, key interfaces/classes to define]
|
|
42
|
+
|
|
43
|
+
### Files to Modify
|
|
44
|
+
|
|
45
|
+
- `path/to/existing/file` — [What changes and why]
|
|
46
|
+
|
|
47
|
+
### Implementation Details
|
|
48
|
+
|
|
49
|
+
[Interface definitions, base class contracts, dependency injection patterns, error handling strategy]
|
|
50
|
+
|
|
51
|
+
### Validation
|
|
52
|
+
|
|
53
|
+
- [Commands to run and expected outcomes]
|
|
54
|
+
|
|
55
|
+
### Dependencies
|
|
56
|
+
|
|
57
|
+
- Blocked by: [Phase IDs or "None"]
|
|
58
|
+
- Blocks: [Phase IDs or "None"]
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## File Inventory
|
|
63
|
+
|
|
64
|
+
| # | File | Phase | Purpose |
|
|
65
|
+
|---|------|-------|---------|
|
|
66
|
+
| 1 | `path/to/file` | 1 | [Purpose] |
|
|
67
|
+
|
|
68
|
+
## Risk Classification
|
|
69
|
+
|
|
70
|
+
| Phase | Risk | Rationale |
|
|
71
|
+
|-------|------|-----------|
|
|
72
|
+
| 1 | LOW/MEDIUM/HIGH | [Why this risk level — complexity, number of dependents, reversibility] |
|
|
73
|
+
|
|
74
|
+
## Execution Profile
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
Execution Profile:
|
|
78
|
+
- Total phases: [N]
|
|
79
|
+
- Parallelizable phases: [M] (in [B] batches)
|
|
80
|
+
- Sequential-only phases: [S]
|
|
81
|
+
- Estimated parallel wall time: [time estimate based on batch execution]
|
|
82
|
+
- Estimated sequential wall time: [time estimate based on serial execution]
|
|
83
|
+
|
|
84
|
+
Note: Native subagents currently run without user approval gates.
|
|
85
|
+
All tool calls are auto-approved without user confirmation.
|
|
86
|
+
```
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
session_id: "<YYYY-MM-DD-topic-slug>"
|
|
3
|
+
task: "<user's original task description>"
|
|
4
|
+
created: "<ISO 8601 timestamp>"
|
|
5
|
+
updated: "<ISO 8601 timestamp>"
|
|
6
|
+
status: "in_progress"
|
|
7
|
+
workflow_mode: "standard"
|
|
8
|
+
design_document: "<state_dir>/plans/<YYYY-MM-DD-topic-slug>-design.md"
|
|
9
|
+
implementation_plan: "<state_dir>/plans/<YYYY-MM-DD-topic-slug>-impl-plan.md"
|
|
10
|
+
current_phase: 1
|
|
11
|
+
total_phases: <integer>
|
|
12
|
+
execution_mode: null
|
|
13
|
+
execution_backend: null
|
|
14
|
+
current_batch: null
|
|
15
|
+
task_complexity: null
|
|
16
|
+
|
|
17
|
+
token_usage:
|
|
18
|
+
total_input: 0
|
|
19
|
+
total_output: 0
|
|
20
|
+
total_cached: 0
|
|
21
|
+
by_agent: {}
|
|
22
|
+
|
|
23
|
+
phases:
|
|
24
|
+
- id: 1
|
|
25
|
+
name: "<phase name>"
|
|
26
|
+
status: "pending"
|
|
27
|
+
agents: []
|
|
28
|
+
parallel: false
|
|
29
|
+
started: null
|
|
30
|
+
completed: null
|
|
31
|
+
blocked_by: []
|
|
32
|
+
files_created: []
|
|
33
|
+
files_modified: []
|
|
34
|
+
files_deleted: []
|
|
35
|
+
downstream_context:
|
|
36
|
+
key_interfaces_introduced: []
|
|
37
|
+
patterns_established: []
|
|
38
|
+
integration_points: []
|
|
39
|
+
assumptions: []
|
|
40
|
+
warnings: []
|
|
41
|
+
errors: []
|
|
42
|
+
retry_count: 0
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
# <Topic> Orchestration Log
|
|
46
|
+
|
|
47
|
+
## Phase 1: <Phase Name>
|
|
48
|
+
|
|
49
|
+
### Status
|
|
50
|
+
Pending
|
|
51
|
+
|
|
52
|
+
### Agent Output
|
|
53
|
+
[Agent output will be recorded here as execution proceeds]
|
|
54
|
+
|
|
55
|
+
### Files Changed
|
|
56
|
+
- Created: [none yet]
|
|
57
|
+
- Modified: [none yet]
|
|
58
|
+
- Deleted: [none yet]
|
|
59
|
+
|
|
60
|
+
### Downstream Context
|
|
61
|
+
- Key Interfaces Introduced: [none yet]
|
|
62
|
+
- Patterns Established: [none yet]
|
|
63
|
+
- Integration Points: [none yet]
|
|
64
|
+
- Assumptions: [none yet]
|
|
65
|
+
- Warnings: [none yet]
|
|
66
|
+
|
|
67
|
+
### Validation Result
|
|
68
|
+
[Pending]
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Maestro extension policy pack.
|
|
2
|
+
#
|
|
3
|
+
# These rules add low-friction guardrails for autonomous and interactive runs:
|
|
4
|
+
# - deny obviously destructive shell commands
|
|
5
|
+
# - ask before shell-based file writing patterns
|
|
6
|
+
#
|
|
7
|
+
# The extension tier may only contribute deny / ask_user decisions.
|
|
8
|
+
|
|
9
|
+
[[rule]]
|
|
10
|
+
toolName = "run_shell_command"
|
|
11
|
+
commandRegex = ".*\\btee\\b.*"
|
|
12
|
+
decision = "ask_user"
|
|
13
|
+
priority = 850
|
|
14
|
+
|
|
15
|
+
[[rule]]
|
|
16
|
+
toolName = "run_shell_command"
|
|
17
|
+
commandRegex = ".*(?:\\s>>?\\s|\\s>>?$|^>>?\\s|\\d>>?\\s).*$"
|
|
18
|
+
decision = "ask_user"
|
|
19
|
+
priority = 850
|
|
20
|
+
|
|
21
|
+
[[rule]]
|
|
22
|
+
toolName = "run_shell_command"
|
|
23
|
+
commandPrefix = [
|
|
24
|
+
"rm -rf",
|
|
25
|
+
"rm -fr",
|
|
26
|
+
"sudo rm -rf",
|
|
27
|
+
"sudo rm -fr",
|
|
28
|
+
"git reset --hard",
|
|
29
|
+
"git checkout --",
|
|
30
|
+
"git clean -fd",
|
|
31
|
+
"git clean -df",
|
|
32
|
+
"git clean -xfd",
|
|
33
|
+
"git clean -xdf"
|
|
34
|
+
]
|
|
35
|
+
decision = "deny"
|
|
36
|
+
priority = 950
|
|
37
|
+
deny_message = "Maestro blocks destructive shell commands. Use safer targeted tools or handle the cleanup manually."
|
|
38
|
+
|
|
39
|
+
[[rule]]
|
|
40
|
+
toolName = "run_shell_command"
|
|
41
|
+
commandRegex = ".*(?:<<).*$"
|
|
42
|
+
decision = "deny"
|
|
43
|
+
priority = 950
|
|
44
|
+
deny_message = "Heredoc corrupts structured content (YAML, Markdown, JSON) — use write_file instead"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: accessibility_specialist
|
|
3
|
+
kind: local
|
|
4
|
+
description: "Accessibility specialist for WCAG compliance auditing, ARIA implementation review, keyboard navigation testing, and inclusive design assessment. Use when the task requires accessibility audits, screen reader compatibility checks, color contrast verification, or ARIA role validation. For example: auditing a web app for WCAG 2.1 AA compliance, reviewing keyboard navigation in modal dialogs, or validating ARIA usage in custom components."
|
|
5
|
+
max_turns: 20
|
|
6
|
+
tools:
|
|
7
|
+
- read_file
|
|
8
|
+
- list_directory
|
|
9
|
+
- glob
|
|
10
|
+
- grep_search
|
|
11
|
+
- run_shell_command
|
|
12
|
+
- web_search
|
|
13
|
+
- todo_write
|
|
14
|
+
- read_many_files
|
|
15
|
+
- ask_user_question
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
Agent methodology loaded via MCP tool `get_agent`. Call `get_agent(agents: ["accessibility-specialist"])` to read the full methodology at delegation time.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: analytics_engineer
|
|
3
|
+
kind: local
|
|
4
|
+
description: "Analytics engineering specialist for event tracking implementation, analytics schemas, conversion funnels, A/B test design, and measurement planning. Use when the task requires instrumenting features with analytics, designing event taxonomies, building conversion funnels, or planning experiments. For example: adding event tracking to a checkout flow, designing an A/B test for a pricing page, or defining KPI dashboards."
|
|
5
|
+
max_turns: 25
|
|
6
|
+
tools:
|
|
7
|
+
- read_file
|
|
8
|
+
- list_directory
|
|
9
|
+
- glob
|
|
10
|
+
- grep_search
|
|
11
|
+
- write_file
|
|
12
|
+
- edit
|
|
13
|
+
- run_shell_command
|
|
14
|
+
- web_search
|
|
15
|
+
- todo_write
|
|
16
|
+
- read_many_files
|
|
17
|
+
- ask_user_question
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
Agent methodology loaded via MCP tool `get_agent`. Call `get_agent(agents: ["analytics-engineer"])` to read the full methodology at delegation time.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api_designer
|
|
3
|
+
kind: local
|
|
4
|
+
description: "API design specialist for endpoint design, request/response contracts, and API versioning strategies. Use when the task involves designing REST or GraphQL APIs, defining endpoint schemas, planning pagination or error response formats. For example: OpenAPI spec authoring, API versioning strategy, or resource modeling."
|
|
5
|
+
max_turns: 15
|
|
6
|
+
tools:
|
|
7
|
+
- read_file
|
|
8
|
+
- list_directory
|
|
9
|
+
- glob
|
|
10
|
+
- grep_search
|
|
11
|
+
- read_many_files
|
|
12
|
+
- ask_user_question
|
|
13
|
+
- web_search
|
|
14
|
+
- web_fetch
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
Agent methodology loaded via MCP tool `get_agent`. Call `get_agent(agents: ["api-designer"])` to read the full methodology at delegation time.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architect
|
|
3
|
+
kind: local
|
|
4
|
+
description: "System design specialist for architecture decisions, technology selection, and high-level component design. Use when the task requires evaluating architectural trade-offs, designing system components, selecting technology stacks, or planning service boundaries. For example: microservice decomposition, database schema design, or API contract planning."
|
|
5
|
+
max_turns: 15
|
|
6
|
+
tools:
|
|
7
|
+
- read_file
|
|
8
|
+
- list_directory
|
|
9
|
+
- glob
|
|
10
|
+
- grep_search
|
|
11
|
+
- web_search
|
|
12
|
+
- read_many_files
|
|
13
|
+
- ask_user_question
|
|
14
|
+
- web_fetch
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
Agent methodology loaded via MCP tool `get_agent`. Call `get_agent(agents: ["architect"])` to read the full methodology at delegation time.
|