@harness-engineering/cli 1.14.0 → 1.16.0
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/dist/agents/commands/codex/AGENTS.md +39 -0
- package/dist/agents/commands/codex/harness/add-harness-component/SKILL.md +195 -0
- package/dist/agents/commands/codex/harness/add-harness-component/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/cleanup-dead-code/SKILL.md +248 -0
- package/dist/agents/commands/codex/harness/cleanup-dead-code/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/detect-doc-drift/SKILL.md +182 -0
- package/dist/agents/commands/codex/harness/detect-doc-drift/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/enforce-architecture/SKILL.md +299 -0
- package/dist/agents/commands/codex/harness/enforce-architecture/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-architecture-advisor/SKILL.md +452 -0
- package/dist/agents/commands/codex/harness/harness-architecture-advisor/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-autopilot/SKILL.md +919 -0
- package/dist/agents/commands/codex/harness/harness-autopilot/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-brainstorming/SKILL.md +409 -0
- package/dist/agents/commands/codex/harness/harness-brainstorming/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-code-review/SKILL.md +860 -0
- package/dist/agents/commands/codex/harness/harness-code-review/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-codebase-cleanup/SKILL.md +227 -0
- package/dist/agents/commands/codex/harness/harness-codebase-cleanup/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-debugging/SKILL.md +369 -0
- package/dist/agents/commands/codex/harness/harness-debugging/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-dependency-health/SKILL.md +182 -0
- package/dist/agents/commands/codex/harness/harness-dependency-health/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-docs-pipeline/SKILL.md +463 -0
- package/dist/agents/commands/codex/harness/harness-docs-pipeline/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-execution/SKILL.md +513 -0
- package/dist/agents/commands/codex/harness/harness-execution/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-hotspot-detector/SKILL.md +164 -0
- package/dist/agents/commands/codex/harness/harness-hotspot-detector/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-impact-analysis/SKILL.md +187 -0
- package/dist/agents/commands/codex/harness/harness-impact-analysis/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-integrity/SKILL.md +170 -0
- package/dist/agents/commands/codex/harness/harness-integrity/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-onboarding/SKILL.md +291 -0
- package/dist/agents/commands/codex/harness/harness-onboarding/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-perf/SKILL.md +263 -0
- package/dist/agents/commands/codex/harness/harness-perf/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-planning/SKILL.md +582 -0
- package/dist/agents/commands/codex/harness/harness-planning/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-refactoring/SKILL.md +172 -0
- package/dist/agents/commands/codex/harness/harness-refactoring/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-release-readiness/SKILL.md +692 -0
- package/dist/agents/commands/codex/harness/harness-release-readiness/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-roadmap/SKILL.md +598 -0
- package/dist/agents/commands/codex/harness/harness-roadmap/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-security-scan/SKILL.md +157 -0
- package/dist/agents/commands/codex/harness/harness-security-scan/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-skill-authoring/SKILL.md +295 -0
- package/dist/agents/commands/codex/harness/harness-skill-authoring/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-soundness-review/SKILL.md +1270 -0
- package/dist/agents/commands/codex/harness/harness-soundness-review/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-supply-chain-audit/SKILL.md +247 -0
- package/dist/agents/commands/codex/harness/harness-supply-chain-audit/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-tdd/SKILL.md +180 -0
- package/dist/agents/commands/codex/harness/harness-tdd/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-test-advisor/SKILL.md +163 -0
- package/dist/agents/commands/codex/harness/harness-test-advisor/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-verification/SKILL.md +424 -0
- package/dist/agents/commands/codex/harness/harness-verification/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/harness-verify/SKILL.md +162 -0
- package/dist/agents/commands/codex/harness/harness-verify/agents/openai.yaml +3 -0
- package/dist/agents/commands/codex/harness/initialize-harness-project/SKILL.md +235 -0
- package/dist/agents/commands/codex/harness/initialize-harness-project/agents/openai.yaml +3 -0
- package/dist/agents/commands/cursor/harness/add-harness-component.mdc +200 -0
- package/dist/agents/commands/cursor/harness/cleanup-dead-code.mdc +253 -0
- package/dist/agents/commands/cursor/harness/detect-doc-drift.mdc +187 -0
- package/dist/agents/commands/cursor/harness/enforce-architecture.mdc +304 -0
- package/dist/agents/commands/cursor/harness/harness-architecture-advisor.mdc +457 -0
- package/dist/agents/commands/cursor/harness/harness-autopilot.mdc +924 -0
- package/dist/agents/commands/cursor/harness/harness-brainstorming.mdc +414 -0
- package/dist/agents/commands/cursor/harness/harness-code-review.mdc +865 -0
- package/dist/agents/commands/cursor/harness/harness-codebase-cleanup.mdc +232 -0
- package/dist/agents/commands/cursor/harness/harness-debugging.mdc +374 -0
- package/dist/agents/commands/cursor/harness/harness-dependency-health.mdc +187 -0
- package/dist/agents/commands/cursor/harness/harness-docs-pipeline.mdc +468 -0
- package/dist/agents/commands/cursor/harness/harness-execution.mdc +518 -0
- package/dist/agents/commands/cursor/harness/harness-hotspot-detector.mdc +169 -0
- package/dist/agents/commands/cursor/harness/harness-impact-analysis.mdc +192 -0
- package/dist/agents/commands/cursor/harness/harness-integrity.mdc +175 -0
- package/dist/agents/commands/cursor/harness/harness-onboarding.mdc +296 -0
- package/dist/agents/commands/cursor/harness/harness-perf.mdc +268 -0
- package/dist/agents/commands/cursor/harness/harness-planning.mdc +587 -0
- package/dist/agents/commands/cursor/harness/harness-refactoring.mdc +177 -0
- package/dist/agents/commands/cursor/harness/harness-release-readiness.mdc +697 -0
- package/dist/agents/commands/cursor/harness/harness-roadmap.mdc +603 -0
- package/dist/agents/commands/cursor/harness/harness-security-scan.mdc +162 -0
- package/dist/agents/commands/cursor/harness/harness-skill-authoring.mdc +300 -0
- package/dist/agents/commands/cursor/harness/harness-soundness-review.mdc +1275 -0
- package/dist/agents/commands/cursor/harness/harness-supply-chain-audit.mdc +252 -0
- package/dist/agents/commands/cursor/harness/harness-tdd.mdc +185 -0
- package/dist/agents/commands/cursor/harness/harness-test-advisor.mdc +168 -0
- package/dist/agents/commands/cursor/harness/harness-verification.mdc +429 -0
- package/dist/agents/commands/cursor/harness/harness-verify.mdc +167 -0
- package/dist/agents/commands/cursor/harness/initialize-harness-project.mdc +240 -0
- package/dist/agents/skills/claude-code/enforce-architecture/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-api-design/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-architecture-advisor/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-auth/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +355 -45
- package/dist/agents/skills/claude-code/harness-autopilot/skill.yaml +12 -0
- package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +97 -3
- package/dist/agents/skills/claude-code/harness-code-review/skill.yaml +6 -0
- package/dist/agents/skills/claude-code/harness-codebase-cleanup/SKILL.md +2 -4
- package/dist/agents/skills/claude-code/harness-database/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-deployment/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-planning/SKILL.md +99 -3
- package/dist/agents/skills/claude-code/harness-planning/skill.yaml +6 -0
- package/dist/agents/skills/claude-code/harness-pre-commit-review/SKILL.md +1 -1
- package/dist/agents/skills/claude-code/harness-product-spec/SKILL.md +5 -5
- package/dist/agents/skills/claude-code/harness-security-review/SKILL.md +27 -7
- package/dist/agents/skills/claude-code/harness-security-scan/SKILL.md +52 -0
- package/dist/agents/skills/claude-code/harness-supply-chain-audit/SKILL.md +281 -0
- package/dist/agents/skills/claude-code/harness-supply-chain-audit/skill.yaml +51 -0
- package/dist/agents/skills/codex/add-harness-component/SKILL.md +192 -0
- package/dist/agents/skills/codex/add-harness-component/skill.yaml +33 -0
- package/dist/agents/skills/codex/align-documentation/SKILL.md +213 -0
- package/dist/agents/skills/codex/align-documentation/skill.yaml +32 -0
- package/dist/agents/skills/codex/check-mechanical-constraints/SKILL.md +191 -0
- package/dist/agents/skills/codex/check-mechanical-constraints/skill.yaml +33 -0
- package/dist/agents/skills/codex/cleanup-dead-code/SKILL.md +245 -0
- package/dist/agents/skills/codex/cleanup-dead-code/skill.yaml +34 -0
- package/dist/agents/skills/codex/detect-doc-drift/SKILL.md +179 -0
- package/dist/agents/skills/codex/detect-doc-drift/skill.yaml +31 -0
- package/dist/agents/skills/codex/enforce-architecture/SKILL.md +296 -0
- package/dist/agents/skills/codex/enforce-architecture/skill.yaml +35 -0
- package/dist/agents/skills/codex/harness-accessibility/SKILL.md +281 -0
- package/dist/agents/skills/codex/harness-accessibility/skill.yaml +52 -0
- package/dist/agents/skills/codex/harness-api-design/SKILL.md +356 -0
- package/dist/agents/skills/codex/harness-api-design/skill.yaml +74 -0
- package/dist/agents/skills/codex/harness-architecture-advisor/SKILL.md +449 -0
- package/dist/agents/skills/codex/harness-architecture-advisor/skill.yaml +49 -0
- package/dist/agents/skills/codex/harness-auth/SKILL.md +331 -0
- package/dist/agents/skills/codex/harness-auth/skill.yaml +81 -0
- package/dist/agents/skills/codex/harness-autopilot/SKILL.md +916 -0
- package/dist/agents/skills/codex/harness-autopilot/skill.yaml +67 -0
- package/dist/agents/skills/codex/harness-brainstorming/SKILL.md +406 -0
- package/dist/agents/skills/codex/harness-brainstorming/skill.yaml +50 -0
- package/dist/agents/skills/codex/harness-caching/SKILL.md +309 -0
- package/dist/agents/skills/codex/harness-caching/skill.yaml +73 -0
- package/dist/agents/skills/codex/harness-chaos/SKILL.md +295 -0
- package/dist/agents/skills/codex/harness-chaos/skill.yaml +72 -0
- package/dist/agents/skills/codex/harness-code-review/SKILL.md +857 -0
- package/dist/agents/skills/codex/harness-code-review/skill.yaml +52 -0
- package/dist/agents/skills/codex/harness-codebase-cleanup/SKILL.md +224 -0
- package/dist/agents/skills/codex/harness-codebase-cleanup/skill.yaml +65 -0
- package/dist/agents/skills/codex/harness-compliance/SKILL.md +303 -0
- package/dist/agents/skills/codex/harness-compliance/skill.yaml +78 -0
- package/dist/agents/skills/codex/harness-containerization/SKILL.md +284 -0
- package/dist/agents/skills/codex/harness-containerization/skill.yaml +80 -0
- package/dist/agents/skills/codex/harness-data-pipeline/SKILL.md +274 -0
- package/dist/agents/skills/codex/harness-data-pipeline/skill.yaml +81 -0
- package/dist/agents/skills/codex/harness-data-validation/SKILL.md +343 -0
- package/dist/agents/skills/codex/harness-data-validation/skill.yaml +75 -0
- package/dist/agents/skills/codex/harness-database/SKILL.md +310 -0
- package/dist/agents/skills/codex/harness-database/skill.yaml +80 -0
- package/dist/agents/skills/codex/harness-debugging/SKILL.md +366 -0
- package/dist/agents/skills/codex/harness-debugging/skill.yaml +48 -0
- package/dist/agents/skills/codex/harness-dependency-health/SKILL.md +179 -0
- package/dist/agents/skills/codex/harness-dependency-health/skill.yaml +42 -0
- package/dist/agents/skills/codex/harness-deployment/SKILL.md +307 -0
- package/dist/agents/skills/codex/harness-deployment/skill.yaml +77 -0
- package/dist/agents/skills/codex/harness-design/SKILL.md +265 -0
- package/dist/agents/skills/codex/harness-design/skill.yaml +54 -0
- package/dist/agents/skills/codex/harness-design-mobile/SKILL.md +336 -0
- package/dist/agents/skills/codex/harness-design-mobile/skill.yaml +50 -0
- package/dist/agents/skills/codex/harness-design-system/SKILL.md +282 -0
- package/dist/agents/skills/codex/harness-design-system/skill.yaml +51 -0
- package/dist/agents/skills/codex/harness-design-web/SKILL.md +360 -0
- package/dist/agents/skills/codex/harness-design-web/skill.yaml +53 -0
- package/dist/agents/skills/codex/harness-diagnostics/SKILL.md +318 -0
- package/dist/agents/skills/codex/harness-diagnostics/skill.yaml +51 -0
- package/dist/agents/skills/codex/harness-docs-pipeline/SKILL.md +460 -0
- package/dist/agents/skills/codex/harness-docs-pipeline/skill.yaml +70 -0
- package/dist/agents/skills/codex/harness-dx/SKILL.md +276 -0
- package/dist/agents/skills/codex/harness-dx/skill.yaml +76 -0
- package/dist/agents/skills/codex/harness-e2e/SKILL.md +245 -0
- package/dist/agents/skills/codex/harness-e2e/skill.yaml +78 -0
- package/dist/agents/skills/codex/harness-event-driven/SKILL.md +280 -0
- package/dist/agents/skills/codex/harness-event-driven/skill.yaml +77 -0
- package/dist/agents/skills/codex/harness-execution/SKILL.md +510 -0
- package/dist/agents/skills/codex/harness-execution/skill.yaml +52 -0
- package/dist/agents/skills/codex/harness-feature-flags/SKILL.md +287 -0
- package/dist/agents/skills/codex/harness-feature-flags/skill.yaml +74 -0
- package/dist/agents/skills/codex/harness-git-workflow/SKILL.md +268 -0
- package/dist/agents/skills/codex/harness-git-workflow/skill.yaml +32 -0
- package/dist/agents/skills/codex/harness-hotspot-detector/SKILL.md +161 -0
- package/dist/agents/skills/codex/harness-hotspot-detector/skill.yaml +45 -0
- package/dist/agents/skills/codex/harness-i18n/SKILL.md +484 -0
- package/dist/agents/skills/codex/harness-i18n/skill.yaml +55 -0
- package/dist/agents/skills/codex/harness-i18n-process/SKILL.md +388 -0
- package/dist/agents/skills/codex/harness-i18n-process/skill.yaml +44 -0
- package/dist/agents/skills/codex/harness-i18n-workflow/SKILL.md +512 -0
- package/dist/agents/skills/codex/harness-i18n-workflow/skill.yaml +54 -0
- package/dist/agents/skills/codex/harness-impact-analysis/SKILL.md +184 -0
- package/dist/agents/skills/codex/harness-impact-analysis/skill.yaml +45 -0
- package/dist/agents/skills/codex/harness-incident-response/SKILL.md +223 -0
- package/dist/agents/skills/codex/harness-incident-response/skill.yaml +78 -0
- package/dist/agents/skills/codex/harness-infrastructure-as-code/SKILL.md +279 -0
- package/dist/agents/skills/codex/harness-infrastructure-as-code/skill.yaml +80 -0
- package/dist/agents/skills/codex/harness-integration-test/SKILL.md +271 -0
- package/dist/agents/skills/codex/harness-integration-test/skill.yaml +73 -0
- package/dist/agents/skills/codex/harness-integrity/SKILL.md +167 -0
- package/dist/agents/skills/codex/harness-integrity/skill.yaml +48 -0
- package/dist/agents/skills/codex/harness-knowledge-mapper/SKILL.md +195 -0
- package/dist/agents/skills/codex/harness-knowledge-mapper/skill.yaml +50 -0
- package/dist/agents/skills/codex/harness-load-testing/SKILL.md +274 -0
- package/dist/agents/skills/codex/harness-load-testing/skill.yaml +79 -0
- package/dist/agents/skills/codex/harness-ml-ops/SKILL.md +341 -0
- package/dist/agents/skills/codex/harness-ml-ops/skill.yaml +79 -0
- package/dist/agents/skills/codex/harness-mobile-patterns/SKILL.md +326 -0
- package/dist/agents/skills/codex/harness-mobile-patterns/skill.yaml +82 -0
- package/dist/agents/skills/codex/harness-mutation-test/SKILL.md +251 -0
- package/dist/agents/skills/codex/harness-mutation-test/skill.yaml +70 -0
- package/dist/agents/skills/codex/harness-observability/SKILL.md +283 -0
- package/dist/agents/skills/codex/harness-observability/skill.yaml +78 -0
- package/dist/agents/skills/codex/harness-onboarding/SKILL.md +288 -0
- package/dist/agents/skills/codex/harness-onboarding/skill.yaml +31 -0
- package/dist/agents/skills/codex/harness-parallel-agents/SKILL.md +256 -0
- package/dist/agents/skills/codex/harness-parallel-agents/skill.yaml +34 -0
- package/dist/agents/skills/codex/harness-perf/SKILL.md +260 -0
- package/dist/agents/skills/codex/harness-perf/skill.yaml +51 -0
- package/dist/agents/skills/codex/harness-perf-tdd/SKILL.md +249 -0
- package/dist/agents/skills/codex/harness-perf-tdd/skill.yaml +48 -0
- package/dist/agents/skills/codex/harness-planning/SKILL.md +579 -0
- package/dist/agents/skills/codex/harness-planning/skill.yaml +56 -0
- package/dist/agents/skills/codex/harness-pre-commit-review/SKILL.md +324 -0
- package/dist/agents/skills/codex/harness-pre-commit-review/skill.yaml +34 -0
- package/dist/agents/skills/codex/harness-product-spec/SKILL.md +285 -0
- package/dist/agents/skills/codex/harness-product-spec/skill.yaml +72 -0
- package/dist/agents/skills/codex/harness-property-test/SKILL.md +281 -0
- package/dist/agents/skills/codex/harness-property-test/skill.yaml +71 -0
- package/dist/agents/skills/codex/harness-refactoring/SKILL.md +169 -0
- package/dist/agents/skills/codex/harness-refactoring/skill.yaml +34 -0
- package/dist/agents/skills/codex/harness-release-readiness/SKILL.md +689 -0
- package/dist/agents/skills/codex/harness-release-readiness/skill.yaml +58 -0
- package/dist/agents/skills/codex/harness-resilience/SKILL.md +255 -0
- package/dist/agents/skills/codex/harness-resilience/skill.yaml +76 -0
- package/dist/agents/skills/codex/harness-roadmap/SKILL.md +595 -0
- package/dist/agents/skills/codex/harness-roadmap/skill.yaml +44 -0
- package/dist/agents/skills/codex/harness-secrets/SKILL.md +293 -0
- package/dist/agents/skills/codex/harness-secrets/skill.yaml +76 -0
- package/dist/agents/skills/codex/harness-security-review/SKILL.md +260 -0
- package/dist/agents/skills/codex/harness-security-review/skill.yaml +53 -0
- package/dist/agents/skills/codex/harness-security-scan/SKILL.md +154 -0
- package/dist/agents/skills/codex/harness-security-scan/skill.yaml +42 -0
- package/dist/agents/skills/codex/harness-skill-authoring/SKILL.md +292 -0
- package/dist/agents/skills/codex/harness-skill-authoring/skill.yaml +33 -0
- package/dist/agents/skills/codex/harness-soundness-review/SKILL.md +1267 -0
- package/dist/agents/skills/codex/harness-soundness-review/skill.yaml +49 -0
- package/dist/agents/skills/codex/harness-sql-review/SKILL.md +315 -0
- package/dist/agents/skills/codex/harness-sql-review/skill.yaml +74 -0
- package/dist/agents/skills/codex/harness-state-management/SKILL.md +309 -0
- package/dist/agents/skills/codex/harness-state-management/skill.yaml +33 -0
- package/dist/agents/skills/codex/harness-supply-chain-audit/SKILL.md +281 -0
- package/dist/agents/skills/codex/harness-supply-chain-audit/skill.yaml +51 -0
- package/dist/agents/skills/codex/harness-tdd/SKILL.md +177 -0
- package/dist/agents/skills/codex/harness-tdd/skill.yaml +49 -0
- package/dist/agents/skills/codex/harness-test-advisor/SKILL.md +160 -0
- package/dist/agents/skills/codex/harness-test-advisor/skill.yaml +45 -0
- package/dist/agents/skills/codex/harness-test-data/SKILL.md +268 -0
- package/dist/agents/skills/codex/harness-test-data/skill.yaml +74 -0
- package/dist/agents/skills/codex/harness-ux-copy/SKILL.md +271 -0
- package/dist/agents/skills/codex/harness-ux-copy/skill.yaml +77 -0
- package/dist/agents/skills/codex/harness-verification/SKILL.md +421 -0
- package/dist/agents/skills/codex/harness-verification/skill.yaml +43 -0
- package/dist/agents/skills/codex/harness-verify/SKILL.md +159 -0
- package/dist/agents/skills/codex/harness-verify/skill.yaml +41 -0
- package/dist/agents/skills/codex/harness-visual-regression/SKILL.md +257 -0
- package/dist/agents/skills/codex/harness-visual-regression/skill.yaml +74 -0
- package/dist/agents/skills/codex/initialize-harness-project/SKILL.md +232 -0
- package/dist/agents/skills/codex/initialize-harness-project/skill.yaml +32 -0
- package/dist/agents/skills/codex/validate-context-engineering/SKILL.md +150 -0
- package/dist/agents/skills/codex/validate-context-engineering/skill.yaml +32 -0
- package/dist/agents/skills/cursor/add-harness-component/SKILL.md +192 -0
- package/dist/agents/skills/cursor/add-harness-component/skill.yaml +33 -0
- package/dist/agents/skills/cursor/align-documentation/SKILL.md +213 -0
- package/dist/agents/skills/cursor/align-documentation/skill.yaml +32 -0
- package/dist/agents/skills/cursor/check-mechanical-constraints/SKILL.md +191 -0
- package/dist/agents/skills/cursor/check-mechanical-constraints/skill.yaml +33 -0
- package/dist/agents/skills/cursor/cleanup-dead-code/SKILL.md +245 -0
- package/dist/agents/skills/cursor/cleanup-dead-code/skill.yaml +34 -0
- package/dist/agents/skills/cursor/detect-doc-drift/SKILL.md +179 -0
- package/dist/agents/skills/cursor/detect-doc-drift/skill.yaml +31 -0
- package/dist/agents/skills/cursor/enforce-architecture/SKILL.md +296 -0
- package/dist/agents/skills/cursor/enforce-architecture/skill.yaml +35 -0
- package/dist/agents/skills/cursor/harness-accessibility/SKILL.md +281 -0
- package/dist/agents/skills/cursor/harness-accessibility/skill.yaml +52 -0
- package/dist/agents/skills/cursor/harness-api-design/SKILL.md +356 -0
- package/dist/agents/skills/cursor/harness-api-design/skill.yaml +74 -0
- package/dist/agents/skills/cursor/harness-architecture-advisor/SKILL.md +449 -0
- package/dist/agents/skills/cursor/harness-architecture-advisor/skill.yaml +49 -0
- package/dist/agents/skills/cursor/harness-auth/SKILL.md +331 -0
- package/dist/agents/skills/cursor/harness-auth/skill.yaml +81 -0
- package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +916 -0
- package/dist/agents/skills/cursor/harness-autopilot/skill.yaml +67 -0
- package/dist/agents/skills/cursor/harness-brainstorming/SKILL.md +406 -0
- package/dist/agents/skills/cursor/harness-brainstorming/skill.yaml +50 -0
- package/dist/agents/skills/cursor/harness-caching/SKILL.md +309 -0
- package/dist/agents/skills/cursor/harness-caching/skill.yaml +73 -0
- package/dist/agents/skills/cursor/harness-chaos/SKILL.md +295 -0
- package/dist/agents/skills/cursor/harness-chaos/skill.yaml +72 -0
- package/dist/agents/skills/cursor/harness-code-review/SKILL.md +857 -0
- package/dist/agents/skills/cursor/harness-code-review/skill.yaml +52 -0
- package/dist/agents/skills/cursor/harness-codebase-cleanup/SKILL.md +224 -0
- package/dist/agents/skills/cursor/harness-codebase-cleanup/skill.yaml +65 -0
- package/dist/agents/skills/cursor/harness-compliance/SKILL.md +303 -0
- package/dist/agents/skills/cursor/harness-compliance/skill.yaml +78 -0
- package/dist/agents/skills/cursor/harness-containerization/SKILL.md +284 -0
- package/dist/agents/skills/cursor/harness-containerization/skill.yaml +80 -0
- package/dist/agents/skills/cursor/harness-data-pipeline/SKILL.md +274 -0
- package/dist/agents/skills/cursor/harness-data-pipeline/skill.yaml +81 -0
- package/dist/agents/skills/cursor/harness-data-validation/SKILL.md +343 -0
- package/dist/agents/skills/cursor/harness-data-validation/skill.yaml +75 -0
- package/dist/agents/skills/cursor/harness-database/SKILL.md +310 -0
- package/dist/agents/skills/cursor/harness-database/skill.yaml +80 -0
- package/dist/agents/skills/cursor/harness-debugging/SKILL.md +366 -0
- package/dist/agents/skills/cursor/harness-debugging/skill.yaml +48 -0
- package/dist/agents/skills/cursor/harness-dependency-health/SKILL.md +179 -0
- package/dist/agents/skills/cursor/harness-dependency-health/skill.yaml +42 -0
- package/dist/agents/skills/cursor/harness-deployment/SKILL.md +307 -0
- package/dist/agents/skills/cursor/harness-deployment/skill.yaml +77 -0
- package/dist/agents/skills/cursor/harness-design/SKILL.md +265 -0
- package/dist/agents/skills/cursor/harness-design/skill.yaml +54 -0
- package/dist/agents/skills/cursor/harness-design-mobile/SKILL.md +336 -0
- package/dist/agents/skills/cursor/harness-design-mobile/skill.yaml +50 -0
- package/dist/agents/skills/cursor/harness-design-system/SKILL.md +282 -0
- package/dist/agents/skills/cursor/harness-design-system/skill.yaml +51 -0
- package/dist/agents/skills/cursor/harness-design-web/SKILL.md +360 -0
- package/dist/agents/skills/cursor/harness-design-web/skill.yaml +53 -0
- package/dist/agents/skills/cursor/harness-diagnostics/SKILL.md +318 -0
- package/dist/agents/skills/cursor/harness-diagnostics/skill.yaml +51 -0
- package/dist/agents/skills/cursor/harness-docs-pipeline/SKILL.md +460 -0
- package/dist/agents/skills/cursor/harness-docs-pipeline/skill.yaml +70 -0
- package/dist/agents/skills/cursor/harness-dx/SKILL.md +276 -0
- package/dist/agents/skills/cursor/harness-dx/skill.yaml +76 -0
- package/dist/agents/skills/cursor/harness-e2e/SKILL.md +245 -0
- package/dist/agents/skills/cursor/harness-e2e/skill.yaml +78 -0
- package/dist/agents/skills/cursor/harness-event-driven/SKILL.md +280 -0
- package/dist/agents/skills/cursor/harness-event-driven/skill.yaml +77 -0
- package/dist/agents/skills/cursor/harness-execution/SKILL.md +510 -0
- package/dist/agents/skills/cursor/harness-execution/skill.yaml +52 -0
- package/dist/agents/skills/cursor/harness-feature-flags/SKILL.md +287 -0
- package/dist/agents/skills/cursor/harness-feature-flags/skill.yaml +74 -0
- package/dist/agents/skills/cursor/harness-git-workflow/SKILL.md +268 -0
- package/dist/agents/skills/cursor/harness-git-workflow/skill.yaml +32 -0
- package/dist/agents/skills/cursor/harness-hotspot-detector/SKILL.md +161 -0
- package/dist/agents/skills/cursor/harness-hotspot-detector/skill.yaml +45 -0
- package/dist/agents/skills/cursor/harness-i18n/SKILL.md +484 -0
- package/dist/agents/skills/cursor/harness-i18n/skill.yaml +55 -0
- package/dist/agents/skills/cursor/harness-i18n-process/SKILL.md +388 -0
- package/dist/agents/skills/cursor/harness-i18n-process/skill.yaml +44 -0
- package/dist/agents/skills/cursor/harness-i18n-workflow/SKILL.md +512 -0
- package/dist/agents/skills/cursor/harness-i18n-workflow/skill.yaml +54 -0
- package/dist/agents/skills/cursor/harness-impact-analysis/SKILL.md +184 -0
- package/dist/agents/skills/cursor/harness-impact-analysis/skill.yaml +45 -0
- package/dist/agents/skills/cursor/harness-incident-response/SKILL.md +223 -0
- package/dist/agents/skills/cursor/harness-incident-response/skill.yaml +78 -0
- package/dist/agents/skills/cursor/harness-infrastructure-as-code/SKILL.md +279 -0
- package/dist/agents/skills/cursor/harness-infrastructure-as-code/skill.yaml +80 -0
- package/dist/agents/skills/cursor/harness-integration-test/SKILL.md +271 -0
- package/dist/agents/skills/cursor/harness-integration-test/skill.yaml +73 -0
- package/dist/agents/skills/cursor/harness-integrity/SKILL.md +167 -0
- package/dist/agents/skills/cursor/harness-integrity/skill.yaml +48 -0
- package/dist/agents/skills/cursor/harness-knowledge-mapper/SKILL.md +195 -0
- package/dist/agents/skills/cursor/harness-knowledge-mapper/skill.yaml +50 -0
- package/dist/agents/skills/cursor/harness-load-testing/SKILL.md +274 -0
- package/dist/agents/skills/cursor/harness-load-testing/skill.yaml +79 -0
- package/dist/agents/skills/cursor/harness-ml-ops/SKILL.md +341 -0
- package/dist/agents/skills/cursor/harness-ml-ops/skill.yaml +79 -0
- package/dist/agents/skills/cursor/harness-mobile-patterns/SKILL.md +326 -0
- package/dist/agents/skills/cursor/harness-mobile-patterns/skill.yaml +82 -0
- package/dist/agents/skills/cursor/harness-mutation-test/SKILL.md +251 -0
- package/dist/agents/skills/cursor/harness-mutation-test/skill.yaml +70 -0
- package/dist/agents/skills/cursor/harness-observability/SKILL.md +283 -0
- package/dist/agents/skills/cursor/harness-observability/skill.yaml +78 -0
- package/dist/agents/skills/cursor/harness-onboarding/SKILL.md +288 -0
- package/dist/agents/skills/cursor/harness-onboarding/skill.yaml +31 -0
- package/dist/agents/skills/cursor/harness-parallel-agents/SKILL.md +256 -0
- package/dist/agents/skills/cursor/harness-parallel-agents/skill.yaml +34 -0
- package/dist/agents/skills/cursor/harness-perf/SKILL.md +260 -0
- package/dist/agents/skills/cursor/harness-perf/skill.yaml +51 -0
- package/dist/agents/skills/cursor/harness-perf-tdd/SKILL.md +249 -0
- package/dist/agents/skills/cursor/harness-perf-tdd/skill.yaml +48 -0
- package/dist/agents/skills/cursor/harness-planning/SKILL.md +579 -0
- package/dist/agents/skills/cursor/harness-planning/skill.yaml +56 -0
- package/dist/agents/skills/cursor/harness-pre-commit-review/SKILL.md +324 -0
- package/dist/agents/skills/cursor/harness-pre-commit-review/skill.yaml +34 -0
- package/dist/agents/skills/cursor/harness-product-spec/SKILL.md +285 -0
- package/dist/agents/skills/cursor/harness-product-spec/skill.yaml +72 -0
- package/dist/agents/skills/cursor/harness-property-test/SKILL.md +281 -0
- package/dist/agents/skills/cursor/harness-property-test/skill.yaml +71 -0
- package/dist/agents/skills/cursor/harness-refactoring/SKILL.md +169 -0
- package/dist/agents/skills/cursor/harness-refactoring/skill.yaml +34 -0
- package/dist/agents/skills/cursor/harness-release-readiness/SKILL.md +689 -0
- package/dist/agents/skills/cursor/harness-release-readiness/skill.yaml +58 -0
- package/dist/agents/skills/cursor/harness-resilience/SKILL.md +255 -0
- package/dist/agents/skills/cursor/harness-resilience/skill.yaml +76 -0
- package/dist/agents/skills/cursor/harness-roadmap/SKILL.md +595 -0
- package/dist/agents/skills/cursor/harness-roadmap/skill.yaml +44 -0
- package/dist/agents/skills/cursor/harness-secrets/SKILL.md +293 -0
- package/dist/agents/skills/cursor/harness-secrets/skill.yaml +76 -0
- package/dist/agents/skills/cursor/harness-security-review/SKILL.md +260 -0
- package/dist/agents/skills/cursor/harness-security-review/skill.yaml +53 -0
- package/dist/agents/skills/cursor/harness-security-scan/SKILL.md +154 -0
- package/dist/agents/skills/cursor/harness-security-scan/skill.yaml +42 -0
- package/dist/agents/skills/cursor/harness-skill-authoring/SKILL.md +292 -0
- package/dist/agents/skills/cursor/harness-skill-authoring/skill.yaml +33 -0
- package/dist/agents/skills/cursor/harness-soundness-review/SKILL.md +1267 -0
- package/dist/agents/skills/cursor/harness-soundness-review/skill.yaml +49 -0
- package/dist/agents/skills/cursor/harness-sql-review/SKILL.md +315 -0
- package/dist/agents/skills/cursor/harness-sql-review/skill.yaml +74 -0
- package/dist/agents/skills/cursor/harness-state-management/SKILL.md +309 -0
- package/dist/agents/skills/cursor/harness-state-management/skill.yaml +33 -0
- package/dist/agents/skills/cursor/harness-supply-chain-audit/SKILL.md +281 -0
- package/dist/agents/skills/cursor/harness-supply-chain-audit/skill.yaml +51 -0
- package/dist/agents/skills/cursor/harness-tdd/SKILL.md +177 -0
- package/dist/agents/skills/cursor/harness-tdd/skill.yaml +49 -0
- package/dist/agents/skills/cursor/harness-test-advisor/SKILL.md +160 -0
- package/dist/agents/skills/cursor/harness-test-advisor/skill.yaml +45 -0
- package/dist/agents/skills/cursor/harness-test-data/SKILL.md +268 -0
- package/dist/agents/skills/cursor/harness-test-data/skill.yaml +74 -0
- package/dist/agents/skills/cursor/harness-ux-copy/SKILL.md +271 -0
- package/dist/agents/skills/cursor/harness-ux-copy/skill.yaml +77 -0
- package/dist/agents/skills/cursor/harness-verification/SKILL.md +421 -0
- package/dist/agents/skills/cursor/harness-verification/skill.yaml +43 -0
- package/dist/agents/skills/cursor/harness-verify/SKILL.md +159 -0
- package/dist/agents/skills/cursor/harness-verify/skill.yaml +41 -0
- package/dist/agents/skills/cursor/harness-visual-regression/SKILL.md +257 -0
- package/dist/agents/skills/cursor/harness-visual-regression/skill.yaml +74 -0
- package/dist/agents/skills/cursor/initialize-harness-project/SKILL.md +232 -0
- package/dist/agents/skills/cursor/initialize-harness-project/skill.yaml +32 -0
- package/dist/agents/skills/cursor/validate-context-engineering/SKILL.md +150 -0
- package/dist/agents/skills/cursor/validate-context-engineering/skill.yaml +32 -0
- package/dist/agents/skills/gemini-cli/enforce-architecture/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-api-design/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-architecture-advisor/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-auth/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +355 -45
- package/dist/agents/skills/gemini-cli/harness-autopilot/skill.yaml +12 -0
- package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +97 -3
- package/dist/agents/skills/gemini-cli/harness-code-review/skill.yaml +6 -0
- package/dist/agents/skills/gemini-cli/harness-codebase-cleanup/SKILL.md +2 -4
- package/dist/agents/skills/gemini-cli/harness-database/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-deployment/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +99 -3
- package/dist/agents/skills/gemini-cli/harness-planning/skill.yaml +6 -0
- package/dist/agents/skills/gemini-cli/harness-pre-commit-review/SKILL.md +1 -1
- package/dist/agents/skills/gemini-cli/harness-product-spec/SKILL.md +5 -5
- package/dist/agents/skills/gemini-cli/harness-security-review/SKILL.md +27 -7
- package/dist/agents/skills/gemini-cli/harness-security-scan/SKILL.md +52 -0
- package/dist/agents/skills/gemini-cli/harness-supply-chain-audit/SKILL.md +281 -0
- package/dist/agents/skills/gemini-cli/harness-supply-chain-audit/skill.yaml +51 -0
- package/dist/agents/skills/package.json +1 -0
- package/dist/agents/skills/templates/discipline-template.md +49 -0
- package/dist/agents/skills/tests/schema.ts +1 -1
- package/dist/agents/skills/vitest.config.mts +5 -0
- package/dist/{agents-md-YTYQDA3P.js → agents-md-VYDFPIRW.js} +1 -1
- package/dist/{architecture-JQZYM4US.js → architecture-K5HSRBGB.js} +2 -2
- package/dist/bin/harness-mcp.js +13 -13
- package/dist/bin/harness.js +21 -19
- package/dist/{check-phase-gate-L3RADYWO.js → check-phase-gate-5AS6SXL6.js} +3 -3
- package/dist/{chunk-6KTUUFRN.js → chunk-5ZXHMCPL.js} +1 -1
- package/dist/{chunk-RCWZBSK5.js → chunk-6KWBH4EO.js} +1 -1
- package/dist/{chunk-ABQHQ6I5.js → chunk-ALFKNAZW.js} +2436 -233
- package/dist/{chunk-OXLLOSSR.js → chunk-AV6KMDO5.js} +2 -2
- package/dist/{chunk-7IP4JIFL.js → chunk-C7DTKLPW.js} +4 -4
- package/dist/{chunk-ZOAWBDWU.js → chunk-CJDVBBPB.js} +5 -1
- package/dist/{chunk-YPYGXRDR.js → chunk-DNDBFIZN.js} +18 -4
- package/dist/{chunk-XYLGHKG6.js → chunk-HKUX2X7O.js} +11 -2
- package/dist/{chunk-YZD2MRNQ.js → chunk-JOP2NDNB.js} +684 -142
- package/dist/{chunk-YBJ262QL.js → chunk-LRG3B43J.js} +1 -1
- package/dist/{chunk-AOZRDOIP.js → chunk-M6TIO6NF.js} +1 -1
- package/dist/{chunk-O5OJVPL6.js → chunk-OCDDCGDE.js} +9 -1
- package/dist/{chunk-OSXBPAMK.js → chunk-QDF7COPQ.js} +1 -1
- package/dist/{chunk-TPOTOBR7.js → chunk-RWZPHW4H.js} +3 -3
- package/dist/{chunk-3C2MLBPJ.js → chunk-SFRGPAK6.js} +1 -1
- package/dist/{chunk-XKECDXJS.js → chunk-SHYWICGA.js} +2184 -456
- package/dist/{chunk-S2FXOWOR.js → chunk-TF6ZLHJV.js} +2 -2
- package/dist/{chunk-NLVUVUGD.js → chunk-ZJMU7MEV.js} +1 -1
- package/dist/{ci-workflow-EQZFVX3P.js → ci-workflow-CRWU723U.js} +1 -1
- package/dist/{create-skill-XSWHMSM5.js → create-skill-NDXQSTIK.js} +2 -2
- package/dist/{dist-HWXF2C3R.js → dist-4LPXJYVZ.js} +105 -1
- package/dist/{docs-7ECGYMAV.js → docs-4JRHTLUZ.js} +3 -3
- package/dist/{engine-EG4EH4IX.js → engine-3G3VIM6L.js} +1 -1
- package/dist/{entropy-5USWKLVS.js → entropy-G6CZ2A6P.js} +2 -2
- package/dist/{feedback-UTBXZZHF.js → feedback-QYKQ65HB.js} +1 -1
- package/dist/{generate-agent-definitions-3PM5EU7V.js → generate-agent-definitions-SAAOAPT4.js} +3 -3
- package/dist/index.d.ts +25 -4
- package/dist/index.js +18 -18
- package/dist/{loader-ZPALXIVR.js → loader-VCOK3PF7.js} +1 -1
- package/dist/{mcp-362EZHF4.js → mcp-YENEPHBW.js} +13 -13
- package/dist/{performance-OQAFMJUD.js → performance-UBCFI2UP.js} +4 -2
- package/dist/{review-pipeline-C4GCFVGP.js → review-pipeline-IQAVCWAX.js} +1 -1
- package/dist/{runtime-7YLVK453.js → runtime-PYFFIESU.js} +1 -1
- package/dist/{security-PZOX7AQS.js → security-ZDADTPYW.js} +1 -1
- package/dist/{skill-executor-XZLYZYAK.js → skill-executor-XEVDGXUM.js} +2 -2
- package/dist/{validate-FD3Z6VJD.js → validate-VRTUHALQ.js} +2 -2
- package/dist/{validate-cross-check-WNJM6H2D.js → validate-cross-check-4Y6NHNK3.js} +1 -1
- package/package.json +8 -5
|
@@ -23,6 +23,15 @@ cli:
|
|
|
23
23
|
- name: path
|
|
24
24
|
description: Project root path
|
|
25
25
|
required: false
|
|
26
|
+
- name: review-plans
|
|
27
|
+
description: Force human review of all plans (overrides auto-approve)
|
|
28
|
+
required: false
|
|
29
|
+
- name: fast
|
|
30
|
+
description: Run with reduced rigor — skip skeleton approval, skip scratchpad, minimal verification
|
|
31
|
+
required: false
|
|
32
|
+
- name: thorough
|
|
33
|
+
description: Run with maximum rigor — require skeleton approval, verbose scratchpad, full verification
|
|
34
|
+
required: false
|
|
26
35
|
mcp:
|
|
27
36
|
tool: run_skill
|
|
28
37
|
input:
|
|
@@ -37,6 +46,9 @@ phases:
|
|
|
37
46
|
- name: loop
|
|
38
47
|
description: Execute state machine — assess, plan, execute, verify, review per phase
|
|
39
48
|
required: true
|
|
49
|
+
- name: final_review
|
|
50
|
+
description: Project-wide code review of cumulative changes before PR offer
|
|
51
|
+
required: true
|
|
40
52
|
- name: complete
|
|
41
53
|
description: Final summary and PR offering
|
|
42
54
|
required: true
|
|
@@ -58,6 +58,20 @@ interface ReviewFinding {
|
|
|
58
58
|
| `--deep` | Pass `--deep` to `harness-security-review` for threat modeling in the security fan-out slot |
|
|
59
59
|
| `--no-mechanical` | Skip mechanical checks (useful if already run in CI) |
|
|
60
60
|
| `--ci` | Enable eligibility gate, non-interactive output |
|
|
61
|
+
| `--fast` | Reduced rigor: skip learnings integration, fast-tier agents for all fan-out slots |
|
|
62
|
+
| `--thorough` | Maximum rigor: always load learnings, full agent roster + meta-judge, learnings in output |
|
|
63
|
+
|
|
64
|
+
### Rigor Levels
|
|
65
|
+
|
|
66
|
+
The `rigorLevel` is set via `--fast` or `--thorough` flags (or passed by autopilot). Default is `standard`. Rigor controls learnings integration, agent tier selection, and output verbosity.
|
|
67
|
+
|
|
68
|
+
| Phase | `fast` | `standard` (default) | `thorough` |
|
|
69
|
+
| ---------- | ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
70
|
+
| 3. CONTEXT | Skip learnings integration entirely. No `filterByRelevance` call. | Load learnings if `.harness/review-learnings.md` exists. Score and filter via `filterByRelevance`. | Always load learnings. Score and filter via `filterByRelevance`. Fail loudly if learnings file is missing. |
|
|
71
|
+
| 4. FAN-OUT | All agents run at fast tier. Reduced focus areas. | Default tier assignments (see Model Tiers table). | Full agent roster at default tiers + meta-judge pass that cross-validates findings across domains. |
|
|
72
|
+
| 7. OUTPUT | Standard output format. | Standard output format. | Include a "Learnings Applied" section listing which learnings influenced the review and their relevance scores. |
|
|
73
|
+
|
|
74
|
+
When `rigorLevel` is `fast`, the pipeline optimizes for speed: learnings are skipped entirely and all fan-out agents run at fast tier. When `rigorLevel` is `thorough`, the pipeline optimizes for depth: learnings are always scored and included, the full agent roster runs, a meta-judge validates cross-domain findings, and the output includes which learnings were applied.
|
|
61
75
|
|
|
62
76
|
### Model Tiers
|
|
63
77
|
|
|
@@ -71,19 +85,39 @@ Tiers are abstract labels resolved at runtime from project config. If no config
|
|
|
71
85
|
|
|
72
86
|
### Review Learnings Calibration
|
|
73
87
|
|
|
74
|
-
Before starting the pipeline, check for a project-specific calibration file:
|
|
88
|
+
Before starting the pipeline, check for a project-specific calibration file. Learnings integration is gated by rigor level:
|
|
89
|
+
|
|
90
|
+
- **`fast`:** Skip this section entirely. Do not read or score learnings.
|
|
91
|
+
- **`standard`:** Read learnings if the file exists. Score and filter. If the file does not exist, proceed with default focus areas.
|
|
92
|
+
- **`thorough`:** Always read learnings. If `.harness/review-learnings.md` does not exist, log a warning: "No review-learnings.md found -- thorough mode expects calibration data."
|
|
75
93
|
|
|
76
94
|
```bash
|
|
77
95
|
cat .harness/review-learnings.md 2>/dev/null
|
|
78
96
|
```
|
|
79
97
|
|
|
80
|
-
If `.harness/review-learnings.md` exists:
|
|
98
|
+
If `.harness/review-learnings.md` exists (and rigor is not `fast`):
|
|
81
99
|
|
|
82
100
|
1. **Read the Useful Findings section.** Prioritize these categories during review — they have historically caught real issues in this project.
|
|
83
101
|
2. **Read the Noise / False Positives section.** De-prioritize or skip these categories — flagging them wastes the author's time and erodes trust in the review process.
|
|
84
102
|
3. **Read the Calibration Notes section.** Apply these project-specific overrides to your review judgment. These represent deliberate team decisions, not oversights.
|
|
85
103
|
|
|
86
|
-
|
|
104
|
+
#### Learnings Relevance Scoring
|
|
105
|
+
|
|
106
|
+
When learnings are loaded (standard or thorough mode), score them against the diff context before applying:
|
|
107
|
+
|
|
108
|
+
1. **Build the diff context string.** Concatenate: changed file paths (one per line) + diff summary (commit message or PR description).
|
|
109
|
+
2. **Score each learning** using `filterByRelevance(learnings, diffContext, 0.7, 1000)` from `packages/core/src/state/learnings-relevance.ts`.
|
|
110
|
+
- Each learning is scored against the diff context via Jaccard similarity.
|
|
111
|
+
- Only learnings scoring >= 0.7 are retained.
|
|
112
|
+
- Results are sorted by score descending.
|
|
113
|
+
- Results are truncated to fit within the 1000-token budget.
|
|
114
|
+
3. **Apply filtered learnings** to the review focus areas:
|
|
115
|
+
- Useful Findings entries that pass the filter: boost priority for those categories.
|
|
116
|
+
- Noise/False Positive entries that pass the filter: actively suppress those patterns.
|
|
117
|
+
- Calibration Notes entries that pass the filter: apply as overrides.
|
|
118
|
+
4. **If no learnings pass the 0.7 threshold,** proceed with default focus areas. Do not fall back to unscored inclusion.
|
|
119
|
+
|
|
120
|
+
If the file does not exist and rigor is `standard`, proceed with default review focus areas. After completing the review, consider suggesting that the team create `.harness/review-learnings.md` if you notice patterns that would benefit from calibration.
|
|
87
121
|
|
|
88
122
|
## Pipeline Phases
|
|
89
123
|
|
|
@@ -285,6 +319,12 @@ Use commit history to answer:
|
|
|
285
319
|
**Tier:** mixed (see per-agent tiers below)
|
|
286
320
|
**Purpose:** Run four parallel review subagents, each with domain-scoped context from Phase 3. Each agent produces findings in the `ReviewFinding` schema.
|
|
287
321
|
|
|
322
|
+
**Rigor overrides:**
|
|
323
|
+
|
|
324
|
+
- **`fast`:** All four agents run at **fast tier** (haiku-class). Focus areas are unchanged but agents operate with reduced reasoning depth.
|
|
325
|
+
- **`standard`:** Default tier assignments as listed per agent below.
|
|
326
|
+
- **`thorough`:** Default tier assignments + a **meta-judge pass** after all agents return. The meta-judge (strong tier) cross-validates findings across domains: confirms findings cited by multiple agents, flags contradictions, and surfaces cross-cutting concerns that individual agents missed.
|
|
327
|
+
|
|
288
328
|
#### Compliance Agent (standard tier)
|
|
289
329
|
|
|
290
330
|
Reviews adherence to project conventions, standards, and documentation requirements.
|
|
@@ -493,6 +533,16 @@ For each issue, provide:
|
|
|
493
533
|
- **Request Changes** — Critical or important issues must be addressed.
|
|
494
534
|
- **Comment** — Observations only, no blocking issues.
|
|
495
535
|
|
|
536
|
+
**Learnings Applied (thorough mode only):** When `rigorLevel` is `thorough`, append a "Learnings Applied" section after the Assessment:
|
|
537
|
+
|
|
538
|
+
```
|
|
539
|
+
**Learnings Applied:**
|
|
540
|
+
- [0.85] "Useful Finding: Missing error handling in service layer" — boosted priority for error handling checks
|
|
541
|
+
- [0.72] "Noise: Style-only import ordering" — suppressed import order findings
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
Each entry shows the Jaccard relevance score and how the learning influenced the review. This section is omitted in `fast` and `standard` modes.
|
|
545
|
+
|
|
496
546
|
**Exit code:** 0 for Approve/Comment, 1 for Request Changes.
|
|
497
547
|
|
|
498
548
|
#### Inline GitHub Comments (`--comment` flag)
|
|
@@ -679,6 +729,8 @@ Every review finding MUST cite evidence using one of:
|
|
|
679
729
|
- **`harness cleanup`** — Optional check during Phase 2 for entropy accumulation in changed files.
|
|
680
730
|
- **Graph queries** — Used in Phase 3 (CONTEXT) for dependency-scoped context and in Phase 5 (VALIDATE) for reachability verification. Graceful fallback when no graph exists.
|
|
681
731
|
- **`emit_interaction`** -- Call after review approval to suggest transitioning to merge/PR creation. Only emitted on APPROVE assessment. Uses confirmed transition (waits for user approval).
|
|
732
|
+
- **Rigor levels** — `--fast` / `--thorough` flags control learnings integration and agent tiers. Fast skips learnings and runs all agents at fast tier. Standard includes learnings if available. Thorough always loads learnings, runs a meta-judge pass, and includes a "Learnings Applied" section in output. See the Rigor Levels table for details.
|
|
733
|
+
- **`filterByRelevance`** — Used in the Review Learnings Calibration section (Phase 3) to score learnings against diff context. Threshold 0.7, token budget 1000. From `packages/core/src/state/learnings-relevance.ts`.
|
|
682
734
|
|
|
683
735
|
## Success Criteria
|
|
684
736
|
|
|
@@ -696,6 +748,10 @@ Every review finding MUST cite evidence using one of:
|
|
|
696
748
|
- No code merges with failing harness checks
|
|
697
749
|
- Response to feedback (Role C) is verified before implementation
|
|
698
750
|
- Pushback on incorrect feedback is evidence-based
|
|
751
|
+
- When `rigorLevel` is `fast`, learnings integration is skipped and all fan-out agents run at fast tier
|
|
752
|
+
- When `rigorLevel` is `thorough`, learnings are always loaded and scored, a meta-judge validates cross-domain findings, and a "Learnings Applied" section appears in the output
|
|
753
|
+
- When `rigorLevel` is `standard`, learnings are included if `.harness/review-learnings.md` exists, scored via `filterByRelevance` at 0.7 threshold
|
|
754
|
+
- When all learnings score below 0.7 threshold, zero learnings are included (no fallback to unscored inclusion)
|
|
699
755
|
|
|
700
756
|
## Examples
|
|
701
757
|
|
|
@@ -753,6 +809,44 @@ Every review finding MUST cite evidence using one of:
|
|
|
753
809
|
- **Never agree performatively.** "Sure, I'll change that" without understanding why is forbidden. Every change must be understood.
|
|
754
810
|
- **Never skip the YAGNI check.** Every suggestion must answer: "Does this serve a current, concrete need?" Speculative improvements are rejected.
|
|
755
811
|
|
|
812
|
+
## Red Flags
|
|
813
|
+
|
|
814
|
+
### Universal
|
|
815
|
+
|
|
816
|
+
These apply to ALL skills. If you catch yourself doing any of these, STOP.
|
|
817
|
+
|
|
818
|
+
- **"I believe the codebase does X"** — Stop. Read the code and cite a file:line
|
|
819
|
+
reference. Belief is not evidence.
|
|
820
|
+
- **"Let me recommend [pattern] for this"** without checking existing patterns — Stop.
|
|
821
|
+
Search the codebase first. The project may already have a convention.
|
|
822
|
+
- **"While we're here, we should also [unrelated improvement]"** — Stop. Flag the idea
|
|
823
|
+
but do not expand scope beyond the stated task.
|
|
824
|
+
|
|
825
|
+
### Domain-Specific
|
|
826
|
+
|
|
827
|
+
- **"The change looks reasonable, approving"** — Stop. Have you read every changed file? Approval without full review is rubber-stamping.
|
|
828
|
+
- **"Let me fix this issue I found"** — Stop. Review identifies issues; it does not fix them. Suggest the fix, do not apply it.
|
|
829
|
+
- **"This is a minor style issue"** — Stop. Is it a style issue or a readability/maintainability concern? Classify accurately before dismissing.
|
|
830
|
+
- **"The author probably meant to..."** — Stop. Do not infer intent. If the code is ambiguous, flag it as a question for the author.
|
|
831
|
+
|
|
832
|
+
## Rationalizations to Reject
|
|
833
|
+
|
|
834
|
+
### Universal
|
|
835
|
+
|
|
836
|
+
These reasoning patterns sound plausible but lead to bad outcomes. Reject them.
|
|
837
|
+
|
|
838
|
+
- **"It's probably fine"** — "Probably" is not evidence. Verify before asserting.
|
|
839
|
+
- **"This is best practice"** — Best practice in what context? Cite the source and
|
|
840
|
+
confirm it applies to this codebase.
|
|
841
|
+
- **"We can fix it later"** — If it is worth flagging, it is worth documenting now
|
|
842
|
+
with a concrete follow-up plan.
|
|
843
|
+
|
|
844
|
+
### Domain-Specific
|
|
845
|
+
|
|
846
|
+
- **"The tests pass, so the logic must be correct"** — Tests can be incomplete. Review the logic independently of test results.
|
|
847
|
+
- **"This is how it was done elsewhere in the codebase"** — Existing patterns can be wrong. Evaluate the pattern on its merits, not just its precedent.
|
|
848
|
+
- **"It's just a refactor, low risk"** — Refactors change behavior surfaces. Review them with the same rigor as feature changes.
|
|
849
|
+
|
|
756
850
|
## Escalation
|
|
757
851
|
|
|
758
852
|
- **When reviewers disagree:** If two reviewers give contradictory feedback, escalate to the human or tech lead.
|
|
@@ -33,6 +33,12 @@ cli:
|
|
|
33
33
|
- name: --ci
|
|
34
34
|
description: Enable eligibility gate, non-interactive output
|
|
35
35
|
required: false
|
|
36
|
+
- name: --fast
|
|
37
|
+
description: Reduced rigor — skip learnings integration, fast-tier agents only
|
|
38
|
+
required: false
|
|
39
|
+
- name: --thorough
|
|
40
|
+
description: Maximum rigor — always load learnings, full agent roster + meta-judge
|
|
41
|
+
required: false
|
|
36
42
|
mcp:
|
|
37
43
|
tool: run_skill
|
|
38
44
|
input:
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
|
|
27
27
|
### Phase 1: CONTEXT -- Build Hotspot Map
|
|
28
28
|
|
|
29
|
-
1. **Run hotspot detection** via
|
|
29
|
+
1. **Run hotspot detection** via git log analysis:
|
|
30
30
|
```bash
|
|
31
31
|
git log --format=format: --name-only --since="6 months ago" | sort | uniq -c | sort -rn | head -50
|
|
32
32
|
```
|
|
@@ -38,7 +38,6 @@
|
|
|
38
38
|
|
|
39
39
|
1. **Dead code detection** (skip if `--architecture-only`):
|
|
40
40
|
- Run `harness cleanup --type dead-code --json`
|
|
41
|
-
- Or use the `detect_entropy` MCP tool with `type: 'dead-code'`
|
|
42
41
|
- Captures: dead files, dead exports, unused imports, dead internals, commented-out code blocks, orphaned dependencies
|
|
43
42
|
|
|
44
43
|
2. **Architecture detection** (skip if `--dead-code-only`):
|
|
@@ -204,8 +203,7 @@ After removing the `legacy-auth` module:
|
|
|
204
203
|
|
|
205
204
|
- **`harness cleanup --type dead-code --json`** -- Dead code detection input
|
|
206
205
|
- **`harness check-deps --json`** -- Architecture violation detection input
|
|
207
|
-
- **`
|
|
208
|
-
- **`detect_entropy` MCP tool with `autoFix: true`** -- Detects entropy and applies safe fixes via the MCP server
|
|
206
|
+
- **`git log` analysis** -- Hotspot context for safety classification (inline command, no skill invocation needed)
|
|
209
207
|
- **`harness validate`** -- Final validation after all fixes
|
|
210
208
|
- **`harness check-deps`** -- Final architecture check after all fixes
|
|
211
209
|
|
|
@@ -250,6 +250,58 @@ CREATE POLICY tenant_isolation ON users
|
|
|
250
250
|
- **Migration files must include rollback logic.** Every `up` function must have a corresponding `down` function. WHERE a migration is irreversible (data loss on rollback), THEN it must be explicitly marked as such with a comment explaining why.
|
|
251
251
|
- **No migrations that lock large tables without warning.** WHERE a migration performs an ALTER TABLE that acquires an ACCESS EXCLUSIVE lock on a table estimated to have more than 10,000 rows, THEN the skill must flag the lock risk and suggest a non-locking alternative.
|
|
252
252
|
|
|
253
|
+
## Evidence Requirements
|
|
254
|
+
|
|
255
|
+
When this skill makes claims about existing code, architecture, or behavior,
|
|
256
|
+
it MUST cite evidence using one of:
|
|
257
|
+
|
|
258
|
+
1. **File reference:** `file:line` format (e.g., `src/auth.ts:42`)
|
|
259
|
+
2. **Code pattern reference:** `file` with description (e.g., `src/utils/hash.ts` —
|
|
260
|
+
"existing bcrypt wrapper")
|
|
261
|
+
3. **Test/command output:** Inline or referenced output from a test run or CLI command
|
|
262
|
+
4. **Session evidence:** Write to the `evidence` session section via `manage_state`
|
|
263
|
+
|
|
264
|
+
**Uncited claims:** Technical assertions without citations MUST be prefixed with
|
|
265
|
+
`[UNVERIFIED]`. Example: `[UNVERIFIED] The auth middleware supports refresh tokens`.
|
|
266
|
+
|
|
267
|
+
## Red Flags
|
|
268
|
+
|
|
269
|
+
### Universal
|
|
270
|
+
|
|
271
|
+
These apply to ALL skills. If you catch yourself doing any of these, STOP.
|
|
272
|
+
|
|
273
|
+
- **"I believe the codebase does X"** — Stop. Read the code and cite a file:line
|
|
274
|
+
reference. Belief is not evidence.
|
|
275
|
+
- **"Let me recommend [pattern] for this"** without checking existing patterns — Stop.
|
|
276
|
+
Search the codebase first. The project may already have a convention.
|
|
277
|
+
- **"While we're here, we should also [unrelated improvement]"** — Stop. Flag the idea
|
|
278
|
+
but do not expand scope beyond the stated task.
|
|
279
|
+
|
|
280
|
+
### Domain-Specific
|
|
281
|
+
|
|
282
|
+
- **"Running this migration in production"** without a rollback plan — Stop. Every migration must have a tested reverse migration before it touches production data.
|
|
283
|
+
- **"Adding an index to speed up this query"** without checking write patterns — Stop. Indexes speed reads but slow writes. Check both access patterns before recommending.
|
|
284
|
+
- **"Dropping this column, it's unused"** — Stop. Verify no application code references it — including ORMs, background jobs, analytics queries, and reporting systems.
|
|
285
|
+
- **"Let's denormalize this for performance"** — Stop. Denormalization decisions are hard to reverse. Cite the specific query performance problem with evidence before recommending.
|
|
286
|
+
|
|
287
|
+
## Rationalizations to Reject
|
|
288
|
+
|
|
289
|
+
### Universal
|
|
290
|
+
|
|
291
|
+
These reasoning patterns sound plausible but lead to bad outcomes. Reject them.
|
|
292
|
+
|
|
293
|
+
- **"It's probably fine"** — "Probably" is not evidence. Verify before asserting.
|
|
294
|
+
- **"This is best practice"** — Best practice in what context? Cite the source and
|
|
295
|
+
confirm it applies to this codebase.
|
|
296
|
+
- **"We can fix it later"** — If it is worth flagging, it is worth documenting now
|
|
297
|
+
with a concrete follow-up plan.
|
|
298
|
+
|
|
299
|
+
### Domain-Specific
|
|
300
|
+
|
|
301
|
+
- **"The table is small, we don't need an index"** — Tables grow. Plan for the steady state, not the current row count.
|
|
302
|
+
- **"The ORM handles this for us"** — ORMs generate SQL that may not match your performance expectations. Review the generated queries for correctness and efficiency.
|
|
303
|
+
- **"We can always add a migration later"** — Schema changes in production have operational cost. Design the schema thoughtfully now rather than migrating repeatedly.
|
|
304
|
+
|
|
253
305
|
## Escalation
|
|
254
306
|
|
|
255
307
|
- **Production data at risk:** When a migration would delete or overwrite existing data (DROP COLUMN, column type change that truncates), report: "This migration will permanently delete data in column `X`. Provide a data backup confirmation or approve a non-destructive alternative (add new column, backfill, drop old) before proceeding."
|
|
@@ -247,6 +247,58 @@ Phase 4: VALIDATE
|
|
|
247
247
|
- **No deploy without rollback.** Every deployment target must have a documented or automated rollback mechanism. Missing rollback is a blocking warning.
|
|
248
248
|
- **No skipping pipeline lint.** Pipeline configuration must pass syntax validation before recommendations are made.
|
|
249
249
|
|
|
250
|
+
## Evidence Requirements
|
|
251
|
+
|
|
252
|
+
When this skill makes claims about existing code, architecture, or behavior,
|
|
253
|
+
it MUST cite evidence using one of:
|
|
254
|
+
|
|
255
|
+
1. **File reference:** `file:line` format (e.g., `src/auth.ts:42`)
|
|
256
|
+
2. **Code pattern reference:** `file` with description (e.g., `src/utils/hash.ts` —
|
|
257
|
+
"existing bcrypt wrapper")
|
|
258
|
+
3. **Test/command output:** Inline or referenced output from a test run or CLI command
|
|
259
|
+
4. **Session evidence:** Write to the `evidence` session section via `manage_state`
|
|
260
|
+
|
|
261
|
+
**Uncited claims:** Technical assertions without citations MUST be prefixed with
|
|
262
|
+
`[UNVERIFIED]`. Example: `[UNVERIFIED] The auth middleware supports refresh tokens`.
|
|
263
|
+
|
|
264
|
+
## Red Flags
|
|
265
|
+
|
|
266
|
+
### Universal
|
|
267
|
+
|
|
268
|
+
These apply to ALL skills. If you catch yourself doing any of these, STOP.
|
|
269
|
+
|
|
270
|
+
- **"I believe the codebase does X"** — Stop. Read the code and cite a file:line
|
|
271
|
+
reference. Belief is not evidence.
|
|
272
|
+
- **"Let me recommend [pattern] for this"** without checking existing patterns — Stop.
|
|
273
|
+
Search the codebase first. The project may already have a convention.
|
|
274
|
+
- **"While we're here, we should also [unrelated improvement]"** — Stop. Flag the idea
|
|
275
|
+
but do not expand scope beyond the stated task.
|
|
276
|
+
|
|
277
|
+
### Domain-Specific
|
|
278
|
+
|
|
279
|
+
- **"Deploying without a health check endpoint"** — Stop. Without health checks, the orchestrator cannot detect failed deployments. Add health checks before deploying.
|
|
280
|
+
- **"Skipping canary deployment, it's a small change"** — Stop. Small changes cause outages too. Follow the deployment policy regardless of change size.
|
|
281
|
+
- **"Rolling back manually if something goes wrong"** — Stop. Manual rollback under incident pressure fails. Automate rollback before deploying.
|
|
282
|
+
- **"We can update the runbook after the deploy"** — Stop. If the deployment changes operational behavior, update the runbook first. Stale runbooks during incidents cause escalations.
|
|
283
|
+
|
|
284
|
+
## Rationalizations to Reject
|
|
285
|
+
|
|
286
|
+
### Universal
|
|
287
|
+
|
|
288
|
+
These reasoning patterns sound plausible but lead to bad outcomes. Reject them.
|
|
289
|
+
|
|
290
|
+
- **"It's probably fine"** — "Probably" is not evidence. Verify before asserting.
|
|
291
|
+
- **"This is best practice"** — Best practice in what context? Cite the source and
|
|
292
|
+
confirm it applies to this codebase.
|
|
293
|
+
- **"We can fix it later"** — If it is worth flagging, it is worth documenting now
|
|
294
|
+
with a concrete follow-up plan.
|
|
295
|
+
|
|
296
|
+
### Domain-Specific
|
|
297
|
+
|
|
298
|
+
- **"It's just a config change, not a code change"** — Config changes cause outages at the same rate as code changes. Deploy them with the same rigor and rollback strategy.
|
|
299
|
+
- **"We tested this in staging"** — Staging is not production. Traffic patterns, data volume, and edge cases differ. Staging success does not guarantee production safety.
|
|
300
|
+
- **"Downtime will be brief"** — Brief is not zero. Quantify the expected impact and communicate it to stakeholders before deploying.
|
|
301
|
+
|
|
250
302
|
## Escalation
|
|
251
303
|
|
|
252
304
|
- **When the CI/CD platform is unsupported:** Report which platform was detected and that analysis is limited to general best practices. Recommend the user provide platform-specific documentation for deeper analysis.
|
|
@@ -22,6 +22,21 @@ A plan with vague tasks like "add validation" or "implement the service" is not
|
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
+
### Rigor Levels
|
|
26
|
+
|
|
27
|
+
The `rigorLevel` is passed to the planner by autopilot (or set via `--fast`/`--thorough` flags in standalone invocation). Default is `standard`.
|
|
28
|
+
|
|
29
|
+
| Phase | `fast` | `standard` (default) | `thorough` |
|
|
30
|
+
| --------- | ---------------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------- |
|
|
31
|
+
| SCOPE | No change — always derive observable truths. | No change. | No change. |
|
|
32
|
+
| DECOMPOSE | Skip skeleton pass. Produce full tasks directly after file map. | Skeleton if estimated task count >= 8. Full tasks if < 8. | Always produce skeleton. Require human approval before expanding to full tasks. |
|
|
33
|
+
| SEQUENCE | No change — always order by dependency. | No change. | No change. |
|
|
34
|
+
| VALIDATE | No change — always run harness validate and verify completeness. | No change. | No change. |
|
|
35
|
+
|
|
36
|
+
The skeleton pass is the primary rigor lever for planning. Fast mode trusts the direction and goes straight to full detail. Thorough mode always validates direction before investing tokens in full task expansion.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
25
40
|
### Phase 1: SCOPE — Derive Must-Haves from Goals
|
|
26
41
|
|
|
27
42
|
Work backward from the goal. Do not start with "what should we build?" Start with "what must be true when we are done?"
|
|
@@ -129,21 +144,63 @@ When presenting the task breakdown, use progress markers:
|
|
|
129
144
|
MODIFY src/api/routes/users.ts (add notification trigger)
|
|
130
145
|
```
|
|
131
146
|
|
|
132
|
-
2. **
|
|
147
|
+
2. **Skeleton pass (rigor-gated).** Before writing full task details, produce a lightweight skeleton that validates direction. The skeleton is ~200 tokens and catches structural errors before investing in full expansion.
|
|
148
|
+
|
|
149
|
+
**Gating logic:**
|
|
150
|
+
- `rigorLevel == "fast"`: Skip this step entirely. Proceed directly to full task decomposition.
|
|
151
|
+
- `rigorLevel == "standard"`: Estimate the task count from the file map. If >= 8 tasks, produce the skeleton and present for approval. If < 8 tasks, skip the skeleton and proceed to full decomposition.
|
|
152
|
+
- `rigorLevel == "thorough"`: Always produce the skeleton and require human approval before expanding.
|
|
153
|
+
|
|
154
|
+
**Skeleton format:**
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
## Skeleton
|
|
158
|
+
|
|
159
|
+
1. Foundation types and interfaces (~3 tasks, ~10 min)
|
|
160
|
+
2. Core scoring module with TDD (~2 tasks, ~8 min)
|
|
161
|
+
3. CLI integration and flag parsing (~4 tasks, ~15 min)
|
|
162
|
+
4. Integration tests and validation (~3 tasks, ~10 min)
|
|
163
|
+
|
|
164
|
+
**Estimated total:** 12 tasks, ~43 minutes
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Each line is a logical group of tasks with an estimated count and time. The skeleton does NOT contain file paths, code, or detailed instructions — those come in the expansion step.
|
|
168
|
+
|
|
169
|
+
**Approval gate:**
|
|
170
|
+
|
|
171
|
+
When the skeleton is produced, present it to the human:
|
|
172
|
+
|
|
173
|
+
```json
|
|
174
|
+
emit_interaction({
|
|
175
|
+
path: "<project-root>",
|
|
176
|
+
type: "confirmation",
|
|
177
|
+
confirmation: {
|
|
178
|
+
text: "Approve skeleton direction?",
|
|
179
|
+
context: "<estimated task count> tasks across <group count> groups. <one-sentence summary of approach>",
|
|
180
|
+
impact: "Approving proceeds to full task expansion. Rejecting allows direction change before detail investment.",
|
|
181
|
+
risk: "low"
|
|
182
|
+
}
|
|
183
|
+
})
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
- **If approved:** Proceed to full task decomposition (step 3).
|
|
187
|
+
- **If rejected:** Ask what should change. Revise the skeleton. Re-present for approval. Do not expand until approved.
|
|
188
|
+
|
|
189
|
+
3. **Decompose into atomic tasks.** Each task must:
|
|
133
190
|
- Be completable in 2-5 minutes
|
|
134
191
|
- Fit in a single context window
|
|
135
192
|
- Have a clear, testable outcome
|
|
136
193
|
- Follow TDD: write test, fail, implement, pass, commit
|
|
137
194
|
- Produce one atomic commit
|
|
138
195
|
|
|
139
|
-
|
|
196
|
+
4. **Write complete instructions for each task.** Not summaries — complete executable instructions:
|
|
140
197
|
- **Exact file paths** to create or modify
|
|
141
198
|
- **Exact code** to write (not "add validation logic" — write the actual validation code)
|
|
142
199
|
- **Exact test commands** to run (e.g., `npx vitest run src/services/notification-service.test.ts`)
|
|
143
200
|
- **Exact commit message** to use
|
|
144
201
|
- **`harness validate`** as the final step
|
|
145
202
|
|
|
146
|
-
|
|
203
|
+
5. **Include checkpoints.** Mark tasks that require human verification, decisions, or actions:
|
|
147
204
|
- `[checkpoint:human-verify]` — Pause, show result, wait for confirmation
|
|
148
205
|
- `[checkpoint:decision]` — Pause, present options, wait for choice
|
|
149
206
|
- `[checkpoint:human-action]` — Pause, instruct human on what they need to do
|
|
@@ -281,6 +338,15 @@ One sentence.
|
|
|
281
338
|
- CREATE path/to/file.ts
|
|
282
339
|
- MODIFY path/to/other-file.ts
|
|
283
340
|
|
|
341
|
+
## Skeleton (if produced)
|
|
342
|
+
|
|
343
|
+
1. <group name> (~N tasks, ~N min)
|
|
344
|
+
2. <group name> (~N tasks, ~N min)
|
|
345
|
+
|
|
346
|
+
**Estimated total:** N tasks, ~N minutes
|
|
347
|
+
|
|
348
|
+
_Skeleton approved: yes/no. If no, note the revision._
|
|
349
|
+
|
|
284
350
|
## Tasks
|
|
285
351
|
|
|
286
352
|
### Task 1: <descriptive name>
|
|
@@ -359,6 +425,8 @@ When this skill makes claims about existing code structure, file locations, or i
|
|
|
359
425
|
- **Handoff to harness-execution** — Once the plan is approved, invoke harness-execution to begin task-by-task implementation.
|
|
360
426
|
- **Task commands** — Every task includes exact harness CLI commands to run (e.g., `harness validate`, `harness check-deps`).
|
|
361
427
|
- **`emit_interaction`** -- Call at the end of Phase 4 to suggest transitioning to harness-execution. Uses confirmed transition (waits for user approval).
|
|
428
|
+
- **Rigor levels** — `--fast` / `--thorough` flags control the skeleton pass in DECOMPOSE. Fast skips skeleton entirely. Standard produces skeleton for plans with >= 8 tasks. Thorough always produces skeleton and requires approval. See the Rigor Levels table for details.
|
|
429
|
+
- **Two-pass planning** — Skeleton pass produces a ~200-token outline before full task expansion. Catches directional errors early. Gated by rigor level and estimated task count.
|
|
362
430
|
|
|
363
431
|
## Change Specifications
|
|
364
432
|
|
|
@@ -394,6 +462,11 @@ When `docs/changes/` exists in the project, produce `docs/changes/<feature>/delt
|
|
|
394
462
|
- `harness validate` passes before the plan is written
|
|
395
463
|
- `harness validate` is included as a step in every task
|
|
396
464
|
- The human has reviewed and approved the plan
|
|
465
|
+
- When `rigorLevel` is `fast`, the skeleton pass is skipped and full tasks are produced directly
|
|
466
|
+
- When `rigorLevel` is `thorough`, a skeleton is always produced and requires human approval before expansion
|
|
467
|
+
- When `rigorLevel` is `standard` and task count >= 8, a skeleton is produced for approval
|
|
468
|
+
- When `rigorLevel` is `standard` and task count < 8, the skeleton is skipped
|
|
469
|
+
- The skeleton format is lightweight (~200 tokens): numbered groups with task count and time estimates
|
|
397
470
|
|
|
398
471
|
## Examples
|
|
399
472
|
|
|
@@ -420,6 +493,10 @@ MODIFY src/api/routes/users.ts
|
|
|
420
493
|
MODIFY src/api/routes/users.test.ts
|
|
421
494
|
```
|
|
422
495
|
|
|
496
|
+
**Skeleton (standard mode, 6 tasks — skeleton skipped because < 8 tasks)**
|
|
497
|
+
|
|
498
|
+
_Skeleton not produced — task count (6) below threshold (8)._
|
|
499
|
+
|
|
423
500
|
**Task 1: Define notification types**
|
|
424
501
|
|
|
425
502
|
```
|
|
@@ -463,6 +540,25 @@ Files: src/services/notification-service.ts, src/services/notification-service.t
|
|
|
463
540
|
6. Commit: "feat(notifications): add list and expiry to NotificationService"
|
|
464
541
|
```
|
|
465
542
|
|
|
543
|
+
### Example: Planning with Skeleton (thorough mode)
|
|
544
|
+
|
|
545
|
+
**Goal:** Add rate limiting to all API endpoints.
|
|
546
|
+
|
|
547
|
+
**Skeleton (thorough mode — always produced):**
|
|
548
|
+
|
|
549
|
+
```
|
|
550
|
+
## Skeleton
|
|
551
|
+
|
|
552
|
+
1. Rate limit types and configuration (~2 tasks, ~7 min)
|
|
553
|
+
2. Rate limit middleware with Redis backend (~3 tasks, ~12 min)
|
|
554
|
+
3. Route integration and per-endpoint config (~4 tasks, ~15 min)
|
|
555
|
+
4. Integration tests and load verification (~3 tasks, ~10 min)
|
|
556
|
+
|
|
557
|
+
**Estimated total:** 12 tasks, ~44 minutes
|
|
558
|
+
```
|
|
559
|
+
|
|
560
|
+
_Presented for approval. User approved. Expanded to full tasks._
|
|
561
|
+
|
|
466
562
|
## Gates
|
|
467
563
|
|
|
468
564
|
These are hard stops. Violating any gate means the process has broken down.
|
|
@@ -22,6 +22,12 @@ cli:
|
|
|
22
22
|
- name: path
|
|
23
23
|
description: Project root path
|
|
24
24
|
required: false
|
|
25
|
+
- name: fast
|
|
26
|
+
description: Skip skeleton pass — produce full plan directly
|
|
27
|
+
required: false
|
|
28
|
+
- name: thorough
|
|
29
|
+
description: Always produce skeleton for approval before full expansion
|
|
30
|
+
required: false
|
|
25
31
|
mcp:
|
|
26
32
|
tool: run_skill
|
|
27
33
|
input:
|
|
@@ -150,7 +150,7 @@ Run the built-in security scanner against staged files. This is a mechanical che
|
|
|
150
150
|
git diff --cached --name-only --diff-filter=d | grep -E '\.(ts|tsx|js|jsx|go|py)$'
|
|
151
151
|
```
|
|
152
152
|
|
|
153
|
-
|
|
153
|
+
Run `harness check-security --changed-only` on the staged files. Report any findings:
|
|
154
154
|
|
|
155
155
|
- **Error findings (blocking):** Hardcoded secrets, eval/injection, weak crypto — these block the commit just like lint failures.
|
|
156
156
|
- **Warning/info findings (advisory):** CORS wildcards, HTTP URLs, disabled TLS — reported but do not block.
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
```
|
|
44
44
|
|
|
45
45
|
5. **Load project context.** Scan the project for existing specs, user stories, or PRDs to maintain consistency in format and terminology:
|
|
46
|
-
- Check `docs/
|
|
46
|
+
- Check `docs/changes/`, `docs/requirements/`, `docs/prd/` for existing documents
|
|
47
47
|
- Check `.github/ISSUE_TEMPLATE/` for the project's preferred issue format
|
|
48
48
|
- Identify domain terminology used in existing specs
|
|
49
49
|
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
REQ-003 -> US-004, US-005 (could-have)
|
|
134
134
|
```
|
|
135
135
|
|
|
136
|
-
5. **Write the PRD to file.** Save to the project's spec directory (detected in Phase 1 or defaulting to `docs/
|
|
136
|
+
5. **Write the PRD to file.** Save to the project's spec directory (detected in Phase 1 or defaulting to `docs/changes/`). Use a filename pattern: `YYYY-MM-DD-feature-name-prd.md`.
|
|
137
137
|
|
|
138
138
|
---
|
|
139
139
|
|
|
@@ -171,7 +171,7 @@
|
|
|
171
171
|
Coverage: all actors covered, all constraints addressed
|
|
172
172
|
Open questions: N remaining
|
|
173
173
|
|
|
174
|
-
Generated: docs/
|
|
174
|
+
Generated: docs/changes/2026-03-27-notifications-prd.md
|
|
175
175
|
```
|
|
176
176
|
|
|
177
177
|
---
|
|
@@ -227,7 +227,7 @@ Phase 2: CRAFT
|
|
|
227
227
|
And their other preferences remain unchanged.
|
|
228
228
|
|
|
229
229
|
Phase 3: GENERATE
|
|
230
|
-
Written: docs/
|
|
230
|
+
Written: docs/changes/2026-03-27-team-notifications-prd.md
|
|
231
231
|
Sections: problem statement, 4 user stories, 12 acceptance criteria, 8 BDD scenarios
|
|
232
232
|
Traceability: REQ-001 -> US-001, US-002 | REQ-002 -> US-003, US-004
|
|
233
233
|
|
|
@@ -260,7 +260,7 @@ Phase 2: CRAFT
|
|
|
260
260
|
return 400 and log a security warning.
|
|
261
261
|
|
|
262
262
|
Phase 3: GENERATE
|
|
263
|
-
Written: docs/
|
|
263
|
+
Written: docs/changes/2026-03-27-stripe-webhooks-prd.md
|
|
264
264
|
Technical constraints section includes: idempotency keys, signature verification,
|
|
265
265
|
5-second response SLA, Stripe retry behavior documentation
|
|
266
266
|
|
|
@@ -55,16 +55,14 @@ This skill follows the Deterministic-vs-LLM Responsibility Split principle. The
|
|
|
55
55
|
|
|
56
56
|
Run the built-in security scanner against the project.
|
|
57
57
|
|
|
58
|
-
1. **Run the scanner.** Use the `
|
|
58
|
+
1. **Run the scanner.** Use the `harness check-security` CLI command:
|
|
59
59
|
|
|
60
60
|
```bash
|
|
61
|
-
|
|
62
|
-
harness scan --security
|
|
63
|
-
|
|
64
|
-
# Via CLI
|
|
65
|
-
npx vitest run packages/core/tests/security/
|
|
61
|
+
harness check-security
|
|
66
62
|
```
|
|
67
63
|
|
|
64
|
+
For machine-readable output, add `--json`. For scanning only changed files, add `--changed-only`.
|
|
65
|
+
|
|
68
66
|
2. **Review findings.** Categorize by severity:
|
|
69
67
|
- **Error (blocking):** Must fix before merge — secrets, injection, eval, weak crypto
|
|
70
68
|
- **Warning (review):** Should fix — CORS wildcards, disabled TLS, path traversal patterns
|
|
@@ -103,6 +101,28 @@ After the OWASP baseline, add stack-specific checks:
|
|
|
103
101
|
- **React:** XSS via `dangerouslySetInnerHTML`, sensitive data in client state, insecure `postMessage` listeners
|
|
104
102
|
- **Go:** Race conditions in concurrent handlers, `unsafe.Pointer` usage, format string injection
|
|
105
103
|
|
|
104
|
+
#### Insecure Defaults Analysis
|
|
105
|
+
|
|
106
|
+
For each configuration variable that controls a security feature (auth, encryption, TLS, CORS, rate limiting), verify:
|
|
107
|
+
|
|
108
|
+
- Does the feature **fail-closed** (error/deny) when configuration is missing?
|
|
109
|
+
- Or does it **fail-open** (degrade to permissive/disabled)?
|
|
110
|
+
- Trace fallback chains: `config.x ?? env.Y ?? default` — is the final default secure?
|
|
111
|
+
|
|
112
|
+
Patterns the mechanical `SEC-DEF-*` rules cannot catch (focus here):
|
|
113
|
+
|
|
114
|
+
- Multi-line fallback chains where the insecure default is not adjacent to the security variable name
|
|
115
|
+
- Conditional logic that enables security features only in specific environments (e.g., `if (isProd) enableTLS()`)
|
|
116
|
+
- Error handlers that swallow failures in auth, session, or token validation code (multi-line `catch` blocks)
|
|
117
|
+
- Silent type coercions that convert truthy env vars to falsy values
|
|
118
|
+
|
|
119
|
+
**Rationalizations to reject** (adapted from Trail of Bits):
|
|
120
|
+
|
|
121
|
+
- "The default is only used in development" — production deployments inherit defaults when config is missing
|
|
122
|
+
- "The env var will always be set" — missing env vars are the #1 cause of fail-open in production
|
|
123
|
+
- "The catch block will be filled in later" — empty auth catch blocks ship to production
|
|
124
|
+
- "It's behind a feature flag" — feature flags can be inadvertently enabled or disabled
|
|
125
|
+
|
|
106
126
|
### Phase 3: THREAT-MODEL (optional, `--deep` flag; full mode or explicit `--deep` in pipeline)
|
|
107
127
|
|
|
108
128
|
When invoked with `--deep`, build a lightweight threat model:
|
|
@@ -149,7 +169,7 @@ Threat Model:
|
|
|
149
169
|
|
|
150
170
|
## Harness Integration
|
|
151
171
|
|
|
152
|
-
- **`
|
|
172
|
+
- **`harness check-security`** — Run the mechanical scanner via CLI. Use `--json` for machine-readable output.
|
|
153
173
|
- **`harness validate`** — Standard project health check
|
|
154
174
|
- **`query_graph` / `get_relationships`** — Used in threat modeling phase for data flow tracing
|
|
155
175
|
- **`get_impact`** — Understand blast radius of security-sensitive changes
|