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,188 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
5
|
+
LOCAL_ROOT=""
|
|
6
|
+
SEARCH_ROOT="$SCRIPT_DIR"
|
|
7
|
+
while [[ "$SEARCH_ROOT" != "/" ]]; do
|
|
8
|
+
if [[ -f "$SEARCH_ROOT/skills/using-aw-skills/SKILL.md" ]]; then
|
|
9
|
+
LOCAL_ROOT="$SEARCH_ROOT"
|
|
10
|
+
break
|
|
11
|
+
fi
|
|
12
|
+
SEARCH_ROOT="$(dirname "$SEARCH_ROOT")"
|
|
13
|
+
done
|
|
14
|
+
|
|
15
|
+
AW_REGISTRY_ROOT=""
|
|
16
|
+
SEARCH_ROOT="$SCRIPT_DIR"
|
|
17
|
+
while [[ "$SEARCH_ROOT" != "/" ]]; do
|
|
18
|
+
if [[ -d "$SEARCH_ROOT/.aw_registry" ]]; then
|
|
19
|
+
AW_REGISTRY_ROOT="$SEARCH_ROOT/.aw_registry"
|
|
20
|
+
break
|
|
21
|
+
fi
|
|
22
|
+
if [[ "$(basename "$SEARCH_ROOT")" == ".aw_registry" ]]; then
|
|
23
|
+
AW_REGISTRY_ROOT="$SEARCH_ROOT"
|
|
24
|
+
break
|
|
25
|
+
fi
|
|
26
|
+
SEARCH_ROOT="$(dirname "$SEARCH_ROOT")"
|
|
27
|
+
done
|
|
28
|
+
|
|
29
|
+
if [[ -z "$AW_REGISTRY_ROOT" ]]; then
|
|
30
|
+
for CANDIDATE_ROOT in "$HOME/.aw_registry" "$HOME/.aw/.aw_registry"; do
|
|
31
|
+
if [[ -d "$CANDIDATE_ROOT" ]]; then
|
|
32
|
+
AW_REGISTRY_ROOT="$CANDIDATE_ROOT"
|
|
33
|
+
break
|
|
34
|
+
fi
|
|
35
|
+
done
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
if [[ -z "$LOCAL_ROOT" && -z "$AW_REGISTRY_ROOT" ]]; then
|
|
39
|
+
echo '{"hookSpecificOutput": {"hookEventName": "SessionStart", "additionalContext": "WARNING: .aw_registry not found. AW skills unavailable."}}'
|
|
40
|
+
exit 0
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
read_frontmatter_name() {
|
|
44
|
+
local file_path="$1"
|
|
45
|
+
[[ -f "$file_path" ]] || return 0
|
|
46
|
+
|
|
47
|
+
awk '
|
|
48
|
+
NR == 1 && $0 == "---" { in_frontmatter = 1; next }
|
|
49
|
+
in_frontmatter && $0 == "---" { exit }
|
|
50
|
+
in_frontmatter && /^name:[[:space:]]*/ {
|
|
51
|
+
sub(/^name:[[:space:]]*/, "", $0)
|
|
52
|
+
print
|
|
53
|
+
exit
|
|
54
|
+
}
|
|
55
|
+
' "$file_path"
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
extract_skill_excerpt() {
|
|
59
|
+
local file_path="$1"
|
|
60
|
+
[[ -f "$file_path" ]] || return 0
|
|
61
|
+
|
|
62
|
+
awk '
|
|
63
|
+
NR == 1 && $0 == "---" { in_frontmatter = 1; next }
|
|
64
|
+
in_frontmatter && $0 == "---" { in_frontmatter = 0; next }
|
|
65
|
+
in_frontmatter { next }
|
|
66
|
+
/^[[:space:]]*$/ { next }
|
|
67
|
+
{
|
|
68
|
+
print
|
|
69
|
+
count++
|
|
70
|
+
if (count >= 4) exit
|
|
71
|
+
}
|
|
72
|
+
' "$file_path"
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
collect_registry_skills() {
|
|
76
|
+
local registry_root="$1"
|
|
77
|
+
local count=0
|
|
78
|
+
[[ -d "$registry_root/platform" ]] || return 0
|
|
79
|
+
|
|
80
|
+
while IFS= read -r skill_file; do
|
|
81
|
+
local skill_name=""
|
|
82
|
+
if [[ "$skill_file" == */using-aw-skills/SKILL.md ]]; then
|
|
83
|
+
continue
|
|
84
|
+
fi
|
|
85
|
+
skill_name="$(read_frontmatter_name "$skill_file")"
|
|
86
|
+
if [[ -z "$skill_name" ]]; then
|
|
87
|
+
skill_name="$(basename "$(dirname "$skill_file")")"
|
|
88
|
+
fi
|
|
89
|
+
printf -- "- %s\n" "$skill_name"
|
|
90
|
+
count=$((count + 1))
|
|
91
|
+
if [[ "$count" -ge 6 ]]; then
|
|
92
|
+
break
|
|
93
|
+
fi
|
|
94
|
+
done < <(find "$registry_root/platform" -path '*/skills/*/SKILL.md' | sort)
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
collect_registry_commands() {
|
|
98
|
+
local registry_root="$1"
|
|
99
|
+
local count=0
|
|
100
|
+
[[ -d "$registry_root/commands" ]] || return 0
|
|
101
|
+
|
|
102
|
+
while IFS= read -r command_file; do
|
|
103
|
+
local command_slug=""
|
|
104
|
+
local command_name=""
|
|
105
|
+
command_slug="$(basename "$command_file" .md)"
|
|
106
|
+
command_name="$(read_frontmatter_name "$command_file")"
|
|
107
|
+
if [[ -n "$command_name" ]]; then
|
|
108
|
+
printf -- "- %s: %s\n" "$command_slug" "$command_name"
|
|
109
|
+
else
|
|
110
|
+
printf -- "- %s\n" "$command_slug"
|
|
111
|
+
fi
|
|
112
|
+
count=$((count + 1))
|
|
113
|
+
if [[ "$count" -ge 6 ]]; then
|
|
114
|
+
break
|
|
115
|
+
fi
|
|
116
|
+
done < <(find "$registry_root/commands" -mindepth 1 -maxdepth 1 -name '*.md' | sort)
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
ROUTER_SKILL_PATH=""
|
|
120
|
+
if [[ -n "$LOCAL_ROOT" && -f "$LOCAL_ROOT/skills/using-aw-skills/SKILL.md" ]]; then
|
|
121
|
+
ROUTER_SKILL_PATH="$LOCAL_ROOT/skills/using-aw-skills/SKILL.md"
|
|
122
|
+
elif [[ -n "$AW_REGISTRY_ROOT" && -f "$AW_REGISTRY_ROOT/platform/core/skills/using-aw-skills/SKILL.md" ]]; then
|
|
123
|
+
ROUTER_SKILL_PATH="$AW_REGISTRY_ROOT/platform/core/skills/using-aw-skills/SKILL.md"
|
|
124
|
+
fi
|
|
125
|
+
|
|
126
|
+
ROUTER_EXCERPT="$(extract_skill_excerpt "$ROUTER_SKILL_PATH")"
|
|
127
|
+
REGISTRY_SKILLS=""
|
|
128
|
+
REGISTRY_COMMANDS=""
|
|
129
|
+
if [[ -n "$AW_REGISTRY_ROOT" ]]; then
|
|
130
|
+
REGISTRY_SKILLS="$(collect_registry_skills "$AW_REGISTRY_ROOT")"
|
|
131
|
+
REGISTRY_COMMANDS="$(collect_registry_commands "$AW_REGISTRY_ROOT")"
|
|
132
|
+
fi
|
|
133
|
+
|
|
134
|
+
CONTEXT="# AW Session Context
|
|
135
|
+
|
|
136
|
+
## First Response Rule
|
|
137
|
+
Before any substantive response, select the smallest correct AW skill stack from the repo-local router.
|
|
138
|
+
Honor an explicit AW command and its mapped stage skill first.
|
|
139
|
+
Otherwise choose the needed process skill, primary stage skill, and matching route by intent, then load deeper domain skills.
|
|
140
|
+
Do not start with generic implementation, review, or deploy advice before skill selection.
|
|
141
|
+
|
|
142
|
+
## Primary Routes
|
|
143
|
+
- /aw:plan -> ideas, specs, task breakdown, architecture direction
|
|
144
|
+
- /aw:build -> approved implementation work
|
|
145
|
+
- /aw:investigate -> bugs, alerts, or unclear runtime failures
|
|
146
|
+
- /aw:test -> QA proof and regression evidence
|
|
147
|
+
- /aw:review -> findings, risk review, and readiness
|
|
148
|
+
- /aw:deploy -> rollout or release execution
|
|
149
|
+
- /aw:ship -> release closeout and final handoff
|
|
150
|
+
|
|
151
|
+
## Compatibility Routes
|
|
152
|
+
- /aw:execute -> compatibility route; resolve to /aw:build
|
|
153
|
+
- /aw:verify -> compatibility route; resolve to /aw:test or /aw:review
|
|
154
|
+
|
|
155
|
+
## Router Source
|
|
156
|
+
Use skills/using-aw-skills/SKILL.md as the repo-local router.
|
|
157
|
+
Load domain, platform, and craft skills only after the smallest correct AW route is selected."
|
|
158
|
+
|
|
159
|
+
if [[ -n "$ROUTER_EXCERPT" ]]; then
|
|
160
|
+
CONTEXT="${CONTEXT}
|
|
161
|
+
|
|
162
|
+
## Router Excerpt
|
|
163
|
+
${ROUTER_EXCERPT}"
|
|
164
|
+
fi
|
|
165
|
+
|
|
166
|
+
if [[ -n "$REGISTRY_SKILLS" ]]; then
|
|
167
|
+
CONTEXT="${CONTEXT}
|
|
168
|
+
|
|
169
|
+
## Registry Skills In Scope
|
|
170
|
+
${REGISTRY_SKILLS}"
|
|
171
|
+
fi
|
|
172
|
+
|
|
173
|
+
if [[ -n "$REGISTRY_COMMANDS" ]]; then
|
|
174
|
+
CONTEXT="${CONTEXT}
|
|
175
|
+
|
|
176
|
+
## Registry Commands In Scope
|
|
177
|
+
${REGISTRY_COMMANDS}"
|
|
178
|
+
fi
|
|
179
|
+
|
|
180
|
+
# --- Output in Claude Code hookSpecificOutput format ---
|
|
181
|
+
# Escape for JSON: newlines, quotes, backslashes
|
|
182
|
+
JSON_CONTEXT=$(printf '%s' "$CONTEXT" | python3 -c '
|
|
183
|
+
import sys, json
|
|
184
|
+
content = sys.stdin.read()
|
|
185
|
+
print(json.dumps(content))
|
|
186
|
+
' 2>/dev/null || printf '%s' "$CONTEXT" | sed 's/\\/\\\\/g; s/"/\\"/g; s/\t/\\t/g' | awk '{printf "%s\\n", $0}')
|
|
187
|
+
|
|
188
|
+
echo "{\"hookSpecificOutput\": {\"hookEventName\": \"SessionStart\", \"additionalContext\": ${JSON_CONTEXT}}}"
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-platform-skills
|
|
3
|
+
description: Select the smallest correct GHL platform skill stack after the AW stage is known. Use when the task touches backend services, frontend MFAs, data systems, infra, review, test, or product-specific platform context.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Using Platform Skills
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
This is the second-hop router for GHL-specific work.
|
|
11
|
+
Use it after `using-aw-skills` has already selected the primary AW stage.
|
|
12
|
+
|
|
13
|
+
Its job is to:
|
|
14
|
+
|
|
15
|
+
- identify the touched GHL domain
|
|
16
|
+
- pick the smallest correct platform family
|
|
17
|
+
- choose the first supporting platform skills for the selected stage
|
|
18
|
+
- avoid loading every platform playbook by default
|
|
19
|
+
|
|
20
|
+
## When to Use
|
|
21
|
+
|
|
22
|
+
- the primary AW stage is already known
|
|
23
|
+
- the task touches a real GHL backend, worker, frontend, data, infra, test, review, or product surface
|
|
24
|
+
- platform-specific conventions materially change how the stage should be done
|
|
25
|
+
|
|
26
|
+
Do not use:
|
|
27
|
+
|
|
28
|
+
- before the primary AW stage is selected
|
|
29
|
+
- for generic non-GHL work
|
|
30
|
+
- when no platform family materially changes the implementation, test, review, or deploy path
|
|
31
|
+
|
|
32
|
+
## Skill Discovery
|
|
33
|
+
|
|
34
|
+
After the AW stage is selected, choose the platform family:
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
Primary AW stage selected
|
|
38
|
+
│
|
|
39
|
+
├── Backend service or worker? ───────────────→ platform-services:*
|
|
40
|
+
├── Frontend MFA or design-system work? ─────→ platform-frontend:* + platform-design:*
|
|
41
|
+
├── Data store, analytics, search, cache,
|
|
42
|
+
│ or data migration work? ──────────────────────→ platform-data:*
|
|
43
|
+
├── Infra or deploy path work? ──────────────→ platform-infra:*
|
|
44
|
+
├── Test system or QA governance work? ──────→ platform-sdet:*
|
|
45
|
+
├── Formal review or readiness work? ────────→ platform-review:*
|
|
46
|
+
└── Product-context ambiguity? ──────────────→ platform-product:*
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Then choose the smallest supporting skills for the current stage.
|
|
50
|
+
|
|
51
|
+
## Workflow
|
|
52
|
+
|
|
53
|
+
1. Confirm the AW stage first.
|
|
54
|
+
Do not pick platform skills until the primary route is clear.
|
|
55
|
+
2. Identify the touched surface.
|
|
56
|
+
Backend, frontend, data, infra, review, test, or product context.
|
|
57
|
+
3. Choose the first platform family.
|
|
58
|
+
Start from the family that most directly changes the current stage behavior.
|
|
59
|
+
4. Add only the first supporting platform skills.
|
|
60
|
+
Prefer the smallest stack that changes implementation quality, test evidence, review depth, or release safety.
|
|
61
|
+
Do not duplicate planning-process skills already owned by `aw-plan`, `aw-spec`, `aw-tasks`, or Addy-style planning helpers.
|
|
62
|
+
5. Add craft skills only if they sharpen the same stage.
|
|
63
|
+
Do not let craft skills replace platform families or vice versa.
|
|
64
|
+
|
|
65
|
+
## Stage-to-Platform Matrix
|
|
66
|
+
|
|
67
|
+
### Backend services and workers
|
|
68
|
+
|
|
69
|
+
| AW stage | First platform skills to load |
|
|
70
|
+
|---|---|
|
|
71
|
+
| `aw-plan` | `platform-services:development` |
|
|
72
|
+
| `aw-build` | `platform-services:development` |
|
|
73
|
+
| `aw-investigate` | `platform-infra:grafana` |
|
|
74
|
+
| `aw-test` | `platform-sdet:quality-gates` |
|
|
75
|
+
| `aw-review` | `platform-review:code-review-pr`, `platform-sdet:quality-gates` |
|
|
76
|
+
| `aw-deploy` | `platform-infra:staging-deploy`, `platform-infra:deployment-strategies`, `platform-infra:production-readiness` |
|
|
77
|
+
| `aw-ship` | `platform-review:code-review-pr`, `platform-infra:staging-deploy`, `platform-infra:production-readiness` |
|
|
78
|
+
|
|
79
|
+
### Frontend MFAs and design-system work
|
|
80
|
+
|
|
81
|
+
| AW stage | First platform skills to load |
|
|
82
|
+
|---|---|
|
|
83
|
+
| `aw-plan` | `platform-design:system`, `platform-frontend:vue-development` |
|
|
84
|
+
| `aw-build` | `platform-frontend:vue-development`, `highrise-ui-governance`, `quality-gate-coder` |
|
|
85
|
+
| `aw-investigate` | `platform-infra:grafana` when runtime signals matter; otherwise use the smallest relevant frontend family |
|
|
86
|
+
| `aw-test` | `platform-frontend:a11y-review`, `platform-sdet:quality-gates` |
|
|
87
|
+
| `aw-review` | `platform-review:code-review-pr`, `platform-design:review`, `platform-frontend:a11y-review`, `platform-sdet:quality-gates` |
|
|
88
|
+
| `aw-deploy` | `deploy-versioned-mfa`, `platform-infra:staging-deploy`, `platform-infra:production-readiness` |
|
|
89
|
+
| `aw-ship` | `deploy-versioned-mfa`, `platform-infra:staging-deploy`, `platform-infra:production-readiness` |
|
|
90
|
+
|
|
91
|
+
### Data, migration, and storage work
|
|
92
|
+
|
|
93
|
+
`platform-data:*` is the family for the data team surface.
|
|
94
|
+
Use it for:
|
|
95
|
+
|
|
96
|
+
- transactional databases
|
|
97
|
+
- document stores
|
|
98
|
+
- analytical databases and warehouses
|
|
99
|
+
- search indexes
|
|
100
|
+
- realtime data stores
|
|
101
|
+
- cache and key-value systems
|
|
102
|
+
- migration and cross-database movement
|
|
103
|
+
|
|
104
|
+
Current concrete data families include:
|
|
105
|
+
|
|
106
|
+
- `platform-data:cloudsql-clickhouse` for CloudSQL and ClickHouse
|
|
107
|
+
- `platform-data:mongodb-patterns`
|
|
108
|
+
- `platform-data:firestore-patterns`
|
|
109
|
+
- `platform-data:redis-patterns`
|
|
110
|
+
- `platform-data:elasticsearch-patterns`
|
|
111
|
+
- `platform-data:migration-patterns`
|
|
112
|
+
|
|
113
|
+
Keep infra ownership separate:
|
|
114
|
+
|
|
115
|
+
- provisioning clusters, secrets, Helm, Terraform, Jenkins, or deploy topology -> `platform-infra:*`
|
|
116
|
+
- modeling schemas, indexes, migrations, sync workers, queries, or search mappings -> `platform-data:*`
|
|
117
|
+
|
|
118
|
+
| AW stage | First platform skills to load |
|
|
119
|
+
|---|---|
|
|
120
|
+
| `aw-plan` | `platform-data:migration-patterns` or the narrow storage family |
|
|
121
|
+
| `aw-build` | `platform-data:migration-patterns`, `platform-data:mongodb-patterns`, `platform-data:redis-patterns`, `platform-data:elasticsearch-patterns`, `platform-data:cloudsql-clickhouse`, or another narrow data family |
|
|
122
|
+
| `aw-test` | `platform-sdet:quality-gates` |
|
|
123
|
+
| `aw-review` | `platform-review:code-review-pr` plus the narrow data family when contracts or safety need checking |
|
|
124
|
+
| `aw-deploy` / `aw-ship` | `platform-infra:deployment-strategies`, plus the narrow data family when rollout safety depends on it |
|
|
125
|
+
|
|
126
|
+
### Infra, release, and operational work
|
|
127
|
+
|
|
128
|
+
| AW stage | First platform skills to load |
|
|
129
|
+
|---|---|
|
|
130
|
+
| `aw-plan` | `platform-infra:deployment-strategies` |
|
|
131
|
+
| `aw-build` | `platform-infra:jenkins-pipelines`, `platform-infra:kubernetes-workloads`, `platform-infra:terraform-iac`, or another narrow infra family |
|
|
132
|
+
| `aw-investigate` | `platform-infra:grafana`, `platform-infra:log-analysis` |
|
|
133
|
+
| `aw-test` | `platform-sdet:quality-gates` |
|
|
134
|
+
| `aw-review` | `platform-review:code-review-pr`, `platform-infra:production-readiness` |
|
|
135
|
+
| `aw-deploy` | `platform-infra:staging-deploy`, `platform-infra:deployment-strategies`, `platform-infra:production-readiness` |
|
|
136
|
+
| `aw-ship` | `platform-infra:deployment-strategies`, `platform-infra:production-readiness` |
|
|
137
|
+
|
|
138
|
+
## Common Rationalizations
|
|
139
|
+
|
|
140
|
+
| Rationalization | Reality |
|
|
141
|
+
|---|---|
|
|
142
|
+
| "The AW stage is enough; platform rules can be implied." | Platform families encode real org behavior and should be selected explicitly when they matter. |
|
|
143
|
+
| "I'll just load everything platform-related to be safe." | Flooding the session makes routing less clear and increases noise. |
|
|
144
|
+
| "Frontend only needs frontend skills." | Real frontend work often also needs design, accessibility, quality-gate, or deploy support. |
|
|
145
|
+
| "Review and test don't need platform families." | Review depth and test evidence are some of the most platform-specific parts of the workflow. |
|
|
146
|
+
|
|
147
|
+
## Red Flags
|
|
148
|
+
|
|
149
|
+
- platform skills are chosen before the AW stage is known
|
|
150
|
+
- every task loads multiple platform families with no clear reason
|
|
151
|
+
- frontend tasks skip `platform-design:*` or accessibility support when UI quality matters
|
|
152
|
+
- backend tasks skip platform service conventions and jump straight to generic coding
|
|
153
|
+
- deploy and ship work proceed without platform infra or readiness support
|
|
154
|
+
|
|
155
|
+
## Verification
|
|
156
|
+
|
|
157
|
+
Before leaving platform selection, confirm:
|
|
158
|
+
|
|
159
|
+
- [ ] the AW stage was chosen first
|
|
160
|
+
- [ ] exactly one primary platform family was selected first
|
|
161
|
+
- [ ] the first supporting platform skills match the current AW stage
|
|
162
|
+
- [ ] only the smallest useful platform stack was loaded
|
|
163
|
+
- [ ] craft skills complement the platform stack instead of replacing it
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cases": [
|
|
3
|
+
{
|
|
4
|
+
"id": "backend-plan",
|
|
5
|
+
"prompt": "Create the implementation spec for the approved Communities moderation API contract.",
|
|
6
|
+
"awStage": "aw-plan",
|
|
7
|
+
"surface": "backend-service",
|
|
8
|
+
"expectedPlatformFamilies": ["platform-services:*"],
|
|
9
|
+
"expectedSupportingSkills": ["platform-services:development"]
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"id": "frontend-plan",
|
|
13
|
+
"prompt": "Create the implementation spec for the approved Communities feed MFA change.",
|
|
14
|
+
"awStage": "aw-plan",
|
|
15
|
+
"surface": "frontend-mfa",
|
|
16
|
+
"expectedPlatformFamilies": ["platform-frontend:*", "platform-design:*"],
|
|
17
|
+
"expectedSupportingSkills": ["platform-design:system", "platform-frontend:vue-development"]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "backend-investigate",
|
|
21
|
+
"prompt": "Investigate this Communities moderation worker retry failure before patching.",
|
|
22
|
+
"awStage": "aw-investigate",
|
|
23
|
+
"surface": "backend-worker",
|
|
24
|
+
"expectedPlatformFamilies": ["platform-infra:*"],
|
|
25
|
+
"expectedSupportingSkills": ["platform-infra:grafana"]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "frontend-test",
|
|
29
|
+
"prompt": "Test the approved Communities feed MFA UI change for responsive and accessibility regressions.",
|
|
30
|
+
"awStage": "aw-test",
|
|
31
|
+
"surface": "frontend-mfa",
|
|
32
|
+
"expectedPlatformFamilies": ["platform-frontend:*", "platform-sdet:*"],
|
|
33
|
+
"expectedSupportingSkills": ["platform-frontend:a11y-review", "platform-sdet:quality-gates"]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"id": "service-deploy",
|
|
37
|
+
"prompt": "Deploy this verified Communities moderation API service to staging.",
|
|
38
|
+
"awStage": "aw-deploy",
|
|
39
|
+
"surface": "backend-service",
|
|
40
|
+
"expectedPlatformFamilies": ["platform-infra:*"],
|
|
41
|
+
"expectedSupportingSkills": ["platform-infra:staging-deploy", "platform-infra:deployment-strategies", "platform-infra:production-readiness"]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "data-build",
|
|
45
|
+
"prompt": "Add the new analytics projection and search mapping for this reporting workflow.",
|
|
46
|
+
"awStage": "aw-build",
|
|
47
|
+
"surface": "data-analytics-search",
|
|
48
|
+
"expectedPlatformFamilies": ["platform-data:*"],
|
|
49
|
+
"expectedSupportingSkills": ["platform-data:cloudsql-clickhouse", "platform-data:elasticsearch-patterns"]
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: verification-loop
|
|
3
|
+
description: "A comprehensive verification system for Claude Code sessions."
|
|
4
|
+
origin: ECC
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Verification Loop Skill
|
|
8
|
+
|
|
9
|
+
A comprehensive verification system for Claude Code sessions.
|
|
10
|
+
|
|
11
|
+
## When to Use
|
|
12
|
+
|
|
13
|
+
Invoke this skill:
|
|
14
|
+
- After completing a feature or significant code change
|
|
15
|
+
- Before creating a PR
|
|
16
|
+
- When you want to ensure quality gates pass
|
|
17
|
+
- After refactoring
|
|
18
|
+
|
|
19
|
+
## Verification Phases
|
|
20
|
+
|
|
21
|
+
### Phase 1: Build Verification
|
|
22
|
+
```bash
|
|
23
|
+
# Check if project builds
|
|
24
|
+
npm run build 2>&1 | tail -20
|
|
25
|
+
# OR
|
|
26
|
+
pnpm build 2>&1 | tail -20
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
If build fails, STOP and fix before continuing.
|
|
30
|
+
|
|
31
|
+
### Phase 2: Type Check
|
|
32
|
+
```bash
|
|
33
|
+
# TypeScript projects
|
|
34
|
+
npx tsc --noEmit 2>&1 | head -30
|
|
35
|
+
|
|
36
|
+
# Python projects
|
|
37
|
+
pyright . 2>&1 | head -30
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Report all type errors. Fix critical ones before continuing.
|
|
41
|
+
|
|
42
|
+
### Phase 3: Lint Check
|
|
43
|
+
```bash
|
|
44
|
+
# JavaScript/TypeScript
|
|
45
|
+
npm run lint 2>&1 | head -30
|
|
46
|
+
|
|
47
|
+
# Python
|
|
48
|
+
ruff check . 2>&1 | head -30
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Phase 4: Test Suite
|
|
52
|
+
```bash
|
|
53
|
+
# Run tests with coverage
|
|
54
|
+
npm run test -- --coverage 2>&1 | tail -50
|
|
55
|
+
|
|
56
|
+
# Check coverage threshold
|
|
57
|
+
# Target: 80% minimum
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Report:
|
|
61
|
+
- Total tests: X
|
|
62
|
+
- Passed: X
|
|
63
|
+
- Failed: X
|
|
64
|
+
- Coverage: X%
|
|
65
|
+
|
|
66
|
+
### Phase 5: Security Scan
|
|
67
|
+
```bash
|
|
68
|
+
# Check for secrets
|
|
69
|
+
grep -rn "sk-" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
|
|
70
|
+
grep -rn "api_key" --include="*.ts" --include="*.js" . 2>/dev/null | head -10
|
|
71
|
+
|
|
72
|
+
# Check for console.log
|
|
73
|
+
grep -rn "console.log" --include="*.ts" --include="*.tsx" src/ 2>/dev/null | head -10
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Phase 6: Diff Review
|
|
77
|
+
```bash
|
|
78
|
+
# Show what changed
|
|
79
|
+
git diff --stat
|
|
80
|
+
git diff HEAD~1 --name-only
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Review each changed file for:
|
|
84
|
+
- Unintended changes
|
|
85
|
+
- Missing error handling
|
|
86
|
+
- Potential edge cases
|
|
87
|
+
|
|
88
|
+
## Output Format
|
|
89
|
+
|
|
90
|
+
After running all phases, produce a verification report:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
VERIFICATION REPORT
|
|
94
|
+
==================
|
|
95
|
+
|
|
96
|
+
Build: [PASS/FAIL]
|
|
97
|
+
Types: [PASS/FAIL] (X errors)
|
|
98
|
+
Lint: [PASS/FAIL] (X warnings)
|
|
99
|
+
Tests: [PASS/FAIL] (X/Y passed, Z% coverage)
|
|
100
|
+
Security: [PASS/FAIL] (X issues)
|
|
101
|
+
Diff: [X files changed]
|
|
102
|
+
|
|
103
|
+
Overall: [READY/NOT READY] for PR
|
|
104
|
+
|
|
105
|
+
Issues to Fix:
|
|
106
|
+
1. ...
|
|
107
|
+
2. ...
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Continuous Mode
|
|
111
|
+
|
|
112
|
+
For long sessions, run verification every 15 minutes or after major changes:
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
Set a mental checkpoint:
|
|
116
|
+
- After completing each function
|
|
117
|
+
- After finishing a component
|
|
118
|
+
- Before moving to next task
|
|
119
|
+
|
|
120
|
+
Run: /verify
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Integration with Hooks
|
|
124
|
+
|
|
125
|
+
This skill complements PostToolUse hooks but provides deeper verification.
|
|
126
|
+
Hooks catch issues immediately; this skill provides comprehensive review.
|