aw-ecc 1.4.21
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/skills/api-design/SKILL.md +523 -0
- package/.agents/skills/api-design/agents/openai.yaml +7 -0
- package/.agents/skills/article-writing/SKILL.md +85 -0
- package/.agents/skills/article-writing/agents/openai.yaml +7 -0
- package/.agents/skills/backend-patterns/SKILL.md +598 -0
- package/.agents/skills/backend-patterns/agents/openai.yaml +7 -0
- package/.agents/skills/bun-runtime/SKILL.md +84 -0
- package/.agents/skills/bun-runtime/agents/openai.yaml +7 -0
- package/.agents/skills/claude-api/SKILL.md +337 -0
- package/.agents/skills/claude-api/agents/openai.yaml +7 -0
- package/.agents/skills/coding-standards/SKILL.md +530 -0
- package/.agents/skills/coding-standards/agents/openai.yaml +7 -0
- package/.agents/skills/content-engine/SKILL.md +88 -0
- package/.agents/skills/content-engine/agents/openai.yaml +7 -0
- package/.agents/skills/crosspost/SKILL.md +188 -0
- package/.agents/skills/crosspost/agents/openai.yaml +7 -0
- package/.agents/skills/deep-research/SKILL.md +155 -0
- package/.agents/skills/deep-research/agents/openai.yaml +7 -0
- package/.agents/skills/dmux-workflows/SKILL.md +144 -0
- package/.agents/skills/dmux-workflows/agents/openai.yaml +7 -0
- package/.agents/skills/documentation-lookup/SKILL.md +90 -0
- package/.agents/skills/documentation-lookup/agents/openai.yaml +7 -0
- package/.agents/skills/e2e-testing/SKILL.md +326 -0
- package/.agents/skills/e2e-testing/agents/openai.yaml +7 -0
- package/.agents/skills/eval-harness/SKILL.md +236 -0
- package/.agents/skills/eval-harness/agents/openai.yaml +7 -0
- package/.agents/skills/everything-claude-code/SKILL.md +442 -0
- package/.agents/skills/everything-claude-code/agents/openai.yaml +6 -0
- package/.agents/skills/exa-search/SKILL.md +170 -0
- package/.agents/skills/exa-search/agents/openai.yaml +7 -0
- package/.agents/skills/fal-ai-media/SKILL.md +277 -0
- package/.agents/skills/fal-ai-media/agents/openai.yaml +7 -0
- package/.agents/skills/frontend-patterns/SKILL.md +642 -0
- package/.agents/skills/frontend-patterns/agents/openai.yaml +7 -0
- package/.agents/skills/frontend-slides/SKILL.md +184 -0
- package/.agents/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/.agents/skills/frontend-slides/agents/openai.yaml +7 -0
- package/.agents/skills/investor-materials/SKILL.md +96 -0
- package/.agents/skills/investor-materials/agents/openai.yaml +7 -0
- package/.agents/skills/investor-outreach/SKILL.md +76 -0
- package/.agents/skills/investor-outreach/agents/openai.yaml +7 -0
- package/.agents/skills/market-research/SKILL.md +75 -0
- package/.agents/skills/market-research/agents/openai.yaml +7 -0
- package/.agents/skills/mcp-server-patterns/SKILL.md +67 -0
- package/.agents/skills/nextjs-turbopack/SKILL.md +44 -0
- package/.agents/skills/nextjs-turbopack/agents/openai.yaml +7 -0
- package/.agents/skills/security-review/SKILL.md +495 -0
- package/.agents/skills/security-review/agents/openai.yaml +7 -0
- package/.agents/skills/strategic-compact/SKILL.md +103 -0
- package/.agents/skills/strategic-compact/agents/openai.yaml +7 -0
- package/.agents/skills/tdd-workflow/SKILL.md +410 -0
- package/.agents/skills/tdd-workflow/agents/openai.yaml +7 -0
- package/.agents/skills/verification-loop/SKILL.md +126 -0
- package/.agents/skills/verification-loop/agents/openai.yaml +7 -0
- package/.agents/skills/video-editing/SKILL.md +308 -0
- package/.agents/skills/video-editing/agents/openai.yaml +7 -0
- package/.agents/skills/x-api/SKILL.md +214 -0
- package/.agents/skills/x-api/agents/openai.yaml +7 -0
- package/.claude-plugin/README.md +17 -0
- package/.claude-plugin/plugin.json +24 -0
- package/.codex/AGENTS.md +93 -0
- package/.codex/INSTALL.md +64 -0
- package/.codex/agents/docs-researcher.toml +9 -0
- package/.codex/agents/explorer.toml +9 -0
- package/.codex/agents/reviewer.toml +9 -0
- package/.codex/config.toml +108 -0
- package/.codex/hooks/aw-post-tool-use.sh +5 -0
- package/.codex/hooks/aw-pre-tool-use.sh +5 -0
- package/.codex/hooks/aw-session-start.sh +21 -0
- package/.codex/hooks/aw-stop.sh +5 -0
- package/.codex/hooks/aw-user-prompt-submit.sh +9 -0
- package/.codex/hooks.json +62 -0
- package/.cursor/INSTALL.md +40 -0
- package/.cursor/hooks/adapter.js +120 -0
- package/.cursor/hooks/after-file-edit.js +11 -0
- package/.cursor/hooks/after-mcp-execution.js +11 -0
- package/.cursor/hooks/after-shell-execution.js +11 -0
- package/.cursor/hooks/after-tab-file-edit.js +12 -0
- package/.cursor/hooks/aw-phase-adapter.js +43 -0
- package/.cursor/hooks/before-mcp-execution.js +11 -0
- package/.cursor/hooks/before-read-file.js +13 -0
- package/.cursor/hooks/before-shell-execution.js +11 -0
- package/.cursor/hooks/before-submit-prompt.js +41 -0
- package/.cursor/hooks/before-tab-file-read.js +13 -0
- package/.cursor/hooks/pre-compact.js +11 -0
- package/.cursor/hooks/session-end.js +11 -0
- package/.cursor/hooks/session-start.js +11 -0
- package/.cursor/hooks/shared/aw-phase-definitions.js +190 -0
- package/.cursor/hooks/shared/aw-phase-runner.js +61 -0
- package/.cursor/hooks/shared/session-start.sh +20 -0
- package/.cursor/hooks/shared/user-prompt-submit.sh +155 -0
- package/.cursor/hooks/stop.js +11 -0
- package/.cursor/hooks/subagent-start.js +10 -0
- package/.cursor/hooks/subagent-stop.js +10 -0
- package/.cursor/hooks.json +115 -0
- package/.cursor/rules/common-agents.md +53 -0
- package/.cursor/rules/common-coding-style.md +52 -0
- package/.cursor/rules/common-development-workflow.md +33 -0
- package/.cursor/rules/common-git-workflow.md +28 -0
- package/.cursor/rules/common-hooks.md +34 -0
- package/.cursor/rules/common-patterns.md +35 -0
- package/.cursor/rules/common-performance.md +59 -0
- package/.cursor/rules/common-security.md +33 -0
- package/.cursor/rules/common-testing.md +33 -0
- package/.cursor/rules/golang-coding-style.md +31 -0
- package/.cursor/rules/golang-hooks.md +16 -0
- package/.cursor/rules/golang-patterns.md +44 -0
- package/.cursor/rules/golang-security.md +33 -0
- package/.cursor/rules/golang-testing.md +30 -0
- package/.cursor/rules/kotlin-coding-style.md +39 -0
- package/.cursor/rules/kotlin-hooks.md +16 -0
- package/.cursor/rules/kotlin-patterns.md +50 -0
- package/.cursor/rules/kotlin-security.md +58 -0
- package/.cursor/rules/kotlin-testing.md +38 -0
- package/.cursor/rules/php-coding-style.md +25 -0
- package/.cursor/rules/php-hooks.md +21 -0
- package/.cursor/rules/php-patterns.md +23 -0
- package/.cursor/rules/php-security.md +24 -0
- package/.cursor/rules/php-testing.md +26 -0
- package/.cursor/rules/python-coding-style.md +42 -0
- package/.cursor/rules/python-hooks.md +19 -0
- package/.cursor/rules/python-patterns.md +39 -0
- package/.cursor/rules/python-security.md +30 -0
- package/.cursor/rules/python-testing.md +38 -0
- package/.cursor/rules/swift-coding-style.md +47 -0
- package/.cursor/rules/swift-hooks.md +20 -0
- package/.cursor/rules/swift-patterns.md +66 -0
- package/.cursor/rules/swift-security.md +33 -0
- package/.cursor/rules/swift-testing.md +45 -0
- package/.cursor/rules/typescript-coding-style.md +63 -0
- package/.cursor/rules/typescript-hooks.md +20 -0
- package/.cursor/rules/typescript-patterns.md +50 -0
- package/.cursor/rules/typescript-security.md +26 -0
- package/.cursor/rules/typescript-testing.md +16 -0
- package/.cursor/skills/article-writing/SKILL.md +85 -0
- package/.cursor/skills/bun-runtime/SKILL.md +84 -0
- package/.cursor/skills/content-engine/SKILL.md +88 -0
- package/.cursor/skills/documentation-lookup/SKILL.md +90 -0
- package/.cursor/skills/frontend-slides/SKILL.md +184 -0
- package/.cursor/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/.cursor/skills/investor-materials/SKILL.md +96 -0
- package/.cursor/skills/investor-outreach/SKILL.md +76 -0
- package/.cursor/skills/market-research/SKILL.md +75 -0
- package/.cursor/skills/mcp-server-patterns/SKILL.md +67 -0
- package/.cursor/skills/nextjs-turbopack/SKILL.md +44 -0
- package/.opencode/MIGRATION.md +368 -0
- package/.opencode/README.md +204 -0
- package/.opencode/commands/build-fix.md +56 -0
- package/.opencode/commands/checkpoint.md +67 -0
- package/.opencode/commands/code-review.md +68 -0
- package/.opencode/commands/e2e.md +105 -0
- package/.opencode/commands/eval.md +88 -0
- package/.opencode/commands/evolve.md +36 -0
- package/.opencode/commands/go-build.md +87 -0
- package/.opencode/commands/go-review.md +71 -0
- package/.opencode/commands/go-test.md +131 -0
- package/.opencode/commands/harness-audit.md +71 -0
- package/.opencode/commands/instinct-export.md +93 -0
- package/.opencode/commands/instinct-import.md +88 -0
- package/.opencode/commands/instinct-status.md +29 -0
- package/.opencode/commands/learn.md +61 -0
- package/.opencode/commands/loop-start.md +32 -0
- package/.opencode/commands/loop-status.md +24 -0
- package/.opencode/commands/model-route.md +26 -0
- package/.opencode/commands/orchestrate.md +88 -0
- package/.opencode/commands/plan.md +49 -0
- package/.opencode/commands/projects.md +23 -0
- package/.opencode/commands/promote.md +23 -0
- package/.opencode/commands/quality-gate.md +29 -0
- package/.opencode/commands/refactor-clean.md +102 -0
- package/.opencode/commands/rust-build.md +78 -0
- package/.opencode/commands/rust-review.md +65 -0
- package/.opencode/commands/rust-test.md +104 -0
- package/.opencode/commands/security.md +89 -0
- package/.opencode/commands/setup-pm.md +67 -0
- package/.opencode/commands/skill-create.md +117 -0
- package/.opencode/commands/tdd.md +66 -0
- package/.opencode/commands/test-coverage.md +80 -0
- package/.opencode/commands/update-codemaps.md +81 -0
- package/.opencode/commands/update-docs.md +67 -0
- package/.opencode/commands/verify.md +67 -0
- package/.opencode/index.ts +79 -0
- package/.opencode/instructions/INSTRUCTIONS.md +337 -0
- package/.opencode/opencode.json +319 -0
- package/.opencode/package.json +70 -0
- package/.opencode/plugins/ecc-hooks.ts +455 -0
- package/.opencode/plugins/index.ts +12 -0
- package/.opencode/prompts/agents/architect.txt +175 -0
- package/.opencode/prompts/agents/build-error-resolver.txt +233 -0
- package/.opencode/prompts/agents/code-reviewer.txt +103 -0
- package/.opencode/prompts/agents/database-reviewer.txt +247 -0
- package/.opencode/prompts/agents/doc-updater.txt +192 -0
- package/.opencode/prompts/agents/e2e-runner.txt +305 -0
- package/.opencode/prompts/agents/go-build-resolver.txt +325 -0
- package/.opencode/prompts/agents/go-reviewer.txt +241 -0
- package/.opencode/prompts/agents/planner.txt +112 -0
- package/.opencode/prompts/agents/refactor-cleaner.txt +241 -0
- package/.opencode/prompts/agents/rust-build-resolver.txt +93 -0
- package/.opencode/prompts/agents/rust-reviewer.txt +61 -0
- package/.opencode/prompts/agents/security-reviewer.txt +207 -0
- package/.opencode/prompts/agents/tdd-guide.txt +211 -0
- package/.opencode/tools/check-coverage.ts +170 -0
- package/.opencode/tools/format-code.ts +68 -0
- package/.opencode/tools/git-summary.ts +54 -0
- package/.opencode/tools/index.ts +13 -0
- package/.opencode/tools/lint-check.ts +85 -0
- package/.opencode/tools/run-tests.ts +139 -0
- package/.opencode/tools/security-audit.ts +277 -0
- package/.opencode/tsconfig.json +29 -0
- package/AGENTS.md +124 -0
- package/LICENSE +21 -0
- package/README.md +146 -0
- package/README.zh-CN.md +552 -0
- package/agents/architect.md +211 -0
- package/agents/build-error-resolver.md +114 -0
- package/agents/chief-of-staff.md +151 -0
- package/agents/code-reviewer.md +237 -0
- package/agents/cpp-build-resolver.md +90 -0
- package/agents/cpp-reviewer.md +72 -0
- package/agents/database-reviewer.md +91 -0
- package/agents/doc-updater.md +107 -0
- package/agents/docs-lookup.md +68 -0
- package/agents/e2e-runner.md +107 -0
- package/agents/evals/code-reviewer-scenarios.json +23 -0
- package/agents/flutter-reviewer.md +243 -0
- package/agents/go-build-resolver.md +94 -0
- package/agents/go-reviewer.md +76 -0
- package/agents/harness-optimizer.md +35 -0
- package/agents/java-build-resolver.md +153 -0
- package/agents/java-reviewer.md +92 -0
- package/agents/kotlin-build-resolver.md +118 -0
- package/agents/kotlin-reviewer.md +159 -0
- package/agents/loop-operator.md +36 -0
- package/agents/planner.md +212 -0
- package/agents/python-reviewer.md +98 -0
- package/agents/pytorch-build-resolver.md +120 -0
- package/agents/refactor-cleaner.md +85 -0
- package/agents/rust-build-resolver.md +148 -0
- package/agents/rust-reviewer.md +94 -0
- package/agents/security-reviewer.md +108 -0
- package/agents/tdd-guide.md +91 -0
- package/agents/typescript-reviewer.md +112 -0
- package/commands/aside.md +164 -0
- package/commands/brainstorm.md +16 -0
- package/commands/build-fix.md +70 -0
- package/commands/build.md +91 -0
- package/commands/checkpoint.md +74 -0
- package/commands/claw.md +51 -0
- package/commands/code-review.md +24 -0
- package/commands/context-budget.md +29 -0
- package/commands/cpp-build.md +174 -0
- package/commands/cpp-review.md +132 -0
- package/commands/cpp-test.md +252 -0
- package/commands/deploy.md +75 -0
- package/commands/devfleet.md +92 -0
- package/commands/docs.md +31 -0
- package/commands/e2e.md +373 -0
- package/commands/eval.md +120 -0
- package/commands/evolve.md +178 -0
- package/commands/execute.md +51 -0
- package/commands/finish.md +22 -0
- package/commands/go-build.md +184 -0
- package/commands/go-review.md +148 -0
- package/commands/go-test.md +269 -0
- package/commands/gradle-build.md +70 -0
- package/commands/harness-audit.md +71 -0
- package/commands/instinct-export.md +66 -0
- package/commands/instinct-import.md +114 -0
- package/commands/instinct-status.md +59 -0
- package/commands/investigate.md +63 -0
- package/commands/kotlin-build.md +175 -0
- package/commands/kotlin-review.md +140 -0
- package/commands/kotlin-test.md +313 -0
- package/commands/learn-eval.md +116 -0
- package/commands/learn.md +70 -0
- package/commands/loop-start.md +32 -0
- package/commands/loop-status.md +24 -0
- package/commands/model-route.md +26 -0
- package/commands/multi-backend.md +166 -0
- package/commands/multi-execute.md +324 -0
- package/commands/multi-frontend.md +165 -0
- package/commands/multi-plan.md +277 -0
- package/commands/multi-workflow.md +200 -0
- package/commands/orchestrate.md +240 -0
- package/commands/plan.md +130 -0
- package/commands/pm2.md +272 -0
- package/commands/projects.md +39 -0
- package/commands/promote.md +41 -0
- package/commands/prompt-optimize.md +38 -0
- package/commands/prune.md +31 -0
- package/commands/python-review.md +297 -0
- package/commands/quality-gate.md +29 -0
- package/commands/refactor-clean.md +89 -0
- package/commands/resume-session.md +155 -0
- package/commands/review.md +64 -0
- package/commands/rules-distill.md +11 -0
- package/commands/rust-build.md +188 -0
- package/commands/rust-review.md +142 -0
- package/commands/rust-test.md +309 -0
- package/commands/save-session.md +275 -0
- package/commands/sessions.md +333 -0
- package/commands/setup-pm.md +80 -0
- package/commands/ship.md +77 -0
- package/commands/skill-create.md +174 -0
- package/commands/skill-health.md +54 -0
- package/commands/tdd.md +20 -0
- package/commands/test-coverage.md +77 -0
- package/commands/test.md +64 -0
- package/commands/update-codemaps.md +72 -0
- package/commands/update-docs.md +84 -0
- package/commands/verify.md +55 -0
- package/contexts/dev.md +20 -0
- package/contexts/research.md +26 -0
- package/contexts/review.md +22 -0
- package/examples/CLAUDE.md +100 -0
- package/examples/statusline.json +19 -0
- package/examples/user-CLAUDE.md +109 -0
- package/hooks/README.md +219 -0
- package/hooks/hooks.json +320 -0
- package/hooks/run-hook.cmd +31 -0
- package/hooks/session-start +6 -0
- package/install.ps1 +38 -0
- package/install.sh +17 -0
- package/manifests/install-components.json +415 -0
- package/manifests/install-modules.json +500 -0
- package/manifests/install-profiles.json +80 -0
- package/mcp-configs/mcp-servers.json +153 -0
- package/package.json +131 -0
- package/plugins/README.md +85 -0
- package/rules/README.md +106 -0
- package/rules/common/agents.md +50 -0
- package/rules/common/coding-style.md +48 -0
- package/rules/common/development-workflow.md +38 -0
- package/rules/common/git-workflow.md +24 -0
- package/rules/common/hooks.md +30 -0
- package/rules/common/patterns.md +31 -0
- package/rules/common/performance.md +55 -0
- package/rules/common/security.md +29 -0
- package/rules/common/testing.md +29 -0
- package/rules/cpp/coding-style.md +44 -0
- package/rules/cpp/hooks.md +39 -0
- package/rules/cpp/patterns.md +51 -0
- package/rules/cpp/security.md +51 -0
- package/rules/cpp/testing.md +44 -0
- package/rules/csharp/coding-style.md +72 -0
- package/rules/csharp/hooks.md +25 -0
- package/rules/csharp/patterns.md +50 -0
- package/rules/csharp/security.md +58 -0
- package/rules/csharp/testing.md +46 -0
- package/rules/golang/coding-style.md +32 -0
- package/rules/golang/hooks.md +17 -0
- package/rules/golang/patterns.md +45 -0
- package/rules/golang/security.md +34 -0
- package/rules/golang/testing.md +31 -0
- package/rules/java/coding-style.md +114 -0
- package/rules/java/hooks.md +18 -0
- package/rules/java/patterns.md +146 -0
- package/rules/java/security.md +100 -0
- package/rules/java/testing.md +131 -0
- package/rules/kotlin/coding-style.md +86 -0
- package/rules/kotlin/hooks.md +17 -0
- package/rules/kotlin/patterns.md +146 -0
- package/rules/kotlin/security.md +82 -0
- package/rules/kotlin/testing.md +128 -0
- package/rules/perl/coding-style.md +46 -0
- package/rules/perl/hooks.md +22 -0
- package/rules/perl/patterns.md +76 -0
- package/rules/perl/security.md +69 -0
- package/rules/perl/testing.md +54 -0
- package/rules/php/coding-style.md +40 -0
- package/rules/php/hooks.md +24 -0
- package/rules/php/patterns.md +33 -0
- package/rules/php/security.md +37 -0
- package/rules/php/testing.md +39 -0
- package/rules/python/coding-style.md +42 -0
- package/rules/python/hooks.md +19 -0
- package/rules/python/patterns.md +39 -0
- package/rules/python/security.md +30 -0
- package/rules/python/testing.md +38 -0
- package/rules/rust/coding-style.md +151 -0
- package/rules/rust/hooks.md +16 -0
- package/rules/rust/patterns.md +168 -0
- package/rules/rust/security.md +141 -0
- package/rules/rust/testing.md +154 -0
- package/rules/swift/coding-style.md +47 -0
- package/rules/swift/hooks.md +20 -0
- package/rules/swift/patterns.md +66 -0
- package/rules/swift/security.md +33 -0
- package/rules/swift/testing.md +45 -0
- package/rules/typescript/coding-style.md +199 -0
- package/rules/typescript/hooks.md +22 -0
- package/rules/typescript/patterns.md +52 -0
- package/rules/typescript/security.md +28 -0
- package/rules/typescript/testing.md +18 -0
- package/schemas/ecc-install-config.schema.json +58 -0
- package/schemas/hooks.schema.json +197 -0
- package/schemas/install-components.schema.json +58 -0
- package/schemas/install-modules.schema.json +105 -0
- package/schemas/install-profiles.schema.json +45 -0
- package/schemas/install-state.schema.json +210 -0
- package/schemas/package-manager.schema.json +23 -0
- package/schemas/plugin.schema.json +58 -0
- package/schemas/provenance.schema.json +31 -0
- package/schemas/state-store.schema.json +316 -0
- package/scripts/ci/catalog.js +245 -0
- package/scripts/ci/validate-agents.js +81 -0
- package/scripts/ci/validate-commands.js +136 -0
- package/scripts/ci/validate-hooks.js +239 -0
- package/scripts/ci/validate-install-manifests.js +214 -0
- package/scripts/ci/validate-no-personal-paths.js +63 -0
- package/scripts/ci/validate-rules.js +81 -0
- package/scripts/ci/validate-skills.js +56 -0
- package/scripts/claw.js +473 -0
- package/scripts/codex/merge-mcp-config.js +304 -0
- package/scripts/cursor-aw-home/hooks.json +115 -0
- package/scripts/cursor-aw-hooks/adapter.js +120 -0
- package/scripts/cursor-aw-hooks/after-file-edit.js +11 -0
- package/scripts/cursor-aw-hooks/after-mcp-execution.js +11 -0
- package/scripts/cursor-aw-hooks/after-shell-execution.js +11 -0
- package/scripts/cursor-aw-hooks/aw-phase-adapter.js +43 -0
- package/scripts/cursor-aw-hooks/before-mcp-execution.js +11 -0
- package/scripts/cursor-aw-hooks/before-shell-execution.js +11 -0
- package/scripts/cursor-aw-hooks/before-submit-prompt.js +41 -0
- package/scripts/cursor-aw-hooks/pre-compact.js +11 -0
- package/scripts/cursor-aw-hooks/session-end.js +11 -0
- package/scripts/cursor-aw-hooks/session-start.js +11 -0
- package/scripts/cursor-aw-hooks/stop.js +11 -0
- package/scripts/doctor.js +110 -0
- package/scripts/ecc.js +208 -0
- package/scripts/generate-aw-hooks.js +110 -0
- package/scripts/harness-audit.js +512 -0
- package/scripts/hooks/auto-tmux-dev.js +88 -0
- package/scripts/hooks/check-console-log.js +71 -0
- package/scripts/hooks/check-hook-enabled.js +12 -0
- package/scripts/hooks/config-protection.js +125 -0
- package/scripts/hooks/cost-tracker.js +78 -0
- package/scripts/hooks/doc-file-warning.js +63 -0
- package/scripts/hooks/evaluate-session.js +100 -0
- package/scripts/hooks/governance-capture.js +280 -0
- package/scripts/hooks/insaits-security-monitor.py +269 -0
- package/scripts/hooks/insaits-security-wrapper.js +88 -0
- package/scripts/hooks/mcp-health-check.js +588 -0
- package/scripts/hooks/post-bash-build-complete.js +27 -0
- package/scripts/hooks/post-bash-pr-created.js +37 -0
- package/scripts/hooks/post-edit-console-warn.js +54 -0
- package/scripts/hooks/post-edit-format.js +109 -0
- package/scripts/hooks/post-edit-typecheck.js +96 -0
- package/scripts/hooks/post-mcp-log.js +27 -0
- package/scripts/hooks/pre-bash-dev-server-block.js +187 -0
- package/scripts/hooks/pre-bash-git-push-reminder.js +28 -0
- package/scripts/hooks/pre-bash-tmux-reminder.js +33 -0
- package/scripts/hooks/pre-compact.js +48 -0
- package/scripts/hooks/pre-mcp-log.js +26 -0
- package/scripts/hooks/pre-write-doc-warn.js +9 -0
- package/scripts/hooks/quality-gate.js +168 -0
- package/scripts/hooks/run-with-flags-shell.sh +32 -0
- package/scripts/hooks/run-with-flags.js +120 -0
- package/scripts/hooks/session-end-marker.js +29 -0
- package/scripts/hooks/session-end.js +301 -0
- package/scripts/hooks/session-start-rules-context.sh +5 -0
- package/scripts/hooks/session-start.js +98 -0
- package/scripts/hooks/shared/aw-phase-definitions.js +190 -0
- package/scripts/hooks/shared/aw-phase-runner.js +61 -0
- package/scripts/hooks/shared/session-start.sh +20 -0
- package/scripts/hooks/shared/user-prompt-submit.sh +155 -0
- package/scripts/hooks/suggest-compact.js +80 -0
- package/scripts/install-apply.js +140 -0
- package/scripts/install-plan.js +254 -0
- package/scripts/lib/agent-compress.js +244 -0
- package/scripts/lib/aw-harness-registry.js +122 -0
- package/scripts/lib/aw-hook-contract.js +86 -0
- package/scripts/lib/claude-aw-hook-files.js +28 -0
- package/scripts/lib/claude-hook-config.js +76 -0
- package/scripts/lib/codex-aw-hook-files.js +38 -0
- package/scripts/lib/codex-hook-config.js +88 -0
- package/scripts/lib/cursor-aw-hook-files.js +62 -0
- package/scripts/lib/cursor-hook-config.js +148 -0
- package/scripts/lib/hook-flags.js +74 -0
- package/scripts/lib/inspection.js +212 -0
- package/scripts/lib/install/apply.js +23 -0
- package/scripts/lib/install/config.js +82 -0
- package/scripts/lib/install/request.js +120 -0
- package/scripts/lib/install/runtime.js +54 -0
- package/scripts/lib/install-executor.js +778 -0
- package/scripts/lib/install-lifecycle.js +1311 -0
- package/scripts/lib/install-manifests.js +448 -0
- package/scripts/lib/install-state.js +313 -0
- package/scripts/lib/install-targets/antigravity-project.js +69 -0
- package/scripts/lib/install-targets/claude-home.js +54 -0
- package/scripts/lib/install-targets/codex-home.js +62 -0
- package/scripts/lib/install-targets/cursor-project.js +80 -0
- package/scripts/lib/install-targets/helpers.js +307 -0
- package/scripts/lib/install-targets/opencode-home.js +10 -0
- package/scripts/lib/install-targets/registry.js +66 -0
- package/scripts/lib/orchestration-session.js +299 -0
- package/scripts/lib/package-manager.d.ts +119 -0
- package/scripts/lib/package-manager.js +431 -0
- package/scripts/lib/project-detect.js +428 -0
- package/scripts/lib/resolve-ecc-root.js +89 -0
- package/scripts/lib/resolve-formatter.js +185 -0
- package/scripts/lib/session-adapters/canonical-session.js +531 -0
- package/scripts/lib/session-adapters/claude-history.js +160 -0
- package/scripts/lib/session-adapters/dmux-tmux.js +90 -0
- package/scripts/lib/session-adapters/registry.js +127 -0
- package/scripts/lib/session-aliases.d.ts +136 -0
- package/scripts/lib/session-aliases.js +481 -0
- package/scripts/lib/session-manager.d.ts +131 -0
- package/scripts/lib/session-manager.js +464 -0
- package/scripts/lib/shell-split.js +86 -0
- package/scripts/lib/skill-evolution/dashboard.js +401 -0
- package/scripts/lib/skill-evolution/health.js +263 -0
- package/scripts/lib/skill-evolution/index.js +20 -0
- package/scripts/lib/skill-evolution/provenance.js +187 -0
- package/scripts/lib/skill-evolution/tracker.js +146 -0
- package/scripts/lib/skill-evolution/versioning.js +237 -0
- package/scripts/lib/skill-improvement/amendify.js +89 -0
- package/scripts/lib/skill-improvement/evaluate.js +59 -0
- package/scripts/lib/skill-improvement/health.js +118 -0
- package/scripts/lib/skill-improvement/observations.js +108 -0
- package/scripts/lib/state-store/index.js +191 -0
- package/scripts/lib/state-store/migrations.js +178 -0
- package/scripts/lib/state-store/queries.js +697 -0
- package/scripts/lib/state-store/schema.js +92 -0
- package/scripts/lib/tmux-worktree-orchestrator.js +475 -0
- package/scripts/lib/utils.d.ts +183 -0
- package/scripts/lib/utils.js +564 -0
- package/scripts/list-installed.js +90 -0
- package/scripts/orchestrate-codex-worker.sh +107 -0
- package/scripts/orchestrate-worktrees.js +40 -0
- package/scripts/orchestration-status.js +82 -0
- package/scripts/repair.js +97 -0
- package/scripts/session-inspect.js +150 -0
- package/scripts/sessions-cli.js +177 -0
- package/scripts/setup-package-manager.js +204 -0
- package/scripts/skill-create-output.js +244 -0
- package/scripts/status.js +176 -0
- package/scripts/uninstall.js +96 -0
- package/skills/agent-eval/SKILL.md +145 -0
- package/skills/agent-harness-construction/SKILL.md +73 -0
- package/skills/agentic-engineering/SKILL.md +63 -0
- package/skills/ai-first-engineering/SKILL.md +51 -0
- package/skills/ai-regression-testing/SKILL.md +385 -0
- package/skills/android-clean-architecture/SKILL.md +339 -0
- package/skills/api-and-interface-design/SKILL.md +75 -0
- package/skills/api-design/SKILL.md +523 -0
- package/skills/architecture-decision-records/SKILL.md +179 -0
- package/skills/article-writing/SKILL.md +85 -0
- package/skills/autonomous-loops/SKILL.md +610 -0
- package/skills/aw-brainstorm/SKILL.md +115 -0
- package/skills/aw-build/SKILL.md +189 -0
- package/skills/aw-build/evals/build-stage-cases.json +28 -0
- package/skills/aw-debug/SKILL.md +49 -0
- package/skills/aw-deploy/SKILL.md +101 -0
- package/skills/aw-deploy/evals/deploy-stage-cases.json +32 -0
- package/skills/aw-execute/SKILL.md +47 -0
- package/skills/aw-execute/references/mode-code.md +47 -0
- package/skills/aw-execute/references/mode-docs.md +28 -0
- package/skills/aw-execute/references/mode-infra.md +44 -0
- package/skills/aw-execute/references/mode-migration.md +58 -0
- package/skills/aw-execute/references/worker-implementer.md +26 -0
- package/skills/aw-execute/references/worker-parallel-worker.md +23 -0
- package/skills/aw-execute/references/worker-quality-reviewer.md +23 -0
- package/skills/aw-execute/references/worker-spec-reviewer.md +23 -0
- package/skills/aw-execute/scripts/build-worker-bundle.js +229 -0
- package/skills/aw-finish/SKILL.md +111 -0
- package/skills/aw-investigate/SKILL.md +109 -0
- package/skills/aw-plan/SKILL.md +399 -0
- package/skills/aw-prepare/SKILL.md +118 -0
- package/skills/aw-review/SKILL.md +123 -0
- package/skills/aw-rules/SKILL.md +129 -0
- package/skills/aw-rules/references/known-hallucinations.md +43 -0
- package/skills/aw-rules/references/verification-sources.md +50 -0
- package/skills/aw-ship/SKILL.md +115 -0
- package/skills/aw-spec/SKILL.md +128 -0
- package/skills/aw-tasks/SKILL.md +155 -0
- package/skills/aw-test/SKILL.md +118 -0
- package/skills/aw-verify/SKILL.md +51 -0
- package/skills/aw-yolo/SKILL.md +111 -0
- package/skills/backend-patterns/SKILL.md +598 -0
- package/skills/benchmark/SKILL.md +87 -0
- package/skills/blueprint/SKILL.md +105 -0
- package/skills/browser-qa/SKILL.md +81 -0
- package/skills/browser-testing-with-devtools/SKILL.md +81 -0
- package/skills/bun-runtime/SKILL.md +84 -0
- package/skills/canary-watch/SKILL.md +93 -0
- package/skills/carrier-relationship-management/SKILL.md +212 -0
- package/skills/ci-cd-and-automation/SKILL.md +71 -0
- package/skills/claude-api/SKILL.md +337 -0
- package/skills/claude-devfleet/SKILL.md +103 -0
- package/skills/click-path-audit/SKILL.md +244 -0
- package/skills/clickhouse-io/SKILL.md +439 -0
- package/skills/code-simplification/SKILL.md +74 -0
- package/skills/codebase-onboarding/SKILL.md +233 -0
- package/skills/coding-standards/SKILL.md +530 -0
- package/skills/compose-multiplatform-patterns/SKILL.md +299 -0
- package/skills/configure-ecc/SKILL.md +367 -0
- package/skills/content-engine/SKILL.md +88 -0
- package/skills/content-hash-cache-pattern/SKILL.md +161 -0
- package/skills/context-budget/SKILL.md +135 -0
- package/skills/context-engineering/SKILL.md +74 -0
- package/skills/continuous-agent-loop/SKILL.md +45 -0
- package/skills/continuous-learning/SKILL.md +119 -0
- package/skills/continuous-learning/config.json +18 -0
- package/skills/continuous-learning/evaluate-session.sh +69 -0
- package/skills/continuous-learning-v2/SKILL.md +365 -0
- package/skills/continuous-learning-v2/agents/observer-loop.sh +191 -0
- package/skills/continuous-learning-v2/agents/observer.md +198 -0
- package/skills/continuous-learning-v2/agents/session-guardian.sh +150 -0
- package/skills/continuous-learning-v2/agents/start-observer.sh +240 -0
- package/skills/continuous-learning-v2/config.json +8 -0
- package/skills/continuous-learning-v2/hooks/observe.sh +412 -0
- package/skills/continuous-learning-v2/scripts/detect-project.sh +228 -0
- package/skills/continuous-learning-v2/scripts/instinct-cli.py +1426 -0
- package/skills/continuous-learning-v2/scripts/test_parse_instinct.py +984 -0
- package/skills/cost-aware-llm-pipeline/SKILL.md +183 -0
- package/skills/cpp-coding-standards/SKILL.md +723 -0
- package/skills/cpp-testing/SKILL.md +324 -0
- package/skills/crosspost/SKILL.md +190 -0
- package/skills/customs-trade-compliance/SKILL.md +263 -0
- package/skills/data-scraper-agent/SKILL.md +764 -0
- package/skills/database-migrations/SKILL.md +429 -0
- package/skills/deep-research/SKILL.md +155 -0
- package/skills/deployment-patterns/SKILL.md +427 -0
- package/skills/deprecation-and-migration/SKILL.md +75 -0
- package/skills/design-system/SKILL.md +76 -0
- package/skills/django-patterns/SKILL.md +734 -0
- package/skills/django-security/SKILL.md +593 -0
- package/skills/django-tdd/SKILL.md +729 -0
- package/skills/django-verification/SKILL.md +469 -0
- package/skills/dmux-workflows/SKILL.md +191 -0
- package/skills/docker-patterns/SKILL.md +364 -0
- package/skills/documentation-and-adrs/SKILL.md +75 -0
- package/skills/documentation-lookup/SKILL.md +90 -0
- package/skills/e2e-testing/SKILL.md +326 -0
- package/skills/energy-procurement/SKILL.md +228 -0
- package/skills/enterprise-agent-ops/SKILL.md +50 -0
- package/skills/eval-harness/SKILL.md +270 -0
- package/skills/exa-search/SKILL.md +103 -0
- package/skills/fal-ai-media/SKILL.md +284 -0
- package/skills/flutter-dart-code-review/SKILL.md +435 -0
- package/skills/foundation-models-on-device/SKILL.md +243 -0
- package/skills/frontend-patterns/SKILL.md +642 -0
- package/skills/frontend-slides/SKILL.md +184 -0
- package/skills/frontend-slides/STYLE_PRESETS.md +330 -0
- package/skills/frontend-ui-engineering/SKILL.md +68 -0
- package/skills/git-workflow-and-versioning/SKILL.md +75 -0
- package/skills/golang-patterns/SKILL.md +674 -0
- package/skills/golang-testing/SKILL.md +720 -0
- package/skills/idea-refine/SKILL.md +84 -0
- package/skills/incremental-implementation/SKILL.md +86 -0
- package/skills/inventory-demand-planning/SKILL.md +247 -0
- package/skills/investor-materials/SKILL.md +96 -0
- package/skills/investor-outreach/SKILL.md +76 -0
- package/skills/iterative-retrieval/SKILL.md +211 -0
- package/skills/java-coding-standards/SKILL.md +147 -0
- package/skills/jpa-patterns/SKILL.md +151 -0
- package/skills/kotlin-coroutines-flows/SKILL.md +284 -0
- package/skills/kotlin-exposed-patterns/SKILL.md +719 -0
- package/skills/kotlin-ktor-patterns/SKILL.md +689 -0
- package/skills/kotlin-patterns/SKILL.md +711 -0
- package/skills/kotlin-testing/SKILL.md +824 -0
- package/skills/laravel-patterns/SKILL.md +415 -0
- package/skills/laravel-security/SKILL.md +285 -0
- package/skills/laravel-tdd/SKILL.md +283 -0
- package/skills/laravel-verification/SKILL.md +179 -0
- package/skills/liquid-glass-design/SKILL.md +279 -0
- package/skills/logistics-exception-management/SKILL.md +222 -0
- package/skills/market-research/SKILL.md +75 -0
- package/skills/mcp-server-patterns/SKILL.md +67 -0
- package/skills/nanoclaw-repl/SKILL.md +33 -0
- package/skills/nextjs-turbopack/SKILL.md +44 -0
- package/skills/nutrient-document-processing/SKILL.md +167 -0
- package/skills/nuxt4-patterns/SKILL.md +100 -0
- package/skills/performance-optimization/SKILL.md +77 -0
- package/skills/perl-patterns/SKILL.md +504 -0
- package/skills/perl-security/SKILL.md +503 -0
- package/skills/perl-testing/SKILL.md +475 -0
- package/skills/plankton-code-quality/SKILL.md +236 -0
- package/skills/postgres-patterns/SKILL.md +147 -0
- package/skills/product-lens/SKILL.md +79 -0
- package/skills/production-scheduling/SKILL.md +238 -0
- package/skills/project-guidelines-example/SKILL.md +349 -0
- package/skills/prompt-optimizer/SKILL.md +397 -0
- package/skills/python-patterns/SKILL.md +750 -0
- package/skills/python-testing/SKILL.md +816 -0
- package/skills/pytorch-patterns/SKILL.md +396 -0
- package/skills/quality-nonconformance/SKILL.md +260 -0
- package/skills/ralphinho-rfc-pipeline/SKILL.md +67 -0
- package/skills/regex-vs-llm-structured-text/SKILL.md +220 -0
- package/skills/returns-reverse-logistics/SKILL.md +240 -0
- package/skills/rules-distill/SKILL.md +264 -0
- package/skills/rules-distill/scripts/scan-rules.sh +58 -0
- package/skills/rules-distill/scripts/scan-skills.sh +129 -0
- package/skills/rust-patterns/SKILL.md +499 -0
- package/skills/rust-testing/SKILL.md +500 -0
- package/skills/safety-guard/SKILL.md +69 -0
- package/skills/santa-method/SKILL.md +306 -0
- package/skills/search-first/SKILL.md +161 -0
- package/skills/security-and-hardening/SKILL.md +70 -0
- package/skills/security-review/SKILL.md +495 -0
- package/skills/security-review/cloud-infrastructure-security.md +361 -0
- package/skills/security-scan/SKILL.md +165 -0
- package/skills/skill-comply/SKILL.md +58 -0
- package/skills/skill-comply/fixtures/compliant_trace.jsonl +5 -0
- package/skills/skill-comply/fixtures/noncompliant_trace.jsonl +3 -0
- package/skills/skill-comply/fixtures/tdd_spec.yaml +44 -0
- package/skills/skill-comply/prompts/classifier.md +24 -0
- package/skills/skill-comply/prompts/scenario_generator.md +62 -0
- package/skills/skill-comply/prompts/spec_generator.md +42 -0
- package/skills/skill-comply/pyproject.toml +15 -0
- package/skills/skill-comply/scripts/__init__.py +0 -0
- package/skills/skill-comply/scripts/classifier.py +85 -0
- package/skills/skill-comply/scripts/grader.py +122 -0
- package/skills/skill-comply/scripts/parser.py +107 -0
- package/skills/skill-comply/scripts/report.py +170 -0
- package/skills/skill-comply/scripts/run.py +127 -0
- package/skills/skill-comply/scripts/runner.py +161 -0
- package/skills/skill-comply/scripts/scenario_generator.py +70 -0
- package/skills/skill-comply/scripts/spec_generator.py +72 -0
- package/skills/skill-comply/scripts/utils.py +13 -0
- package/skills/skill-comply/tests/test_grader.py +137 -0
- package/skills/skill-comply/tests/test_parser.py +90 -0
- package/skills/skill-quality-review/SKILL.md +102 -0
- package/skills/skill-quality-review/references/review-rubric.md +112 -0
- package/skills/skill-stocktake/SKILL.md +197 -0
- package/skills/skill-stocktake/scripts/quick-diff.sh +87 -0
- package/skills/skill-stocktake/scripts/save-results.sh +56 -0
- package/skills/skill-stocktake/scripts/scan.sh +170 -0
- package/skills/springboot-patterns/SKILL.md +314 -0
- package/skills/springboot-security/SKILL.md +272 -0
- package/skills/springboot-tdd/SKILL.md +158 -0
- package/skills/springboot-verification/SKILL.md +231 -0
- package/skills/strategic-compact/SKILL.md +131 -0
- package/skills/strategic-compact/suggest-compact.sh +54 -0
- package/skills/swift-actor-persistence/SKILL.md +143 -0
- package/skills/swift-concurrency-6-2/SKILL.md +216 -0
- package/skills/swift-protocol-di-testing/SKILL.md +190 -0
- package/skills/swiftui-patterns/SKILL.md +259 -0
- package/skills/tdd-workflow/SKILL.md +145 -0
- package/skills/team-builder/SKILL.md +161 -0
- package/skills/using-aw-skills/SKILL.md +290 -0
- package/skills/using-aw-skills/evals/skill-trigger-cases.tsv +25 -0
- package/skills/using-aw-skills/evals/test-skill-triggers.sh +171 -0
- package/skills/using-aw-skills/hooks/hooks.json +9 -0
- package/skills/using-aw-skills/hooks/session-start.sh +188 -0
- package/skills/using-platform-skills/SKILL.md +163 -0
- package/skills/using-platform-skills/evals/platform-selection-cases.json +52 -0
- package/skills/verification-loop/SKILL.md +126 -0
- package/skills/video-editing/SKILL.md +310 -0
- package/skills/videodb/SKILL.md +374 -0
- package/skills/videodb/reference/api-reference.md +550 -0
- package/skills/videodb/reference/capture-reference.md +407 -0
- package/skills/videodb/reference/capture.md +101 -0
- package/skills/videodb/reference/editor.md +443 -0
- package/skills/videodb/reference/generative.md +331 -0
- package/skills/videodb/reference/rtstream-reference.md +564 -0
- package/skills/videodb/reference/rtstream.md +65 -0
- package/skills/videodb/reference/search.md +230 -0
- package/skills/videodb/reference/streaming.md +406 -0
- package/skills/videodb/reference/use-cases.md +118 -0
- package/skills/videodb/scripts/ws_listener.py +282 -0
- package/skills/visa-doc-translate/README.md +86 -0
- package/skills/visa-doc-translate/SKILL.md +117 -0
- package/skills/x-api/SKILL.md +208 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: team-builder
|
|
3
|
+
description: Interactive agent picker for composing and dispatching parallel teams
|
|
4
|
+
origin: community
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Team Builder
|
|
8
|
+
|
|
9
|
+
Interactive menu for browsing and composing agent teams on demand. Works with flat or domain-subdirectory agent collections.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
- You have multiple agent personas (markdown files) and want to pick which ones to use for a task
|
|
14
|
+
- You want to compose an ad-hoc team from different domains (e.g., Security + SEO + Architecture)
|
|
15
|
+
- You want to browse what agents are available before deciding
|
|
16
|
+
|
|
17
|
+
## Prerequisites
|
|
18
|
+
|
|
19
|
+
Agent files must be markdown files containing a persona prompt (identity, rules, workflow, deliverables). The first `# Heading` is used as the agent name and the first paragraph as the description.
|
|
20
|
+
|
|
21
|
+
Both flat and subdirectory layouts are supported:
|
|
22
|
+
|
|
23
|
+
**Subdirectory layout** — domain is inferred from the folder name:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
agents/
|
|
27
|
+
├── engineering/
|
|
28
|
+
│ ├── security-engineer.md
|
|
29
|
+
│ └── software-architect.md
|
|
30
|
+
├── marketing/
|
|
31
|
+
│ └── seo-specialist.md
|
|
32
|
+
└── sales/
|
|
33
|
+
└── discovery-coach.md
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
**Flat layout** — domain inferred from shared filename prefixes. A prefix counts as a domain when 2+ files share it. Files with unique prefixes go to "General". Note: the algorithm splits at the first `-`, so multi-word domains (e.g., `product-management`) should use the subdirectory layout instead:
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
agents/
|
|
40
|
+
├── engineering-security-engineer.md
|
|
41
|
+
├── engineering-software-architect.md
|
|
42
|
+
├── marketing-seo-specialist.md
|
|
43
|
+
├── marketing-content-strategist.md
|
|
44
|
+
├── sales-discovery-coach.md
|
|
45
|
+
└── sales-outbound-strategist.md
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Configuration
|
|
49
|
+
|
|
50
|
+
Agent directories are probed in order and results are merged:
|
|
51
|
+
|
|
52
|
+
1. `./agents/**/*.md` + `./agents/*.md` — project-local agents (both depths)
|
|
53
|
+
2. `~/.claude/agents/**/*.md` + `~/.claude/agents/*.md` — global agents (both depths)
|
|
54
|
+
|
|
55
|
+
Results from all locations are merged and deduplicated by agent name. Project-local agents take precedence over global agents with the same name. A custom path can be used instead if the user specifies one.
|
|
56
|
+
|
|
57
|
+
## How It Works
|
|
58
|
+
|
|
59
|
+
### Step 1: Discover Available Agents
|
|
60
|
+
|
|
61
|
+
Glob agent directories using the probe order above. Exclude README files. For each file found:
|
|
62
|
+
- **Subdirectory layout:** extract the domain from the parent folder name
|
|
63
|
+
- **Flat layout:** collect all filename prefixes (text before the first `-`). A prefix qualifies as a domain only if it appears in 2 or more filenames (e.g., `engineering-security-engineer.md` and `engineering-software-architect.md` both start with `engineering` → Engineering domain). Files with unique prefixes (e.g., `code-reviewer.md`, `tdd-guide.md`) are grouped under "General"
|
|
64
|
+
- Extract the agent name from the first `# Heading`. If no heading is found, derive the name from the filename (strip `.md`, replace hyphens with spaces, title-case)
|
|
65
|
+
- Extract a one-line summary from the first paragraph after the heading
|
|
66
|
+
|
|
67
|
+
If no agent files are found after probing all locations, inform the user: "No agent files found. Checked: [list paths probed]. Expected: markdown files in one of those directories." Then stop.
|
|
68
|
+
|
|
69
|
+
### Step 2: Present Domain Menu
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
Available agent domains:
|
|
73
|
+
1. Engineering — Software Architect, Security Engineer
|
|
74
|
+
2. Marketing — SEO Specialist
|
|
75
|
+
3. Sales — Discovery Coach, Outbound Strategist
|
|
76
|
+
|
|
77
|
+
Pick domains or name specific agents (e.g., "1,3" or "security + seo"):
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
- Skip domains with zero agents (empty directories)
|
|
81
|
+
- Show agent count per domain
|
|
82
|
+
|
|
83
|
+
### Step 3: Handle Selection
|
|
84
|
+
|
|
85
|
+
Accept flexible input:
|
|
86
|
+
- Numbers: "1,3" selects all agents from Engineering and Sales
|
|
87
|
+
- Names: "security + seo" fuzzy-matches against discovered agents
|
|
88
|
+
- "all from engineering" selects every agent in that domain
|
|
89
|
+
|
|
90
|
+
If more than 5 agents are selected, list them alphabetically and ask the user to narrow down: "You selected N agents (max 5). Pick which to keep, or say 'first 5' to use the first five alphabetically."
|
|
91
|
+
|
|
92
|
+
Confirm selection:
|
|
93
|
+
```
|
|
94
|
+
Selected: Security Engineer + SEO Specialist
|
|
95
|
+
What should they work on? (describe the task):
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Step 4: Spawn Agents in Parallel
|
|
99
|
+
|
|
100
|
+
1. Read each selected agent's markdown file
|
|
101
|
+
2. Prompt for the task description if not already provided
|
|
102
|
+
3. Spawn all agents in parallel using the Agent tool:
|
|
103
|
+
- `subagent_type: "general-purpose"`
|
|
104
|
+
- `prompt: "{agent file content}\n\nTask: {task description}"`
|
|
105
|
+
- Each agent runs independently — no inter-agent communication needed
|
|
106
|
+
4. If an agent fails (error, timeout, or empty output), note the failure inline (e.g., "Security Engineer: failed — [reason]") and continue with results from agents that succeeded
|
|
107
|
+
|
|
108
|
+
### Step 5: Synthesize Results
|
|
109
|
+
|
|
110
|
+
Collect all outputs and present a unified report:
|
|
111
|
+
- Results grouped by agent
|
|
112
|
+
- Synthesis section highlighting:
|
|
113
|
+
- Agreements across agents
|
|
114
|
+
- Conflicts or tensions between recommendations
|
|
115
|
+
- Recommended next steps
|
|
116
|
+
|
|
117
|
+
If only 1 agent was selected, skip synthesis and present the output directly.
|
|
118
|
+
|
|
119
|
+
## Rules
|
|
120
|
+
|
|
121
|
+
- **Dynamic discovery only.** Never hardcode agent lists. New files in the directory auto-appear in the menu.
|
|
122
|
+
- **Max 5 agents per team.** More than 5 produces diminishing returns and excessive token usage. Enforce at selection time.
|
|
123
|
+
- **Parallel dispatch.** All agents run simultaneously — use the Agent tool's parallel invocation pattern.
|
|
124
|
+
- **Parallel Agent calls, not TeamCreate.** This skill uses parallel Agent tool calls for independent work. TeamCreate (a Claude Code tool for multi-agent dialogue) is only needed when agents must debate or respond to each other.
|
|
125
|
+
|
|
126
|
+
## Examples
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
User: team builder
|
|
130
|
+
|
|
131
|
+
Claude:
|
|
132
|
+
Available agent domains:
|
|
133
|
+
1. Engineering (2) — Software Architect, Security Engineer
|
|
134
|
+
2. Marketing (1) — SEO Specialist
|
|
135
|
+
3. Sales (4) — Discovery Coach, Outbound Strategist, Proposal Strategist, Sales Engineer
|
|
136
|
+
4. Support (1) — Executive Summary
|
|
137
|
+
|
|
138
|
+
Pick domains or name specific agents:
|
|
139
|
+
|
|
140
|
+
User: security + seo
|
|
141
|
+
|
|
142
|
+
Claude:
|
|
143
|
+
Selected: Security Engineer + SEO Specialist
|
|
144
|
+
What should they work on?
|
|
145
|
+
|
|
146
|
+
User: Review my Next.js e-commerce site before launch
|
|
147
|
+
|
|
148
|
+
[Both agents spawn in parallel, each applying their specialty to the codebase]
|
|
149
|
+
|
|
150
|
+
Claude:
|
|
151
|
+
## Security Engineer Findings
|
|
152
|
+
- [findings...]
|
|
153
|
+
|
|
154
|
+
## SEO Specialist Findings
|
|
155
|
+
- [findings...]
|
|
156
|
+
|
|
157
|
+
## Synthesis
|
|
158
|
+
Both agents agree on: [...]
|
|
159
|
+
Tension: Security recommends CSP that blocks inline styles, SEO needs inline schema markup. Resolution: [...]
|
|
160
|
+
Next steps: [...]
|
|
161
|
+
```
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-aw-skills
|
|
3
|
+
description: Session-start skill-first routing for the AW SDLC surface. Select the smallest correct AW skill stack before any substantive response, then load deeper stage, domain, and org-standard detail on demand.
|
|
4
|
+
trigger: Every session start. Loaded automatically via session-start hook.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Using AW Skills
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
This skill is the thin router for the AW SDLC surface.
|
|
12
|
+
Its job is to:
|
|
13
|
+
|
|
14
|
+
- choose the smallest correct public route
|
|
15
|
+
- choose the smallest correct AW skill stack
|
|
16
|
+
- stop generic commentary until the stage is clear
|
|
17
|
+
- load deeper references only when they materially change the decision
|
|
18
|
+
|
|
19
|
+
Keep this file small.
|
|
20
|
+
Stage behavior belongs in stage skills.
|
|
21
|
+
Long examples, checklists, and loading guidance belong in shared references.
|
|
22
|
+
|
|
23
|
+
This means the file should optimize for one thing first:
|
|
24
|
+
|
|
25
|
+
- make the right next skill obvious
|
|
26
|
+
|
|
27
|
+
## When to Use
|
|
28
|
+
|
|
29
|
+
- at session start
|
|
30
|
+
- before any substantive response
|
|
31
|
+
- whenever the request might map to planning, building, investigating, testing, reviewing, deploying, or shipping work
|
|
32
|
+
- whenever the user gives a vague request and the right stage still has to be selected
|
|
33
|
+
|
|
34
|
+
Do not skip this skill just because the work looks small.
|
|
35
|
+
|
|
36
|
+
## Skill Discovery
|
|
37
|
+
|
|
38
|
+
When a task arrives, identify the current delivery phase and load the smallest correct route:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
Task arrives
|
|
42
|
+
│
|
|
43
|
+
├── Vague idea, spec, or task breakdown? ───────→ /aw:plan
|
|
44
|
+
├── Approved change to implement? ──────────────→ /aw:build
|
|
45
|
+
├── Bug, alert, or unclear runtime failure? ────→ /aw:investigate
|
|
46
|
+
├── Need QA proof or regression evidence? ──────→ /aw:test
|
|
47
|
+
├── Need findings or readiness decision? ───────→ /aw:review
|
|
48
|
+
├── Need one concrete release action? ──────────→ /aw:deploy
|
|
49
|
+
├── Need launch or rollout closeout? ───────────→ /aw:ship
|
|
50
|
+
└── Need one-run end-to-end automation? ───────→ aw-yolo
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Then load the supporting craft and domain skills that sharpen that route.
|
|
54
|
+
If the work is in a real GHL domain, load `using-platform-skills` next.
|
|
55
|
+
|
|
56
|
+
## Public Surface
|
|
57
|
+
|
|
58
|
+
The public surface stays intentionally small.
|
|
59
|
+
The canonical routes are the stages shown in the discovery flow above:
|
|
60
|
+
|
|
61
|
+
- `/aw:plan`, `/aw:build`, `/aw:test`, `/aw:review`, `/aw:deploy`, `/aw:ship`
|
|
62
|
+
- `/aw:investigate`
|
|
63
|
+
|
|
64
|
+
Default delivery flow:
|
|
65
|
+
|
|
66
|
+
- `/aw:plan` -> `/aw:build` -> `/aw:test` -> `/aw:review` -> `/aw:deploy` -> `/aw:ship`
|
|
67
|
+
|
|
68
|
+
Conditional route:
|
|
69
|
+
|
|
70
|
+
- `/aw:investigate`
|
|
71
|
+
|
|
72
|
+
`/aw:investigate` is a first-class route for bugs, alerts, regressions, and unclear root cause.
|
|
73
|
+
It should not be treated as a mandatory phase in every request.
|
|
74
|
+
|
|
75
|
+
Compatibility entrypoints remain available during migration:
|
|
76
|
+
|
|
77
|
+
- `/aw:execute` -> `/aw:build`
|
|
78
|
+
- `/aw:verify` -> `/aw:test`, `/aw:review`, or the smallest correct combined verification flow
|
|
79
|
+
|
|
80
|
+
There is also one explicit internal power workflow:
|
|
81
|
+
|
|
82
|
+
- `aw-yolo`
|
|
83
|
+
|
|
84
|
+
`aw-yolo` is for clearly end-to-end requests where the user wants one-run automation.
|
|
85
|
+
It should not become the default route for normal stage-specific work.
|
|
86
|
+
When it is selected, begin at the first unsatisfied stage rather than restarting the lifecycle from the top.
|
|
87
|
+
|
|
88
|
+
## Core Operating Behaviors
|
|
89
|
+
|
|
90
|
+
These behaviors apply across every route.
|
|
91
|
+
|
|
92
|
+
### 1. Surface Assumptions
|
|
93
|
+
|
|
94
|
+
Name assumptions that materially change scope, architecture, rollout, or verification.
|
|
95
|
+
If an assumption could change the selected route, say it early.
|
|
96
|
+
|
|
97
|
+
### 2. Manage Confusion Actively
|
|
98
|
+
|
|
99
|
+
If the request, spec, code, or baseline disagree:
|
|
100
|
+
|
|
101
|
+
1. stop
|
|
102
|
+
2. name the contradiction
|
|
103
|
+
3. state the tradeoff or blocking question
|
|
104
|
+
4. do not guess through it
|
|
105
|
+
|
|
106
|
+
### 3. Push Back With Concrete Tradeoffs
|
|
107
|
+
|
|
108
|
+
If an approach creates obvious risk, complexity, or rollout danger:
|
|
109
|
+
|
|
110
|
+
- say so directly
|
|
111
|
+
- name the downside
|
|
112
|
+
- propose the smallest safer alternative
|
|
113
|
+
|
|
114
|
+
### 4. Enforce Simplicity
|
|
115
|
+
|
|
116
|
+
Prefer the smallest route and the smallest supporting skill stack.
|
|
117
|
+
Do not turn a single-stage task into a hidden multi-stage workflow.
|
|
118
|
+
|
|
119
|
+
### 5. Maintain Scope Discipline
|
|
120
|
+
|
|
121
|
+
Touch only the stage and supporting context required for the current request.
|
|
122
|
+
Do not reopen planning, implementation, or release work without a reason.
|
|
123
|
+
|
|
124
|
+
### 6. Verify, Don't Assume
|
|
125
|
+
|
|
126
|
+
Every route must eventually produce evidence, not just confidence.
|
|
127
|
+
Proof belongs in the right stage artifact, not only in narration.
|
|
128
|
+
|
|
129
|
+
## Always-On Activation
|
|
130
|
+
|
|
131
|
+
Before any substantive response, this router must select the smallest correct AW skill stack and matching public route.
|
|
132
|
+
|
|
133
|
+
- explicit user command -> honor that command and load the mapped AW stage skill first
|
|
134
|
+
- clear process need -> load the needed internal process skill first
|
|
135
|
+
- otherwise choose the smallest correct AW primary stage skill and matching public route by intent
|
|
136
|
+
- only after the required AW skills are selected, load deeper domain skills or ask clarifying questions
|
|
137
|
+
|
|
138
|
+
Do not start with generic implementation, review, or deploy advice before skill selection.
|
|
139
|
+
Do not leave the active skill stack or matching route implicit for non-trivial work.
|
|
140
|
+
|
|
141
|
+
## The Rule
|
|
142
|
+
|
|
143
|
+
If there is even a small chance that an AW process skill, stage skill, or required domain skill applies, load it before responding.
|
|
144
|
+
|
|
145
|
+
Questions count.
|
|
146
|
+
Clarifying questions count.
|
|
147
|
+
Quick exploration counts.
|
|
148
|
+
|
|
149
|
+
The AW public command is the user-facing projection of the selected primary stage skill.
|
|
150
|
+
|
|
151
|
+
## Skill Priority
|
|
152
|
+
|
|
153
|
+
When multiple AW skills could apply, use this order:
|
|
154
|
+
|
|
155
|
+
1. process skills first:
|
|
156
|
+
- `aw-brainstorm`
|
|
157
|
+
- `aw-debug`
|
|
158
|
+
- `aw-prepare`
|
|
159
|
+
- `aw-yolo`
|
|
160
|
+
2. primary stage skills second:
|
|
161
|
+
- `aw-plan`
|
|
162
|
+
- `aw-build`
|
|
163
|
+
- `aw-investigate`
|
|
164
|
+
- `aw-test`
|
|
165
|
+
- `aw-review`
|
|
166
|
+
- `aw-deploy`
|
|
167
|
+
- `aw-ship`
|
|
168
|
+
3. domain and cross-cutting skills third
|
|
169
|
+
|
|
170
|
+
The selected public route should reflect the primary stage skill, not hide it.
|
|
171
|
+
|
|
172
|
+
## Route Selection
|
|
173
|
+
|
|
174
|
+
Use one primary route unless the user explicitly asks for end-to-end orchestration.
|
|
175
|
+
|
|
176
|
+
For route examples, explicit routing priority, and scope guardrails, see [`../../references/route-selection-patterns.md`](../../references/route-selection-patterns.md).
|
|
177
|
+
|
|
178
|
+
## Failure Modes to Avoid
|
|
179
|
+
|
|
180
|
+
These patterns look productive, but they create routing drift:
|
|
181
|
+
|
|
182
|
+
1. answering quickly before selecting a route
|
|
183
|
+
2. treating exploration as exempt from routing
|
|
184
|
+
3. choosing `/aw:investigate` for every bug, even when the fix is already known
|
|
185
|
+
4. treating `aw-yolo` as the default because it feels convenient
|
|
186
|
+
5. reopening planning during `build` without a real blocker
|
|
187
|
+
6. silently implementing during `test` or `review`
|
|
188
|
+
7. loading every domain skill "just in case"
|
|
189
|
+
8. giving a confident answer without evidence or stage artifacts
|
|
190
|
+
|
|
191
|
+
## Cross-Cutting Engineering Skills
|
|
192
|
+
|
|
193
|
+
After the primary stage is selected, load the portable craft skill that best sharpens the work:
|
|
194
|
+
|
|
195
|
+
- `idea-refine`
|
|
196
|
+
- `context-engineering`
|
|
197
|
+
- `incremental-implementation`
|
|
198
|
+
- `frontend-ui-engineering`
|
|
199
|
+
- `api-and-interface-design`
|
|
200
|
+
- `browser-testing-with-devtools`
|
|
201
|
+
- `code-simplification`
|
|
202
|
+
- `security-and-hardening`
|
|
203
|
+
- `performance-optimization`
|
|
204
|
+
- `git-workflow-and-versioning`
|
|
205
|
+
- `ci-cd-and-automation`
|
|
206
|
+
- `deprecation-and-migration`
|
|
207
|
+
- `documentation-and-adrs`
|
|
208
|
+
|
|
209
|
+
Load them because they improve the selected stage, not because they create a new public route.
|
|
210
|
+
For domain families, cross-cutting guidance, and org-standard loading, see [`../../references/domain-skill-loading.md`](../../references/domain-skill-loading.md).
|
|
211
|
+
|
|
212
|
+
## Platform Skill Loading
|
|
213
|
+
|
|
214
|
+
After the primary AW route is known, use `using-platform-skills` when GHL platform behavior materially affects the stage.
|
|
215
|
+
|
|
216
|
+
- backend and worker work -> `platform-services:*`
|
|
217
|
+
- frontend and design-system work -> `platform-frontend:*` plus `platform-design:*`
|
|
218
|
+
- data and migrations -> `platform-data:*`
|
|
219
|
+
- infra and deploy paths -> `platform-infra:*`
|
|
220
|
+
- test systems and QA governance -> `platform-sdet:*`
|
|
221
|
+
- review depth and readiness -> `platform-review:*`
|
|
222
|
+
- product context and business behavior -> `platform-product:*`
|
|
223
|
+
|
|
224
|
+
Use `using-platform-skills` to decide the first supporting platform skills for the selected stage.
|
|
225
|
+
|
|
226
|
+
## Context Loading
|
|
227
|
+
|
|
228
|
+
Load context in the smallest order that reduces uncertainty without flooding the session.
|
|
229
|
+
Start with repo-local contracts and approved AW artifacts before broad code search or domain docs.
|
|
230
|
+
|
|
231
|
+
See [`../../references/context-loading-and-intake.md`](../../references/context-loading-and-intake.md).
|
|
232
|
+
|
|
233
|
+
## Org Standards Always On
|
|
234
|
+
|
|
235
|
+
When the selected stage falls inside a resolved baseline profile, the stage must honor:
|
|
236
|
+
|
|
237
|
+
- `defaults/aw-sdlc/baseline-profiles.yml`
|
|
238
|
+
- relevant platform playbooks
|
|
239
|
+
- relevant `.aw_rules`
|
|
240
|
+
|
|
241
|
+
Frontend work should still inherit HighRise, accessibility, responsive, and review expectations.
|
|
242
|
+
Release work should still inherit governance, rollback, and evidence expectations.
|
|
243
|
+
See [`../../references/domain-skill-loading.md`](../../references/domain-skill-loading.md).
|
|
244
|
+
|
|
245
|
+
## Skill Rules
|
|
246
|
+
|
|
247
|
+
1. Check for an applicable AW route before starting real work.
|
|
248
|
+
2. Use one primary route unless the user explicitly asks for end-to-end orchestration.
|
|
249
|
+
3. Load process skills before stage skills when the process itself changes the right path.
|
|
250
|
+
4. Load domain and craft skills only after the primary route is clear.
|
|
251
|
+
5. Load `using-platform-skills` when a GHL platform family materially changes the work.
|
|
252
|
+
6. When in doubt between diagnosis and implementation, choose `/aw:investigate` only if root cause is still unclear.
|
|
253
|
+
7. When in doubt between a normal route and `aw-yolo`, prefer the normal route.
|
|
254
|
+
|
|
255
|
+
## Typical Sequences
|
|
256
|
+
|
|
257
|
+
For a normal feature:
|
|
258
|
+
|
|
259
|
+
```text
|
|
260
|
+
/aw:plan -> /aw:build -> /aw:test -> /aw:review -> /aw:deploy -> /aw:ship
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
For a bug with unclear root cause:
|
|
264
|
+
|
|
265
|
+
```text
|
|
266
|
+
/aw:investigate -> /aw:build -> /aw:test -> /aw:review
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
For a release-ready change that only needs rollout work:
|
|
270
|
+
|
|
271
|
+
```text
|
|
272
|
+
/aw:deploy -> /aw:ship
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
For explicit one-run automation:
|
|
276
|
+
|
|
277
|
+
```text
|
|
278
|
+
aw-yolo -> [smallest correct internal stage sequence]
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
## Verification
|
|
282
|
+
|
|
283
|
+
Before moving past routing, confirm:
|
|
284
|
+
|
|
285
|
+
- [ ] the smallest correct AW skill stack was selected first
|
|
286
|
+
- [ ] the public route matches the actual stage intent
|
|
287
|
+
- [ ] `/aw:investigate` was only chosen when diagnosis is actually required
|
|
288
|
+
- [ ] org-standard playbooks and `.aw_rules` are loaded when the baseline requires them
|
|
289
|
+
- [ ] the task is not being silently broadened into extra stages
|
|
290
|
+
- [ ] `aw-yolo` is used only when the user explicitly asked for end-to-end automation
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# mode prompt expected_pattern description expected_route primary_skill supporting_skills
|
|
2
|
+
quick For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Create the implementation spec for the approved Communities moderation API contract. Do not make me write a PRD first. plan;aw-plan;platform-services Backend planning intent selects aw-plan plus backend domain support plan aw-plan platform-services:development
|
|
3
|
+
quick For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Help me refine this idea for an AI-powered renewal reminder flow before we write the spec. plan;aw-plan;idea-refine Fuzzy concept should still resolve to aw-plan while loading idea-refine first plan aw-plan idea-refine
|
|
4
|
+
quick For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Design a stable API contract for the approved webhook retry interface change. plan;aw-plan;api-and-interface-design Contract-first planning should resolve to aw-plan with api-and-interface-design support plan aw-plan api-and-interface-design
|
|
5
|
+
quick For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Investigate this Communities moderation worker retry failure and tell me the likely fault surface before patching. investigate;aw-investigate;grafana Backend investigate intent selects aw-investigate plus runtime triage support investigate aw-investigate platform-infra:grafana
|
|
6
|
+
quick For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Deploy this verified Communities feed MFA to staging. deploy;aw-deploy;deploy-versioned-mfa;staging-deploy Frontend deploy intent selects aw-deploy plus versioned MFA deploy support deploy aw-deploy deploy-versioned-mfa,platform-infra:staging-deploy,platform-infra:production-readiness
|
|
7
|
+
quick For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Test this UI fix in the browser and inspect the DOM, console, and network requests. test;aw-test;browser-testing-with-devtools Browser-runtime proof should resolve to aw-test with DevTools support test aw-test browser-testing-with-devtools
|
|
8
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Take the approved Communities moderation API change forward and make the required code updates in the moderation queue path. build;aw-build;platform-services;development Backend build intent selects aw-build plus backend development support build aw-build platform-services:development,quality-gate-coder
|
|
9
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Simplify this already-working handler without changing behavior and keep the diff easy to review. build;aw-build;code-simplification Simplification work should stay in build while loading the simplification craft skill build aw-build code-simplification
|
|
10
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Harden this callback boundary and close the obvious trust and validation gaps. build;aw-build;security-and-hardening Hardening work should route to aw-build with security craft support build aw-build security-and-hardening
|
|
11
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Measure why this page is slow, optimize the hot path, and keep the change bounded. build;aw-build;performance-optimization Measure-first optimization should route to aw-build with performance craft support build aw-build performance-optimization
|
|
12
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Make this implementation in clean save points and keep the branch history reviewable. build;aw-build;git-workflow-and-versioning Git hygiene during implementation should stay in aw-build with git workflow support build aw-build git-workflow-and-versioning
|
|
13
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Test the repaired Communities moderation API change and prove the regression guard still holds. test;aw-test;quality-gates Test intent selects aw-test plus quality-gate support test aw-test platform-sdet:quality-gates
|
|
14
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Review this Communities moderation API PR and tell me if it is ready for staging. review;aw-review;code-review-pr;quality-gates Backend review intent selects aw-review plus review and quality gates review aw-review platform-review:code-review-pr,platform-sdet:quality-gates
|
|
15
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Record why we chose this queueing model and update the docs the next engineer will need. review;aw-review;documentation-and-adrs Decision-capture work should resolve to aw-review with docs-and-adrs support review aw-review documentation-and-adrs
|
|
16
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Take this Communities moderation API change through PR creation and staging version deployment. ship;aw-ship;code-review-pr;staging-deploy Backend ship intent selects aw-ship plus review and deploy support ship aw-ship platform-review:code-review-pr,platform-infra:staging-deploy,platform-infra:production-readiness
|
|
17
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Create the implementation spec for the approved Communities feed MFA change. plan;aw-plan;vue-development;design Frontend planning intent selects aw-plan plus frontend/design domain support plan aw-plan platform-design:system,platform-frontend:vue-development
|
|
18
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Plan the migration off the legacy webhook endpoint and show the deprecation path before we remove anything. plan;aw-plan;deprecation-and-migration Migration planning should resolve to aw-plan with deprecation support plan aw-plan deprecation-and-migration
|
|
19
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Take the approved Communities feed MFA UI change forward and update the app accordingly. build;aw-build;highrise;vue-development Frontend build intent selects aw-build plus UI implementation support build aw-build platform-frontend:vue-development,highrise-ui-governance,quality-gate-coder
|
|
20
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Test the approved Communities feed MFA UI change for responsive and accessibility regressions. test;aw-test;a11y-review;quality-gates Frontend test intent selects aw-test plus accessibility and quality-gate support test aw-test platform-frontend:a11y-review,platform-sdet:quality-gates
|
|
21
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Review this Communities feed MFA PR and tell me if it is ready for staging. review;aw-review;code-review-pr;a11y-review;design Frontend review intent selects aw-review plus review, design, and accessibility support review aw-review platform-review:code-review-pr,platform-design:review,platform-frontend:a11y-review,platform-sdet:quality-gates
|
|
22
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Deploy this verified Communities moderation API service to staging. deploy;aw-deploy;staging-deploy;production-readiness Backend deploy intent selects aw-deploy plus staging deploy support deploy aw-deploy platform-infra:staging-deploy,platform-infra:deployment-strategies,platform-infra:production-readiness
|
|
23
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Set up the release automation, preview gates, and rollback path for this service deployment. deploy;aw-deploy;ci-cd-and-automation Release-automation work should resolve to aw-deploy with CI/CD craft support deploy aw-deploy ci-cd-and-automation
|
|
24
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Take this Communities feed MFA change through PR creation and staging version deployment. ship;aw-ship;deploy-versioned-mfa;staging-deploy Frontend ship intent selects aw-ship plus versioned MFA deploy support ship aw-ship deploy-versioned-mfa,platform-infra:staging-deploy,platform-infra:production-readiness
|
|
25
|
+
full For the request below, answer with the primary AW public stage, the primary AW stage skill, and the first supporting platform skills you would load. Request: Prepare the launch checklist, rollback notes, and monitoring plan for this release. ship;aw-ship;documentation-and-adrs;ci-cd-and-automation Launch-closeout work should stay in aw-ship with docs and CI/CD support ship aw-ship documentation-and-adrs,ci-cd-and-automation
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Test harness for verifying SDLC skill auto-triggering across AI CLIs.
|
|
3
|
+
# Public AW surface under test: /aw:plan, /aw:build, /aw:investigate,
|
|
4
|
+
# /aw:test, /aw:review, /aw:deploy, and /aw:ship.
|
|
5
|
+
|
|
6
|
+
set -uo pipefail
|
|
7
|
+
|
|
8
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
9
|
+
RESULTS_DIR="$SCRIPT_DIR/results"
|
|
10
|
+
CASES_FILE="$SCRIPT_DIR/skill-trigger-cases.tsv"
|
|
11
|
+
DEFAULT_WORKSPACE_DIR="$(cd "$SCRIPT_DIR/../../.." && pwd)"
|
|
12
|
+
WORKSPACE_DIR="${WORKSPACE_DIR:-$DEFAULT_WORKSPACE_DIR}"
|
|
13
|
+
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
|
|
14
|
+
MAX_TURNS=3
|
|
15
|
+
QUICK_MODE=false
|
|
16
|
+
|
|
17
|
+
mkdir -p "$RESULTS_DIR"
|
|
18
|
+
|
|
19
|
+
RED='\033[0;31m'
|
|
20
|
+
GREEN='\033[0;32m'
|
|
21
|
+
YELLOW='\033[0;33m'
|
|
22
|
+
BLUE='\033[0;34m'
|
|
23
|
+
NC='\033[0m'
|
|
24
|
+
|
|
25
|
+
run_with_timeout() {
|
|
26
|
+
local secs="$1"
|
|
27
|
+
shift
|
|
28
|
+
if command -v gtimeout &>/dev/null; then
|
|
29
|
+
gtimeout "$secs" "$@"
|
|
30
|
+
else
|
|
31
|
+
perl -e "
|
|
32
|
+
alarm $secs;
|
|
33
|
+
\$SIG{ALRM} = sub { kill 9, \$pid; exit 124 };
|
|
34
|
+
\$pid = fork;
|
|
35
|
+
if (\$pid == 0) { exec @ARGV; }
|
|
36
|
+
waitpid \$pid, 0;
|
|
37
|
+
exit \$? >> 8;
|
|
38
|
+
" "$@"
|
|
39
|
+
fi
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
load_test_cases() {
|
|
43
|
+
local mode_filter="$1"
|
|
44
|
+
local -n out_cases="$2"
|
|
45
|
+
|
|
46
|
+
if [ ! -f "$CASES_FILE" ]; then
|
|
47
|
+
echo "Missing cases file: $CASES_FILE" >&2
|
|
48
|
+
exit 1
|
|
49
|
+
fi
|
|
50
|
+
|
|
51
|
+
while IFS=$'\t' read -r mode prompt expected_pattern description expected_route primary_skill supporting_skills; do
|
|
52
|
+
if [ -z "${mode:-}" ] || [[ "$mode" == \#* ]]; then
|
|
53
|
+
continue
|
|
54
|
+
fi
|
|
55
|
+
|
|
56
|
+
if [ "$mode_filter" = "quick" ] && [ "$mode" != "quick" ]; then
|
|
57
|
+
continue
|
|
58
|
+
fi
|
|
59
|
+
|
|
60
|
+
out_cases+=("$prompt|$expected_pattern|$description|$expected_route|$primary_skill|$supporting_skills")
|
|
61
|
+
done < "$CASES_FILE"
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
run_prompt() {
|
|
65
|
+
local cli="$1"
|
|
66
|
+
local prompt="$2"
|
|
67
|
+
local output_file="$3"
|
|
68
|
+
|
|
69
|
+
cd "$WORKSPACE_DIR"
|
|
70
|
+
|
|
71
|
+
case "$cli" in
|
|
72
|
+
claude)
|
|
73
|
+
run_with_timeout 120 claude -p "$prompt" \
|
|
74
|
+
--output-format text \
|
|
75
|
+
--max-turns "$MAX_TURNS" \
|
|
76
|
+
> "$output_file" 2>&1 || true
|
|
77
|
+
;;
|
|
78
|
+
codex)
|
|
79
|
+
run_with_timeout 120 codex exec --skip-git-repo-check --sandbox read-only "$prompt" \
|
|
80
|
+
> "$output_file" 2>&1 || true
|
|
81
|
+
;;
|
|
82
|
+
cursor)
|
|
83
|
+
run_with_timeout 120 cursor -p "$prompt" > "$output_file" 2>&1 || true
|
|
84
|
+
;;
|
|
85
|
+
opencode)
|
|
86
|
+
run_with_timeout 120 opencode -p "$prompt" > "$output_file" 2>&1 || true
|
|
87
|
+
;;
|
|
88
|
+
*)
|
|
89
|
+
echo "Unknown CLI: $cli" > "$output_file"
|
|
90
|
+
return 1
|
|
91
|
+
;;
|
|
92
|
+
esac
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
check_skill_triggered() {
|
|
96
|
+
local output_file="$1"
|
|
97
|
+
local expected_pattern="$2"
|
|
98
|
+
|
|
99
|
+
if [ ! -f "$output_file" ] || [ ! -s "$output_file" ]; then
|
|
100
|
+
echo "no_output"
|
|
101
|
+
return
|
|
102
|
+
fi
|
|
103
|
+
|
|
104
|
+
local content
|
|
105
|
+
content=$(cat "$output_file")
|
|
106
|
+
|
|
107
|
+
local grep_pattern="${expected_pattern//;/|}"
|
|
108
|
+
if echo "$content" | grep -qiE "$grep_pattern"; then
|
|
109
|
+
echo "triggered"
|
|
110
|
+
return
|
|
111
|
+
fi
|
|
112
|
+
|
|
113
|
+
if echo "$content" | grep -qiE "using.*skill|invoking.*skill|Skill\(skill:|I'm using the"; then
|
|
114
|
+
echo "skill_invoked_different"
|
|
115
|
+
return
|
|
116
|
+
fi
|
|
117
|
+
|
|
118
|
+
if echo "$content" | grep -qi "max turns"; then
|
|
119
|
+
echo "max_turns_hit"
|
|
120
|
+
return
|
|
121
|
+
fi
|
|
122
|
+
|
|
123
|
+
if [ ${#content} -gt 50 ]; then
|
|
124
|
+
echo "responded_no_skill"
|
|
125
|
+
return
|
|
126
|
+
fi
|
|
127
|
+
|
|
128
|
+
echo "no_response"
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
run_test() {
|
|
132
|
+
local cli="$1"
|
|
133
|
+
local prompt="$2"
|
|
134
|
+
local expected_pattern="$3"
|
|
135
|
+
local description="$4"
|
|
136
|
+
local test_id="$5"
|
|
137
|
+
|
|
138
|
+
local output_file="$RESULTS_DIR/${cli}_${test_id}_${TIMESTAMP}.txt"
|
|
139
|
+
|
|
140
|
+
printf " [%d] %-45s " "$test_id" "$description"
|
|
141
|
+
|
|
142
|
+
run_prompt "$cli" "$prompt" "$output_file"
|
|
143
|
+
|
|
144
|
+
local result
|
|
145
|
+
result=$(check_skill_triggered "$output_file" "$expected_pattern")
|
|
146
|
+
|
|
147
|
+
case "$result" in
|
|
148
|
+
triggered)
|
|
149
|
+
printf "${GREEN}PASS${NC}\n"
|
|
150
|
+
return 0
|
|
151
|
+
;;
|
|
152
|
+
skill_invoked_different)
|
|
153
|
+
printf "${YELLOW}PARTIAL${NC} — different skill invoked\n"
|
|
154
|
+
return 0
|
|
155
|
+
;;
|
|
156
|
+
max_turns_hit)
|
|
157
|
+
printf "${YELLOW}PARTIAL${NC} — hit max turns (tried to use tools)\n"
|
|
158
|
+
return 0
|
|
159
|
+
;;
|
|
160
|
+
responded_no_skill)
|
|
161
|
+
printf "${RED}FAIL${NC} — responded without skill\n"
|
|
162
|
+
head -c 100 "$output_file" 2>/dev/null | tr '\n' ' '
|
|
163
|
+
echo ""
|
|
164
|
+
return 1
|
|
165
|
+
;;
|
|
166
|
+
no_response|no_output)
|
|
167
|
+
printf "${RED}FAIL${NC} — no output\n"
|
|
168
|
+
return 1
|
|
169
|
+
;;
|
|
170
|
+
esac
|
|
171
|
+
}
|