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,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: audit-plan
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: "Evaluate an incoming project plan against bigpowers principles and conventions, surface gaps, and produce a READY/NOT READY verdict before engagement begins. Use when a new project arrives, when adapting a foreign plan, or before running seed-conventions on an unfamiliar codebase."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Audit Plan
|
|
8
|
+
|
|
9
|
+
> **HARD GATE** — Do NOT start build skills (kickoff-branch, develop-tdd) until audit-plan returns a READY verdict. A plan missing test commands, scope boundaries, or success criteria will produce drift and rework downstream.
|
|
10
|
+
|
|
11
|
+
Assess an incoming project plan for alignment with bigpowers principles, identify what's missing, and produce a structured readiness report before any skill execution begins.
|
|
12
|
+
|
|
13
|
+
## Three lenses
|
|
14
|
+
|
|
15
|
+
### 1. Principles alignment
|
|
16
|
+
- Are stories vertical slices (not horizontal layers)?
|
|
17
|
+
- Is scope bounded — explicit in_scope + out_of_scope?
|
|
18
|
+
- Are success criteria defined (how do we know we're done)?
|
|
19
|
+
- Are HARD GATE candidates identifiable (critical decision points)?
|
|
20
|
+
- Is there a domain language / ubiquitous terminology?
|
|
21
|
+
|
|
22
|
+
### 2. Conventions completeness
|
|
23
|
+
- Does `CLAUDE.md` or `AGENTS.md` exist?
|
|
24
|
+
- Does `CONVENTIONS.md` exist?
|
|
25
|
+
- Is the `specs/` directory layout in place?
|
|
26
|
+
- Are commit conventions documented (Conventional Commits)?
|
|
27
|
+
- Is the git workflow mode identified (`solo-git` | `team-pr`)?
|
|
28
|
+
|
|
29
|
+
### 3. Bigpowers pre-flight (must all be answered before build)
|
|
30
|
+
| Question | Why |
|
|
31
|
+
|----------|-----|
|
|
32
|
+
| What is the **test command**? | `develop-tdd` verify steps require it |
|
|
33
|
+
| What is the **build command**? | `verify-work` mechanical gate |
|
|
34
|
+
| What is the **lint command**? | `audit-code` lint gate |
|
|
35
|
+
| What is the **typecheck command**? | `verify-work` typecheck gate |
|
|
36
|
+
| What **CI platform** is in use? | `wire-ci` configuration |
|
|
37
|
+
| **Solo or team**? | `release-branch` integration mode |
|
|
38
|
+
| Primary **language + framework**? | model routing + conventions |
|
|
39
|
+
| **Greenfield or existing** codebase? | determines whether to run `seed-conventions` or `migrate-spec` first |
|
|
40
|
+
|
|
41
|
+
## Process
|
|
42
|
+
|
|
43
|
+
1. **Ingest the plan** — accept a file path, pasted PRD text, or existing `specs/` artifacts. Read `CLAUDE.md` and `CONVENTIONS.md` if present.
|
|
44
|
+
|
|
45
|
+
2. **Score each lens** — for every item above, mark:
|
|
46
|
+
- ✅ Present and adequate
|
|
47
|
+
- ⚠️ Present but incomplete — note what's missing
|
|
48
|
+
- ❌ Absent
|
|
49
|
+
|
|
50
|
+
3. **Close gaps conversationally** — for each ❌ or ⚠️, ask one question at a time. Record each answer before moving to the next.
|
|
51
|
+
|
|
52
|
+
4. **Write `specs/PLAN-AUDIT_LATEST.md`**:
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
# Plan Audit — <project>
|
|
56
|
+
**Date:** YYYY-MM-DD · **Verdict:** READY | NOT READY
|
|
57
|
+
|
|
58
|
+
## Principles Alignment
|
|
59
|
+
| Check | Status | Note |
|
|
60
|
+
| Vertical slices | ✅ | 4 stories, each shippable |
|
|
61
|
+
| Scope bounded | ⚠️ | in_scope present; out_of_scope missing |
|
|
62
|
+
|
|
63
|
+
## Conventions Completeness
|
|
64
|
+
| Check | Status | Note |
|
|
65
|
+
|
|
66
|
+
## Pre-flight Answers
|
|
67
|
+
| Command | Value |
|
|
68
|
+
| test | `npm test` |
|
|
69
|
+
| build | `npm run build` |
|
|
70
|
+
|
|
71
|
+
## Open Gaps
|
|
72
|
+
- [ ] Add out_of_scope to scope definition (run scope-work)
|
|
73
|
+
- [ ] Create CLAUDE.md (run seed-conventions)
|
|
74
|
+
|
|
75
|
+
## Verdict
|
|
76
|
+
READY — proceed with survey-context
|
|
77
|
+
NOT READY — N gaps remain; close before proceeding
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
5. **Recommend next skill**:
|
|
81
|
+
- READY → `survey-context`
|
|
82
|
+
- Needs bootstrapping → `seed-conventions`
|
|
83
|
+
- Needs spec elaboration → `elaborate-spec`
|
|
84
|
+
- Has foreign spec format → `migrate-spec`
|
|
85
|
+
- Plan assumptions need challenging → `grill-me`
|
|
86
|
+
|
|
87
|
+
## Verify
|
|
88
|
+
|
|
89
|
+
→ verify: `test -f specs/PLAN-AUDIT_LATEST.md && grep -q 'Verdict' specs/PLAN-AUDIT_LATEST.md && echo OK || echo FAIL`
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: build-epic
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: "Eight-step epic build cycle — reads state.yaml, execution-status.yaml, and one epic capsule; updates status via bp-yaml-set or direct edit. Resume mode runs one step per invocation. Use instead of ad-hoc execute-plan for release work."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# story: e20s05
|
|
8
|
+
|
|
9
|
+
# Build Epic
|
|
10
|
+
|
|
11
|
+
Scope: one story. Called by orchestrate-project Phase 4. Not a replacement for orchestrate-project.
|
|
12
|
+
|
|
13
|
+
Orchestrates the **build** flow for a single epic: survey → plan tasks → kickoff → TDD → verify → audit → commit → release.
|
|
14
|
+
|
|
15
|
+
> **HARD GATE** — Set `specs/state.yaml` `active_flow: build_epic` and `active_epic: eNN` before starting.
|
|
16
|
+
>
|
|
17
|
+
> **HARD GATE** — Not on `main`/`master` before step 3 (kickoff-branch).
|
|
18
|
+
|
|
19
|
+
## Nine steps (`epic_cycle` in state.yaml)
|
|
20
|
+
|
|
21
|
+
| Step | Skill / action |
|
|
22
|
+
|------|----------------|
|
|
23
|
+
| 0 | `security-review` — threat-model epic scope → `specs/security/epics/<id>/THREAT_MODEL.md` |
|
|
24
|
+
| 1 | `survey-context` — confirm epic + story |
|
|
25
|
+
| 2 | `plan-work` — flesh out story `tasks[]` in `specs/epics/eNN-slug/epic.yaml` |
|
|
26
|
+
| 3 | `kickoff-branch` — feature branch + clean baseline |
|
|
27
|
+
| 4 | `develop-tdd` — red-green per task |
|
|
28
|
+
| 5 | `verify-work` — UAT + mechanical gates |
|
|
29
|
+
| 6 | `audit-code` — **non-optional gate** (pass/fail; fail → loop back to step 4) |
|
|
30
|
+
| 7 | `commit-message` — Conventional Commits draft |
|
|
31
|
+
| 8 | `release-branch` — PR or solo land (supports `--squash-state`) | |
|
|
32
|
+
|
|
33
|
+
## Process
|
|
34
|
+
|
|
35
|
+
1. Read `specs/state.yaml`, `specs/execution-status.yaml`, `specs/release-plan.yaml`, active `specs/epics/eNN-slug/epic.yaml`.
|
|
36
|
+
- **On story start (step 1):** Write `started_at` ISO 8601 timestamp to `execution-status.yaml` under the story's key in the `stories:` section. The `bp-timing.sh` script already tracks skill-level timings — this is story-level.
|
|
37
|
+
2. **Step 0 — Threat Model:** Run `security-review` against the epic's scope (read from the epic capsule). Output `specs/security/epics/<epic-id>/THREAT_MODEL.md` with surface area, vulnerability categories, risk level, and mitigation guidance.
|
|
38
|
+
3. **Assess Impact (Step 2):** Before writing tasks, run `assess-impact --lightweight` on the proposed change. If the risk score exceeds 7, gate — require a `grill-me` session. Write the impact report to `specs/IMPACT-<epic>-<story>.md`. For net-new code with no existing dependents, skip.
|
|
39
|
+
4. **BCP Tracking (Step 2):** After `plan-work` completes, read the `bcps:` count (Business Complexity Points story size) from the epic capsule and carry it into `state.yaml` as `epic_cycle.story_bcps = N`.
|
|
40
|
+
5. **BCP Plus (Step 2, optional):** When the epic capsule carries a `bcp_plus_breakdown` (13-dimension sizing), also carry it into `state.yaml` as `epic_cycle.bcp_plus`. The breakdown maps each of the 13 dimensions to an integer count. NFR dimensions (11–13) that are N/A per the NFR Gate may be set to 0.
|
|
41
|
+
6. If `epic_cycle.step` missing, set to `1`.
|
|
42
|
+
6. Run **only the current step** (resume mode) unless user asked for full auto-run.
|
|
43
|
+
7. After step verify passes, increment `epic_cycle.step` in `state.yaml` (or `bash scripts/bp-yaml-set.sh` if available).
|
|
44
|
+
8. On story complete, set `execution-status.yaml` story key to `done`; run `bash scripts/sync-status-from-epics.sh`.
|
|
45
|
+
- **On story complete (step 8):** Write `completed_at` ISO 8601 timestamp to `execution-status.yaml` under the same story key. Format:
|
|
46
|
+
|
|
47
|
+
```yaml
|
|
48
|
+
stories:
|
|
49
|
+
e01s01:
|
|
50
|
+
status: done
|
|
51
|
+
started_at: "2026-07-12T16:00:00-03:00"
|
|
52
|
+
completed_at: "2026-07-12T18:45:00-03:00"
|
|
53
|
+
```
|
|
54
|
+
9. **Traceability refresh:** Before step 8 (release-branch), run `bash scripts/trace-stories.sh` to regenerate `specs/traceability-matrix.json`, `specs/TRACEABILITY_LATEST.md`, and the `specs/codebase-wiki/` OKF bundle. Surface dark/orphan/stale findings for the just-built epic in your verify summary. If `scripts/trace-stories.sh` is missing or fails, note "trace skipped" and continue — trace failure must be visible, not silent (blocking is gate-trace's job, e38s06).
|
|
55
|
+
|
|
56
|
+
9b. **OKF wiki refresh (e39s08):** Before step 8, run maintain-wiki INGEST to refresh the OKF wiki bundle:
|
|
57
|
+
```bash
|
|
58
|
+
bash scripts/decompose-conventions.sh
|
|
59
|
+
bash scripts/generate-agent-guide.sh
|
|
60
|
+
```
|
|
61
|
+
If any script is missing or fails, note "OKF wiki refresh skipped" and continue.
|
|
62
|
+
This is non-blocking — stale concepts are caught by LINT in verify-work Phase 3.
|
|
63
|
+
|
|
64
|
+
### Step 6 — audit-code gate (non-optional)
|
|
65
|
+
|
|
66
|
+
After step 5 (verify-work) completes successfully, step 6 runs `audit-code` automatically in `--gate` mode:
|
|
67
|
+
|
|
68
|
+
1. **Run audit:** Invoke `audit-code --gate` on the complete diff for this story.
|
|
69
|
+
2. **Pass (exit 0):** All checklist sections pass → advance to step 7 (commit-message). Record `epic_cycle.audit_result: pass` in `state.yaml`.
|
|
70
|
+
3. **Fail (exit 1):** One or more checklist sections fail → **reset `epic_cycle.current_step` to `4`** (develop-tdd) and add the failing section IDs to `completed_steps` as `"1,2,3,4,5,6(fail: ...)"`. Record `epic_cycle.audit_result: fail` in `state.yaml`. Do NOT advance past step 6 until audit passes.
|
|
71
|
+
4. **Audit artifact:** Full audit report saved to `specs/verifications/AUDIT-<epic>-<story>.md` regardless of pass/fail, for reviewer traceability.
|
|
72
|
+
5. **Enforce F.I.R.S.T:** After audit-code passes, run `enforce-first --quick` on new/modified tests. Append F.I.R.S.T violations (if any) to the audit report. Failing F.I.R.S.T criteria trigger the same loop-back to step 4.
|
|
73
|
+
|
|
74
|
+
## --fast mode
|
|
75
|
+
|
|
76
|
+
Coalesces read-and-report steps to reduce token overhead. Activate with `build-epic --fast`.
|
|
77
|
+
|
|
78
|
+
| Normal | --fast | Change |
|
|
79
|
+
|--------|--------|--------|
|
|
80
|
+
| Step 1 (survey-context) | 1+2 together | survey + plan in one invocation |
|
|
81
|
+
| Step 2 (plan-work) | (absorbed into 1) | — |
|
|
82
|
+
| Step 3 (kickoff-branch) | Step 2 | unchanged, sequential |
|
|
83
|
+
| Step 4 (develop-tdd) | Step 3 | unchanged, sequential |
|
|
84
|
+
| Step 5 (verify-work) | Step 4 | unchanged, sequential |
|
|
85
|
+
| Step 6 (audit-code) | 5+6 together | audit + commit-message in one invocation |
|
|
86
|
+
| Step 7 (commit-message) | (absorbed into 6) | — |
|
|
87
|
+
| Step 8 (release-branch) | Step 7 | unchanged, sequential |
|
|
88
|
+
|
|
89
|
+
**Total invocations:** 8 → 6 per story.
|
|
90
|
+
|
|
91
|
+
**Rules:**
|
|
92
|
+
- Steps 3/4/5/8 (kickoff, develop, verify, release) still run sequentially — they require user interaction or branch state.
|
|
93
|
+
- `--fast` does NOT skip any checklist items; it only coalesces steps that are pure read-and-report.
|
|
94
|
+
- Record `epic_cycle.fast_mode: true` in `state.yaml` when this flag is active.
|
|
95
|
+
|
|
96
|
+
## Handoff
|
|
97
|
+
|
|
98
|
+
Write `handoff.next_skill` and `handoff.context` in `state.yaml` when pausing mid-epic.
|
|
99
|
+
|
|
100
|
+
## Verify
|
|
101
|
+
|
|
102
|
+
→ verify: `test -f specs/state.yaml && test -f specs/execution-status.yaml && test -f specs/release-plan.yaml && test -d skills/assess-impact && test -d skills/audit-code && test -d skills/security-review && echo "OK: build-epic dependencies present" || echo "FAIL"`
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
<!-- story: e38s02 -->
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: change-request
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: "Add a new requirement or reorder epics by WSJF against specs/release-plan.yaml and epic capsule directories. Modes Add and Reorder. Use when a new requirement arrives mid-release or the plan needs prioritization."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# story: e45s29
|
|
8
|
+
# story: e20s01
|
|
9
|
+
|
|
10
|
+
# Change Request
|
|
11
|
+
|
|
12
|
+
> **HARD GATE** — `specs/release-plan.yaml` must exist before running either mode. If it doesn't, run `plan-release` first.
|
|
13
|
+
>
|
|
14
|
+
> → verify: `[ -f specs/release-plan.yaml ] && echo "ready" || echo "BLOCKED: run plan-release first"`
|
|
15
|
+
|
|
16
|
+
Two modes. State which one you want or the skill will ask.
|
|
17
|
+
|
|
18
|
+
## Mode A — Add
|
|
19
|
+
|
|
20
|
+
Intake a new requirement mid-flight without disrupting work in progress.
|
|
21
|
+
|
|
22
|
+
1. **Capture**: What is the change? What problem does it solve?
|
|
23
|
+
2. **Locate**: Which existing stories in `specs/epics/` does it affect or replace?
|
|
24
|
+
3. **Draft**: Add story + `tasks[]` with Gherkin-style AC in epic YAML (each task has `verify`). Tag requirement deltas: `ADDED` / `MODIFIED` / `REMOVED` / `RENAMED` with before/after for non-`ADDED` changes (e45s29).
|
|
25
|
+
4. **Place**: Append story under existing epic capsule, or create `specs/epics/eNN-slug.yaml` and register in `release-plan.yaml` `epics[]`.
|
|
26
|
+
5. **Score**: Compute WSJF; note if it outranks in-progress work.
|
|
27
|
+
|
|
28
|
+
→ verify: `grep -c 'stories:' specs/epics/*/epic.yaml`
|
|
29
|
+
|
|
30
|
+
## Mode B — Reorder
|
|
31
|
+
|
|
32
|
+
Value-engineering pass over the full release using WSJF.
|
|
33
|
+
|
|
34
|
+
See [REFERENCE.md](REFERENCE.md) for the full WSJF scoring rubric.
|
|
35
|
+
|
|
36
|
+
1. **Score** each epic/story: BV + TC + RR / Job Size.
|
|
37
|
+
2. **Re-sort** `release-plan.yaml` `epics[]` and per-epic `wsjf` fields.
|
|
38
|
+
3. **Flag cut candidates**: WSJF < 1.5.
|
|
39
|
+
4. **Update** `specs/release-plan.yaml` and epic `wsjf` keys with rationale.
|
|
40
|
+
5. **Report** the delta.
|
|
41
|
+
|
|
42
|
+
→ verify: `grep -c 'wsjf' specs/release-plan.yaml specs/epics/*/epic.yaml`
|
|
43
|
+
|
|
44
|
+
## Conversational Mode
|
|
45
|
+
|
|
46
|
+
If the user's request is in natural language and does not match the structured format of Mode A or Mode B, enter Conversational Mode to extract the change parameters through interactive dialogue.
|
|
47
|
+
|
|
48
|
+
### 5-Step Flow
|
|
49
|
+
|
|
50
|
+
1. **Capture**: Parse the natural-language request for what, why, and where. Ask at most 3 clarifying questions before drafting.
|
|
51
|
+
2. **Locate**: Identify which epic or capability in `specs/epics/` the request affects or replaces.
|
|
52
|
+
3. **Draft**: Present a structured draft of the proposed story and tasks for user confirmation.
|
|
53
|
+
4. **Score**: Estimate the WSJF score and explain the calculation so the user understands the priority.
|
|
54
|
+
5. **Place**: Confirm the final epic placement with the user before writing files.
|
|
55
|
+
|
|
56
|
+
## After either mode
|
|
57
|
+
|
|
58
|
+
Run `bash scripts/sync-status-from-epics.sh`. Suggest `plan-work` or `build-epic` for the top-ranked unstarted story.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
# WSJF Scoring Reference
|
|
63
|
+
|
|
64
|
+
Weighted Shortest Job First: **WSJF = (Business Value + Time Criticality + Risk Reduction) / Job Size**
|
|
65
|
+
|
|
66
|
+
All dimensions scored 1–10 using a Fibonacci-like scale: 1, 2, 3, 5, 8, 10.
|
|
67
|
+
|
|
68
|
+
## Business Value
|
|
69
|
+
|
|
70
|
+
| Score | Meaning |
|
|
71
|
+
|-------|---------|
|
|
72
|
+
| 10 | Core revenue path, legal requirement, blocking launch |
|
|
73
|
+
| 8 | Significant user value, major pain point removed |
|
|
74
|
+
| 5 | Notable improvement, medium user segment affected |
|
|
75
|
+
| 3 | Nice-to-have, minor convenience |
|
|
76
|
+
| 1 | Cosmetic or speculative |
|
|
77
|
+
|
|
78
|
+
## Time Criticality
|
|
79
|
+
|
|
80
|
+
| Score | Meaning |
|
|
81
|
+
|-------|---------|
|
|
82
|
+
| 10 | Hard deadline (regulatory, contract, launch date) |
|
|
83
|
+
| 8 | Competitive window closing, partner dependency |
|
|
84
|
+
| 5 | Would delay next milestone if deferred |
|
|
85
|
+
| 3 | Flexible, can slip one sprint |
|
|
86
|
+
| 1 | No urgency |
|
|
87
|
+
|
|
88
|
+
## Risk Reduction (or Opportunity Enablement)
|
|
89
|
+
|
|
90
|
+
| Score | Meaning |
|
|
91
|
+
|-------|---------|
|
|
92
|
+
| 10 | Eliminates critical architectural risk or enables a new capability |
|
|
93
|
+
| 8 | Reduces a known failure mode or unblocks high-value work |
|
|
94
|
+
| 5 | Moderate risk mitigation or enablement |
|
|
95
|
+
| 3 | Low risk reduction |
|
|
96
|
+
| 1 | No risk relevance |
|
|
97
|
+
|
|
98
|
+
## Job Size (effort denominator — larger = lower WSJF)
|
|
99
|
+
|
|
100
|
+
| Score | Meaning |
|
|
101
|
+
|-------|---------|
|
|
102
|
+
| 1 | Hours |
|
|
103
|
+
| 2 | 1 day |
|
|
104
|
+
| 3 | 2–3 days |
|
|
105
|
+
| 5 | 1 week |
|
|
106
|
+
| 8 | 2 weeks |
|
|
107
|
+
| 10 | 1 month+ |
|
|
108
|
+
|
|
109
|
+
## Cut threshold
|
|
110
|
+
|
|
111
|
+
Stories with WSJF < 1.5 are cut candidates: high effort, low combined value.
|
|
112
|
+
|
|
113
|
+
## Example
|
|
114
|
+
|
|
115
|
+
Story: "Add OAuth login"
|
|
116
|
+
- Business Value: 8 (removes major sign-up friction)
|
|
117
|
+
- Time Criticality: 5 (Q3 launch nice, not hard)
|
|
118
|
+
- Risk Reduction: 3 (minor security improvement)
|
|
119
|
+
- Job Size: 5 (one week)
|
|
120
|
+
|
|
121
|
+
WSJF = (8 + 5 + 3) / 5 = **3.2** — healthy, implement early.
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: commit-message
|
|
3
|
+
model: haiku
|
|
4
|
+
description: "Reviews working-tree changes, then drafts a Conventional Commits title/body and states the semantic-release version bump a single such commit would imply. Also notes which defensive-code categories were touched. Use when the user wants to commit recent work, prepare a Conventional Commits message, or asks for semantic-release / semver-consistent messaging before git commit."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Commit Message
|
|
8
|
+
> **HARD GATE** — **HARD GATE** — Commits must follow Conventional Commits spec (type(scope): description). Do NOT use vague messages like 'fix' or 'updates.' The message must explain the 'why,' not the 'what.'
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Modes
|
|
12
|
+
|
|
13
|
+
- Default: standard Conventional Commits message
|
|
14
|
+
- --fix-type: Forces type=fix. Use when commit type is unambiguous.
|
|
15
|
+
|
|
16
|
+
## What "last chat" means
|
|
17
|
+
|
|
18
|
+
- **Primary source of truth:** `git status`, `git diff` (unstaged), and `git diff --cached` (staged). Run these in the repo root (or the paths the user changed).
|
|
19
|
+
- **Context:** use the current conversation to summarize *intent* and to spot **breaking** API/behavior changes that diff alone may not show.
|
|
20
|
+
- If the user tracks a session baseline (e.g. branch, tag, or `git stash create` at start), you may `git diff <baseline>..HEAD` plus uncommitted diffs; otherwise use only the index and working tree.
|
|
21
|
+
|
|
22
|
+
## Quick workflow
|
|
23
|
+
|
|
24
|
+
1. **Inventory** — List changed paths; group by feature vs chore vs docs vs test-only.
|
|
25
|
+
2. **Decide commit shape** — One atomic commit is ideal. If the diff mixes unrelated concerns, recommend **multiple commits** (each with its own type/scope) before suggesting one message.
|
|
26
|
+
3. **Classify for semantic release** — `fix` → patch, `feat` → minor, **breaking** → major.
|
|
27
|
+
4. **Write the message** — `type(optional-scope)!: description` (see [REFERENCE.md](REFERENCE.md#message-format)). Use `!` or a `BREAKING CHANGE:` footer when behavior contracts change.
|
|
28
|
+
5. **Note defensive-code categories touched** — from CONVENTIONS.md: Rate limit | Retry with backoff | Circuit breaker | Timeout | Graceful degradation
|
|
29
|
+
6. **Note fix-ratio contribution** — Each `fix:` commit counts toward `metrics.commit_ratio.fix` in `specs/state.yaml`. After `release-branch`, `session-state` recalculates the ratio automatically. A high fix rate (>30%) triggers a deploy + smoke-test suggestion.
|
|
30
|
+
7. **Deliver** — Output:
|
|
31
|
+
- Proposed **full commit message** (title + optional body + footers).
|
|
32
|
+
- **Release bump** this commit would drive: `patch` | `minor` | `major` | `none`.
|
|
33
|
+
- Optional `git add …` and `git commit -m` instructions; do **not** run destructive git commands unless the user asked.
|
|
34
|
+
|
|
35
|
+
## Checklist before finalizing
|
|
36
|
+
|
|
37
|
+
- [ ] Type matches the **dominant** user-visible outcome (`feat` vs `fix` vs `perf`, etc.).
|
|
38
|
+
- [ ] **Scope** is a short noun in parentheses if it helps (e.g. `fix(api): …`).
|
|
39
|
+
- [ ] Breaking changes are explicit (`!` and/or `BREAKING CHANGE:` in the body/footer).
|
|
40
|
+
- [ ] Description is imperative, lowercase start after the prefix, no trailing period in the title line.
|
|
41
|
+
- [ ] **NO `Co-authored-by` or `Co-Authored-By` footers** — P1 rule (CONVENTIONS.md § Git Attribution). All commits must appear as if authored solely by the human user. The git hook and `land-branch.sh` both block these.
|
|
42
|
+
|
|
43
|
+
## When not to invent a bump
|
|
44
|
+
|
|
45
|
+
If the repo uses a custom `@semantic-release/commit-analyzer` preset, note that your bump is **heuristic** and they should match `.releaserc` / `release.config.*`. See [REFERENCE.md](REFERENCE.md#custom-repositories).
|
|
46
|
+
|
|
47
|
+
## Further reading
|
|
48
|
+
|
|
49
|
+
- [REFERENCE.md](REFERENCE.md) — Message shape, footers, release mapping, squashing notes.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## Handoff
|
|
54
|
+
|
|
55
|
+
Gate: READY -> next: release-branch
|
|
56
|
+
Writes: state.yaml handoff.next_skill = release-branch
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
# Conventional Commits + semantic-style release (reference)
|
|
61
|
+
|
|
62
|
+
## Message format
|
|
63
|
+
|
|
64
|
+
From [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/#specification):
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
<type>[optional scope][optional !]: <description>
|
|
68
|
+
|
|
69
|
+
[optional body]
|
|
70
|
+
|
|
71
|
+
[optional footer(s)]
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
- **Scope:** parenthesized noun, e.g. `feat(parser): …`.
|
|
75
|
+
- **Breaking:** `!` before `:` (e.g. `feat(api)!: …`) and/or footer `BREAKING CHANGE: description` (token must be uppercase per spec for that footer name).
|
|
76
|
+
- **Description:** short summary; body explains *why* or migration steps.
|
|
77
|
+
|
|
78
|
+
Common **types** (not exhaustive): `feat`, `fix`, `docs`, `style`, `refactor`, `perf`, `test`, `build`, `ci`, `chore` — as in [Angular / commitlint conventions](https://github.com/conventional-changelog/commitlint).
|
|
79
|
+
|
|
80
|
+
## Advanced Specification Patterns
|
|
81
|
+
|
|
82
|
+
### Reverts
|
|
83
|
+
If the commit reverts a previous commit, it should begin with `revert:`, followed by the header of the reverted commit. In the body, it should say: `This reverts commit <hash>.`.
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
revert: feat(api): add user endpoint
|
|
87
|
+
|
|
88
|
+
This reverts commit 676104e.
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Breaking Changes
|
|
92
|
+
A breaking change can be signaled by:
|
|
93
|
+
1. A **`BREAKING CHANGE:`** footer (must be uppercase, at the start of the footer). This is the **most compatible** way to trigger a Major release in `semantic-release` (Angular preset).
|
|
94
|
+
2. A **`!`** after the type/scope: `feat(api)!: change user response shape`.
|
|
95
|
+
|
|
96
|
+
**Pro-tip:** For maximum compatibility with all tooling (older and newer), use BOTH the `!` and the `BREAKING CHANGE:` footer.
|
|
97
|
+
|
|
98
|
+
### Footers (Tokens & Values)
|
|
99
|
+
Footers follow the same `Token: value` pattern as Git Trailers. Common tokens:
|
|
100
|
+
- `Refs: #123`
|
|
101
|
+
- `See-also: docs/ADR-001.md`
|
|
102
|
+
- `Signed-off-by: Name <email>`
|
|
103
|
+
|
|
104
|
+
**Multi-line footers:** If a footer value spans multiple lines, each subsequent line must be indented.
|
|
105
|
+
|
|
106
|
+
### Squashing & History
|
|
107
|
+
When using `gh pr merge --squash`, the PR title is usually used as the commit subject.
|
|
108
|
+
- **PR Title:** MUST follow `<type>(<scope>): <description>`
|
|
109
|
+
- **PR Body:** Content will be moved to the commit body.
|
|
110
|
+
|
|
111
|
+
## Release Type Mapping (Default Angular Preset)
|
|
112
|
+
|
|
113
|
+
This table reflects the **out-of-the-box** behavior of `semantic-release` using the `@semantic-release/commit-analyzer` default (Angular) rules.
|
|
114
|
+
|
|
115
|
+
| Commit pattern | Release | Notes |
|
|
116
|
+
|----------------|---------|-------|
|
|
117
|
+
| `fix:` | **Patch** | Bug fixes |
|
|
118
|
+
| `feat:` | **Minor** | New features |
|
|
119
|
+
| `perf:` | **Patch** | Performance improvements |
|
|
120
|
+
| `any type` + `BREAKING CHANGE:` footer | **Major** | **Mandatory** for Major version bumps in default configs. |
|
|
121
|
+
| `any type!:` (exclamation mark) | **Major** | Supported by modern CC parsers, but use footer for max safety. |
|
|
122
|
+
| `docs:`, `chore:`, `test:`, `ci:`, `refactor:`, `style:` | **None** | Does not trigger a new release by default. |
|
|
123
|
+
|
|
124
|
+
> **Warning:** While `refactor:` and `style:` improve code, they do NOT trigger a release in the default Angular preset. Use `fix:` if a refactor also fixes a bug, or `feat:` if it adds new behavior.
|
|
125
|
+
|
|
126
|
+
## Custom Repositories
|
|
127
|
+
|
|
128
|
+
- Read `release.config.js`, `.releaserc`, or `package.json` → `release` / `semantic-release` config.
|
|
129
|
+
- The **@semantic-release/commit-analyzer** preset may map types differently; prefer **their** rules when they conflict with this reference.
|
|
130
|
+
|
|
131
|
+
## Squash and PR titles
|
|
132
|
+
|
|
133
|
+
- If the team squashes on merge, the **PR title** often becomes the single squashed commit subject — it should still follow `type(scope): description` for tooling.
|
|
134
|
+
- `revert:` type and `Refs:` footers are valid patterns; revert handling varies by [tooling](https://www.conventionalcommits.org/en/v1.0.0/#specification).
|
|
135
|
+
|
|
136
|
+
## Links
|
|
137
|
+
|
|
138
|
+
- [Conventional Commits — specification](https://www.conventionalcommits.org/en/v1.0.0/#specification)
|
|
139
|
+
- [semantic-release — README (commit format & flow)](https://github.com/semantic-release/semantic-release#commit-message-format)
|
|
140
|
+
- Fork pointer: [semantic-release-baby](https://github.com/danielvm-git/semantic-release-baby) (automation and docs align with upstream semantic-release)
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: compose-workflow
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: "Chain multiple bigpowers skills into a custom workflow recipe saved in specs/. Use when a project repeats a non-standard skill sequence, or user wants a documented playbook beyond orchestrate-project modes."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# story: e09s01
|
|
8
|
+
# story: e45s27
|
|
9
|
+
# story: e21s04
|
|
10
|
+
|
|
11
|
+
# Compose Workflow
|
|
12
|
+
> **HARD GATE** — **HARD GATE** — Workflows are orchestration, not automation. Do NOT create workflows for tasks that should be single skills. Workflow complexity must be justified.
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
## Process
|
|
16
|
+
|
|
17
|
+
1. Interview: goal, phases, which skills, gates between steps.
|
|
18
|
+
2. Write `specs/workflows/<name>.yaml`:
|
|
19
|
+
- `name`, `command`, `description`, `skills[]`, `verify`
|
|
20
|
+
- Optional: `args` for skill-specific arguments
|
|
21
|
+
3. Register in state.yaml Active Decisions.
|
|
22
|
+
4. Optional: reference from `orchestrate-project` Ad-Hoc mode.
|
|
23
|
+
|
|
24
|
+
> **Prefer the YAML recipe format** over the legacy `specs/WORKFLOW-<name>.md` markdown format.
|
|
25
|
+
> YAML recipes are command-mappable, machine-readable, and listed in the Standard Recipe Library.
|
|
26
|
+
|
|
27
|
+
## Terminal-state taxonomy (e45s27)
|
|
28
|
+
|
|
29
|
+
Every workflow step and `/loop` tick MUST exit with exactly one terminal state:
|
|
30
|
+
|
|
31
|
+
| State | Meaning | Next action |
|
|
32
|
+
|-------|---------|-------------|
|
|
33
|
+
| `success` | Step verify passed; artifacts written | Advance to next skill in recipe |
|
|
34
|
+
| `no-op` | Nothing to do (already green / already applied) | Skip step; advance |
|
|
35
|
+
| `blocked` | External gate (approval, red CI, missing dep) | `diagnose-stall` or escalate to user |
|
|
36
|
+
| `exhausted` | Max iterations/cycles reached (review cap, dispatch cycles) | Stop; human decision required |
|
|
37
|
+
|
|
38
|
+
Record terminal state in `specs/state.yaml` `handoff.last_terminal_state` when a recipe step completes. `/loop` ticks that produce no progress for two consecutive wakes → invoke `diagnose-stall`.
|
|
39
|
+
|
|
40
|
+
## Standard Recipe Library
|
|
41
|
+
|
|
42
|
+
Pre-built recipes in `specs/workflows/` map agentic stack commands to skill chains.
|
|
43
|
+
Reference them in AGENTS.md so `/command` directly invokes the matching recipe.
|
|
44
|
+
|
|
45
|
+
| Command | Workflow | Skill chain |
|
|
46
|
+
|---------|----------|-------------|
|
|
47
|
+
| `/check-stack` | check-stack | survey-context → assess-impact → setup-environment |
|
|
48
|
+
| `/ship` | ship | audit-code → commit-message → release-branch |
|
|
49
|
+
| `/tdd` | tdd | develop-tdd → enforce-first |
|
|
50
|
+
| `/code-review` | code-review | audit-code → request-review → respond-review |
|
|
51
|
+
| `/security` | security | audit-code → request-review |
|
|
52
|
+
| `/plan` | plan | survey-context → research-first → plan-work |
|
|
53
|
+
| `/build-fix` | build-fix | investigate-bug → diagnose-root → develop-tdd → validate-fix |
|
|
54
|
+
| `/e2e` | e2e | smoke-test → verify-work |
|
|
55
|
+
|
|
56
|
+
Add to `AGENTS.md`:
|
|
57
|
+
```
|
|
58
|
+
/check-stack = compose-workflow check-stack
|
|
59
|
+
/ship = compose-workflow ship
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Verify
|
|
63
|
+
|
|
64
|
+
→ verify: `ls specs/workflows/*.yaml 2>/dev/null | wc -l | awk '{if($1>=8) print "OK: " $1 " recipes"; else print "FAIL"}'`
|
|
65
|
+
|
|
66
|
+
See [REFERENCE.md](REFERENCE.md) for template.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
# Workflow template
|
|
71
|
+
|
|
72
|
+
```markdown
|
|
73
|
+
# WORKFLOW: <name>
|
|
74
|
+
|
|
75
|
+
**Trigger:** Use when ...
|
|
76
|
+
|
|
77
|
+
| Step | Skill | Output | verify |
|
|
78
|
+
|------|-------|--------|--------|
|
|
79
|
+
| 1 | survey-context | state.yaml handoff | ... |
|
|
80
|
+
| 2 | research-first | Prior Art in SCOPE_LATEST.yaml | ... |
|
|
81
|
+
| 3 | plan-work | epics/eNN-*.yaml tasks | ... |
|
|
82
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: context7-mcp
|
|
3
|
+
model: haiku
|
|
4
|
+
description: "Fetch current library docs via Context7 MCP instead of training data. Use when user asks about frameworks, APIs, setup, or code examples for React, Next.js, Prisma, etc."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Context7 MCP
|
|
8
|
+
|
|
9
|
+
> **HARD GATE** — Max **3** Context7 tool calls per user question (`resolve-library-id` + `query-docs` count toward the cap). On quota/rate-limit errors, emit an explicit **CONTEXT7_UNAVAILABLE** block — do NOT silently answer from training data.
|
|
10
|
+
>
|
|
11
|
+
> **HARD GATE** — Before HTTP fetch, check `bash scripts/lib/doc-fetch-cache.sh get "<libraryId>:<query>"`. Cache hit within TTL → use cached body (no round-trip). On ETag mismatch after conditional refresh, replace cache entry.
|
|
12
|
+
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
- Setup/configuration questions ("How do I configure Next.js middleware?")
|
|
16
|
+
- Code involving libraries ("Write a Prisma query for…")
|
|
17
|
+
- API references ("What are the Supabase auth methods?")
|
|
18
|
+
- User mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)
|
|
19
|
+
|
|
20
|
+
## Bounded Retry (max 3x)
|
|
21
|
+
|
|
22
|
+
| Attempt | Action |
|
|
23
|
+
|---------|--------|
|
|
24
|
+
| 1 | `resolve-library-id` → pick best match |
|
|
25
|
+
| 2 | `query-docs` with selected `libraryId` |
|
|
26
|
+
| 3 | Retry `query-docs` once with refined query (narrower scope) |
|
|
27
|
+
|
|
28
|
+
After 3 failures, stop and print:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
CONTEXT7_UNAVAILABLE
|
|
32
|
+
Reason: <quota|rate-limit|no-match|timeout>
|
|
33
|
+
Action: Ask user to retry later, paste official docs URL, or run `bts docs <lib>`.
|
|
34
|
+
Do NOT substitute training-data answers without labeling them UNVERIFIED.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Fetch Cache (ETag-revalidated)
|
|
38
|
+
|
|
39
|
+
1. **Cache key:** `"<libraryId>:<normalized-query>"` (lowercase, trimmed).
|
|
40
|
+
2. **Read:** `bash scripts/lib/doc-fetch-cache.sh get "<key>"` — exit 0 → use cached body.
|
|
41
|
+
3. **Miss / stale:** call `query-docs`; store via `doc-fetch-cache.sh put`.
|
|
42
|
+
4. **TTL:** 300s default (`DOC_CACHE_TTL`). Stale entries refresh on next fetch; honor `ETag` when MCP returns it.
|
|
43
|
+
|
|
44
|
+
`bts docs <lib>` shares the same cache helper when invoked from this skill.
|
|
45
|
+
|
|
46
|
+
## Process
|
|
47
|
+
|
|
48
|
+
1. `resolve-library-id` with `libraryName` + full user `query`.
|
|
49
|
+
2. Select match: name similarity, reputation, benchmark score; prefer version-specific IDs when user names a version.
|
|
50
|
+
3. `query-docs` with `libraryId` + specific question (one concept per call).
|
|
51
|
+
4. Answer using fetched docs; cite library/version when relevant.
|
|
52
|
+
|
|
53
|
+
## Verify
|
|
54
|
+
|
|
55
|
+
→ verify: `test -f scripts/lib/doc-fetch-cache.sh && grep -q CONTEXT7_UNAVAILABLE skills/context7-mcp/SKILL.md && echo OK || echo FAIL`
|