bigpowers 2.86.5 → 2.86.7
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/commit-message/SKILL.md +1 -1
- package/.agents/skills/evolve-skill/SKILL.md +1 -1
- package/.agents/skills/guard-git/SKILL.md +8 -8
- package/.agents/skills/kickoff-branch/SKILL.md +1 -1
- package/.agents/skills/migrate-spec/SKILL.md +52 -6
- package/.agents/skills/plan-work/SKILL.md +17 -5
- package/.agents/skills/publish-package/SKILL.md +15 -5
- package/.agents/skills/release-branch/SKILL.md +12 -8
- package/.agents/skills/seed-conventions/SKILL.md +20 -10
- package/.agents/skills/smoke-test/SKILL.md +9 -5
- package/.agents/skills/validate-contracts/SKILL.md +15 -6
- package/.agents/skills/wire-ci/SKILL.md +12 -5
- package/.agents/skills/write-document/SKILL.md +31 -5
- package/.cline/skills/align-grid/SKILL.md +110 -0
- package/.cline/skills/assess-impact/SKILL.md +91 -0
- package/.cline/skills/audit-code/SKILL.md +184 -0
- package/.cline/skills/audit-plan/SKILL.md +89 -0
- package/.cline/skills/build-epic/SKILL.md +105 -0
- package/.cline/skills/change-request/SKILL.md +121 -0
- package/.cline/skills/commit-message/SKILL.md +140 -0
- package/.cline/skills/compose-workflow/SKILL.md +82 -0
- package/.cline/skills/context7-mcp/SKILL.md +55 -0
- package/.cline/skills/craft-skill/SKILL.md +196 -0
- package/.cline/skills/deepen-architecture/SKILL.md +260 -0
- package/.cline/skills/define-language/SKILL.md +80 -0
- package/.cline/skills/define-success/SKILL.md +12 -0
- package/.cline/skills/delegate-task/SKILL.md +91 -0
- package/.cline/skills/deploy/SKILL.md +198 -0
- package/.cline/skills/design-interface/SKILL.md +97 -0
- package/.cline/skills/develop-tdd/SKILL.md +416 -0
- package/.cline/skills/diagnose-root/SKILL.md +24 -0
- package/.cline/skills/diagnose-stall/SKILL.md +54 -0
- package/.cline/skills/dispatch-agents/SKILL.md +118 -0
- package/.cline/skills/edit-document/SKILL.md +23 -0
- package/.cline/skills/elaborate-spec/SKILL.md +101 -0
- package/.cline/skills/enforce-first/SKILL.md +45 -0
- package/.cline/skills/evolve-skill/SKILL.md +55 -0
- package/.cline/skills/execute-plan/SKILL.md +61 -0
- package/.cline/skills/extract-design/SKILL.md +132 -0
- package/.cline/skills/find-way/SKILL.md +191 -0
- package/.cline/skills/fix-bug/SKILL.md +67 -0
- package/.cline/skills/gate-trace/SKILL.md +92 -0
- package/.cline/skills/generate-allure-report/SKILL.md +285 -0
- package/.cline/skills/grill-me/SKILL.md +108 -0
- package/.cline/skills/grill-with-docs/SKILL.md +53 -0
- package/.cline/skills/guard-git/SKILL.md +231 -0
- package/.cline/skills/harden-vps/SKILL.md +291 -0
- package/.cline/skills/hook-commits/SKILL.md +94 -0
- package/.cline/skills/inspect-quality/SKILL.md +106 -0
- package/.cline/skills/investigate-bug/SKILL.md +127 -0
- package/.cline/skills/kickoff-branch/SKILL.md +143 -0
- package/.cline/skills/maintain-wiki/SKILL.md +64 -0
- package/.cline/skills/map-codebase/SKILL.md +71 -0
- package/.cline/skills/migrate-spec/SKILL.md +908 -0
- package/.cline/skills/model-domain/SKILL.md +232 -0
- package/.cline/skills/orchestrate-project/SKILL.md +174 -0
- package/.cline/skills/organize-workspace/SKILL.md +164 -0
- package/.cline/skills/plan-refactor/SKILL.md +87 -0
- package/.cline/skills/plan-release/SKILL.md +145 -0
- package/.cline/skills/plan-tests/SKILL.md +75 -0
- package/.cline/skills/plan-work/SKILL.md +272 -0
- package/.cline/skills/publish-package/SKILL.md +338 -0
- package/.cline/skills/quick-fix/SKILL.md +114 -0
- package/.cline/skills/release-branch/SKILL.md +302 -0
- package/.cline/skills/request-review/SKILL.md +113 -0
- package/.cline/skills/research-first/SKILL.md +87 -0
- package/.cline/skills/reset-baseline/SKILL.md +21 -0
- package/.cline/skills/respond-review/SKILL.md +71 -0
- package/.cline/skills/run-benchmark/SKILL.md +85 -0
- package/.cline/skills/run-evals/SKILL.md +80 -0
- package/.cline/skills/run-planning/SKILL.md +101 -0
- package/.cline/skills/scope-work/SKILL.md +63 -0
- package/.cline/skills/search-skills/SKILL.md +73 -0
- package/.cline/skills/security-review/SKILL.md +384 -0
- package/.cline/skills/seed-conventions/SKILL.md +312 -0
- package/.cline/skills/session-state/SKILL.md +146 -0
- package/.cline/skills/setup-environment/SKILL.md +39 -0
- package/.cline/skills/simulate-agents/SKILL.md +26 -0
- package/.cline/skills/slice-tasks/SKILL.md +68 -0
- package/.cline/skills/smoke-test/SKILL.md +261 -0
- package/.cline/skills/spike-prototype/SKILL.md +95 -0
- package/.cline/skills/stocktake-skills/SKILL.md +74 -0
- package/.cline/skills/survey-context/SKILL.md +135 -0
- package/.cline/skills/terse-mode/SKILL.md +42 -0
- package/.cline/skills/trace-requirement/SKILL.md +69 -0
- package/.cline/skills/using-bigpowers/SKILL.md +111 -0
- package/.cline/skills/validate-contracts/SKILL.md +286 -0
- package/.cline/skills/validate-fix/SKILL.md +147 -0
- package/.cline/skills/verify-work/SKILL.md +191 -0
- package/.cline/skills/visual-dashboard/SKILL.md +50 -0
- package/.cline/skills/wire-ci/SKILL.md +381 -0
- package/.cline/skills/wire-observability/SKILL.md +97 -0
- package/.cline/skills/write-document/SKILL.md +281 -0
- package/.codebuddy/skills/commit-message/SKILL.md +1 -1
- package/.codebuddy/skills/evolve-skill/SKILL.md +1 -1
- package/.codebuddy/skills/guard-git/SKILL.md +8 -8
- package/.codebuddy/skills/kickoff-branch/SKILL.md +1 -1
- package/.codebuddy/skills/migrate-spec/SKILL.md +52 -6
- package/.codebuddy/skills/plan-work/SKILL.md +17 -5
- package/.codebuddy/skills/publish-package/SKILL.md +15 -5
- package/.codebuddy/skills/release-branch/SKILL.md +12 -8
- package/.codebuddy/skills/seed-conventions/SKILL.md +20 -10
- package/.codebuddy/skills/smoke-test/SKILL.md +9 -5
- package/.codebuddy/skills/validate-contracts/SKILL.md +15 -6
- package/.codebuddy/skills/wire-ci/SKILL.md +12 -5
- package/.codebuddy/skills/write-document/SKILL.md +31 -5
- package/.codex/skills/commit-message/SKILL.md +1 -1
- package/.codex/skills/evolve-skill/SKILL.md +1 -1
- package/.codex/skills/guard-git/SKILL.md +8 -8
- package/.codex/skills/kickoff-branch/SKILL.md +1 -1
- package/.codex/skills/migrate-spec/SKILL.md +52 -6
- package/.codex/skills/plan-work/SKILL.md +17 -5
- package/.codex/skills/publish-package/SKILL.md +15 -5
- package/.codex/skills/release-branch/SKILL.md +12 -8
- package/.codex/skills/seed-conventions/SKILL.md +20 -10
- package/.codex/skills/smoke-test/SKILL.md +9 -5
- package/.codex/skills/validate-contracts/SKILL.md +15 -6
- package/.codex/skills/wire-ci/SKILL.md +12 -5
- package/.codex/skills/write-document/SKILL.md +31 -5
- package/.copilot/skills/align-grid/SKILL.md +110 -0
- package/.copilot/skills/assess-impact/SKILL.md +91 -0
- package/.copilot/skills/audit-code/SKILL.md +184 -0
- package/.copilot/skills/audit-plan/SKILL.md +89 -0
- package/.copilot/skills/build-epic/SKILL.md +105 -0
- package/.copilot/skills/change-request/SKILL.md +121 -0
- package/.copilot/skills/commit-message/SKILL.md +140 -0
- package/.copilot/skills/compose-workflow/SKILL.md +82 -0
- package/.copilot/skills/context7-mcp/SKILL.md +55 -0
- package/.copilot/skills/craft-skill/SKILL.md +196 -0
- package/.copilot/skills/deepen-architecture/SKILL.md +260 -0
- package/.copilot/skills/define-language/SKILL.md +80 -0
- package/.copilot/skills/define-success/SKILL.md +12 -0
- package/.copilot/skills/delegate-task/SKILL.md +91 -0
- package/.copilot/skills/deploy/SKILL.md +198 -0
- package/.copilot/skills/design-interface/SKILL.md +97 -0
- package/.copilot/skills/develop-tdd/SKILL.md +416 -0
- package/.copilot/skills/diagnose-root/SKILL.md +24 -0
- package/.copilot/skills/diagnose-stall/SKILL.md +54 -0
- package/.copilot/skills/dispatch-agents/SKILL.md +118 -0
- package/.copilot/skills/edit-document/SKILL.md +23 -0
- package/.copilot/skills/elaborate-spec/SKILL.md +101 -0
- package/.copilot/skills/enforce-first/SKILL.md +45 -0
- package/.copilot/skills/evolve-skill/SKILL.md +55 -0
- package/.copilot/skills/execute-plan/SKILL.md +61 -0
- package/.copilot/skills/extract-design/SKILL.md +132 -0
- package/.copilot/skills/find-way/SKILL.md +191 -0
- package/.copilot/skills/fix-bug/SKILL.md +67 -0
- package/.copilot/skills/gate-trace/SKILL.md +92 -0
- package/.copilot/skills/generate-allure-report/SKILL.md +285 -0
- package/.copilot/skills/grill-me/SKILL.md +108 -0
- package/.copilot/skills/grill-with-docs/SKILL.md +53 -0
- package/.copilot/skills/guard-git/SKILL.md +231 -0
- package/.copilot/skills/harden-vps/SKILL.md +291 -0
- package/.copilot/skills/hook-commits/SKILL.md +94 -0
- package/.copilot/skills/inspect-quality/SKILL.md +106 -0
- package/.copilot/skills/investigate-bug/SKILL.md +127 -0
- package/.copilot/skills/kickoff-branch/SKILL.md +143 -0
- package/.copilot/skills/maintain-wiki/SKILL.md +64 -0
- package/.copilot/skills/map-codebase/SKILL.md +71 -0
- package/.copilot/skills/migrate-spec/SKILL.md +908 -0
- package/.copilot/skills/model-domain/SKILL.md +232 -0
- package/.copilot/skills/orchestrate-project/SKILL.md +174 -0
- package/.copilot/skills/organize-workspace/SKILL.md +164 -0
- package/.copilot/skills/plan-refactor/SKILL.md +87 -0
- package/.copilot/skills/plan-release/SKILL.md +145 -0
- package/.copilot/skills/plan-tests/SKILL.md +75 -0
- package/.copilot/skills/plan-work/SKILL.md +272 -0
- package/.copilot/skills/publish-package/SKILL.md +338 -0
- package/.copilot/skills/quick-fix/SKILL.md +114 -0
- package/.copilot/skills/release-branch/SKILL.md +302 -0
- package/.copilot/skills/request-review/SKILL.md +113 -0
- package/.copilot/skills/research-first/SKILL.md +87 -0
- package/.copilot/skills/reset-baseline/SKILL.md +21 -0
- package/.copilot/skills/respond-review/SKILL.md +71 -0
- package/.copilot/skills/run-benchmark/SKILL.md +85 -0
- package/.copilot/skills/run-evals/SKILL.md +80 -0
- package/.copilot/skills/run-planning/SKILL.md +101 -0
- package/.copilot/skills/scope-work/SKILL.md +63 -0
- package/.copilot/skills/search-skills/SKILL.md +73 -0
- package/.copilot/skills/security-review/SKILL.md +384 -0
- package/.copilot/skills/seed-conventions/SKILL.md +312 -0
- package/.copilot/skills/session-state/SKILL.md +146 -0
- package/.copilot/skills/setup-environment/SKILL.md +39 -0
- package/.copilot/skills/simulate-agents/SKILL.md +26 -0
- package/.copilot/skills/slice-tasks/SKILL.md +68 -0
- package/.copilot/skills/smoke-test/SKILL.md +261 -0
- package/.copilot/skills/spike-prototype/SKILL.md +95 -0
- package/.copilot/skills/stocktake-skills/SKILL.md +74 -0
- package/.copilot/skills/survey-context/SKILL.md +135 -0
- package/.copilot/skills/terse-mode/SKILL.md +42 -0
- package/.copilot/skills/trace-requirement/SKILL.md +69 -0
- package/.copilot/skills/using-bigpowers/SKILL.md +111 -0
- package/.copilot/skills/validate-contracts/SKILL.md +286 -0
- package/.copilot/skills/validate-fix/SKILL.md +147 -0
- package/.copilot/skills/verify-work/SKILL.md +191 -0
- package/.copilot/skills/visual-dashboard/SKILL.md +50 -0
- package/.copilot/skills/wire-ci/SKILL.md +381 -0
- package/.copilot/skills/wire-observability/SKILL.md +97 -0
- package/.copilot/skills/write-document/SKILL.md +281 -0
- package/.hermes/skills/commit-message/SKILL.md +1 -1
- package/.hermes/skills/evolve-skill/SKILL.md +1 -1
- package/.hermes/skills/guard-git/SKILL.md +8 -8
- package/.hermes/skills/kickoff-branch/SKILL.md +1 -1
- package/.hermes/skills/migrate-spec/SKILL.md +52 -6
- package/.hermes/skills/plan-work/SKILL.md +17 -5
- package/.hermes/skills/publish-package/SKILL.md +15 -5
- package/.hermes/skills/release-branch/SKILL.md +12 -8
- package/.hermes/skills/seed-conventions/SKILL.md +20 -10
- package/.hermes/skills/smoke-test/SKILL.md +9 -5
- package/.hermes/skills/validate-contracts/SKILL.md +15 -6
- package/.hermes/skills/wire-ci/SKILL.md +12 -5
- package/.hermes/skills/write-document/SKILL.md +31 -5
- package/.kilocode/rules/commit-message.md +1 -1
- package/.kilocode/rules/evolve-skill.md +1 -1
- package/.kilocode/rules/guard-git.md +8 -8
- package/.kilocode/rules/kickoff-branch.md +1 -1
- package/.kilocode/rules/migrate-spec.md +52 -6
- package/.kilocode/rules/plan-work.md +17 -5
- package/.kilocode/rules/publish-package.md +15 -5
- package/.kilocode/rules/release-branch.md +12 -8
- package/.kilocode/rules/seed-conventions.md +20 -10
- package/.kilocode/rules/smoke-test.md +9 -5
- package/.kilocode/rules/validate-contracts.md +15 -6
- package/.kilocode/rules/wire-ci.md +12 -5
- package/.kilocode/rules/write-document.md +31 -5
- package/.mimocode/skills/commit-message/SKILL.md +1 -1
- package/.mimocode/skills/evolve-skill/SKILL.md +1 -1
- package/.mimocode/skills/guard-git/SKILL.md +8 -8
- package/.mimocode/skills/kickoff-branch/SKILL.md +1 -1
- package/.mimocode/skills/migrate-spec/SKILL.md +52 -6
- package/.mimocode/skills/plan-work/SKILL.md +17 -5
- package/.mimocode/skills/publish-package/SKILL.md +15 -5
- package/.mimocode/skills/release-branch/SKILL.md +12 -8
- package/.mimocode/skills/seed-conventions/SKILL.md +20 -10
- package/.mimocode/skills/smoke-test/SKILL.md +9 -5
- package/.mimocode/skills/validate-contracts/SKILL.md +15 -6
- package/.mimocode/skills/wire-ci/SKILL.md +12 -5
- package/.mimocode/skills/write-document/SKILL.md +31 -5
- package/.opencode/skills/align-grid/SKILL.md +110 -0
- package/.opencode/skills/assess-impact/SKILL.md +91 -0
- package/.opencode/skills/audit-code/SKILL.md +184 -0
- package/.opencode/skills/audit-plan/SKILL.md +89 -0
- package/.opencode/skills/build-epic/SKILL.md +105 -0
- package/.opencode/skills/change-request/SKILL.md +121 -0
- package/.opencode/skills/commit-message/SKILL.md +140 -0
- package/.opencode/skills/compose-workflow/SKILL.md +82 -0
- package/.opencode/skills/context7-mcp/SKILL.md +55 -0
- package/.opencode/skills/craft-skill/SKILL.md +196 -0
- package/.opencode/skills/deepen-architecture/SKILL.md +260 -0
- package/.opencode/skills/define-language/SKILL.md +80 -0
- package/.opencode/skills/define-success/SKILL.md +12 -0
- package/.opencode/skills/delegate-task/SKILL.md +91 -0
- package/.opencode/skills/deploy/SKILL.md +198 -0
- package/.opencode/skills/design-interface/SKILL.md +97 -0
- package/.opencode/skills/develop-tdd/SKILL.md +416 -0
- package/.opencode/skills/diagnose-root/SKILL.md +24 -0
- package/.opencode/skills/diagnose-stall/SKILL.md +54 -0
- package/.opencode/skills/dispatch-agents/SKILL.md +118 -0
- package/.opencode/skills/edit-document/SKILL.md +23 -0
- package/.opencode/skills/elaborate-spec/SKILL.md +101 -0
- package/.opencode/skills/enforce-first/SKILL.md +45 -0
- package/.opencode/skills/evolve-skill/SKILL.md +55 -0
- package/.opencode/skills/execute-plan/SKILL.md +61 -0
- package/.opencode/skills/extract-design/SKILL.md +132 -0
- package/.opencode/skills/find-way/SKILL.md +191 -0
- package/.opencode/skills/fix-bug/SKILL.md +67 -0
- package/.opencode/skills/gate-trace/SKILL.md +92 -0
- package/.opencode/skills/generate-allure-report/SKILL.md +285 -0
- package/.opencode/skills/grill-me/SKILL.md +108 -0
- package/.opencode/skills/grill-with-docs/SKILL.md +53 -0
- package/.opencode/skills/guard-git/SKILL.md +231 -0
- package/.opencode/skills/harden-vps/SKILL.md +291 -0
- package/.opencode/skills/hook-commits/SKILL.md +94 -0
- package/.opencode/skills/inspect-quality/SKILL.md +106 -0
- package/.opencode/skills/investigate-bug/SKILL.md +127 -0
- package/.opencode/skills/kickoff-branch/SKILL.md +143 -0
- package/.opencode/skills/maintain-wiki/SKILL.md +64 -0
- package/.opencode/skills/map-codebase/SKILL.md +71 -0
- package/.opencode/skills/migrate-spec/SKILL.md +908 -0
- package/.opencode/skills/model-domain/SKILL.md +232 -0
- package/.opencode/skills/orchestrate-project/SKILL.md +174 -0
- package/.opencode/skills/organize-workspace/SKILL.md +164 -0
- package/.opencode/skills/plan-refactor/SKILL.md +87 -0
- package/.opencode/skills/plan-release/SKILL.md +145 -0
- package/.opencode/skills/plan-tests/SKILL.md +75 -0
- package/.opencode/skills/plan-work/SKILL.md +272 -0
- package/.opencode/skills/publish-package/SKILL.md +338 -0
- package/.opencode/skills/quick-fix/SKILL.md +114 -0
- package/.opencode/skills/release-branch/SKILL.md +302 -0
- package/.opencode/skills/request-review/SKILL.md +113 -0
- package/.opencode/skills/research-first/SKILL.md +87 -0
- package/.opencode/skills/reset-baseline/SKILL.md +21 -0
- package/.opencode/skills/respond-review/SKILL.md +71 -0
- package/.opencode/skills/run-benchmark/SKILL.md +85 -0
- package/.opencode/skills/run-evals/SKILL.md +80 -0
- package/.opencode/skills/run-planning/SKILL.md +101 -0
- package/.opencode/skills/scope-work/SKILL.md +63 -0
- package/.opencode/skills/search-skills/SKILL.md +73 -0
- package/.opencode/skills/security-review/SKILL.md +384 -0
- package/.opencode/skills/seed-conventions/SKILL.md +312 -0
- package/.opencode/skills/session-state/SKILL.md +146 -0
- package/.opencode/skills/setup-environment/SKILL.md +39 -0
- package/.opencode/skills/simulate-agents/SKILL.md +26 -0
- package/.opencode/skills/slice-tasks/SKILL.md +68 -0
- package/.opencode/skills/smoke-test/SKILL.md +261 -0
- package/.opencode/skills/spike-prototype/SKILL.md +95 -0
- package/.opencode/skills/stocktake-skills/SKILL.md +74 -0
- package/.opencode/skills/survey-context/SKILL.md +135 -0
- package/.opencode/skills/terse-mode/SKILL.md +42 -0
- package/.opencode/skills/trace-requirement/SKILL.md +69 -0
- package/.opencode/skills/using-bigpowers/SKILL.md +111 -0
- package/.opencode/skills/validate-contracts/SKILL.md +286 -0
- package/.opencode/skills/validate-fix/SKILL.md +147 -0
- package/.opencode/skills/verify-work/SKILL.md +191 -0
- package/.opencode/skills/visual-dashboard/SKILL.md +50 -0
- package/.opencode/skills/wire-ci/SKILL.md +381 -0
- package/.opencode/skills/wire-observability/SKILL.md +97 -0
- package/.opencode/skills/write-document/SKILL.md +281 -0
- package/.pi/package.json +1 -1
- package/.pi/prompts/commit-message.md +1 -1
- package/.pi/prompts/evolve-skill.md +1 -1
- package/.pi/prompts/guard-git.md +8 -8
- package/.pi/prompts/kickoff-branch.md +1 -1
- package/.pi/prompts/migrate-spec.md +52 -6
- package/.pi/prompts/plan-work.md +17 -5
- package/.pi/prompts/publish-package.md +15 -5
- package/.pi/prompts/release-branch.md +12 -8
- package/.pi/prompts/seed-conventions.md +20 -10
- package/.pi/prompts/smoke-test.md +9 -5
- package/.pi/prompts/validate-contracts.md +15 -6
- package/.pi/prompts/wire-ci.md +12 -5
- package/.pi/prompts/write-document.md +31 -5
- package/.pi/skills/commit-message/SKILL.md +1 -1
- package/.pi/skills/evolve-skill/SKILL.md +1 -1
- package/.pi/skills/guard-git/SKILL.md +8 -8
- package/.pi/skills/kickoff-branch/SKILL.md +1 -1
- package/.pi/skills/migrate-spec/SKILL.md +52 -6
- package/.pi/skills/plan-work/SKILL.md +17 -5
- package/.pi/skills/publish-package/SKILL.md +15 -5
- package/.pi/skills/release-branch/SKILL.md +12 -8
- package/.pi/skills/seed-conventions/SKILL.md +20 -10
- package/.pi/skills/smoke-test/SKILL.md +9 -5
- package/.pi/skills/validate-contracts/SKILL.md +15 -6
- package/.pi/skills/wire-ci/SKILL.md +12 -5
- package/.pi/skills/write-document/SKILL.md +31 -5
- package/.qwen/skills/align-grid/SKILL.md +110 -0
- package/.qwen/skills/assess-impact/SKILL.md +91 -0
- package/.qwen/skills/audit-code/SKILL.md +184 -0
- package/.qwen/skills/audit-plan/SKILL.md +89 -0
- package/.qwen/skills/build-epic/SKILL.md +105 -0
- package/.qwen/skills/change-request/SKILL.md +121 -0
- package/.qwen/skills/commit-message/SKILL.md +140 -0
- package/.qwen/skills/compose-workflow/SKILL.md +82 -0
- package/.qwen/skills/context7-mcp/SKILL.md +55 -0
- package/.qwen/skills/craft-skill/SKILL.md +196 -0
- package/.qwen/skills/deepen-architecture/SKILL.md +260 -0
- package/.qwen/skills/define-language/SKILL.md +80 -0
- package/.qwen/skills/define-success/SKILL.md +12 -0
- package/.qwen/skills/delegate-task/SKILL.md +91 -0
- package/.qwen/skills/deploy/SKILL.md +198 -0
- package/.qwen/skills/design-interface/SKILL.md +97 -0
- package/.qwen/skills/develop-tdd/SKILL.md +416 -0
- package/.qwen/skills/diagnose-root/SKILL.md +24 -0
- package/.qwen/skills/diagnose-stall/SKILL.md +54 -0
- package/.qwen/skills/dispatch-agents/SKILL.md +118 -0
- package/.qwen/skills/edit-document/SKILL.md +23 -0
- package/.qwen/skills/elaborate-spec/SKILL.md +101 -0
- package/.qwen/skills/enforce-first/SKILL.md +45 -0
- package/.qwen/skills/evolve-skill/SKILL.md +55 -0
- package/.qwen/skills/execute-plan/SKILL.md +61 -0
- package/.qwen/skills/extract-design/SKILL.md +132 -0
- package/.qwen/skills/find-way/SKILL.md +191 -0
- package/.qwen/skills/fix-bug/SKILL.md +67 -0
- package/.qwen/skills/gate-trace/SKILL.md +92 -0
- package/.qwen/skills/generate-allure-report/SKILL.md +285 -0
- package/.qwen/skills/grill-me/SKILL.md +108 -0
- package/.qwen/skills/grill-with-docs/SKILL.md +53 -0
- package/.qwen/skills/guard-git/SKILL.md +231 -0
- package/.qwen/skills/harden-vps/SKILL.md +291 -0
- package/.qwen/skills/hook-commits/SKILL.md +94 -0
- package/.qwen/skills/inspect-quality/SKILL.md +106 -0
- package/.qwen/skills/investigate-bug/SKILL.md +127 -0
- package/.qwen/skills/kickoff-branch/SKILL.md +143 -0
- package/.qwen/skills/maintain-wiki/SKILL.md +64 -0
- package/.qwen/skills/map-codebase/SKILL.md +71 -0
- package/.qwen/skills/migrate-spec/SKILL.md +908 -0
- package/.qwen/skills/model-domain/SKILL.md +232 -0
- package/.qwen/skills/orchestrate-project/SKILL.md +174 -0
- package/.qwen/skills/organize-workspace/SKILL.md +164 -0
- package/.qwen/skills/plan-refactor/SKILL.md +87 -0
- package/.qwen/skills/plan-release/SKILL.md +145 -0
- package/.qwen/skills/plan-tests/SKILL.md +75 -0
- package/.qwen/skills/plan-work/SKILL.md +272 -0
- package/.qwen/skills/publish-package/SKILL.md +338 -0
- package/.qwen/skills/quick-fix/SKILL.md +114 -0
- package/.qwen/skills/release-branch/SKILL.md +302 -0
- package/.qwen/skills/request-review/SKILL.md +113 -0
- package/.qwen/skills/research-first/SKILL.md +87 -0
- package/.qwen/skills/reset-baseline/SKILL.md +21 -0
- package/.qwen/skills/respond-review/SKILL.md +71 -0
- package/.qwen/skills/run-benchmark/SKILL.md +85 -0
- package/.qwen/skills/run-evals/SKILL.md +80 -0
- package/.qwen/skills/run-planning/SKILL.md +101 -0
- package/.qwen/skills/scope-work/SKILL.md +63 -0
- package/.qwen/skills/search-skills/SKILL.md +73 -0
- package/.qwen/skills/security-review/SKILL.md +384 -0
- package/.qwen/skills/seed-conventions/SKILL.md +312 -0
- package/.qwen/skills/session-state/SKILL.md +146 -0
- package/.qwen/skills/setup-environment/SKILL.md +39 -0
- package/.qwen/skills/simulate-agents/SKILL.md +26 -0
- package/.qwen/skills/slice-tasks/SKILL.md +68 -0
- package/.qwen/skills/smoke-test/SKILL.md +261 -0
- package/.qwen/skills/spike-prototype/SKILL.md +95 -0
- package/.qwen/skills/stocktake-skills/SKILL.md +74 -0
- package/.qwen/skills/survey-context/SKILL.md +135 -0
- package/.qwen/skills/terse-mode/SKILL.md +42 -0
- package/.qwen/skills/trace-requirement/SKILL.md +69 -0
- package/.qwen/skills/using-bigpowers/SKILL.md +111 -0
- package/.qwen/skills/validate-contracts/SKILL.md +286 -0
- package/.qwen/skills/validate-fix/SKILL.md +147 -0
- package/.qwen/skills/verify-work/SKILL.md +191 -0
- package/.qwen/skills/visual-dashboard/SKILL.md +50 -0
- package/.qwen/skills/wire-ci/SKILL.md +381 -0
- package/.qwen/skills/wire-observability/SKILL.md +97 -0
- package/.qwen/skills/write-document/SKILL.md +281 -0
- package/.trae/skills/commit-message/SKILL.md +1 -1
- package/.trae/skills/evolve-skill/SKILL.md +1 -1
- package/.trae/skills/guard-git/SKILL.md +8 -8
- package/.trae/skills/kickoff-branch/SKILL.md +1 -1
- package/.trae/skills/migrate-spec/SKILL.md +52 -6
- package/.trae/skills/plan-work/SKILL.md +17 -5
- package/.trae/skills/publish-package/SKILL.md +15 -5
- package/.trae/skills/release-branch/SKILL.md +12 -8
- package/.trae/skills/seed-conventions/SKILL.md +20 -10
- package/.trae/skills/smoke-test/SKILL.md +9 -5
- package/.trae/skills/validate-contracts/SKILL.md +15 -6
- package/.trae/skills/wire-ci/SKILL.md +12 -5
- package/.trae/skills/write-document/SKILL.md +31 -5
- package/.windsurf/rules/commit-message.md +1 -1
- package/.windsurf/rules/evolve-skill.md +1 -1
- package/.windsurf/rules/guard-git.md +8 -8
- package/.windsurf/rules/kickoff-branch.md +1 -1
- package/.windsurf/rules/migrate-spec.md +52 -6
- package/.windsurf/rules/plan-work.md +17 -5
- package/.windsurf/rules/publish-package.md +15 -5
- package/.windsurf/rules/release-branch.md +12 -8
- package/.windsurf/rules/seed-conventions.md +20 -10
- package/.windsurf/rules/smoke-test.md +9 -5
- package/.windsurf/rules/validate-contracts.md +15 -6
- package/.windsurf/rules/wire-ci.md +12 -5
- package/.windsurf/rules/write-document.md +31 -5
- package/.zcode/skills/commit-message/SKILL.md +1 -1
- package/.zcode/skills/evolve-skill/SKILL.md +1 -1
- package/.zcode/skills/guard-git/SKILL.md +8 -8
- package/.zcode/skills/kickoff-branch/SKILL.md +1 -1
- package/.zcode/skills/migrate-spec/SKILL.md +52 -6
- package/.zcode/skills/plan-work/SKILL.md +17 -5
- package/.zcode/skills/publish-package/SKILL.md +15 -5
- package/.zcode/skills/release-branch/SKILL.md +12 -8
- package/.zcode/skills/seed-conventions/SKILL.md +20 -10
- package/.zcode/skills/smoke-test/SKILL.md +9 -5
- package/.zcode/skills/validate-contracts/SKILL.md +15 -6
- package/.zcode/skills/wire-ci/SKILL.md +12 -5
- package/.zcode/skills/write-document/SKILL.md +31 -5
- package/CHANGELOG.md +14 -0
- package/CONVENTIONS.md +2 -0
- package/package.json +1 -1
- package/scripts/adapters/agy.sh +3 -0
- package/scripts/adapters/continue.sh +3 -0
- package/scripts/adapters/cursor.sh +3 -0
- package/scripts/adapters/gemini.sh +5 -24
- package/scripts/adapters/mimo.sh +3 -0
- package/scripts/adapters/omp.sh +3 -0
- package/scripts/adapters/pi.sh +6 -3
- package/scripts/adapters/zcode.sh +3 -0
- package/scripts/adapters/zed.sh +3 -0
- package/scripts/generate-context-bundle.sh +6 -0
- package/scripts/generate-reference-nav.sh +89 -0
- package/scripts/generate-viz-graph.sh +4 -0
- package/scripts/generate-workflow-diagrams.sh +102 -0
- package/scripts/golden-g13-script-orphans.sh +167 -0
- package/scripts/golden-g14-adapter-dispatch.sh +113 -0
- package/scripts/golden-g15-compliance-runner-selftest.sh +126 -0
- package/scripts/golden-g16-spec-version-gap.sh +72 -0
- package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
- package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
- package/scripts/lib/adapter-guard.sh +30 -0
- package/scripts/lib/audit-compliance-report.sh +32 -7
- package/scripts/lib/audit-compliance-runner.sh +14 -1
- package/scripts/lib/golden-suite-gates.sh +43 -3
- package/scripts/lib/install-targets-b.sh +0 -8
- package/scripts/lib/sync-render.sh +0 -43
- package/scripts/lib/test-assertions.sh +4 -0
- package/scripts/snapshot-catalog-baseline.sh +4 -0
- package/scripts/targets.yaml +35 -13
- package/scripts/test-adapter-render.sh +114 -0
- package/scripts/test-adapters.sh +10 -3
- package/scripts/test-completeness-critic-scope.sh +18 -19
- package/scripts/test-generate-epics-wiki-zero-stories.sh +12 -13
- package/scripts/test-golden-g11-worktree-venv.sh +16 -18
- package/scripts/test-install-distribute-only.sh +27 -26
- package/scripts/test-install-hub.sh +141 -0
- package/scripts/test-setup-no-pyyaml.sh +16 -17
- package/scripts/test-target-contracts.sh +15 -13
- package/scripts/test-tombstone-mechanism.sh +31 -33
- package/skills/commit-message/REFERENCE.md +1 -1
- package/skills/evolve-skill/REFERENCE.md +1 -1
- package/skills/guard-git/REFERENCE.md +8 -8
- package/skills/kickoff-branch/SKILL.md +1 -1
- package/skills/migrate-spec/REFERENCE.md +52 -6
- package/skills/plan-work/REFERENCE.md +17 -5
- package/skills/publish-package/REFERENCE.md +15 -5
- package/skills/release-branch/REFERENCE.md +12 -8
- package/skills/seed-conventions/REFERENCE.md +20 -10
- package/skills/smoke-test/REFERENCE.md +9 -5
- package/skills/validate-contracts/REFERENCE.md +15 -6
- package/skills/wire-ci/REFERENCE.md +12 -5
- package/skills/write-document/REFERENCE.md +31 -5
- package/skills-lock.json +1 -1
- package/scripts/add-model-frontmatter.sh +0 -32
- package/scripts/install-cursor-skills-local.sh +0 -15
- package/scripts/install-cursor-skills.sh +0 -24
- package/scripts/project-survey.sh +0 -63
- package/scripts/test-agy-hub.sh +0 -60
- package/scripts/test-cline-adapter.sh +0 -55
- package/scripts/test-cline-hub.sh +0 -48
- package/scripts/test-codebuddy-adapter.sh +0 -63
- package/scripts/test-codebuddy-hub.sh +0 -49
- package/scripts/test-codex-adapter.sh +0 -63
- package/scripts/test-codex-hub.sh +0 -49
- package/scripts/test-copilot-adapter.sh +0 -47
- package/scripts/test-copilot-hub.sh +0 -43
- package/scripts/test-gemini-adapter.sh +0 -70
- package/scripts/test-gemini-hub.sh +0 -56
- package/scripts/test-hermes-adapter.sh +0 -85
- package/scripts/test-hermes-hub.sh +0 -52
- package/scripts/test-kilocode-adapter.sh +0 -55
- package/scripts/test-kilocode-hub.sh +0 -48
- package/scripts/test-mimo-hub.sh +0 -52
- package/scripts/test-opencode-adapter.sh +0 -47
- package/scripts/test-opencode-hub.sh +0 -43
- package/scripts/test-qwen-adapter.sh +0 -63
- package/scripts/test-qwen-hub.sh +0 -49
- package/scripts/test-trae-adapter.sh +0 -63
- package/scripts/test-trae-hub.sh +0 -49
- package/scripts/test-windsurf-adapter.sh +0 -63
- package/scripts/test-windsurf-hub.sh +0 -49
- package/scripts/test-zcode-hub.sh +0 -52
|
@@ -107,10 +107,6 @@ install_agy() {
|
|
|
107
107
|
echo " NOTE: Antigravity uses ~/.gemini/antigravity-cli/skills/ — not .gemini/extensions/ (Gemini CLI)"
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
install_antigravity() {
|
|
111
|
-
install_agy
|
|
112
|
-
}
|
|
113
|
-
|
|
114
110
|
uninstall_agy() {
|
|
115
111
|
echo ""
|
|
116
112
|
echo "Antigravity CLI → removing management from $AGY_CONFIG_DIR/"
|
|
@@ -122,10 +118,6 @@ uninstall_agy() {
|
|
|
122
118
|
fi
|
|
123
119
|
}
|
|
124
120
|
|
|
125
|
-
uninstall_antigravity() {
|
|
126
|
-
uninstall_agy
|
|
127
|
-
}
|
|
128
|
-
|
|
129
121
|
# ── Codex CLI (e65s02) ───────────────────────────────────────────────────────
|
|
130
122
|
|
|
131
123
|
CODEX_CONFIG_DIR="$HOME/.codex"
|
|
@@ -54,49 +54,6 @@ render_gemini_command() {
|
|
|
54
54
|
} > "$GEMINI_COMMANDS/$IR_NAME.toml"
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
render_gemini_hooks_manifest() {
|
|
58
|
-
local hookdir="${GEMINI_HOOKS_DIR:-$GEMINI_EXT_DIR/hooks}"
|
|
59
|
-
mkdir -p "$hookdir"
|
|
60
|
-
cat > "$hookdir/hooks-manifest.json" <<'JSON'
|
|
61
|
-
{
|
|
62
|
-
"schema_version": 1,
|
|
63
|
-
"target": "gemini",
|
|
64
|
-
"config_path": "~/.gemini/settings.json",
|
|
65
|
-
"events_total": 11,
|
|
66
|
-
"events": [
|
|
67
|
-
"BeforeTool",
|
|
68
|
-
"AfterTool",
|
|
69
|
-
"BeforeAgent",
|
|
70
|
-
"AfterAgent",
|
|
71
|
-
"BeforeModel",
|
|
72
|
-
"BeforeToolSelection",
|
|
73
|
-
"AfterModel",
|
|
74
|
-
"SessionStart",
|
|
75
|
-
"SessionEnd",
|
|
76
|
-
"Notification",
|
|
77
|
-
"PreCompress"
|
|
78
|
-
],
|
|
79
|
-
"shipped_hooks": [
|
|
80
|
-
{
|
|
81
|
-
"event": "SessionStart",
|
|
82
|
-
"script": "session-start",
|
|
83
|
-
"matcher": "startup|clear|compact",
|
|
84
|
-
"wave": "a",
|
|
85
|
-
"status": "shipped"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"event": "BeforeTool",
|
|
89
|
-
"script": "before-tool-git-guard.sh",
|
|
90
|
-
"matcher": "run_shell_command",
|
|
91
|
-
"wave": "a",
|
|
92
|
-
"status": "template"
|
|
93
|
-
}
|
|
94
|
-
],
|
|
95
|
-
"polyglot_launcher": "run-hook.cmd"
|
|
96
|
-
}
|
|
97
|
-
JSON
|
|
98
|
-
}
|
|
99
|
-
|
|
100
57
|
render_pi_skill() {
|
|
101
58
|
mkdir -p "$PI_SKILLS/$IR_NAME"
|
|
102
59
|
{
|
|
@@ -19,3 +19,7 @@ ta_cleanup() {
|
|
|
19
19
|
ta_pass() { echo " PASS $1"; TA_PASS=$((TA_PASS + 1)); }
|
|
20
20
|
|
|
21
21
|
ta_fail() { echo " FAIL $1"; TA_FAIL=$((TA_FAIL + 1)); }
|
|
22
|
+
|
|
23
|
+
# Strip ANSI color codes — used by scripts that grep the colored output of a
|
|
24
|
+
# gate/skill they're testing, where the escape codes would break the match.
|
|
25
|
+
ta_strip_ansi() { sed -E 's/\x1b\[[0-9;]*m//g'; }
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
# story: e54s01
|
|
3
3
|
# snapshot-catalog-baseline.sh — freeze the live skill catalog into a dated,
|
|
4
4
|
# immutable YAML baseline for e56's reclassification diff.
|
|
5
|
+
# bp-manual-utility: e56 (reclassify-catalog) is still `backlog` in
|
|
6
|
+
# execution-status.yaml — its sole consumer hasn't started, so there is
|
|
7
|
+
# nothing to wire this into yet. Promote to a gate when e56 kicks off; run
|
|
8
|
+
# manually until then: bash scripts/snapshot-catalog-baseline.sh
|
|
5
9
|
set -euo pipefail
|
|
6
10
|
|
|
7
11
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
package/scripts/targets.yaml
CHANGED
|
@@ -47,7 +47,9 @@ targets:
|
|
|
47
47
|
- id: cline
|
|
48
48
|
name: Cline
|
|
49
49
|
tier: default_on
|
|
50
|
-
skill:
|
|
50
|
+
skill:
|
|
51
|
+
adapter: cline
|
|
52
|
+
output: .cline/skills
|
|
51
53
|
context:
|
|
52
54
|
adapter: cline
|
|
53
55
|
mode: native
|
|
@@ -164,7 +166,9 @@ targets:
|
|
|
164
166
|
# story: e68s02
|
|
165
167
|
name: Qwen (Alibaba)
|
|
166
168
|
tier: opt_in
|
|
167
|
-
skill:
|
|
169
|
+
skill:
|
|
170
|
+
adapter: qwen
|
|
171
|
+
output: .qwen/skills
|
|
168
172
|
context:
|
|
169
173
|
adapter: qwen
|
|
170
174
|
mode: symlink
|
|
@@ -172,17 +176,6 @@ targets:
|
|
|
172
176
|
contracts:
|
|
173
177
|
- agents_md_exists
|
|
174
178
|
- qwen_hooks_manifest
|
|
175
|
-
name: Kilocode
|
|
176
|
-
tier: opt_in
|
|
177
|
-
skill:
|
|
178
|
-
adapter: kilocode
|
|
179
|
-
output: .kilocode/rules
|
|
180
|
-
context:
|
|
181
|
-
adapter: kilocode
|
|
182
|
-
mode: copy
|
|
183
|
-
file: AGENTS.md
|
|
184
|
-
contracts:
|
|
185
|
-
- agents_md_exists
|
|
186
179
|
|
|
187
180
|
# Wave D (e37s12)
|
|
188
181
|
- id: continue
|
|
@@ -303,3 +296,32 @@ targets:
|
|
|
303
296
|
file: AGENTS.md
|
|
304
297
|
contracts:
|
|
305
298
|
- windsurf_hooks_manifest
|
|
299
|
+
|
|
300
|
+
# Registered by BUG-2026-07-26-null-skill-adapters-install-nothing: both ship
|
|
301
|
+
# a render_skill() adapter and an install function, but had no registry row,
|
|
302
|
+
# so srp-engine never rendered for them and install found nothing.
|
|
303
|
+
- id: opencode
|
|
304
|
+
name: OpenCode
|
|
305
|
+
tier: opt_in
|
|
306
|
+
skill:
|
|
307
|
+
adapter: opencode
|
|
308
|
+
output: .opencode/skills
|
|
309
|
+
context:
|
|
310
|
+
adapter: opencode
|
|
311
|
+
mode: symlink
|
|
312
|
+
file: AGENTS.md
|
|
313
|
+
contracts:
|
|
314
|
+
- agents_md_exists
|
|
315
|
+
|
|
316
|
+
- id: copilot
|
|
317
|
+
name: Copilot CLI
|
|
318
|
+
tier: opt_in
|
|
319
|
+
skill:
|
|
320
|
+
adapter: copilot
|
|
321
|
+
output: .copilot/skills
|
|
322
|
+
context:
|
|
323
|
+
adapter: copilot
|
|
324
|
+
mode: copy
|
|
325
|
+
file: AGENTS.md
|
|
326
|
+
contracts:
|
|
327
|
+
- agents_md_exists
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# story: e37s05
|
|
3
|
+
# test-adapter-render.sh — render, path-traversal and hook-guard checks for
|
|
4
|
+
# every adapter, replacing 11 hand-written test-<target>-adapter.sh scripts.
|
|
5
|
+
#
|
|
6
|
+
# The 11 originals were the same five assertions with the target name
|
|
7
|
+
# substituted, none of them reachable from any gate, and they covered 11 of the
|
|
8
|
+
# 18 adapters that define render_skill(). Their fifth assertion was pure
|
|
9
|
+
# delegation to test-adapters.sh, which is already registry-driven.
|
|
10
|
+
#
|
|
11
|
+
# Adapters are discovered from scripts/adapters/*.sh, and each adapter's output
|
|
12
|
+
# directory variable is read out of its own source (they vary: *_SKILLS,
|
|
13
|
+
# *_RULES, *_EXT_DIR), so adding an adapter needs no edit here.
|
|
14
|
+
#
|
|
15
|
+
# Usage: bash scripts/test-adapter-render.sh
|
|
16
|
+
set -euo pipefail
|
|
17
|
+
source "$(dirname "${BASH_SOURCE[0]}")/lib/skill-common.sh"
|
|
18
|
+
resolve_repo_root
|
|
19
|
+
cd "$REPO_ROOT"
|
|
20
|
+
|
|
21
|
+
TA_PASS=0
|
|
22
|
+
TA_FAIL=0
|
|
23
|
+
TA_TMPDIR=""
|
|
24
|
+
|
|
25
|
+
source "$(dirname "${BASH_SOURCE[0]}")/lib/test-assertions.sh"
|
|
26
|
+
trap ta_cleanup EXIT
|
|
27
|
+
|
|
28
|
+
TA_TMPDIR=$(mktemp -d)
|
|
29
|
+
TMP_ROOT="$TA_TMPDIR"
|
|
30
|
+
echo "=== test-adapter-render.sh ==="
|
|
31
|
+
|
|
32
|
+
for adapter in scripts/adapters/*.sh; do
|
|
33
|
+
id="$(basename "$adapter" .sh)"
|
|
34
|
+
|
|
35
|
+
grep -q "^render_skill()" "$adapter" || continue
|
|
36
|
+
|
|
37
|
+
# Adapters are sourced, not executed: several (continue, omp, zed) are stubs
|
|
38
|
+
# with no stdin entrypoint and would silently no-op — and exit 0 — if run as
|
|
39
|
+
# scripts. Sourcing and calling render_skill directly is how test-adapters.sh
|
|
40
|
+
# drives them, and it exercises every adapter the same way.
|
|
41
|
+
#
|
|
42
|
+
# An adapter may read more than one output variable (gemini uses GEMINI_SKILLS
|
|
43
|
+
# and GEMINI_EXT_DIR), so point all of them at the sandbox rather than
|
|
44
|
+
# guessing which one matters.
|
|
45
|
+
mapfile -t outvars < <(grep -oE '\$\{?[A-Z][A-Z0-9_]*_(SKILLS|RULES|EXT_DIR|OUT|COMMANDS|PROMPTS|HOOKS_DIR)[:-]' "$adapter" \
|
|
46
|
+
| tr -d '${:-' | sort -u)
|
|
47
|
+
if [[ ${#outvars[@]} -eq 0 ]]; then
|
|
48
|
+
echo " skip: $id — no output directory variable found"
|
|
49
|
+
continue
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
render_into() { # $1 = destination dir, $2 = skill name
|
|
53
|
+
local dir="$1" nm="$2" v
|
|
54
|
+
local -a envs=()
|
|
55
|
+
for v in "${outvars[@]}"; do envs+=("$v=$dir"); done
|
|
56
|
+
( set +e
|
|
57
|
+
env "${envs[@]}" bash -c '
|
|
58
|
+
source "$1" 2>/dev/null || exit 1
|
|
59
|
+
IR_NAME="$2"; IR_DESCRIPTION="test desc"; IR_BODY="test body"
|
|
60
|
+
IR_DESC_ESCAPED="test desc"; IR_MODEL=""
|
|
61
|
+
declare -f render_skill >/dev/null || exit 1
|
|
62
|
+
render_skill
|
|
63
|
+
' _ "$PWD/$adapter" "$nm" >/dev/null 2>&1 )
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
dest="$TMP_ROOT/$id"
|
|
67
|
+
mkdir -p "$dest"
|
|
68
|
+
if render_into "$dest" "test-skill" && [[ -n "$(find "$dest" -mindepth 1 2>/dev/null)" ]]; then
|
|
69
|
+
ta_pass "$id: render_skill writes an artifact from a SkillIR"
|
|
70
|
+
else
|
|
71
|
+
ta_fail "$id: render_skill produced no artifact (${outvars[*]})"
|
|
72
|
+
fi
|
|
73
|
+
|
|
74
|
+
# Path traversal must be refused — this is the security assertion the
|
|
75
|
+
# per-target scripts carried and nothing else covers.
|
|
76
|
+
#
|
|
77
|
+
# Each adapter gets its own sandbox parent so the escape probe is isolated:
|
|
78
|
+
# ../escape from <sandbox>/out lands in <sandbox>, and a single shared parent
|
|
79
|
+
# would make one adapter's artifact fail every later adapter.
|
|
80
|
+
sandbox="$TMP_ROOT/sandbox-$id"
|
|
81
|
+
mkdir -p "$sandbox/out"
|
|
82
|
+
if render_into "$sandbox/out" "../escape"; then
|
|
83
|
+
ta_fail "$id: accepted a path-traversal skill name"
|
|
84
|
+
else
|
|
85
|
+
ta_pass "$id: rejects path traversal in skill name"
|
|
86
|
+
fi
|
|
87
|
+
if [[ -e "$sandbox/escape" ]]; then
|
|
88
|
+
ta_fail "$id: path traversal escaped into $sandbox"
|
|
89
|
+
else
|
|
90
|
+
ta_pass "$id: traversal wrote nothing outside the destination"
|
|
91
|
+
fi
|
|
92
|
+
|
|
93
|
+
# Hook bundle + guard behaviour, only where the target ships hooks.
|
|
94
|
+
hookdir="scripts/hooks/$id"
|
|
95
|
+
guard="$hookdir/pre-tool-git-guard.sh"
|
|
96
|
+
if [[ -f "$guard" ]]; then
|
|
97
|
+
out="$(echo '{"tool_input":{"command":"git push --force origin main"}}' \
|
|
98
|
+
| bash "$guard" 2>/dev/null || true)"
|
|
99
|
+
grep -q 'block' <<<"$out" \
|
|
100
|
+
&& ta_pass "$id: pre-tool guard blocks a dangerous git command" \
|
|
101
|
+
|| ta_fail "$id: pre-tool guard did not block git push --force"
|
|
102
|
+
fi
|
|
103
|
+
done
|
|
104
|
+
|
|
105
|
+
# The generic adapter-contract runner stays the source of truth for
|
|
106
|
+
# render_skill/wire_context wiring; assert it is green rather than restating it.
|
|
107
|
+
if bash scripts/test-adapters.sh 2>&1 | grep -q '0 failed'; then
|
|
108
|
+
ta_pass "test-adapters.sh reports 0 failed across the registry"
|
|
109
|
+
else
|
|
110
|
+
ta_fail "test-adapters.sh reported failures"
|
|
111
|
+
fi
|
|
112
|
+
|
|
113
|
+
echo "test-adapter-render: $TA_PASS passed, $TA_FAIL failed"
|
|
114
|
+
[[ "$TA_FAIL" -eq 0 ]] || exit 1
|
package/scripts/test-adapters.sh
CHANGED
|
@@ -40,8 +40,13 @@ test_adapter() {
|
|
|
40
40
|
[[ -f "$adapter_file" ]] || { ta_fail "$id: adapter missing"; return; }
|
|
41
41
|
ta_pass "$id: exists"
|
|
42
42
|
|
|
43
|
+
# </dev/null is load-bearing. The caller feeds the target list into a
|
|
44
|
+
# `while read` loop, so a sourced adapter inherits it on fd 0 — and every
|
|
45
|
+
# adapter ends in a main block that reads stdin. agy.sh was consuming the
|
|
46
|
+
# remaining target list and running render_skill with an empty IR_NAME, so
|
|
47
|
+
# this "registry-driven" runner silently tested exactly one adapter.
|
|
43
48
|
# shellcheck source=/dev/null
|
|
44
|
-
source "$adapter_file" 2>/dev/null && ta_pass "$id: sourceable" || { ta_fail "$id: source error"; return; }
|
|
49
|
+
source "$adapter_file" </dev/null 2>/dev/null && ta_pass "$id: sourceable" || { ta_fail "$id: source error"; return; }
|
|
45
50
|
|
|
46
51
|
local has_skill has_context mode
|
|
47
52
|
has_skill=$(yq -r ".targets[] | select(.id==\"$id\") | .skill != null" "$TARGETS_FILE")
|
|
@@ -62,11 +67,13 @@ test_adapter() {
|
|
|
62
67
|
# to print 5 PASS lines and report 4. Capture the status, tally in-process.
|
|
63
68
|
if (
|
|
64
69
|
cd "$TA_TMPDIR"
|
|
70
|
+
# </dev/null for the same reason as above — this subshell also inherits
|
|
71
|
+
# the caller's target list on fd 0.
|
|
65
72
|
# shellcheck source=/dev/null
|
|
66
|
-
source "$adapter_file"
|
|
73
|
+
source "$adapter_file" </dev/null
|
|
67
74
|
wire_context >/dev/null 2>&1 || true
|
|
68
75
|
wire_context >/dev/null 2>&1
|
|
69
|
-
); then
|
|
76
|
+
) </dev/null; then
|
|
70
77
|
ta_pass "$id: idempotent wire_context"
|
|
71
78
|
else
|
|
72
79
|
ta_fail "$id: wire_context failed"
|
|
@@ -15,9 +15,12 @@ RED='\033[0;31m'
|
|
|
15
15
|
GREEN='\033[0;32m'
|
|
16
16
|
NC='\033[0m'
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
TA_PASS=0
|
|
19
|
+
TA_FAIL=0
|
|
20
|
+
TA_TMPDIR=""
|
|
21
|
+
source "$REPO_ROOT/scripts/lib/test-assertions.sh"
|
|
22
|
+
# NOT `trap ta_cleanup EXIT` — this script's cleanup restores backed-up
|
|
23
|
+
# specs/state.yaml and specs/traceability-matrix.json, not a TA_TMPDIR.
|
|
21
24
|
|
|
22
25
|
STATE_FILE="specs/state.yaml"
|
|
23
26
|
MATRIX_FILE="specs/traceability-matrix.json"
|
|
@@ -26,12 +29,12 @@ MATRIX_BACKUP=$(mktemp)
|
|
|
26
29
|
cp "$STATE_FILE" "$STATE_BACKUP"
|
|
27
30
|
cp "$MATRIX_FILE" "$MATRIX_BACKUP"
|
|
28
31
|
|
|
29
|
-
|
|
32
|
+
completeness_critic_test_cleanup() {
|
|
30
33
|
cp "$STATE_BACKUP" "$STATE_FILE"
|
|
31
34
|
cp "$MATRIX_BACKUP" "$MATRIX_FILE"
|
|
32
35
|
rm -f "$STATE_BACKUP" "$MATRIX_BACKUP"
|
|
33
36
|
}
|
|
34
|
-
trap
|
|
37
|
+
trap completeness_critic_test_cleanup EXIT
|
|
35
38
|
|
|
36
39
|
run_critic() {
|
|
37
40
|
bash scripts/lib/completeness-critic.sh 2>&1 || true
|
|
@@ -56,18 +59,18 @@ sed -i.bak '/^active_story:/d' "$STATE_FILE" && rm -f "${STATE_FILE}.bak"
|
|
|
56
59
|
write_matrix '[]'
|
|
57
60
|
output=$(run_critic)
|
|
58
61
|
if echo "$output" | grep -q "\[WARNING\].*no active_story set"; then
|
|
59
|
-
|
|
62
|
+
ta_pass "unset active_story produces an explicit WARNING"
|
|
60
63
|
else
|
|
61
|
-
|
|
64
|
+
ta_fail "unset active_story did not produce the expected WARNING"
|
|
62
65
|
fi
|
|
63
66
|
|
|
64
67
|
# --- Scenario: active_story set but absent from the matrix → WARNING ---
|
|
65
68
|
printf 'active_story: e99s99\n' >> "$STATE_FILE"
|
|
66
69
|
output=$(run_critic)
|
|
67
70
|
if echo "$output" | grep -q "\[WARNING\].*e99s99 not found"; then
|
|
68
|
-
|
|
71
|
+
ta_pass "unresolved active_story produces an explicit WARNING"
|
|
69
72
|
else
|
|
70
|
-
|
|
73
|
+
ta_fail "unresolved active_story did not produce the expected WARNING"
|
|
71
74
|
fi
|
|
72
75
|
sed -i.bak '/^active_story:/d' "$STATE_FILE" && rm -f "${STATE_FILE}.bak"
|
|
73
76
|
|
|
@@ -76,24 +79,20 @@ printf 'active_story: e00s01\n' >> "$STATE_FILE"
|
|
|
76
79
|
write_matrix '[]'
|
|
77
80
|
output=$(run_critic)
|
|
78
81
|
if echo "$output" | grep -q "\[BLOCKER\] active story e00s01 has zero explicit story-tag links"; then
|
|
79
|
-
|
|
82
|
+
ta_pass "active story with zero tags is correctly flagged as BLOCKER"
|
|
80
83
|
else
|
|
81
|
-
|
|
84
|
+
ta_fail "active story with zero tags was not flagged as BLOCKER"
|
|
82
85
|
fi
|
|
83
86
|
|
|
84
87
|
# --- Scenario: active story IS tagged → no BLOCKER, even though sibling e00s02 is untagged ---
|
|
85
88
|
write_matrix '[{"method": "explicit_tag", "file": "scripts/fixture.sh", "line": 1, "confidence": 1.0}]'
|
|
86
89
|
output=$(run_critic)
|
|
87
90
|
if echo "$output" | grep -q "\[BLOCKER\] active story e00s01"; then
|
|
88
|
-
|
|
91
|
+
ta_fail "tagged active story incorrectly flagged as BLOCKER"
|
|
89
92
|
else
|
|
90
|
-
|
|
93
|
+
ta_pass "tagged active story is not flagged, and untagged sibling e00s02 does not leak into the check"
|
|
91
94
|
fi
|
|
92
95
|
|
|
93
96
|
echo "---"
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
else
|
|
97
|
-
echo -e "${RED}test-completeness-critic-scope: $FAILURES failure(s)${NC}"
|
|
98
|
-
fi
|
|
99
|
-
exit "$FAILURES"
|
|
97
|
+
echo "test-completeness-critic-scope: $TA_PASS passed, $TA_FAIL failed"
|
|
98
|
+
exit "$TA_FAIL"
|
|
@@ -16,19 +16,22 @@ RED='\033[0;31m'
|
|
|
16
16
|
GREEN='\033[0;32m'
|
|
17
17
|
NC='\033[0m'
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
TA_PASS=0
|
|
20
|
+
TA_FAIL=0
|
|
21
|
+
TA_TMPDIR=""
|
|
22
|
+
source "$(dirname "${BASH_SOURCE[0]}")/lib/test-assertions.sh"
|
|
23
|
+
# NOT `trap ta_cleanup EXIT` — this script's cleanup removes a named fixture
|
|
24
|
+
# epic dir and its OKF bundle, not a TA_TMPDIR.
|
|
22
25
|
|
|
23
26
|
FIXTURE_ID="e00"
|
|
24
27
|
FIXTURE_DIR="specs/epics/e00-zero-story-fixture"
|
|
25
28
|
FIXTURE_BUNDLE="specs/epics-wiki/${FIXTURE_ID}.okf.md"
|
|
26
29
|
|
|
27
|
-
|
|
30
|
+
epics_wiki_test_cleanup() {
|
|
28
31
|
rm -rf "$FIXTURE_DIR"
|
|
29
32
|
rm -f "$FIXTURE_BUNDLE"
|
|
30
33
|
}
|
|
31
|
-
trap
|
|
34
|
+
trap epics_wiki_test_cleanup EXIT
|
|
32
35
|
|
|
33
36
|
mkdir -p "$FIXTURE_DIR"
|
|
34
37
|
cat > "${FIXTURE_DIR}/epic.yaml" <<'FIXTUREEOF'
|
|
@@ -50,15 +53,11 @@ FIXTUREEOF
|
|
|
50
53
|
bash scripts/generate-epics-wiki.sh > /dev/null
|
|
51
54
|
|
|
52
55
|
if [[ ! -f "$FIXTURE_BUNDLE" ]]; then
|
|
53
|
-
|
|
56
|
+
ta_pass "generate-epics-wiki.sh skips a zero-story epic (no bundle emitted)"
|
|
54
57
|
else
|
|
55
|
-
|
|
58
|
+
ta_fail "generate-epics-wiki.sh emitted a bundle for a zero-story epic: $FIXTURE_BUNDLE"
|
|
56
59
|
fi
|
|
57
60
|
|
|
58
61
|
echo "---"
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
else
|
|
62
|
-
echo -e "${RED}test-generate-epics-wiki-zero-stories: $FAILURES failure(s)${NC}"
|
|
63
|
-
fi
|
|
64
|
-
exit "$FAILURES"
|
|
62
|
+
echo "test-generate-epics-wiki-zero-stories: $TA_PASS passed, $TA_FAIL failed"
|
|
63
|
+
exit "$TA_FAIL"
|
|
@@ -15,10 +15,12 @@ RED='\033[0;31m'
|
|
|
15
15
|
GREEN='\033[0;32m'
|
|
16
16
|
NC='\033[0m'
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
TA_PASS=0
|
|
19
|
+
TA_FAIL=0
|
|
20
|
+
TA_TMPDIR=""
|
|
21
|
+
source "$REPO_ROOT/scripts/lib/test-assertions.sh"
|
|
22
|
+
# NOT `trap ta_cleanup EXIT` — this script's cleanup moves a real .venv aside
|
|
23
|
+
# and back, not a TA_TMPDIR.
|
|
22
24
|
|
|
23
25
|
VENV_MOVED=0
|
|
24
26
|
if [[ -e .venv ]]; then
|
|
@@ -26,38 +28,34 @@ if [[ -e .venv ]]; then
|
|
|
26
28
|
VENV_MOVED=1
|
|
27
29
|
fi
|
|
28
30
|
|
|
29
|
-
|
|
31
|
+
golden_g11_test_cleanup() {
|
|
30
32
|
rm -rf .venv
|
|
31
33
|
if [[ "$VENV_MOVED" -eq 1 ]]; then
|
|
32
34
|
mv .venv.test-golden-g11-backup .venv
|
|
33
35
|
fi
|
|
34
36
|
}
|
|
35
|
-
trap
|
|
37
|
+
trap golden_g11_test_cleanup EXIT
|
|
36
38
|
|
|
37
39
|
# --- Scenario: .venv absent (fresh worktree) → gate still PASSes ---
|
|
38
40
|
if [[ -e .venv ]]; then
|
|
39
|
-
|
|
41
|
+
ta_fail "test setup failed to remove .venv before running the gate"
|
|
40
42
|
else
|
|
41
|
-
output=$(bash scripts/golden-g11-gitignore-venv.sh 2>&1 |
|
|
43
|
+
output=$(bash scripts/golden-g11-gitignore-venv.sh 2>&1 | ta_strip_ansi) && exit_code=0 || exit_code=$?
|
|
42
44
|
if [[ "$exit_code" -eq 0 ]] && echo "$output" | grep -q "PASS git check-ignore .venv"; then
|
|
43
|
-
|
|
45
|
+
ta_pass "gate PASSes when .venv does not exist on disk"
|
|
44
46
|
else
|
|
45
|
-
|
|
47
|
+
ta_fail "gate did not PASS with .venv absent (exit=$exit_code)"
|
|
46
48
|
fi
|
|
47
49
|
|
|
48
50
|
# The gate must clean up the .venv it created for the check — a fresh
|
|
49
51
|
# worktree shouldn't be left with a stray directory after a gate run.
|
|
50
52
|
if [[ ! -e .venv ]]; then
|
|
51
|
-
|
|
53
|
+
ta_pass "gate removes the .venv it created for the check"
|
|
52
54
|
else
|
|
53
|
-
|
|
55
|
+
ta_fail "gate left a stray .venv behind after the check"
|
|
54
56
|
fi
|
|
55
57
|
fi
|
|
56
58
|
|
|
57
59
|
echo "---"
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
else
|
|
61
|
-
echo -e "${RED}test-golden-g11-worktree-venv: $FAILURES failure(s)${NC}"
|
|
62
|
-
fi
|
|
63
|
-
exit "$FAILURES"
|
|
60
|
+
echo "test-golden-g11-worktree-venv: $TA_PASS passed, $TA_FAIL failed"
|
|
61
|
+
exit "$TA_FAIL"
|
|
@@ -5,24 +5,25 @@
|
|
|
5
5
|
set -euo pipefail
|
|
6
6
|
|
|
7
7
|
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
TA_PASS=0
|
|
9
|
+
TA_FAIL=0
|
|
10
|
+
TA_TMPDIR=""
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
source "$REPO_ROOT/scripts/lib/test-assertions.sh"
|
|
13
|
+
trap ta_cleanup EXIT
|
|
13
14
|
|
|
14
15
|
echo "=== test-install-distribute-only.sh ==="
|
|
15
16
|
|
|
16
17
|
SYNC_SH="$REPO_ROOT/scripts/sync-skills.sh"
|
|
17
18
|
SETUP_JS="$REPO_ROOT/bin/setup.js"
|
|
18
19
|
|
|
19
|
-
grep -q -- '--distribute-only' "$SYNC_SH" &&
|
|
20
|
-
||
|
|
21
|
-
grep -q "sync-skills.sh --distribute-only" "$SETUP_JS" &&
|
|
22
|
-
||
|
|
20
|
+
grep -q -- '--distribute-only' "$SYNC_SH" && ta_pass 'sync-skills.sh: --distribute-only flag defined' \
|
|
21
|
+
|| ta_fail 'sync-skills.sh: missing --distribute-only flag'
|
|
22
|
+
grep -q "sync-skills.sh --distribute-only" "$SETUP_JS" && ta_pass 'setup.js: invokes sync-skills.sh with --distribute-only' \
|
|
23
|
+
|| ta_fail 'setup.js: does not pass --distribute-only'
|
|
23
24
|
grep -q "runInheritedAsync('bash scripts/sync-skills.sh --distribute-only')" "$SETUP_JS" \
|
|
24
|
-
&&
|
|
25
|
-
||
|
|
25
|
+
&& ta_pass 'setup.js: sync-skills call is async (spinner can animate)' \
|
|
26
|
+
|| ta_fail 'setup.js: sync-skills call reverted to blocking runInherited (spinner would freeze)'
|
|
26
27
|
|
|
27
28
|
hash_of() { [[ -f "$1" ]] && shasum -a 256 "$1" | awk '{print $1}' || echo "absent"; }
|
|
28
29
|
listing_of() { [[ -d "$1" ]] && (find "$1" -maxdepth 1 -type f | sort) || echo "absent"; }
|
|
@@ -34,29 +35,29 @@ EPICS_WIKI_BEFORE=$(listing_of "$REPO_ROOT/specs/epics-wiki")
|
|
|
34
35
|
|
|
35
36
|
OUT="$(cd "$REPO_ROOT" && bash scripts/sync-skills.sh --distribute-only 2>&1)"
|
|
36
37
|
echo "$OUT" | grep -q -- '--distribute-only: dev-maintenance regen skipped' \
|
|
37
|
-
&&
|
|
38
|
-
||
|
|
38
|
+
&& ta_pass 'sync-skills.sh --distribute-only: confirmation message printed' \
|
|
39
|
+
|| ta_fail 'sync-skills.sh --distribute-only: missing confirmation message'
|
|
39
40
|
echo "$OUT" | grep -q 'Generating OKF wikis' \
|
|
40
|
-
&&
|
|
41
|
-
||
|
|
41
|
+
&& ta_fail 'sync-skills.sh --distribute-only: still generated OKF wikis' \
|
|
42
|
+
|| ta_pass 'sync-skills.sh --distribute-only: no OKF wiki generation'
|
|
42
43
|
echo "$OUT" | grep -q 'regenerate-lockfile' \
|
|
43
|
-
&&
|
|
44
|
-
||
|
|
44
|
+
&& ta_fail 'sync-skills.sh --distribute-only: still regenerated lockfile' \
|
|
45
|
+
|| ta_pass 'sync-skills.sh --distribute-only: no lockfile regen'
|
|
45
46
|
|
|
46
47
|
[[ "$(hash_of "$REPO_ROOT/skills-lock.json")" == "$LOCK_BEFORE" ]] \
|
|
47
|
-
&&
|
|
48
|
+
&& ta_pass 'skills-lock.json untouched' || ta_fail 'skills-lock.json was modified'
|
|
48
49
|
[[ "$(hash_of "$REPO_ROOT/SKILL-INDEX.md")" == "$INDEX_BEFORE" ]] \
|
|
49
|
-
&&
|
|
50
|
+
&& ta_pass 'SKILL-INDEX.md untouched' || ta_fail 'SKILL-INDEX.md was modified'
|
|
50
51
|
[[ "$(hash_of "$REPO_ROOT/specs/SKILL-SEARCH-INDEX_LATEST.md")" == "$SEARCH_INDEX_BEFORE" ]] \
|
|
51
|
-
&&
|
|
52
|
+
&& ta_pass 'SKILL-SEARCH-INDEX_LATEST.md untouched' || ta_fail 'SKILL-SEARCH-INDEX_LATEST.md was modified'
|
|
52
53
|
[[ "$(listing_of "$REPO_ROOT/specs/epics-wiki")" == "$EPICS_WIKI_BEFORE" ]] \
|
|
53
|
-
&&
|
|
54
|
+
&& ta_pass 'specs/epics-wiki/ untouched' || ta_fail 'specs/epics-wiki/ was modified'
|
|
54
55
|
|
|
55
|
-
[[ -f "$REPO_ROOT/.cursor/rules/fix-bug.mdc" ]] &&
|
|
56
|
-
||
|
|
56
|
+
[[ -f "$REPO_ROOT/.cursor/rules/fix-bug.mdc" ]] && ta_pass 'skills still distributed (.cursor/rules populated)' \
|
|
57
|
+
|| ta_fail 'skill distribution did not run'
|
|
57
58
|
|
|
58
|
-
bash -n "$SYNC_SH" &&
|
|
59
|
-
node --check "$SETUP_JS" &&
|
|
59
|
+
bash -n "$SYNC_SH" && ta_pass 'bash -n sync-skills.sh' || ta_fail 'bash -n sync-skills.sh'
|
|
60
|
+
node --check "$SETUP_JS" && ta_pass 'node --check setup.js' || ta_fail 'node --check setup.js'
|
|
60
61
|
|
|
61
|
-
echo "test-install-distribute-only: $
|
|
62
|
-
[[ "$
|
|
62
|
+
echo "test-install-distribute-only: $TA_PASS passed, $TA_FAIL failed"
|
|
63
|
+
[[ "$TA_FAIL" -eq 0 ]] || exit 1
|