bigpowers 2.82.3 → 2.83.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/.agents/skills/align-grid/SKILL.md +110 -0
- package/.agents/skills/assess-impact/SKILL.md +91 -0
- package/.agents/skills/audit-code/SKILL.md +187 -0
- package/.agents/skills/audit-plan/SKILL.md +89 -0
- package/.agents/skills/build-epic/SKILL.md +105 -0
- package/.agents/skills/change-request/SKILL.md +121 -0
- package/.agents/skills/commit-message/SKILL.md +140 -0
- package/.agents/skills/compose-workflow/SKILL.md +82 -0
- package/.agents/skills/context7-mcp/SKILL.md +55 -0
- package/.agents/skills/craft-skill/SKILL.md +179 -0
- package/.agents/skills/deepen-architecture/SKILL.md +260 -0
- package/.agents/skills/define-language/SKILL.md +80 -0
- package/.agents/skills/define-success/SKILL.md +65 -0
- package/.agents/skills/delegate-task/SKILL.md +91 -0
- package/.agents/skills/deploy/SKILL.md +198 -0
- package/.agents/skills/design-interface/SKILL.md +97 -0
- package/.agents/skills/develop-tdd/SKILL.md +406 -0
- package/.agents/skills/diagnose-root/SKILL.md +24 -0
- package/.agents/skills/diagnose-stall/SKILL.md +54 -0
- package/.agents/skills/dispatch-agents/SKILL.md +118 -0
- package/.agents/skills/edit-document/SKILL.md +23 -0
- package/.agents/skills/elaborate-spec/SKILL.md +101 -0
- package/.agents/skills/enforce-first/SKILL.md +32 -0
- package/.agents/skills/evolve-skill/SKILL.md +55 -0
- package/.agents/skills/execute-plan/SKILL.md +61 -0
- package/.agents/skills/extract-design/SKILL.md +132 -0
- package/.agents/skills/find-way/SKILL.md +191 -0
- package/.agents/skills/fix-bug/SKILL.md +67 -0
- package/.agents/skills/gate-trace/SKILL.md +88 -0
- package/.agents/skills/generate-allure-report/SKILL.md +285 -0
- package/.agents/skills/grill-me/SKILL.md +96 -0
- package/.agents/skills/grill-with-docs/SKILL.md +41 -0
- package/.agents/skills/guard-git/SKILL.md +231 -0
- package/.agents/skills/harden-vps/SKILL.md +288 -0
- package/.agents/skills/hook-commits/SKILL.md +94 -0
- package/.agents/skills/inspect-quality/SKILL.md +106 -0
- package/.agents/skills/investigate-bug/SKILL.md +127 -0
- package/.agents/skills/kickoff-branch/SKILL.md +143 -0
- package/.agents/skills/maintain-wiki/SKILL.md +64 -0
- package/.agents/skills/map-codebase/SKILL.md +71 -0
- package/.agents/skills/migrate-spec/SKILL.md +862 -0
- package/.agents/skills/model-domain/SKILL.md +232 -0
- package/.agents/skills/orchestrate-project/SKILL.md +174 -0
- package/.agents/skills/organize-workspace/SKILL.md +164 -0
- package/.agents/skills/plan-refactor/SKILL.md +87 -0
- package/.agents/skills/plan-release/SKILL.md +145 -0
- package/.agents/skills/plan-tests/SKILL.md +75 -0
- package/.agents/skills/plan-work/SKILL.md +260 -0
- package/.agents/skills/publish-package/SKILL.md +328 -0
- package/.agents/skills/quick-fix/SKILL.md +114 -0
- package/.agents/skills/release-branch/SKILL.md +298 -0
- package/.agents/skills/request-review/SKILL.md +112 -0
- package/.agents/skills/research-first/SKILL.md +87 -0
- package/.agents/skills/reset-baseline/SKILL.md +21 -0
- package/.agents/skills/respond-review/SKILL.md +71 -0
- package/.agents/skills/run-benchmark/SKILL.md +85 -0
- package/.agents/skills/run-evals/SKILL.md +80 -0
- package/.agents/skills/run-planning/SKILL.md +101 -0
- package/.agents/skills/scope-work/SKILL.md +63 -0
- package/.agents/skills/search-skills/SKILL.md +73 -0
- package/.agents/skills/security-review/SKILL.md +384 -0
- package/.agents/skills/seed-conventions/SKILL.md +285 -0
- package/.agents/skills/session-state/SKILL.md +146 -0
- package/.agents/skills/setup-environment/SKILL.md +39 -0
- package/.agents/skills/simulate-agents/SKILL.md +26 -0
- package/.agents/skills/slice-tasks/SKILL.md +68 -0
- package/.agents/skills/smoke-test/SKILL.md +242 -0
- package/.agents/skills/spike-prototype/SKILL.md +95 -0
- package/.agents/skills/stocktake-skills/SKILL.md +72 -0
- package/.agents/skills/survey-context/SKILL.md +135 -0
- package/.agents/skills/terse-mode/SKILL.md +42 -0
- package/.agents/skills/trace-requirement/SKILL.md +69 -0
- package/.agents/skills/using-bigpowers/SKILL.md +111 -0
- package/.agents/skills/validate-contracts/SKILL.md +309 -0
- package/.agents/skills/validate-fix/SKILL.md +106 -0
- package/.agents/skills/verify-work/SKILL.md +191 -0
- package/.agents/skills/visual-dashboard/SKILL.md +50 -0
- package/.agents/skills/wire-ci/SKILL.md +375 -0
- package/.agents/skills/wire-observability/SKILL.md +97 -0
- package/.agents/skills/write-document/SKILL.md +255 -0
- package/.hermes/skills/align-grid/SKILL.md +110 -0
- package/.hermes/skills/assess-impact/SKILL.md +91 -0
- package/.hermes/skills/audit-code/SKILL.md +187 -0
- package/.hermes/skills/audit-plan/SKILL.md +89 -0
- package/.hermes/skills/build-epic/SKILL.md +105 -0
- package/.hermes/skills/change-request/SKILL.md +121 -0
- package/.hermes/skills/commit-message/SKILL.md +140 -0
- package/.hermes/skills/compose-workflow/SKILL.md +82 -0
- package/.hermes/skills/context7-mcp/SKILL.md +55 -0
- package/.hermes/skills/craft-skill/SKILL.md +179 -0
- package/.hermes/skills/deepen-architecture/SKILL.md +260 -0
- package/.hermes/skills/define-language/SKILL.md +80 -0
- package/.hermes/skills/define-success/SKILL.md +65 -0
- package/.hermes/skills/delegate-task/SKILL.md +91 -0
- package/.hermes/skills/deploy/SKILL.md +198 -0
- package/.hermes/skills/design-interface/SKILL.md +97 -0
- package/.hermes/skills/develop-tdd/SKILL.md +406 -0
- package/.hermes/skills/diagnose-root/SKILL.md +24 -0
- package/.hermes/skills/diagnose-stall/SKILL.md +54 -0
- package/.hermes/skills/dispatch-agents/SKILL.md +118 -0
- package/.hermes/skills/edit-document/SKILL.md +23 -0
- package/.hermes/skills/elaborate-spec/SKILL.md +101 -0
- package/.hermes/skills/enforce-first/SKILL.md +32 -0
- package/.hermes/skills/evolve-skill/SKILL.md +55 -0
- package/.hermes/skills/execute-plan/SKILL.md +61 -0
- package/.hermes/skills/extract-design/SKILL.md +132 -0
- package/.hermes/skills/find-way/SKILL.md +191 -0
- package/.hermes/skills/fix-bug/SKILL.md +67 -0
- package/.hermes/skills/gate-trace/SKILL.md +88 -0
- package/.hermes/skills/generate-allure-report/SKILL.md +285 -0
- package/.hermes/skills/grill-me/SKILL.md +96 -0
- package/.hermes/skills/grill-with-docs/SKILL.md +41 -0
- package/.hermes/skills/guard-git/SKILL.md +231 -0
- package/.hermes/skills/harden-vps/SKILL.md +288 -0
- package/.hermes/skills/hook-commits/SKILL.md +94 -0
- package/.hermes/skills/inspect-quality/SKILL.md +106 -0
- package/.hermes/skills/investigate-bug/SKILL.md +127 -0
- package/.hermes/skills/kickoff-branch/SKILL.md +143 -0
- package/.hermes/skills/maintain-wiki/SKILL.md +64 -0
- package/.hermes/skills/map-codebase/SKILL.md +71 -0
- package/.hermes/skills/migrate-spec/SKILL.md +862 -0
- package/.hermes/skills/model-domain/SKILL.md +232 -0
- package/.hermes/skills/orchestrate-project/SKILL.md +174 -0
- package/.hermes/skills/organize-workspace/SKILL.md +164 -0
- package/.hermes/skills/plan-refactor/SKILL.md +87 -0
- package/.hermes/skills/plan-release/SKILL.md +145 -0
- package/.hermes/skills/plan-tests/SKILL.md +75 -0
- package/.hermes/skills/plan-work/SKILL.md +260 -0
- package/.hermes/skills/publish-package/SKILL.md +328 -0
- package/.hermes/skills/quick-fix/SKILL.md +114 -0
- package/.hermes/skills/release-branch/SKILL.md +298 -0
- package/.hermes/skills/request-review/SKILL.md +112 -0
- package/.hermes/skills/research-first/SKILL.md +87 -0
- package/.hermes/skills/reset-baseline/SKILL.md +21 -0
- package/.hermes/skills/respond-review/SKILL.md +71 -0
- package/.hermes/skills/run-benchmark/SKILL.md +85 -0
- package/.hermes/skills/run-evals/SKILL.md +80 -0
- package/.hermes/skills/run-planning/SKILL.md +101 -0
- package/.hermes/skills/scope-work/SKILL.md +63 -0
- package/.hermes/skills/search-skills/SKILL.md +73 -0
- package/.hermes/skills/security-review/SKILL.md +384 -0
- package/.hermes/skills/seed-conventions/SKILL.md +285 -0
- package/.hermes/skills/session-state/SKILL.md +146 -0
- package/.hermes/skills/setup-environment/SKILL.md +39 -0
- package/.hermes/skills/simulate-agents/SKILL.md +26 -0
- package/.hermes/skills/slice-tasks/SKILL.md +68 -0
- package/.hermes/skills/smoke-test/SKILL.md +242 -0
- package/.hermes/skills/spike-prototype/SKILL.md +95 -0
- package/.hermes/skills/stocktake-skills/SKILL.md +72 -0
- package/.hermes/skills/survey-context/SKILL.md +135 -0
- package/.hermes/skills/terse-mode/SKILL.md +42 -0
- package/.hermes/skills/trace-requirement/SKILL.md +69 -0
- package/.hermes/skills/using-bigpowers/SKILL.md +111 -0
- package/.hermes/skills/validate-contracts/SKILL.md +309 -0
- package/.hermes/skills/validate-fix/SKILL.md +106 -0
- package/.hermes/skills/verify-work/SKILL.md +191 -0
- package/.hermes/skills/visual-dashboard/SKILL.md +50 -0
- package/.hermes/skills/wire-ci/SKILL.md +375 -0
- package/.hermes/skills/wire-observability/SKILL.md +97 -0
- package/.hermes/skills/write-document/SKILL.md +255 -0
- package/.mimocode/skills/align-grid/SKILL.md +110 -0
- package/.mimocode/skills/assess-impact/SKILL.md +91 -0
- package/.mimocode/skills/audit-code/SKILL.md +187 -0
- package/.mimocode/skills/audit-plan/SKILL.md +89 -0
- package/.mimocode/skills/build-epic/SKILL.md +105 -0
- package/.mimocode/skills/change-request/SKILL.md +121 -0
- package/.mimocode/skills/commit-message/SKILL.md +140 -0
- package/.mimocode/skills/compose-workflow/SKILL.md +82 -0
- package/.mimocode/skills/context7-mcp/SKILL.md +55 -0
- package/.mimocode/skills/craft-skill/SKILL.md +179 -0
- package/.mimocode/skills/deepen-architecture/SKILL.md +260 -0
- package/.mimocode/skills/define-language/SKILL.md +80 -0
- package/.mimocode/skills/define-success/SKILL.md +65 -0
- package/.mimocode/skills/delegate-task/SKILL.md +91 -0
- package/.mimocode/skills/deploy/SKILL.md +198 -0
- package/.mimocode/skills/design-interface/SKILL.md +97 -0
- package/.mimocode/skills/develop-tdd/SKILL.md +406 -0
- package/.mimocode/skills/diagnose-root/SKILL.md +24 -0
- package/.mimocode/skills/diagnose-stall/SKILL.md +54 -0
- package/.mimocode/skills/dispatch-agents/SKILL.md +118 -0
- package/.mimocode/skills/edit-document/SKILL.md +23 -0
- package/.mimocode/skills/elaborate-spec/SKILL.md +101 -0
- package/.mimocode/skills/enforce-first/SKILL.md +32 -0
- package/.mimocode/skills/evolve-skill/SKILL.md +55 -0
- package/.mimocode/skills/execute-plan/SKILL.md +61 -0
- package/.mimocode/skills/extract-design/SKILL.md +132 -0
- package/.mimocode/skills/find-way/SKILL.md +191 -0
- package/.mimocode/skills/fix-bug/SKILL.md +67 -0
- package/.mimocode/skills/gate-trace/SKILL.md +88 -0
- package/.mimocode/skills/generate-allure-report/SKILL.md +285 -0
- package/.mimocode/skills/grill-me/SKILL.md +96 -0
- package/.mimocode/skills/grill-with-docs/SKILL.md +41 -0
- package/.mimocode/skills/guard-git/SKILL.md +231 -0
- package/.mimocode/skills/harden-vps/SKILL.md +288 -0
- package/.mimocode/skills/hook-commits/SKILL.md +94 -0
- package/.mimocode/skills/inspect-quality/SKILL.md +106 -0
- package/.mimocode/skills/investigate-bug/SKILL.md +127 -0
- package/.mimocode/skills/kickoff-branch/SKILL.md +143 -0
- package/.mimocode/skills/maintain-wiki/SKILL.md +64 -0
- package/.mimocode/skills/map-codebase/SKILL.md +71 -0
- package/.mimocode/skills/migrate-spec/SKILL.md +862 -0
- package/.mimocode/skills/model-domain/SKILL.md +232 -0
- package/.mimocode/skills/orchestrate-project/SKILL.md +174 -0
- package/.mimocode/skills/organize-workspace/SKILL.md +164 -0
- package/.mimocode/skills/plan-refactor/SKILL.md +87 -0
- package/.mimocode/skills/plan-release/SKILL.md +145 -0
- package/.mimocode/skills/plan-tests/SKILL.md +75 -0
- package/.mimocode/skills/plan-work/SKILL.md +260 -0
- package/.mimocode/skills/publish-package/SKILL.md +328 -0
- package/.mimocode/skills/quick-fix/SKILL.md +114 -0
- package/.mimocode/skills/release-branch/SKILL.md +298 -0
- package/.mimocode/skills/request-review/SKILL.md +112 -0
- package/.mimocode/skills/research-first/SKILL.md +87 -0
- package/.mimocode/skills/reset-baseline/SKILL.md +21 -0
- package/.mimocode/skills/respond-review/SKILL.md +71 -0
- package/.mimocode/skills/run-benchmark/SKILL.md +85 -0
- package/.mimocode/skills/run-evals/SKILL.md +80 -0
- package/.mimocode/skills/run-planning/SKILL.md +101 -0
- package/.mimocode/skills/scope-work/SKILL.md +63 -0
- package/.mimocode/skills/search-skills/SKILL.md +73 -0
- package/.mimocode/skills/security-review/SKILL.md +384 -0
- package/.mimocode/skills/seed-conventions/SKILL.md +285 -0
- package/.mimocode/skills/session-state/SKILL.md +146 -0
- package/.mimocode/skills/setup-environment/SKILL.md +39 -0
- package/.mimocode/skills/simulate-agents/SKILL.md +26 -0
- package/.mimocode/skills/slice-tasks/SKILL.md +68 -0
- package/.mimocode/skills/smoke-test/SKILL.md +242 -0
- package/.mimocode/skills/spike-prototype/SKILL.md +95 -0
- package/.mimocode/skills/stocktake-skills/SKILL.md +72 -0
- package/.mimocode/skills/survey-context/SKILL.md +135 -0
- package/.mimocode/skills/terse-mode/SKILL.md +42 -0
- package/.mimocode/skills/trace-requirement/SKILL.md +69 -0
- package/.mimocode/skills/using-bigpowers/SKILL.md +111 -0
- package/.mimocode/skills/validate-contracts/SKILL.md +309 -0
- package/.mimocode/skills/validate-fix/SKILL.md +106 -0
- package/.mimocode/skills/verify-work/SKILL.md +191 -0
- package/.mimocode/skills/visual-dashboard/SKILL.md +50 -0
- package/.mimocode/skills/wire-ci/SKILL.md +375 -0
- package/.mimocode/skills/wire-observability/SKILL.md +97 -0
- package/.mimocode/skills/write-document/SKILL.md +255 -0
- package/.pi/package.json +1 -1
- package/.zcode/skills/align-grid/SKILL.md +110 -0
- package/.zcode/skills/assess-impact/SKILL.md +91 -0
- package/.zcode/skills/audit-code/SKILL.md +187 -0
- package/.zcode/skills/audit-plan/SKILL.md +89 -0
- package/.zcode/skills/build-epic/SKILL.md +105 -0
- package/.zcode/skills/change-request/SKILL.md +121 -0
- package/.zcode/skills/commit-message/SKILL.md +140 -0
- package/.zcode/skills/compose-workflow/SKILL.md +82 -0
- package/.zcode/skills/context7-mcp/SKILL.md +55 -0
- package/.zcode/skills/craft-skill/SKILL.md +179 -0
- package/.zcode/skills/deepen-architecture/SKILL.md +260 -0
- package/.zcode/skills/define-language/SKILL.md +80 -0
- package/.zcode/skills/define-success/SKILL.md +65 -0
- package/.zcode/skills/delegate-task/SKILL.md +91 -0
- package/.zcode/skills/deploy/SKILL.md +198 -0
- package/.zcode/skills/design-interface/SKILL.md +97 -0
- package/.zcode/skills/develop-tdd/SKILL.md +406 -0
- package/.zcode/skills/diagnose-root/SKILL.md +24 -0
- package/.zcode/skills/diagnose-stall/SKILL.md +54 -0
- package/.zcode/skills/dispatch-agents/SKILL.md +118 -0
- package/.zcode/skills/edit-document/SKILL.md +23 -0
- package/.zcode/skills/elaborate-spec/SKILL.md +101 -0
- package/.zcode/skills/enforce-first/SKILL.md +32 -0
- package/.zcode/skills/evolve-skill/SKILL.md +55 -0
- package/.zcode/skills/execute-plan/SKILL.md +61 -0
- package/.zcode/skills/extract-design/SKILL.md +132 -0
- package/.zcode/skills/find-way/SKILL.md +191 -0
- package/.zcode/skills/fix-bug/SKILL.md +67 -0
- package/.zcode/skills/gate-trace/SKILL.md +88 -0
- package/.zcode/skills/generate-allure-report/SKILL.md +285 -0
- package/.zcode/skills/grill-me/SKILL.md +96 -0
- package/.zcode/skills/grill-with-docs/SKILL.md +41 -0
- package/.zcode/skills/guard-git/SKILL.md +231 -0
- package/.zcode/skills/harden-vps/SKILL.md +288 -0
- package/.zcode/skills/hook-commits/SKILL.md +94 -0
- package/.zcode/skills/inspect-quality/SKILL.md +106 -0
- package/.zcode/skills/investigate-bug/SKILL.md +127 -0
- package/.zcode/skills/kickoff-branch/SKILL.md +143 -0
- package/.zcode/skills/maintain-wiki/SKILL.md +64 -0
- package/.zcode/skills/map-codebase/SKILL.md +71 -0
- package/.zcode/skills/migrate-spec/SKILL.md +862 -0
- package/.zcode/skills/model-domain/SKILL.md +232 -0
- package/.zcode/skills/orchestrate-project/SKILL.md +174 -0
- package/.zcode/skills/organize-workspace/SKILL.md +164 -0
- package/.zcode/skills/plan-refactor/SKILL.md +87 -0
- package/.zcode/skills/plan-release/SKILL.md +145 -0
- package/.zcode/skills/plan-tests/SKILL.md +75 -0
- package/.zcode/skills/plan-work/SKILL.md +260 -0
- package/.zcode/skills/publish-package/SKILL.md +328 -0
- package/.zcode/skills/quick-fix/SKILL.md +114 -0
- package/.zcode/skills/release-branch/SKILL.md +298 -0
- package/.zcode/skills/request-review/SKILL.md +112 -0
- package/.zcode/skills/research-first/SKILL.md +87 -0
- package/.zcode/skills/reset-baseline/SKILL.md +21 -0
- package/.zcode/skills/respond-review/SKILL.md +71 -0
- package/.zcode/skills/run-benchmark/SKILL.md +85 -0
- package/.zcode/skills/run-evals/SKILL.md +80 -0
- package/.zcode/skills/run-planning/SKILL.md +101 -0
- package/.zcode/skills/scope-work/SKILL.md +63 -0
- package/.zcode/skills/search-skills/SKILL.md +73 -0
- package/.zcode/skills/security-review/SKILL.md +384 -0
- package/.zcode/skills/seed-conventions/SKILL.md +285 -0
- package/.zcode/skills/session-state/SKILL.md +146 -0
- package/.zcode/skills/setup-environment/SKILL.md +39 -0
- package/.zcode/skills/simulate-agents/SKILL.md +26 -0
- package/.zcode/skills/slice-tasks/SKILL.md +68 -0
- package/.zcode/skills/smoke-test/SKILL.md +242 -0
- package/.zcode/skills/spike-prototype/SKILL.md +95 -0
- package/.zcode/skills/stocktake-skills/SKILL.md +72 -0
- package/.zcode/skills/survey-context/SKILL.md +135 -0
- package/.zcode/skills/terse-mode/SKILL.md +42 -0
- package/.zcode/skills/trace-requirement/SKILL.md +69 -0
- package/.zcode/skills/using-bigpowers/SKILL.md +111 -0
- package/.zcode/skills/validate-contracts/SKILL.md +309 -0
- package/.zcode/skills/validate-fix/SKILL.md +106 -0
- package/.zcode/skills/verify-work/SKILL.md +191 -0
- package/.zcode/skills/visual-dashboard/SKILL.md +50 -0
- package/.zcode/skills/wire-ci/SKILL.md +375 -0
- package/.zcode/skills/wire-observability/SKILL.md +97 -0
- package/.zcode/skills/write-document/SKILL.md +255 -0
- package/CHANGELOG.md +27 -0
- package/bin/setup.js +13 -4
- package/package.json +1 -1
- package/scripts/adapters/agy.sh +44 -1
- package/scripts/adapters/gemini.sh +83 -0
- package/scripts/adapters/hermes.sh +53 -1
- package/scripts/adapters/mimo.sh +41 -0
- package/scripts/adapters/zcode.sh +37 -0
- package/scripts/hooks/hermes/gateway/session-log/HOOK.yaml +5 -0
- package/scripts/hooks/hermes/gateway/session-log/handler.py +7 -0
- package/scripts/hooks/hermes/plugin/guard-git-plugin.py +14 -0
- package/scripts/hooks/hermes/shell/block-dangerous-terminal.sh +23 -0
- package/scripts/hooks/hermes/shell/hooks-config.example.yaml +7 -0
- package/scripts/install-cursor-skills-local.sh +8 -6
- package/scripts/install-cursor-skills.sh +15 -25
- package/scripts/install.sh +211 -13
- package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
- package/scripts/lib/golden-suite-gates.sh +2 -1
- package/scripts/lib/install-helpers.js +199 -4
- package/scripts/lib/sync-render.sh +43 -0
- package/scripts/lib/target-contracts.sh +22 -0
- package/scripts/lib/trace-matrix.py +1 -1
- package/scripts/lib/trace-stories.py +1 -1
- package/scripts/targets.yaml +31 -1
- package/scripts/test-agy-hub.sh +59 -0
- package/scripts/test-gemini-adapter.sh +70 -0
- package/scripts/test-gemini-hub.sh +55 -0
- package/scripts/test-hermes-adapter.sh +85 -0
- package/scripts/test-hermes-hub.sh +51 -0
- package/scripts/test-install-helpers.js +103 -0
- package/scripts/test-install-helpers.sh +7 -0
- package/scripts/test-mimo-hub.sh +51 -0
- package/scripts/test-zcode-hub.sh +51 -0
- package/scripts/verify-install.sh +31 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release-branch
|
|
3
|
+
model: haiku
|
|
4
|
+
description: "Make the merge/PR/keep/discard decision for a feature branch, verify coverage gates, create the PR with gh, and clean up the worktree. Use when a feature is done and ready to ship, or when user says \"release\", \"merge\", or \"open a PR\"."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
<!-- story: e38s07 -->
|
|
8
|
+
<!-- story: e45s15 -->
|
|
9
|
+
<!-- story: e45s32 -->
|
|
10
|
+
<!-- story: e45s39 -->
|
|
11
|
+
<!-- story: e20s02 -->
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# Release Branch
|
|
15
|
+
|
|
16
|
+
> **HARD GATE** — Do NOT merge or release if tests fail or if coverage gates are not met. If the branch is red, return to `develop-tdd` to fix regressions or add missing tests before proceeding.
|
|
17
|
+
|
|
18
|
+
Finalize a completed feature branch: verify coverage gates, integrate onto `main`, and clean up the worktree.
|
|
19
|
+
|
|
20
|
+
## Additional modes
|
|
21
|
+
- `--hotfix`: Cherry-pick to main + tag. Skip PR in solo.
|
|
22
|
+
- `--squash-state`: Squash `chore(state):` commits before merge.
|
|
23
|
+
|
|
24
|
+
## Integrate mode
|
|
25
|
+
|
|
26
|
+
Read `specs/state.yaml` key `workflow_mode` (`team-pr` | `solo-git`). Fall back to `profiles/solo-git.md`.
|
|
27
|
+
|
|
28
|
+
| Mode | When | Ship path |
|
|
29
|
+
|------|------|-----------|
|
|
30
|
+
| **solo-local** | `workflow_mode: solo-git` | Auto: `scripts/land-branch.sh` if present, else fallback (Step 5) |
|
|
31
|
+
| **team-pr** | `workflow_mode: team-pr` (default) | `gh pr create` → `gh pr merge --squash` |
|
|
32
|
+
|
|
33
|
+
If unsure, prefer **solo-local**.
|
|
34
|
+
|
|
35
|
+
## Process
|
|
36
|
+
|
|
37
|
+
> **Timing:** `bash scripts/bp-timing.sh start release-branch` at invocation; `bash scripts/bp-timing.sh end release-branch` before handoff.
|
|
38
|
+
|
|
39
|
+
### 1. Final verification
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
<full test command> && <typecheck command> && <lint command>
|
|
43
|
+
git log main...HEAD --oneline | grep -vE "^[a-f0-9]+ (feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.+\))?!?: .+$" && echo "❌ Non-conventional commits found" || echo "✅ Commits verified"
|
|
44
|
+
# Block AI agent attribution (P1)
|
|
45
|
+
git log main...HEAD --format="%B" | grep -qiE 'co[- ]authored[- ]by' && echo "❌ Co-authored-by footer found — blocked" || echo "✅ No AI attribution"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
- [ ] All tests pass, no type errors, no lint violations, all commits follow Conventional Commits
|
|
49
|
+
- [ ] **NO `Co-authored-by` or `Co-Authored-By`** in any commit body — P1 rule (CONVENTIONS.md § Git Attribution). `land-branch.sh` blocks the merge if found.
|
|
50
|
+
|
|
51
|
+
### 2. Coverage check
|
|
52
|
+
|
|
53
|
+
- [ ] Overall coverage ≥ 80%; business logic coverage ≥ 95%
|
|
54
|
+
|
|
55
|
+
### 2a. Security gate
|
|
56
|
+
|
|
57
|
+
- [ ] `specs/security/REVIEW.md` exists and is fresh (matches current branch diff)
|
|
58
|
+
- [ ] No unresolved HIGH findings with confidence ≥ 8 (or all documented in `specs/security/EXCEPTIONS.md` with sign-off rationale)
|
|
59
|
+
|
|
60
|
+
If REVIEW.md is missing or stale → run `security-review` inline. Findings block the merge unless documented in EXCEPTIONS.md.
|
|
61
|
+
|
|
62
|
+
### 2b. Traceability gate
|
|
63
|
+
|
|
64
|
+
Run `gate-trace` before merge. FAIL blocks merge; CONCERNS requires explicit override in `specs/state.yaml` (`traceability_override: CONCERNS accepted, reason: <explanation>`). WAIVED if no matrix available.
|
|
65
|
+
|
|
66
|
+
> **Adversarial refute framing (e45s32):** The final pre-merge check is **refute, not rubber-stamp**. Before declaring ready, actively try to disprove traceability completeness — missing story tags, absent verify evidence, stale security review. Only proceed when refutation fails.
|
|
67
|
+
|
|
68
|
+
### 3. Diff review
|
|
69
|
+
|
|
70
|
+
- [ ] All commits intentional, no secrets, CONVENTIONS.md compliance
|
|
71
|
+
|
|
72
|
+
### 4. Decision
|
|
73
|
+
|
|
74
|
+
Options: **Release (solo-local)** / **Open PR** / **Keep branch** / **Discard**
|
|
75
|
+
|
|
76
|
+
### 5. Solo-local integrate
|
|
77
|
+
|
|
78
|
+
Run `commit-message` for the squash subject, then land:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Path A (preferred):
|
|
82
|
+
bash scripts/land-branch.sh <task-slug> "feat(scope): description"
|
|
83
|
+
# Path B (fallback if land-branch.sh missing): see REFERENCE.md
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### 6. Create PR (team-pr only)
|
|
87
|
+
|
|
88
|
+
Create the pull request with a **literal provenance marker** in the body so agent-generated PRs are identifiable and do not rot silently:
|
|
89
|
+
|
|
90
|
+
```markdown
|
|
91
|
+
<!-- bigpowers-provenance: agent-generated -->
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Place the marker on its own line immediately after the `## Summary` heading. Then merge via `gh`:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
gh pr create --title "..." --body "$(cat <<'EOF'
|
|
98
|
+
## Summary
|
|
99
|
+
<!-- bigpowers-provenance: agent-generated -->
|
|
100
|
+
|
|
101
|
+
- ...
|
|
102
|
+
|
|
103
|
+
## Test plan
|
|
104
|
+
- [ ] ...
|
|
105
|
+
|
|
106
|
+
EOF
|
|
107
|
+
)"
|
|
108
|
+
gh pr merge --squash --delete-branch
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
`semantic-release` auto-detects the commit, bumps SemVer, tags the repo, generates release notes.
|
|
112
|
+
|
|
113
|
+
### 7a. Archive completed epic capsule
|
|
114
|
+
|
|
115
|
+
> **HARD GATE** — When all epic stories are done (all `done` in `execution-status.yaml`), archive the capsule:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
mv specs/epics/eNN-slug specs/epics/archive/
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### 7b. CI verification & agent lock release (e39s02)
|
|
122
|
+
|
|
123
|
+
> **HARD GATE** — Do NOT declare success until CI completes. **Three-independent-facts** (e45s15): commit landed, workflow green, registry visible — see [REFERENCE.md](REFERENCE.md#three-independent-facts-release).
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
bash scripts/wait-for-ci.sh --timeout 600 --interval 30
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
- [ ] CI passes; `release.ci_verified: true` in state.yaml
|
|
130
|
+
- On failure: `handoff.next_skill = fix-bug`
|
|
131
|
+
|
|
132
|
+
### 8. Clean up & return
|
|
133
|
+
|
|
134
|
+
Worktree prune, branch delete, `git checkout main`. Cycle-time: see [REFERENCE.md](REFERENCE.md#cycle-time).
|
|
135
|
+
|
|
136
|
+
Report: "Branch released."
|
|
137
|
+
|
|
138
|
+
## Verify
|
|
139
|
+
|
|
140
|
+
→ verify: `command -v gh >/dev/null 2>&1 && test -f specs/state.yaml && test -d skills/verify-work && echo "OK: release-branch dependencies available" || echo "FAIL"`
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
# Release Branch — Reference
|
|
145
|
+
|
|
146
|
+
## Navigation
|
|
147
|
+
|
|
148
|
+
| Lines | Section |
|
|
149
|
+
|-------|---------|
|
|
150
|
+
| 1–3 | Title |
|
|
151
|
+
| 5–16 | Navigation |
|
|
152
|
+
| 18–41 | PR body template |
|
|
153
|
+
| 43–54 | Worktree cleanup |
|
|
154
|
+
| 56–96 | Cycle-time recording |
|
|
155
|
+
| 98–119 | CI verification |
|
|
156
|
+
| 121–126 | Solo-local fallback |
|
|
157
|
+
| 128–134 | Handoff |
|
|
158
|
+
| 136–155 | Reference block 1 (manual squash) |
|
|
159
|
+
|
|
160
|
+
# Release Branch — Reference
|
|
161
|
+
|
|
162
|
+
## PR body template (team-pr mode)
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
PR_TITLE="<type>(<scope>): <description>"
|
|
166
|
+
echo "$PR_TITLE" | grep -vE "^(feat|fix|docs|style|refactor|perf|test|build|ci|chore|revert)(\(.+\))?!?: .+$" && echo "❌ ERROR: PR Title must follow Conventional Commits"
|
|
167
|
+
|
|
168
|
+
gh pr create \
|
|
169
|
+
--title "$PR_TITLE" \
|
|
170
|
+
--body "$(cat <<'EOF'
|
|
171
|
+
## Summary
|
|
172
|
+
- [What this PR does]
|
|
173
|
+
- [Key decisions made]
|
|
174
|
+
|
|
175
|
+
## Verify
|
|
176
|
+
- [ ] All tests pass
|
|
177
|
+
- [ ] Coverage gates met (≥80% overall, ≥95% business logic)
|
|
178
|
+
- [ ] CONVENTIONS.md compliance verified
|
|
179
|
+
- [ ] PR Title follows Conventional Commits (for automated release)
|
|
180
|
+
|
|
181
|
+
## specs/ artifacts
|
|
182
|
+
- [List any specs/ files produced or updated]
|
|
183
|
+
EOF
|
|
184
|
+
)"
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## Worktree cleanup details
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# From the main repo root
|
|
191
|
+
git worktree prune
|
|
192
|
+
git worktree remove ../<branch-name> 2>/dev/null || true
|
|
193
|
+
git branch -d <branch-name>
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
If `git worktree remove` fails due to uncommitted changes, ask: "There are uncommitted changes in the worktree. Force remove? (y/n)". If yes: `git worktree remove -f ../<branch-name>`.
|
|
197
|
+
|
|
198
|
+
## Cycle-time recording
|
|
199
|
+
|
|
200
|
+
After landing the branch, record delivery metrics using the git-derived,
|
|
201
|
+
additive script (replaces hand-arithmetic):
|
|
202
|
+
|
|
203
|
+
```bash
|
|
204
|
+
bash scripts/record-cycle-time.sh append \
|
|
205
|
+
--story <story_id> --bcps <bcps> \
|
|
206
|
+
--range "$(git merge-base main HEAD)..HEAD" \
|
|
207
|
+
--file specs/metrics/cycle-times.yaml
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
This appends a row to the cycle-times ledger with two separated metrics:
|
|
211
|
+
|
|
212
|
+
- **effort_hours** — ADDITIVE. Idle-stripped estimated effort from git commit
|
|
213
|
+
history (git-hours model: 120-min session threshold, 120-min first-commit pad).
|
|
214
|
+
Sums exactly to whole-repo effort. NO hand-arithmetic, NO wall-clock includes.
|
|
215
|
+
- **lead_time_minutes** — calendar latency from first commit to merge.
|
|
216
|
+
Median-aggregated across stories; NEVER summed.
|
|
217
|
+
|
|
218
|
+
The script also runs an additivity self-check: Σ(story effort) == whole-repo effort
|
|
219
|
+
within rounding tolerance.
|
|
220
|
+
|
|
221
|
+
### Why not story_start minus story_end?
|
|
222
|
+
|
|
223
|
+
The previous hand-arithmetic approach (survey-context writes `story_start`,
|
|
224
|
+
release-branch writes `story_end`, agent hand-computes `cycle_minutes`) was
|
|
225
|
+
retired because:
|
|
226
|
+
|
|
227
|
+
1. It was **agent-self-reported** — trivially fabricated or mis-subtracted.
|
|
228
|
+
2. Wall-clock included **overnight/weekend/UAT gaps** — calendar latency,
|
|
229
|
+
not coding effort.
|
|
230
|
+
3. The `bcp_per_hour` metric was **computationally meaningless** (velocity
|
|
231
|
+
derived from a latency measurement).
|
|
232
|
+
|
|
233
|
+
The new approach derives effort from commit history (objective, reproducible)
|
|
234
|
+
and lead time from first commit → merge (honest calendar latency). See
|
|
235
|
+
`docs/references/bcp.md` for BCP sizing context and
|
|
236
|
+
`scripts/record-cycle-time.sh` for the full algorithm.
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## CI verification
|
|
241
|
+
|
|
242
|
+
The CI polling logic has been extracted to `scripts/wait-for-ci.sh`.
|
|
243
|
+
See the script's `--help` for usage. Step 7b of the main SKILL.md invokes it directly:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
bash scripts/wait-for-ci.sh --timeout 600 --interval 30
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**Exit codes:**
|
|
250
|
+
- **0** — all workflows green. Set `release.ci_verified: true` in state.yaml.
|
|
251
|
+
- **1** — at least one workflow failed. Prints failure URLs. Set `handoff.next_skill = fix-bug`.
|
|
252
|
+
- **2** — timeout. CI did not complete. Retry or investigate.
|
|
253
|
+
- **0 with warning** — `gh` CLI not available, git-only fallback confirmed push landed but CI status unverified.
|
|
254
|
+
|
|
255
|
+
The script handles: auto-discovery of all workflows for the current
|
|
256
|
+
branch/commit, polling until completion, success/failure/timeout exit codes,
|
|
257
|
+
and git-only fallback when `gh` CLI is unavailable.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Solo-local fallback detail
|
|
262
|
+
|
|
263
|
+
The fallback sequence (Path B above) handles the "remote has moved" case with `git pull --rebase`. Use when `scripts/land-branch.sh` is absent.
|
|
264
|
+
|
|
265
|
+
**Acceptance:** When fallback runs, main is updated, feature branch is deleted locally, and output states `"used fallback merge (land-branch.sh not found)"`.
|
|
266
|
+
|
|
267
|
+
## Handoff
|
|
268
|
+
|
|
269
|
+
Gate: READY -> next: survey-context
|
|
270
|
+
Writes: state.yaml handoff.next_skill = survey-context
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Reference block 1
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
# Fallback: manual squash-merge when land-branch.sh is absent
|
|
278
|
+
FEATURE_BRANCH=<task-slug>
|
|
279
|
+
DEFAULT_BRANCH=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@' || echo main)
|
|
280
|
+
|
|
281
|
+
# Ensure we're on the feature branch
|
|
282
|
+
if [ "$(git branch --show-current)" != "$FEATURE_BRANCH" ]; then
|
|
283
|
+
git checkout "$FEATURE_BRANCH"
|
|
284
|
+
fi
|
|
285
|
+
|
|
286
|
+
# Checkout default branch and update
|
|
287
|
+
git checkout "$DEFAULT_BRANCH"
|
|
288
|
+
git pull --rebase origin "$DEFAULT_BRANCH" 2>/dev/null || git pull origin "$DEFAULT_BRANCH"
|
|
289
|
+
|
|
290
|
+
# Squash-merge the feature branch
|
|
291
|
+
git merge --no-ff "$FEATURE_BRANCH" -m "<conventional-commit-message>"
|
|
292
|
+
|
|
293
|
+
# Push
|
|
294
|
+
git push origin "$DEFAULT_BRANCH"
|
|
295
|
+
|
|
296
|
+
# Clean up local feature branch
|
|
297
|
+
git branch -d "$FEATURE_BRANCH"
|
|
298
|
+
```
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: request-review
|
|
3
|
+
model: opus
|
|
4
|
+
description: "Dispatch a fresh reviewer agent with a clean context to critique the code after audit-code passes. The reviewer has no shared state with the coding agent and gives a genuine second opinion. Use after audit-code passes, before committing, or when user wants an independent code review."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# story: e45s28
|
|
8
|
+
|
|
9
|
+
# Request Review
|
|
10
|
+
|
|
11
|
+
Dispatch fresh reviewer agents with clean contexts. Reviewers have no shared state — they find what the coding agent missed.
|
|
12
|
+
|
|
13
|
+
**Distinct from `audit-code`:** `audit-code` is self-review (internal). This skill dispatches external agents.
|
|
14
|
+
|
|
15
|
+
**Solo developer note:** Reviewer agents replace the human reviewer.
|
|
16
|
+
|
|
17
|
+
**Run `audit-code` first.** Don't waste reviewer attention on hygiene issues you could have caught yourself.
|
|
18
|
+
|
|
19
|
+
## Santa Method — Dual-Blind AND Gate (e45s07)
|
|
20
|
+
|
|
21
|
+
Use **two independent reviewers** (Reviewer A and Reviewer B) with **no shared context** between them or the coding agent.
|
|
22
|
+
|
|
23
|
+
| Parameter | Value |
|
|
24
|
+
|-----------|-------|
|
|
25
|
+
| Reviewers | 2 (mandatory) |
|
|
26
|
+
| `MAX_REVIEW_ITERATIONS` | **5** (hard cap — e45s28; iteration 6 forbidden) |
|
|
27
|
+
| Pass rule | **AND-gate** — both reviewers must pass independently |
|
|
28
|
+
| Blindness | Neither reviewer sees the other's report until both complete |
|
|
29
|
+
|
|
30
|
+
**Iteration loop (max `MAX_REVIEW_ITERATIONS`):**
|
|
31
|
+
|
|
32
|
+
1. Dispatch Reviewer A and Reviewer B in parallel with identical briefs but separate contexts.
|
|
33
|
+
2. Collect both reports. Each categorizes findings: must-fix / should-fix / consider.
|
|
34
|
+
3. **AND-gate:** If **either** reviewer has must-fix findings → FAIL round. Run `respond-review`, fix, re-dispatch both reviewers.
|
|
35
|
+
4. If both pass (zero must-fix, score ≥ 94% each) → review complete.
|
|
36
|
+
5. After **5** iterations without dual pass → **stop**; report "Review cap exhausted (5/5). Human decision required." Do not merge.
|
|
37
|
+
|
|
38
|
+
> **HARD GATE** — Single-reviewer pass is insufficient. Partial agreement does not satisfy the AND-gate.
|
|
39
|
+
|
|
40
|
+
## Process
|
|
41
|
+
|
|
42
|
+
### 1. Prepare the review brief
|
|
43
|
+
|
|
44
|
+
Write a self-contained brief for each reviewer. Include:
|
|
45
|
+
|
|
46
|
+
- What was built (feature description, not implementation)
|
|
47
|
+
- Which files changed (the diff context)
|
|
48
|
+
- What `specs/` artifacts are relevant (active `epics/eNN-*.yaml`, `requirements/SCOPE_LATEST.yaml`, `bugs/BUG-*.md`)
|
|
49
|
+
- What CONVENTIONS.md requires
|
|
50
|
+
- What the verify command is
|
|
51
|
+
- What you're most uncertain about (where you want fresh eyes)
|
|
52
|
+
- **Security focus** — If the epic has a `specs/security/epics/<id>/THREAT_MODEL.md`, include the relevant vulnerability categories as reviewer focal points. Also include the false-positive exclusion rules so the reviewer avoids known-safe patterns. Tag the review as `security-sensitive: true` if THREAT_MODEL risk is HIGH+.
|
|
53
|
+
|
|
54
|
+
### 2. Fan-out parallel reviewers (e45s17)
|
|
55
|
+
|
|
56
|
+
Beyond the mandatory dual-blind pair (e45s07), optionally dispatch **N dimension-specific subagents in one message** — one check per agent for broader coverage (OpenAI Codex `code-review-*` pattern):
|
|
57
|
+
|
|
58
|
+
| Agent | Focus |
|
|
59
|
+
|-------|-------|
|
|
60
|
+
| R-correctness | Logic, edge cases, verify command result |
|
|
61
|
+
| R-conventions | CONVENTIONS.md, test quality (F.I.R.S.T) |
|
|
62
|
+
| R-security | Injection, auth, secrets (when `security-sensitive`) |
|
|
63
|
+
| R-design | Simpler alternatives, API shape |
|
|
64
|
+
|
|
65
|
+
Santa Method still applies: each agent is blind; AND-gate uses Reviewer A + B scores. Fan-out agents feed findings into `respond-review` but do not replace the dual-blind pair.
|
|
66
|
+
|
|
67
|
+
### 2b. Dispatch both reviewer agents (parallel)
|
|
68
|
+
|
|
69
|
+
Use the Agent tool twice with completely fresh contexts. Each prompt must be self-contained — no references to "our conversation" or "what we discussed."
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
You are code reviewer [A|B]. Review the following code changes independently.
|
|
73
|
+
|
|
74
|
+
Context: [feature description]
|
|
75
|
+
CONVENTIONS.md rules: [paste relevant sections]
|
|
76
|
+
Active epic shard: [paste or summarize from specs/epics/]
|
|
77
|
+
|
|
78
|
+
Diff: [paste git diff or describe changed files]
|
|
79
|
+
|
|
80
|
+
Verify command: [runnable command]
|
|
81
|
+
|
|
82
|
+
Review for:
|
|
83
|
+
1. Correctness — does the code do what was intended?
|
|
84
|
+
2. CONVENTIONS.md compliance — are all rules followed?
|
|
85
|
+
3. Test quality — do tests verify behavior (not implementation)?
|
|
86
|
+
4. Design — are there simpler or more robust approaches?
|
|
87
|
+
5. Edge cases — what inputs or states could cause failures?
|
|
88
|
+
6. Security — any injection, auth, or data exposure risks?
|
|
89
|
+
|
|
90
|
+
For each finding, categorize as: must-fix / should-fix / consider.
|
|
91
|
+
Run the verify command and report the result.
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 3. Collect both reports
|
|
95
|
+
|
|
96
|
+
When reviewers return:
|
|
97
|
+
- Read every finding from **both** reports before acting on any
|
|
98
|
+
- Note each verify command result
|
|
99
|
+
- Compute quality score per reviewer: `100 × (total_items − must_fix − should_fix) / total_items`
|
|
100
|
+
- **AND-gate check:** both scores ≥ 94% and zero must-fix from **both**?
|
|
101
|
+
|
|
102
|
+
> **HARD GATE** — If either score < 94% or either has must-fix → FAIL round. Run `respond-review` first. The 94% threshold also applies to `npm run compliance` (scripts/audit-compliance.sh).
|
|
103
|
+
|
|
104
|
+
### 4. Hand off to respond-review
|
|
105
|
+
|
|
106
|
+
Pass combined findings to `respond-review` to categorize and apply fixes. Increment iteration counter. Re-dispatch both reviewers until AND-gate passes or iteration 3 exhausted.
|
|
107
|
+
|
|
108
|
+
Report to user: "Review round [N/3]. Reviewer A: [score], Reviewer B: [score]. AND-gate: [PASS|FAIL]."
|
|
109
|
+
|
|
110
|
+
## Verify
|
|
111
|
+
|
|
112
|
+
→ verify: `grep -q 'AND-gate' skills/request-review/SKILL.md && grep -q 'max 3' skills/request-review/SKILL.md && echo OK`
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: research-first
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: "Look-before-build — search registries, repo, existing skills, and web for prior art before implementing. Appends Prior Art to the spec. Use after survey-context and before elaborate-spec, when adding dependencies, or when the task may already be solved."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# story: e03s01
|
|
8
|
+
# story: e21s02
|
|
9
|
+
|
|
10
|
+
# Research First
|
|
11
|
+
|
|
12
|
+
> **HARD GATE** — Do NOT implement until prior art is searched. Minimum outcome: adopt, extend, compose, or build — with evidence.
|
|
13
|
+
|
|
14
|
+
## Process
|
|
15
|
+
|
|
16
|
+
1. Read `specs/product/SCOPE_LATEST.yaml`, `specs/release-plan.yaml + epic shards`, and the current task statement.
|
|
17
|
+
2. Search in order: this repo → bigpowers skills (`search-skills`) → package registries → web docs.
|
|
18
|
+
3. **Check opensrc cache** — if the task integrates an external library, run `bash scripts/bp-opensrc-check.sh` (or `npx opensrc search <pkg>`) to find locally-cached source. Read the `src/` directory for API shapes before writing any integration code.
|
|
19
|
+
4. For each candidate: note name, URL/path, fit (adopt | extend | compose | build).
|
|
20
|
+
5. Append `## Prior Art` to `requirements/SCOPE_LATEST.yaml` notes or the active epic story.
|
|
21
|
+
|
|
22
|
+
## opensrc Integration
|
|
23
|
+
|
|
24
|
+
`opensrc` is a local cache of 200+ open-source repos and npm/PyPI packages. Query it before building any external integration to avoid re-inventing documented API shapes.
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Check if a package is cached
|
|
28
|
+
npx opensrc search <package-name>
|
|
29
|
+
|
|
30
|
+
# Or use the bundled helper (checks all deps from package.json or requirements.txt)
|
|
31
|
+
bash scripts/bp-opensrc-check.sh [package.json|requirements.txt]
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
If opensrc finds a match, read its `src/` or source directory and append findings to the **Prior Art** section:
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
opensrc: found <pkg> v<version> — exports <key classes/functions>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
If opensrc is not installed or the package is not cached, fall through to web docs normally.
|
|
41
|
+
|
|
42
|
+
## Outcome matrix
|
|
43
|
+
|
|
44
|
+
| Verdict | Action |
|
|
45
|
+
|---------|--------|
|
|
46
|
+
| **adopt** | Use as-is; link in plan; no new code |
|
|
47
|
+
| **extend** | Wrap or configure existing solution |
|
|
48
|
+
| **compose** | Chain existing skills/modules |
|
|
49
|
+
| **build** | New implementation — justify why others failed |
|
|
50
|
+
|
|
51
|
+
## Verify
|
|
52
|
+
|
|
53
|
+
→ verify: `grep -c "Prior Art" specs/product/SCOPE_LATEST.yaml specs/release-plan.yaml + epic shards 2>/dev/null | awk '{s+=$1} END {if(s>0) print "OK"; else print "MISSING"}'`
|
|
54
|
+
|
|
55
|
+
See [REFERENCE.md](REFERENCE.md) for search commands and registry checklist.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
# Research First — Reference
|
|
60
|
+
|
|
61
|
+
## Search commands
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
# Repo prior art
|
|
65
|
+
rg -l "<keyword>" --glob '!node_modules' .
|
|
66
|
+
find . -maxdepth 3 -name "SKILL.md" | xargs grep -l "<intent>"
|
|
67
|
+
|
|
68
|
+
# Installed packages (if package.json exists)
|
|
69
|
+
cat package.json | jq '.dependencies,.devDependencies' 2>/dev/null
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Registry checklist
|
|
73
|
+
|
|
74
|
+
- [ ] npm / PyPI / crates.io (if applicable)
|
|
75
|
+
- [ ] Existing bigpowers skill (`bash scripts/build-skill-index.sh && rg "<intent>" specs/SKILL-SEARCH-INDEX_LATEST.md`)
|
|
76
|
+
- [ ] Project `docs/` and `specs/adr/`
|
|
77
|
+
- [ ] Official library documentation (quote one API detail)
|
|
78
|
+
|
|
79
|
+
## Prior Art template
|
|
80
|
+
|
|
81
|
+
```markdown
|
|
82
|
+
## Prior Art
|
|
83
|
+
|
|
84
|
+
| Candidate | Source | Verdict | Notes |
|
|
85
|
+
|-----------|--------|---------|-------|
|
|
86
|
+
| ... | ... | adopt/extend/compose/build | ... |
|
|
87
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: reset-baseline
|
|
3
|
+
model: haiku
|
|
4
|
+
description: "Restore the project to a known clean state between agent runs or experiments. Use between benchmark runs, after a failed spike, or when user wants a clean working tree."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Reset Baseline
|
|
8
|
+
|
|
9
|
+
> **HARD GATE** — Confirm with user before any destructive git operation. Never `reset --hard` without explicit approval.
|
|
10
|
+
|
|
11
|
+
## Process
|
|
12
|
+
|
|
13
|
+
1. `git status` — list uncommitted and untracked files.
|
|
14
|
+
2. Ask: stash, discard, or keep each category.
|
|
15
|
+
3. Safe defaults: `git stash push -u -m "reset-baseline"` for WIP; never force-push.
|
|
16
|
+
4. Re-run `setup-environment` after reset.
|
|
17
|
+
5. Run test baseline from `kickoff-branch` verify command.
|
|
18
|
+
|
|
19
|
+
## Verify
|
|
20
|
+
|
|
21
|
+
→ verify: `git status --short | wc -l | awk '{if($1==0) print "OK"; else print "DIRTY:" $1}'`
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: respond-review
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: "Act on a reviewer agent's feedback systematically — categorize findings, apply fixes, verify tests still pass. Use after request-review returns a report, or when user wants to work through code review findings."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Respond Review
|
|
8
|
+
> **HARD GATE** — **HARD GATE** — Every reviewer comment must be addressed (fix, disagree + document reason, or ask clarification). Do NOT ignore feedback and merge.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
Work through reviewer findings systematically. Don't apply changes blindly — categorize first, then decide, then fix, then verify.
|
|
12
|
+
|
|
13
|
+
## Process
|
|
14
|
+
|
|
15
|
+
### 1. Read the full review report
|
|
16
|
+
|
|
17
|
+
Read every finding before acting on any of them. Get the full picture first.
|
|
18
|
+
|
|
19
|
+
### 2. Categorize findings
|
|
20
|
+
|
|
21
|
+
For each finding, assign a category:
|
|
22
|
+
|
|
23
|
+
| Category | Meaning | Action |
|
|
24
|
+
|----------|---------|--------|
|
|
25
|
+
| **must-fix** | Correctness bug, security issue, test failure, CONVENTIONS.md violation | Fix before proceeding |
|
|
26
|
+
| **should-fix** | Code quality issue, naming, clarity — worth fixing but not blocking | Fix if time allows |
|
|
27
|
+
| **consider** | Architectural suggestion, alternative approach — may or may not apply | Discuss with user |
|
|
28
|
+
|
|
29
|
+
Create a numbered list of all findings with their categories.
|
|
30
|
+
|
|
31
|
+
### 3. Confirm with user (for consider-category items)
|
|
32
|
+
|
|
33
|
+
For each "consider" item, briefly describe the trade-off and ask: "Apply, skip, or discuss?"
|
|
34
|
+
|
|
35
|
+
### 4. Apply must-fix items first
|
|
36
|
+
|
|
37
|
+
Fix every must-fix item. For each one:
|
|
38
|
+
- Describe what you're changing and why
|
|
39
|
+
- Make the change
|
|
40
|
+
- Run the verify command if one exists for this area
|
|
41
|
+
|
|
42
|
+
### 5. Apply should-fix items
|
|
43
|
+
|
|
44
|
+
Apply should-fix items. If any are large enough to warrant their own commit, note them separately.
|
|
45
|
+
|
|
46
|
+
### 6. Run the full suite
|
|
47
|
+
|
|
48
|
+
After all changes are applied:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
<full test command>
|
|
52
|
+
<typecheck command>
|
|
53
|
+
<lint command>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
- [ ] All tests pass
|
|
57
|
+
- [ ] No type errors
|
|
58
|
+
- [ ] No lint violations
|
|
59
|
+
|
|
60
|
+
### 7. Report
|
|
61
|
+
|
|
62
|
+
Summarize what was applied and what was skipped:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
Applied (must-fix): #1, #2, #3
|
|
66
|
+
Applied (should-fix): #4
|
|
67
|
+
Skipped (consider): #5 — agreed with user to defer
|
|
68
|
+
All tests pass.
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Suggest next skill: `commit-message`.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: run-benchmark
|
|
3
|
+
model: haiku
|
|
4
|
+
description: "Run skill quality benchmarks from specs/benchmarks/ definitions — N-run with/without-skill delta grading, train/validation split, pass@k + benchmark.json reports. Use before and after evolve-skill to prove quality changes are improvements, not regressions."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Run Benchmark
|
|
8
|
+
|
|
9
|
+
> **HARD GATE** — Do NOT use benchmark scores to declare a skill "good" or "bad" in isolation. Benchmarks measure relative quality vs. a baseline — they catch regressions, they do not certify correctness.
|
|
10
|
+
|
|
11
|
+
Reads benchmark definitions from `specs/benchmarks/`, executes each scenario's grader with and without the skill loaded, and writes a structured `pass@k` report with delta grading that `evolve-skill` consumes.
|
|
12
|
+
|
|
13
|
+
## With/Without-Skill Delta Grading
|
|
14
|
+
|
|
15
|
+
Every scenario runs N times (default 3) in two modes: **with** the skill loaded and **without** (bare agent with only CLAUDE.md). The delta `Δ = pass@k_with − pass@k_without` isolates the skill's causal contribution. A negative delta is a regression flag.
|
|
16
|
+
|
|
17
|
+
## Train/Validation Split
|
|
18
|
+
|
|
19
|
+
Benchmark definitions partition scenarios into two sets:
|
|
20
|
+
|
|
21
|
+
| Set | Tag | Purpose |
|
|
22
|
+
|-----|-----|---------|
|
|
23
|
+
| **Train** | `split: train` | Development scenarios — used while iterating. Hitting 100% on train is expected. |
|
|
24
|
+
| **Validation** | `split: validation` | Held-out scenarios — the real quality signal. Overfitting train while validation stagnates is a design smell. |
|
|
25
|
+
|
|
26
|
+
`pass@k` is reported separately for train and validation. Validation score is authoritative; train score is iteration guidance only.
|
|
27
|
+
|
|
28
|
+
## Usage
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
bash scripts/run-benchmark.sh <skill-name> # benchmark single skill
|
|
32
|
+
bash scripts/run-benchmark.sh --all # benchmark all with definitions
|
|
33
|
+
bash scripts/run-benchmark.sh <skill-name> --baseline # pin results as baseline
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Process
|
|
37
|
+
|
|
38
|
+
1. **Locate definition** — Read `specs/benchmarks/<skill>.yaml`. If absent, stop with message.
|
|
39
|
+
|
|
40
|
+
2. **Partition scenarios** — Split by `split` field (`train` → iteration, `validation` → authoritative, default: `validation`).
|
|
41
|
+
|
|
42
|
+
3. **Run each scenario (N-run delta)** — For each scenario, run grader N times (default 3, configurable via `runs:`):
|
|
43
|
+
- **Without skill:** Agent with only CLAUDE.md/CONVENTIONS.md
|
|
44
|
+
- **With skill:** Agent with the skill under test active
|
|
45
|
+
- Code grader: `bash -c <command>`, exit 0 → PASS. Timeout: 15s.
|
|
46
|
+
- Rubric grader: yes/no per criterion, ≥ 80% yes → PASS.
|
|
47
|
+
- Record: `{scenario_id: {with: [P/F,...], without: [P/F,...]}}`
|
|
48
|
+
|
|
49
|
+
4. **Calculate scores** — Per split (train, validation) and mode (with, without):
|
|
50
|
+
- `pass@k = sum(weight × pass_rate) / sum(weights)` where `pass_rate = passes/runs`
|
|
51
|
+
- `Δ = pass@k_with − pass@k_without` — causal contribution
|
|
52
|
+
- Round to 2 decimal places
|
|
53
|
+
|
|
54
|
+
5. **Write benchmark.json** to `specs/benchmarks/reports/benchmark-<skill>.json`:
|
|
55
|
+
```json
|
|
56
|
+
{"skill":"survey-context","run_date":"2026-06-22","runs_per_scenario":3,"train":{"with_skill":0.92,"without_skill":0.67,"delta":0.25,"scenarios":["s01","s02"]},"validation":{"with_skill":0.83,"without_skill":0.60,"delta":0.23,"scenarios":["s03","s04","s05"]}}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
6. **Write YAML report** to `specs/benchmarks/reports/BENCHMARK-<skill>-<YYYY-MM-DD>.yaml`:
|
|
60
|
+
```yaml
|
|
61
|
+
skill: survey-context
|
|
62
|
+
run_date: "2026-06-22"
|
|
63
|
+
runs_per_scenario: 3
|
|
64
|
+
train:
|
|
65
|
+
pass_at_k_with: 0.92
|
|
66
|
+
pass_at_k_without: 0.67
|
|
67
|
+
delta: 0.25
|
|
68
|
+
validation:
|
|
69
|
+
pass_at_k_with: 0.83
|
|
70
|
+
pass_at_k_without: 0.60
|
|
71
|
+
delta: 0.23
|
|
72
|
+
scenarios:
|
|
73
|
+
- id: s01
|
|
74
|
+
split: train
|
|
75
|
+
with_pass_rate: 1.0
|
|
76
|
+
without_pass_rate: 0.67
|
|
77
|
+
delta: 0.33
|
|
78
|
+
weight: 1.0
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
7. **Baseline** (`--baseline`) — Copy to `BASELINE-<skill>.yaml` + `baseline-<skill>.json`.
|
|
82
|
+
|
|
83
|
+
8. **Compare to baseline** — `IMPROVED: Δ 0.17 → 0.25` / `REGRESSION: Δ 0.25 → 0.17 — do NOT ship` / `STABLE`.
|
|
84
|
+
|
|
85
|
+
9. **Delta threshold gate** — Validation Δ < 0.0 blocks release. Δ < 0.05 warns (marginal). Min meaningful threshold: 0.05.
|