bigpowers 2.83.3 → 2.84.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/.codebuddy/skills/align-grid/SKILL.md +110 -0
- package/.codebuddy/skills/assess-impact/SKILL.md +91 -0
- package/.codebuddy/skills/audit-code/SKILL.md +187 -0
- package/.codebuddy/skills/audit-plan/SKILL.md +89 -0
- package/.codebuddy/skills/build-epic/SKILL.md +105 -0
- package/.codebuddy/skills/change-request/SKILL.md +121 -0
- package/.codebuddy/skills/commit-message/SKILL.md +140 -0
- package/.codebuddy/skills/compose-workflow/SKILL.md +82 -0
- package/.codebuddy/skills/context7-mcp/SKILL.md +55 -0
- package/.codebuddy/skills/craft-skill/SKILL.md +179 -0
- package/.codebuddy/skills/deepen-architecture/SKILL.md +260 -0
- package/.codebuddy/skills/define-language/SKILL.md +80 -0
- package/.codebuddy/skills/define-success/SKILL.md +65 -0
- package/.codebuddy/skills/delegate-task/SKILL.md +91 -0
- package/.codebuddy/skills/deploy/SKILL.md +198 -0
- package/.codebuddy/skills/design-interface/SKILL.md +97 -0
- package/.codebuddy/skills/develop-tdd/SKILL.md +406 -0
- package/.codebuddy/skills/diagnose-root/SKILL.md +24 -0
- package/.codebuddy/skills/diagnose-stall/SKILL.md +54 -0
- package/.codebuddy/skills/dispatch-agents/SKILL.md +118 -0
- package/.codebuddy/skills/edit-document/SKILL.md +23 -0
- package/.codebuddy/skills/elaborate-spec/SKILL.md +101 -0
- package/.codebuddy/skills/enforce-first/SKILL.md +32 -0
- package/.codebuddy/skills/evolve-skill/SKILL.md +55 -0
- package/.codebuddy/skills/execute-plan/SKILL.md +61 -0
- package/.codebuddy/skills/extract-design/SKILL.md +132 -0
- package/.codebuddy/skills/find-way/SKILL.md +191 -0
- package/.codebuddy/skills/fix-bug/SKILL.md +67 -0
- package/.codebuddy/skills/gate-trace/SKILL.md +88 -0
- package/.codebuddy/skills/generate-allure-report/SKILL.md +285 -0
- package/.codebuddy/skills/grill-me/SKILL.md +96 -0
- package/.codebuddy/skills/grill-with-docs/SKILL.md +41 -0
- package/.codebuddy/skills/guard-git/SKILL.md +231 -0
- package/.codebuddy/skills/harden-vps/SKILL.md +288 -0
- package/.codebuddy/skills/hook-commits/SKILL.md +94 -0
- package/.codebuddy/skills/inspect-quality/SKILL.md +106 -0
- package/.codebuddy/skills/investigate-bug/SKILL.md +127 -0
- package/.codebuddy/skills/kickoff-branch/SKILL.md +143 -0
- package/.codebuddy/skills/maintain-wiki/SKILL.md +64 -0
- package/.codebuddy/skills/map-codebase/SKILL.md +71 -0
- package/.codebuddy/skills/migrate-spec/SKILL.md +862 -0
- package/.codebuddy/skills/model-domain/SKILL.md +232 -0
- package/.codebuddy/skills/orchestrate-project/SKILL.md +174 -0
- package/.codebuddy/skills/organize-workspace/SKILL.md +164 -0
- package/.codebuddy/skills/plan-refactor/SKILL.md +87 -0
- package/.codebuddy/skills/plan-release/SKILL.md +145 -0
- package/.codebuddy/skills/plan-tests/SKILL.md +75 -0
- package/.codebuddy/skills/plan-work/SKILL.md +260 -0
- package/.codebuddy/skills/publish-package/SKILL.md +328 -0
- package/.codebuddy/skills/quick-fix/SKILL.md +114 -0
- package/.codebuddy/skills/release-branch/SKILL.md +298 -0
- package/.codebuddy/skills/request-review/SKILL.md +112 -0
- package/.codebuddy/skills/research-first/SKILL.md +87 -0
- package/.codebuddy/skills/reset-baseline/SKILL.md +21 -0
- package/.codebuddy/skills/respond-review/SKILL.md +71 -0
- package/.codebuddy/skills/run-benchmark/SKILL.md +85 -0
- package/.codebuddy/skills/run-evals/SKILL.md +80 -0
- package/.codebuddy/skills/run-planning/SKILL.md +101 -0
- package/.codebuddy/skills/scope-work/SKILL.md +63 -0
- package/.codebuddy/skills/search-skills/SKILL.md +73 -0
- package/.codebuddy/skills/security-review/SKILL.md +384 -0
- package/.codebuddy/skills/seed-conventions/SKILL.md +285 -0
- package/.codebuddy/skills/session-state/SKILL.md +146 -0
- package/.codebuddy/skills/setup-environment/SKILL.md +39 -0
- package/.codebuddy/skills/simulate-agents/SKILL.md +26 -0
- package/.codebuddy/skills/slice-tasks/SKILL.md +68 -0
- package/.codebuddy/skills/smoke-test/SKILL.md +242 -0
- package/.codebuddy/skills/spike-prototype/SKILL.md +95 -0
- package/.codebuddy/skills/stocktake-skills/SKILL.md +72 -0
- package/.codebuddy/skills/survey-context/SKILL.md +135 -0
- package/.codebuddy/skills/terse-mode/SKILL.md +42 -0
- package/.codebuddy/skills/trace-requirement/SKILL.md +69 -0
- package/.codebuddy/skills/using-bigpowers/SKILL.md +111 -0
- package/.codebuddy/skills/validate-contracts/SKILL.md +309 -0
- package/.codebuddy/skills/validate-fix/SKILL.md +106 -0
- package/.codebuddy/skills/verify-work/SKILL.md +191 -0
- package/.codebuddy/skills/visual-dashboard/SKILL.md +50 -0
- package/.codebuddy/skills/wire-ci/SKILL.md +375 -0
- package/.codebuddy/skills/wire-observability/SKILL.md +97 -0
- package/.codebuddy/skills/write-document/SKILL.md +255 -0
- package/.codex/skills/align-grid/SKILL.md +110 -0
- package/.codex/skills/assess-impact/SKILL.md +91 -0
- package/.codex/skills/audit-code/SKILL.md +187 -0
- package/.codex/skills/audit-plan/SKILL.md +89 -0
- package/.codex/skills/build-epic/SKILL.md +105 -0
- package/.codex/skills/change-request/SKILL.md +121 -0
- package/.codex/skills/commit-message/SKILL.md +140 -0
- package/.codex/skills/compose-workflow/SKILL.md +82 -0
- package/.codex/skills/context7-mcp/SKILL.md +55 -0
- package/.codex/skills/craft-skill/SKILL.md +179 -0
- package/.codex/skills/deepen-architecture/SKILL.md +260 -0
- package/.codex/skills/define-language/SKILL.md +80 -0
- package/.codex/skills/define-success/SKILL.md +65 -0
- package/.codex/skills/delegate-task/SKILL.md +91 -0
- package/.codex/skills/deploy/SKILL.md +198 -0
- package/.codex/skills/design-interface/SKILL.md +97 -0
- package/.codex/skills/develop-tdd/SKILL.md +406 -0
- package/.codex/skills/diagnose-root/SKILL.md +24 -0
- package/.codex/skills/diagnose-stall/SKILL.md +54 -0
- package/.codex/skills/dispatch-agents/SKILL.md +118 -0
- package/.codex/skills/edit-document/SKILL.md +23 -0
- package/.codex/skills/elaborate-spec/SKILL.md +101 -0
- package/.codex/skills/enforce-first/SKILL.md +32 -0
- package/.codex/skills/evolve-skill/SKILL.md +55 -0
- package/.codex/skills/execute-plan/SKILL.md +61 -0
- package/.codex/skills/extract-design/SKILL.md +132 -0
- package/.codex/skills/find-way/SKILL.md +191 -0
- package/.codex/skills/fix-bug/SKILL.md +67 -0
- package/.codex/skills/gate-trace/SKILL.md +88 -0
- package/.codex/skills/generate-allure-report/SKILL.md +285 -0
- package/.codex/skills/grill-me/SKILL.md +96 -0
- package/.codex/skills/grill-with-docs/SKILL.md +41 -0
- package/.codex/skills/guard-git/SKILL.md +231 -0
- package/.codex/skills/harden-vps/SKILL.md +288 -0
- package/.codex/skills/hook-commits/SKILL.md +94 -0
- package/.codex/skills/inspect-quality/SKILL.md +106 -0
- package/.codex/skills/investigate-bug/SKILL.md +127 -0
- package/.codex/skills/kickoff-branch/SKILL.md +143 -0
- package/.codex/skills/maintain-wiki/SKILL.md +64 -0
- package/.codex/skills/map-codebase/SKILL.md +71 -0
- package/.codex/skills/migrate-spec/SKILL.md +862 -0
- package/.codex/skills/model-domain/SKILL.md +232 -0
- package/.codex/skills/orchestrate-project/SKILL.md +174 -0
- package/.codex/skills/organize-workspace/SKILL.md +164 -0
- package/.codex/skills/plan-refactor/SKILL.md +87 -0
- package/.codex/skills/plan-release/SKILL.md +145 -0
- package/.codex/skills/plan-tests/SKILL.md +75 -0
- package/.codex/skills/plan-work/SKILL.md +260 -0
- package/.codex/skills/publish-package/SKILL.md +328 -0
- package/.codex/skills/quick-fix/SKILL.md +114 -0
- package/.codex/skills/release-branch/SKILL.md +298 -0
- package/.codex/skills/request-review/SKILL.md +112 -0
- package/.codex/skills/research-first/SKILL.md +87 -0
- package/.codex/skills/reset-baseline/SKILL.md +21 -0
- package/.codex/skills/respond-review/SKILL.md +71 -0
- package/.codex/skills/run-benchmark/SKILL.md +85 -0
- package/.codex/skills/run-evals/SKILL.md +80 -0
- package/.codex/skills/run-planning/SKILL.md +101 -0
- package/.codex/skills/scope-work/SKILL.md +63 -0
- package/.codex/skills/search-skills/SKILL.md +73 -0
- package/.codex/skills/security-review/SKILL.md +384 -0
- package/.codex/skills/seed-conventions/SKILL.md +285 -0
- package/.codex/skills/session-state/SKILL.md +146 -0
- package/.codex/skills/setup-environment/SKILL.md +39 -0
- package/.codex/skills/simulate-agents/SKILL.md +26 -0
- package/.codex/skills/slice-tasks/SKILL.md +68 -0
- package/.codex/skills/smoke-test/SKILL.md +242 -0
- package/.codex/skills/spike-prototype/SKILL.md +95 -0
- package/.codex/skills/stocktake-skills/SKILL.md +72 -0
- package/.codex/skills/survey-context/SKILL.md +135 -0
- package/.codex/skills/terse-mode/SKILL.md +42 -0
- package/.codex/skills/trace-requirement/SKILL.md +69 -0
- package/.codex/skills/using-bigpowers/SKILL.md +111 -0
- package/.codex/skills/validate-contracts/SKILL.md +309 -0
- package/.codex/skills/validate-fix/SKILL.md +106 -0
- package/.codex/skills/verify-work/SKILL.md +191 -0
- package/.codex/skills/visual-dashboard/SKILL.md +50 -0
- package/.codex/skills/wire-ci/SKILL.md +375 -0
- package/.codex/skills/wire-observability/SKILL.md +97 -0
- package/.codex/skills/write-document/SKILL.md +255 -0
- package/.kilocode/rules/align-grid.md +110 -0
- package/.kilocode/rules/assess-impact.md +91 -0
- package/.kilocode/rules/audit-code.md +187 -0
- package/.kilocode/rules/audit-plan.md +89 -0
- package/.kilocode/rules/build-epic.md +105 -0
- package/.kilocode/rules/change-request.md +121 -0
- package/.kilocode/rules/commit-message.md +140 -0
- package/.kilocode/rules/compose-workflow.md +82 -0
- package/.kilocode/rules/context7-mcp.md +55 -0
- package/.kilocode/rules/craft-skill.md +179 -0
- package/.kilocode/rules/deepen-architecture.md +260 -0
- package/.kilocode/rules/define-language.md +80 -0
- package/.kilocode/rules/define-success.md +65 -0
- package/.kilocode/rules/delegate-task.md +91 -0
- package/.kilocode/rules/deploy.md +198 -0
- package/.kilocode/rules/design-interface.md +97 -0
- package/.kilocode/rules/develop-tdd.md +406 -0
- package/.kilocode/rules/diagnose-root.md +24 -0
- package/.kilocode/rules/diagnose-stall.md +54 -0
- package/.kilocode/rules/dispatch-agents.md +118 -0
- package/.kilocode/rules/edit-document.md +23 -0
- package/.kilocode/rules/elaborate-spec.md +101 -0
- package/.kilocode/rules/enforce-first.md +32 -0
- package/.kilocode/rules/evolve-skill.md +55 -0
- package/.kilocode/rules/execute-plan.md +61 -0
- package/.kilocode/rules/extract-design.md +132 -0
- package/.kilocode/rules/find-way.md +191 -0
- package/.kilocode/rules/fix-bug.md +67 -0
- package/.kilocode/rules/gate-trace.md +88 -0
- package/.kilocode/rules/generate-allure-report.md +285 -0
- package/.kilocode/rules/grill-me.md +96 -0
- package/.kilocode/rules/grill-with-docs.md +41 -0
- package/.kilocode/rules/guard-git.md +231 -0
- package/.kilocode/rules/harden-vps.md +288 -0
- package/.kilocode/rules/hook-commits.md +94 -0
- package/.kilocode/rules/inspect-quality.md +106 -0
- package/.kilocode/rules/investigate-bug.md +127 -0
- package/.kilocode/rules/kickoff-branch.md +143 -0
- package/.kilocode/rules/maintain-wiki.md +64 -0
- package/.kilocode/rules/map-codebase.md +71 -0
- package/.kilocode/rules/migrate-spec.md +862 -0
- package/.kilocode/rules/model-domain.md +232 -0
- package/.kilocode/rules/orchestrate-project.md +174 -0
- package/.kilocode/rules/organize-workspace.md +164 -0
- package/.kilocode/rules/plan-refactor.md +87 -0
- package/.kilocode/rules/plan-release.md +145 -0
- package/.kilocode/rules/plan-tests.md +75 -0
- package/.kilocode/rules/plan-work.md +260 -0
- package/.kilocode/rules/publish-package.md +328 -0
- package/.kilocode/rules/quick-fix.md +114 -0
- package/.kilocode/rules/release-branch.md +298 -0
- package/.kilocode/rules/request-review.md +112 -0
- package/.kilocode/rules/research-first.md +87 -0
- package/.kilocode/rules/reset-baseline.md +21 -0
- package/.kilocode/rules/respond-review.md +71 -0
- package/.kilocode/rules/run-benchmark.md +85 -0
- package/.kilocode/rules/run-evals.md +80 -0
- package/.kilocode/rules/run-planning.md +101 -0
- package/.kilocode/rules/scope-work.md +63 -0
- package/.kilocode/rules/search-skills.md +73 -0
- package/.kilocode/rules/security-review.md +384 -0
- package/.kilocode/rules/seed-conventions.md +285 -0
- package/.kilocode/rules/session-state.md +146 -0
- package/.kilocode/rules/setup-environment.md +39 -0
- package/.kilocode/rules/simulate-agents.md +26 -0
- package/.kilocode/rules/slice-tasks.md +68 -0
- package/.kilocode/rules/smoke-test.md +242 -0
- package/.kilocode/rules/spike-prototype.md +95 -0
- package/.kilocode/rules/stocktake-skills.md +72 -0
- package/.kilocode/rules/survey-context.md +135 -0
- package/.kilocode/rules/terse-mode.md +42 -0
- package/.kilocode/rules/trace-requirement.md +69 -0
- package/.kilocode/rules/using-bigpowers.md +111 -0
- package/.kilocode/rules/validate-contracts.md +309 -0
- package/.kilocode/rules/validate-fix.md +106 -0
- package/.kilocode/rules/verify-work.md +191 -0
- package/.kilocode/rules/visual-dashboard.md +50 -0
- package/.kilocode/rules/wire-ci.md +375 -0
- package/.kilocode/rules/wire-observability.md +97 -0
- package/.kilocode/rules/write-document.md +255 -0
- package/.pi/package.json +1 -1
- package/.trae/skills/align-grid/SKILL.md +110 -0
- package/.trae/skills/assess-impact/SKILL.md +91 -0
- package/.trae/skills/audit-code/SKILL.md +187 -0
- package/.trae/skills/audit-plan/SKILL.md +89 -0
- package/.trae/skills/build-epic/SKILL.md +105 -0
- package/.trae/skills/change-request/SKILL.md +121 -0
- package/.trae/skills/commit-message/SKILL.md +140 -0
- package/.trae/skills/compose-workflow/SKILL.md +82 -0
- package/.trae/skills/context7-mcp/SKILL.md +55 -0
- package/.trae/skills/craft-skill/SKILL.md +179 -0
- package/.trae/skills/deepen-architecture/SKILL.md +260 -0
- package/.trae/skills/define-language/SKILL.md +80 -0
- package/.trae/skills/define-success/SKILL.md +65 -0
- package/.trae/skills/delegate-task/SKILL.md +91 -0
- package/.trae/skills/deploy/SKILL.md +198 -0
- package/.trae/skills/design-interface/SKILL.md +97 -0
- package/.trae/skills/develop-tdd/SKILL.md +406 -0
- package/.trae/skills/diagnose-root/SKILL.md +24 -0
- package/.trae/skills/diagnose-stall/SKILL.md +54 -0
- package/.trae/skills/dispatch-agents/SKILL.md +118 -0
- package/.trae/skills/edit-document/SKILL.md +23 -0
- package/.trae/skills/elaborate-spec/SKILL.md +101 -0
- package/.trae/skills/enforce-first/SKILL.md +32 -0
- package/.trae/skills/evolve-skill/SKILL.md +55 -0
- package/.trae/skills/execute-plan/SKILL.md +61 -0
- package/.trae/skills/extract-design/SKILL.md +132 -0
- package/.trae/skills/find-way/SKILL.md +191 -0
- package/.trae/skills/fix-bug/SKILL.md +67 -0
- package/.trae/skills/gate-trace/SKILL.md +88 -0
- package/.trae/skills/generate-allure-report/SKILL.md +285 -0
- package/.trae/skills/grill-me/SKILL.md +96 -0
- package/.trae/skills/grill-with-docs/SKILL.md +41 -0
- package/.trae/skills/guard-git/SKILL.md +231 -0
- package/.trae/skills/harden-vps/SKILL.md +288 -0
- package/.trae/skills/hook-commits/SKILL.md +94 -0
- package/.trae/skills/inspect-quality/SKILL.md +106 -0
- package/.trae/skills/investigate-bug/SKILL.md +127 -0
- package/.trae/skills/kickoff-branch/SKILL.md +143 -0
- package/.trae/skills/maintain-wiki/SKILL.md +64 -0
- package/.trae/skills/map-codebase/SKILL.md +71 -0
- package/.trae/skills/migrate-spec/SKILL.md +862 -0
- package/.trae/skills/model-domain/SKILL.md +232 -0
- package/.trae/skills/orchestrate-project/SKILL.md +174 -0
- package/.trae/skills/organize-workspace/SKILL.md +164 -0
- package/.trae/skills/plan-refactor/SKILL.md +87 -0
- package/.trae/skills/plan-release/SKILL.md +145 -0
- package/.trae/skills/plan-tests/SKILL.md +75 -0
- package/.trae/skills/plan-work/SKILL.md +260 -0
- package/.trae/skills/publish-package/SKILL.md +328 -0
- package/.trae/skills/quick-fix/SKILL.md +114 -0
- package/.trae/skills/release-branch/SKILL.md +298 -0
- package/.trae/skills/request-review/SKILL.md +112 -0
- package/.trae/skills/research-first/SKILL.md +87 -0
- package/.trae/skills/reset-baseline/SKILL.md +21 -0
- package/.trae/skills/respond-review/SKILL.md +71 -0
- package/.trae/skills/run-benchmark/SKILL.md +85 -0
- package/.trae/skills/run-evals/SKILL.md +80 -0
- package/.trae/skills/run-planning/SKILL.md +101 -0
- package/.trae/skills/scope-work/SKILL.md +63 -0
- package/.trae/skills/search-skills/SKILL.md +73 -0
- package/.trae/skills/security-review/SKILL.md +384 -0
- package/.trae/skills/seed-conventions/SKILL.md +285 -0
- package/.trae/skills/session-state/SKILL.md +146 -0
- package/.trae/skills/setup-environment/SKILL.md +39 -0
- package/.trae/skills/simulate-agents/SKILL.md +26 -0
- package/.trae/skills/slice-tasks/SKILL.md +68 -0
- package/.trae/skills/smoke-test/SKILL.md +242 -0
- package/.trae/skills/spike-prototype/SKILL.md +95 -0
- package/.trae/skills/stocktake-skills/SKILL.md +72 -0
- package/.trae/skills/survey-context/SKILL.md +135 -0
- package/.trae/skills/terse-mode/SKILL.md +42 -0
- package/.trae/skills/trace-requirement/SKILL.md +69 -0
- package/.trae/skills/using-bigpowers/SKILL.md +111 -0
- package/.trae/skills/validate-contracts/SKILL.md +309 -0
- package/.trae/skills/validate-fix/SKILL.md +106 -0
- package/.trae/skills/verify-work/SKILL.md +191 -0
- package/.trae/skills/visual-dashboard/SKILL.md +50 -0
- package/.trae/skills/wire-ci/SKILL.md +375 -0
- package/.trae/skills/wire-observability/SKILL.md +97 -0
- package/.trae/skills/write-document/SKILL.md +255 -0
- package/.windsurf/rules/align-grid.md +110 -0
- package/.windsurf/rules/assess-impact.md +91 -0
- package/.windsurf/rules/audit-code.md +187 -0
- package/.windsurf/rules/audit-plan.md +89 -0
- package/.windsurf/rules/build-epic.md +105 -0
- package/.windsurf/rules/change-request.md +121 -0
- package/.windsurf/rules/commit-message.md +140 -0
- package/.windsurf/rules/compose-workflow.md +82 -0
- package/.windsurf/rules/context7-mcp.md +55 -0
- package/.windsurf/rules/craft-skill.md +179 -0
- package/.windsurf/rules/deepen-architecture.md +260 -0
- package/.windsurf/rules/define-language.md +80 -0
- package/.windsurf/rules/define-success.md +65 -0
- package/.windsurf/rules/delegate-task.md +91 -0
- package/.windsurf/rules/deploy.md +198 -0
- package/.windsurf/rules/design-interface.md +97 -0
- package/.windsurf/rules/develop-tdd.md +406 -0
- package/.windsurf/rules/diagnose-root.md +24 -0
- package/.windsurf/rules/diagnose-stall.md +54 -0
- package/.windsurf/rules/dispatch-agents.md +118 -0
- package/.windsurf/rules/edit-document.md +23 -0
- package/.windsurf/rules/elaborate-spec.md +101 -0
- package/.windsurf/rules/enforce-first.md +32 -0
- package/.windsurf/rules/evolve-skill.md +55 -0
- package/.windsurf/rules/execute-plan.md +61 -0
- package/.windsurf/rules/extract-design.md +132 -0
- package/.windsurf/rules/find-way.md +191 -0
- package/.windsurf/rules/fix-bug.md +67 -0
- package/.windsurf/rules/gate-trace.md +88 -0
- package/.windsurf/rules/generate-allure-report.md +285 -0
- package/.windsurf/rules/grill-me.md +96 -0
- package/.windsurf/rules/grill-with-docs.md +41 -0
- package/.windsurf/rules/guard-git.md +231 -0
- package/.windsurf/rules/harden-vps.md +288 -0
- package/.windsurf/rules/hook-commits.md +94 -0
- package/.windsurf/rules/inspect-quality.md +106 -0
- package/.windsurf/rules/investigate-bug.md +127 -0
- package/.windsurf/rules/kickoff-branch.md +143 -0
- package/.windsurf/rules/maintain-wiki.md +64 -0
- package/.windsurf/rules/map-codebase.md +71 -0
- package/.windsurf/rules/migrate-spec.md +862 -0
- package/.windsurf/rules/model-domain.md +232 -0
- package/.windsurf/rules/orchestrate-project.md +174 -0
- package/.windsurf/rules/organize-workspace.md +164 -0
- package/.windsurf/rules/plan-refactor.md +87 -0
- package/.windsurf/rules/plan-release.md +145 -0
- package/.windsurf/rules/plan-tests.md +75 -0
- package/.windsurf/rules/plan-work.md +260 -0
- package/.windsurf/rules/publish-package.md +328 -0
- package/.windsurf/rules/quick-fix.md +114 -0
- package/.windsurf/rules/release-branch.md +298 -0
- package/.windsurf/rules/request-review.md +112 -0
- package/.windsurf/rules/research-first.md +87 -0
- package/.windsurf/rules/reset-baseline.md +21 -0
- package/.windsurf/rules/respond-review.md +71 -0
- package/.windsurf/rules/run-benchmark.md +85 -0
- package/.windsurf/rules/run-evals.md +80 -0
- package/.windsurf/rules/run-planning.md +101 -0
- package/.windsurf/rules/scope-work.md +63 -0
- package/.windsurf/rules/search-skills.md +73 -0
- package/.windsurf/rules/security-review.md +384 -0
- package/.windsurf/rules/seed-conventions.md +285 -0
- package/.windsurf/rules/session-state.md +146 -0
- package/.windsurf/rules/setup-environment.md +39 -0
- package/.windsurf/rules/simulate-agents.md +26 -0
- package/.windsurf/rules/slice-tasks.md +68 -0
- package/.windsurf/rules/smoke-test.md +242 -0
- package/.windsurf/rules/spike-prototype.md +95 -0
- package/.windsurf/rules/stocktake-skills.md +72 -0
- package/.windsurf/rules/survey-context.md +135 -0
- package/.windsurf/rules/terse-mode.md +42 -0
- package/.windsurf/rules/trace-requirement.md +69 -0
- package/.windsurf/rules/using-bigpowers.md +111 -0
- package/.windsurf/rules/validate-contracts.md +309 -0
- package/.windsurf/rules/validate-fix.md +106 -0
- package/.windsurf/rules/verify-work.md +191 -0
- package/.windsurf/rules/visual-dashboard.md +50 -0
- package/.windsurf/rules/wire-ci.md +375 -0
- package/.windsurf/rules/wire-observability.md +97 -0
- package/.windsurf/rules/write-document.md +255 -0
- package/CHANGELOG.md +37 -0
- package/CONVENTIONS.md +22 -0
- package/bin/setup.js +35 -7
- package/instructions +1 -0
- package/package.json +1 -1
- package/scripts/adapters/cline.sh +53 -3
- package/scripts/adapters/codebuddy.sh +58 -0
- package/scripts/adapters/codex.sh +58 -0
- package/scripts/adapters/copilot.sh +58 -0
- package/scripts/adapters/kilocode.sh +44 -3
- package/scripts/adapters/opencode.sh +58 -0
- package/scripts/adapters/qwen.sh +53 -1
- package/scripts/adapters/trae.sh +58 -0
- package/scripts/adapters/windsurf.sh +52 -0
- package/scripts/bp-yaml-set.sh +2 -0
- package/scripts/generate-wave-b-hub.py +31 -0
- package/scripts/hooks/cline/HOOKS.md +16 -0
- package/scripts/hooks/cline/hooks-manifest.json +12 -0
- package/scripts/hooks/cline/plugin/guard-git-plugin.ts +16 -0
- package/scripts/hooks/codebuddy/HOOKS.md +24 -0
- package/scripts/hooks/codebuddy/hooks-manifest.json +20 -0
- package/scripts/hooks/codebuddy/pre-tool-git-guard.sh +22 -0
- package/scripts/hooks/codebuddy/settings.example.json +16 -0
- package/scripts/hooks/codex/HOOKS.md +21 -0
- package/scripts/hooks/codex/hooks-manifest.json +17 -0
- package/scripts/hooks/codex/pre-tool-git-guard.sh +22 -0
- package/scripts/hooks/codex/settings.example.json +16 -0
- package/scripts/hooks/kilocode/HOOKS.md +16 -0
- package/scripts/hooks/kilocode/hooks-manifest.json +12 -0
- package/scripts/hooks/kilocode/plugin/guard-git-plugin.ts +16 -0
- package/scripts/hooks/qwen/HOOKS.md +27 -0
- package/scripts/hooks/qwen/hooks-manifest.json +23 -0
- package/scripts/hooks/qwen/pre-tool-git-guard.sh +22 -0
- package/scripts/hooks/qwen/settings.example.json +16 -0
- package/scripts/hooks/trae/HOOKS.md +17 -0
- package/scripts/hooks/trae/hooks-manifest.json +13 -0
- package/scripts/hooks/trae/pre-tool-git-guard.sh +22 -0
- package/scripts/hooks/trae/settings.example.json +16 -0
- package/scripts/hooks/windsurf/HOOKS.md +23 -0
- package/scripts/hooks/windsurf/hooks-manifest.json +19 -0
- package/scripts/hooks/windsurf/pre-tool-git-guard.sh +22 -0
- package/scripts/hooks/windsurf/settings.example.json +16 -0
- package/scripts/install.sh +33 -373
- package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
- package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
- package/scripts/lib/context-wire.sh +5 -0
- package/scripts/lib/install-grep.sh +18 -0
- package/scripts/lib/install-helpers.js +139 -2
- package/scripts/lib/install-targets-a.sh +227 -0
- package/scripts/lib/install-targets-b.sh +226 -0
- package/scripts/lib/install-targets-c.sh +128 -0
- package/scripts/lib/install-targets-d.sh +179 -0
- package/scripts/lib/srp-engine.py +2 -70
- package/scripts/lib/srp_engine_links.py +59 -0
- package/scripts/lib/wave_b_hub_codegen_helpers.py +273 -0
- package/scripts/lib/wave_b_hub_codegen_install.py +134 -0
- package/scripts/lib/wave_b_hub_config.py +130 -0
- package/scripts/lib/wave_b_hub_patch.py +213 -0
- package/scripts/record-cycle-time.sh +3 -14
- package/scripts/targets.yaml +75 -2
- package/scripts/test-agy-hub.sh +11 -10
- package/scripts/test-cline-adapter.sh +55 -0
- package/scripts/test-cline-hub.sh +48 -0
- package/scripts/test-codebuddy-adapter.sh +63 -0
- package/scripts/test-codebuddy-hub.sh +49 -0
- package/scripts/test-codex-adapter.sh +63 -0
- package/scripts/test-codex-hub.sh +49 -0
- package/scripts/test-copilot-adapter.sh +47 -0
- package/scripts/test-copilot-hub.sh +43 -0
- package/scripts/test-gemini-hub.sh +10 -9
- package/scripts/test-hermes-hub.sh +7 -6
- package/scripts/test-install-distribute-only.sh +3 -0
- package/scripts/test-install-helpers.js +9 -3
- package/scripts/test-kilocode-adapter.sh +55 -0
- package/scripts/test-kilocode-hub.sh +48 -0
- package/scripts/test-mimo-hub.sh +7 -6
- package/scripts/test-opencode-adapter.sh +47 -0
- package/scripts/test-opencode-hub.sh +43 -0
- package/scripts/test-qwen-adapter.sh +63 -0
- package/scripts/test-qwen-hub.sh +49 -0
- package/scripts/test-trae-adapter.sh +63 -0
- package/scripts/test-trae-hub.sh +49 -0
- package/scripts/test-windsurf-adapter.sh +63 -0
- package/scripts/test-windsurf-hub.sh +49 -0
- package/scripts/test-zcode-hub.sh +7 -6
- package/scripts/verify-install.sh +83 -29
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: survey-context
|
|
3
|
+
model: haiku
|
|
4
|
+
description: "Per-task context bootstrap — reads existing specs/ and tech-architecture docs to map the current lifecycle phase and suggest the next skill. Use at the start of any task, when returning after a break, or when unsure what to do next. For deriving a tech-stack doc from scratch, use map-codebase first."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Survey Context
|
|
8
|
+
|
|
9
|
+
Read the project's current state and give a phase map + next-skill recommendation. This is the "where am I?" skill — run it at the start of every task.
|
|
10
|
+
|
|
11
|
+
> **Use this vs map-codebase:** `survey-context` consumes existing specs and docs (fast; does not re-derive). `map-codebase` builds the tech-stack doc from scratch by scanning the codebase. Run `map-codebase` when `specs/tech-architecture/tech-stack.md` doesn't exist yet; run `survey-context` when it does.
|
|
12
|
+
|
|
13
|
+
> **HARD GATE** — Read specs/ files before suggesting next steps. If state.yaml is stale or contradicts the codebase, request clarification rather than assuming intent.
|
|
14
|
+
|
|
15
|
+
Orchestrate-project 6 phases: Phase 1 Discover - Phase 2 Elaborate - Phase 3 Plan - Phase 4 Build - Phase 5 Verify - Phase 6 Release
|
|
16
|
+
|
|
17
|
+
## Process
|
|
18
|
+
|
|
19
|
+
> **Timing:** `bash scripts/bp-timing.sh start survey-context` at invocation; `bash scripts/bp-timing.sh end survey-context` before handoff.
|
|
20
|
+
|
|
21
|
+
### 1. Read CONVENTIONS.md
|
|
22
|
+
|
|
23
|
+
If `CONVENTIONS.md` exists at the project root, read it first. It contains the rules all agents must follow in this project.
|
|
24
|
+
|
|
25
|
+
### 2. Read specs/ (YAML-first)
|
|
26
|
+
|
|
27
|
+
Scan the `specs/` directory if it exists:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
specs/
|
|
31
|
+
├── state.yaml → session: active_flow, epic, git, handoff
|
|
32
|
+
├── release-plan.yaml → target version, WSJF epic index
|
|
33
|
+
├── execution-status.yaml → flat story/epic status
|
|
34
|
+
├── planning-status.yaml → discover-phase checklist (optional)
|
|
35
|
+
├── requirements/
|
|
36
|
+
│ ├── VISION_LATEST.yaml
|
|
37
|
+
│ ├── SCOPE_LATEST.yaml
|
|
38
|
+
│ └── GLOSSARY_LATEST.yaml
|
|
39
|
+
├── plans/ → TECH_STACK, TEST_PLAN, etc.
|
|
40
|
+
├── epics/ → eNN shards (flat yaml or eNN/stories/)
|
|
41
|
+
└── bugs/ → BUG-*.md + registry.yaml
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
For each YAML file found, note: exists? keys populated? `handoff.next_skill`?
|
|
45
|
+
|
|
46
|
+
Legacy markdown (`specs/archive/STATE.md`, `RELEASE-PLAN.md`) is **not** SoT if YAML exists.
|
|
47
|
+
|
|
48
|
+
→ verify: `bash scripts/validate-specs-yaml.sh 2>/dev/null || echo "YAML layout incomplete"`
|
|
49
|
+
|
|
50
|
+
### 3. Read CLAUDE.md
|
|
51
|
+
|
|
52
|
+
If `CLAUDE.md` exists at the project root, read it for project context (stack, commands, architecture, conventions).
|
|
53
|
+
|
|
54
|
+
### 4. Check git state
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
git status --short
|
|
58
|
+
git log --oneline -5
|
|
59
|
+
git branch --show-current
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Note: is there a feature branch active? Are there uncommitted changes? Do they match `specs/state.yaml` `git` block?
|
|
63
|
+
|
|
64
|
+
### 5. Map the lifecycle phase
|
|
65
|
+
|
|
66
|
+
Based on what you've found, identify which PMBOK phase this project is currently in:
|
|
67
|
+
|
|
68
|
+
| Phase | Signals |
|
|
69
|
+
|-------|---------|
|
|
70
|
+
| **Discover** | No `requirements/SCOPE_LATEST.yaml` yet, or only rough notes |
|
|
71
|
+
| **Design** | SCOPE exists but no `release-plan.yaml` |
|
|
72
|
+
| **Plan** | `release-plan.yaml` exists; on `main`/`master` branch |
|
|
73
|
+
| **Initiate** | On a feature branch; no code changes yet |
|
|
74
|
+
| **Execute** | `state.yaml` `active_flow: build_epic`; epic capsule in progress |
|
|
75
|
+
| **Verify** | Implementation done; run `verify-work` or `run-evals` |
|
|
76
|
+
| **Bug** | `state.yaml` `active_flow: fix_bug` or open `specs/bugs/BUG-*.md` |
|
|
77
|
+
| **Review** | All code written; no PR yet |
|
|
78
|
+
| **Integrate** | PR open; tests passing |
|
|
79
|
+
| **Sustain** | Ongoing; no active task |
|
|
80
|
+
|
|
81
|
+
Prefer `specs/state.yaml` `active_flow` and `handoff.next_skill` when present.
|
|
82
|
+
|
|
83
|
+
### 6. Suggest next skill
|
|
84
|
+
|
|
85
|
+
Based on the phase and state, recommend the most useful next step:
|
|
86
|
+
|
|
87
|
+
- **If in Plan/Bug phase and on `main`**: Suggest `kickoff-branch` next.
|
|
88
|
+
- **If in Initiate phase**: Suggest `develop-tdd` or `execute-plan` or `ship-epic`.
|
|
89
|
+
- **If in Execute phase**: Suggest `ship-epic` (resume) or `develop-tdd` for `active_story_id`.
|
|
90
|
+
- **If in Verify phase**: Suggest `verify-work` (UAT) or `run-evals`.
|
|
91
|
+
|
|
92
|
+
Example:
|
|
93
|
+
```
|
|
94
|
+
Phase: Execute
|
|
95
|
+
Active branch: feat/e02-verify (state.yaml matches)
|
|
96
|
+
release-plan.yaml: v3.0.0, 10 epics
|
|
97
|
+
active_epic_id: e02
|
|
98
|
+
|
|
99
|
+
Suggested next: ship-epic (resume e02s01 at develop-tdd)
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Be specific — name the exact skill and why. If multiple options exist, list them in priority order.
|
|
103
|
+
|
|
104
|
+
### 7. Surface blockers
|
|
105
|
+
|
|
106
|
+
If something looks wrong:
|
|
107
|
+
- Broken tests in the baseline
|
|
108
|
+
- Open `specs/bugs/BUG-*.md` with no active fix branch
|
|
109
|
+
- Epic shards missing `verify:` on tasks
|
|
110
|
+
- `validate-specs-yaml.sh` fails
|
|
111
|
+
- Git hash in `state.yaml` stale vs `git rev-parse`
|
|
112
|
+
|
|
113
|
+
Report blockers first, before recommendations.
|
|
114
|
+
|
|
115
|
+
### 8. Record story start timestamp
|
|
116
|
+
|
|
117
|
+
At story start, write `metrics.story_start` with the current ISO 8601 timestamp to `specs/state.yaml` as an **informational progress marker only** — not a measurement input. Cycle-time metrics are now derived from git commit history via `scripts/record-cycle-time.sh` (see `skills/release-branch/REFERENCE.md` §Cycle-time recording).
|
|
118
|
+
|
|
119
|
+
## Utility outputs
|
|
120
|
+
|
|
121
|
+
### list-epics (absorbed)
|
|
122
|
+
|
|
123
|
+
Loop through all `specs/epics/*/epic.yaml` files and print a summary of story counts per epic. Useful for understanding overall project scope and epic distribution.
|
|
124
|
+
|
|
125
|
+
### check-gates (absorbed)
|
|
126
|
+
|
|
127
|
+
Print the current `active_flow` from `specs/state.yaml`, run `bash scripts/validate-specs-yaml.sh` to verify YAML integrity, and show `git status` to report uncommitted changes and branch state. Use before handoffs or context transitions.
|
|
128
|
+
|
|
129
|
+
## Handoff
|
|
130
|
+
|
|
131
|
+
Gate: READY -> next: plan-work
|
|
132
|
+
Writes: state.yaml handoff.next_skill = plan-work
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
<!-- story: e03s03 -->
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: terse-mode
|
|
3
|
+
model: haiku
|
|
4
|
+
description: "Fallback ultra-compressed communication mode. Cuts token usage ~75% by dropping filler, articles, and pleasantries while keeping full technical accuracy. Use ONLY when context is critically long and compressing output is necessary to continue. Not a strategy — token discipline comes from code shape (small functions, unique names, headless tests), not terser prompts. Use when user says \"caveman mode\", \"terse mode\", \"less tokens\", \"be brief\", or invokes /terse-mode."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Respond terse like smart caveman. All technical substance stay. Only fluff die.
|
|
8
|
+
|
|
9
|
+
## Persistence
|
|
10
|
+
> **HARD GATE** — **HARD GATE** — Terse mode is for reducing token usage in long sessions. Do NOT use terse mode when clarity is critical (complex design decisions, bug investigations). Enable it only on explicit user request.
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
ACTIVE EVERY RESPONSE once triggered. No revert after many turns. No filler drift. Still active if unsure. Off only when user says "stop" or "normal mode".
|
|
14
|
+
|
|
15
|
+
## Rules
|
|
16
|
+
|
|
17
|
+
Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries (sure/certainly/of course/happy to), hedging. Fragments OK. Short synonyms (big not extensive, fix not "implement a solution for"). Abbreviate common terms (DB/auth/config/req/res/fn/impl). Strip conjunctions. Use arrows for causality (X -> Y). One word when one word enough.
|
|
18
|
+
|
|
19
|
+
Technical terms stay exact. Code blocks unchanged. Errors quoted exact.
|
|
20
|
+
|
|
21
|
+
Pattern: `[thing] [action] [reason]. [next step].`
|
|
22
|
+
|
|
23
|
+
Not: "Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by..."
|
|
24
|
+
Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:"
|
|
25
|
+
|
|
26
|
+
## Auto-Clarity Exception
|
|
27
|
+
|
|
28
|
+
Drop terse temporarily for: security warnings, irreversible action confirmations, multi-step sequences where fragment order risks misread, user asks to clarify or repeats question. Resume after clear part done.
|
|
29
|
+
|
|
30
|
+
Example — destructive op:
|
|
31
|
+
|
|
32
|
+
> **Warning:** This will permanently delete all rows in the `users` table and cannot be undone.
|
|
33
|
+
>
|
|
34
|
+
> ```sql
|
|
35
|
+
> DROP TABLE users;
|
|
36
|
+
> ```
|
|
37
|
+
>
|
|
38
|
+
> Terse resume. Verify backup exist first.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
<!-- story: e04s02 -->
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: trace-requirement
|
|
3
|
+
model: haiku
|
|
4
|
+
description: "Link story IDs from specs/release-plan.yaml + epic capsule directories to the implementing code and tests. Produces specs/TRACEABILITY_LATEST.md. Use when you want to verify coverage of a release plan, audit which stories are implemented, or find \"dark\" stories with no code."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Trace Requirement
|
|
8
|
+
|
|
9
|
+
Build a traceability matrix from `specs/release-plan.yaml + epic capsule directories` to implementing code and tests. Surfaces gaps in both directions: stories with no code, and code with no story.
|
|
10
|
+
|
|
11
|
+
## Pre-flight
|
|
12
|
+
|
|
13
|
+
> **HARD GATE** — `specs/release-plan.yaml + epic capsule directories` must exist. If it doesn't, run `plan-release` first.
|
|
14
|
+
|
|
15
|
+
→ verify: `[ -f specs/release-plan.yaml + epic capsule directories ] && echo "ready" || echo "BLOCKED: run plan-release first"`
|
|
16
|
+
|
|
17
|
+
Read `specs/release-plan.yaml + epic capsule directories` fully before proceeding.
|
|
18
|
+
|
|
19
|
+
## Process
|
|
20
|
+
|
|
21
|
+
### 1. Extract story IDs
|
|
22
|
+
|
|
23
|
+
From release-plan.yaml, collect all story IDs (e.g. `1.1`, `1.2`, `2.1`).
|
|
24
|
+
|
|
25
|
+
→ verify: `grep -o "Story [0-9]\+\.[0-9]\+" specs/release-plan.yaml + epic capsule directories | sort -u`
|
|
26
|
+
|
|
27
|
+
### 2. Search for story tags in code
|
|
28
|
+
|
|
29
|
+
Look for `// story: X.Y` or `# story: X.Y` comments in source files and tests:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
grep -rn "story: " . --include="*.ts" --include="*.js" --include="*.py" --include="*.sh" | grep -v node_modules
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
→ verify: `grep -rn "story: " . --include="*.ts" --include="*.sh" | wc -l`
|
|
36
|
+
|
|
37
|
+
### 3. Build the matrix
|
|
38
|
+
|
|
39
|
+
For each story ID:
|
|
40
|
+
- **Implemented**: list files that contain `// story: X.Y`
|
|
41
|
+
- **Tested**: list test files that contain `// story: X.Y`
|
|
42
|
+
- **Dark**: story has no tag in any file — flag as unimplemented
|
|
43
|
+
|
|
44
|
+
For each tagged file with no matching story ID in release-plan.yaml:
|
|
45
|
+
- **Orphan**: code exists but story was removed or never planned — flag for cleanup
|
|
46
|
+
|
|
47
|
+
### 4. Write specs/TRACEABILITY_LATEST.md
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
## Story Coverage
|
|
51
|
+
|
|
52
|
+
| Story | Title | Files | Tests | Status |
|
|
53
|
+
|-------|--------------------|-------|-------|-----------|
|
|
54
|
+
| 1.1 | [title] | 2 | 1 | Covered |
|
|
55
|
+
| 1.2 | [title] | 0 | 0 | Dark |
|
|
56
|
+
|
|
57
|
+
## Orphan Code (no story tag)
|
|
58
|
+
- [file]: contains untagged implementation
|
|
59
|
+
|
|
60
|
+
## Gaps (dark stories)
|
|
61
|
+
- Story 1.2: no implementation found → run plan-work
|
|
62
|
+
|
|
63
|
+
## Coverage summary
|
|
64
|
+
Stories: [X] covered / [Y] dark / [Z] total
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
→ verify: `grep -c "Covered\|Dark" specs/TRACEABILITY_LATEST.md`
|
|
68
|
+
|
|
69
|
+
Suggest `plan-work` for each dark story found.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: using-bigpowers
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: "One-time bootstrap that introduces the bigpowers skills system, the PMBOK lifecycle arc, and tells you which skill to call first for your situation. Use when starting with bigpowers for the first time, when user asks \"where do I start?\", or when the skills system needs to be explained."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Using bigpowers
|
|
8
|
+
> **HARD GATE** — **HARD GATE** — This skill is the entry point. Do NOT skip it when onboarding new users or starting a new session. It establishes the bigpowers methodology, lifecycle phases, and conventions.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
Welcome to **bigpowers** — a lifecycle of **70** agent skills for production-ready, TDD-driven software by solo developers.
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx bigpowers setup # one-shot setup
|
|
17
|
+
npm install -g bigpowers # global install
|
|
18
|
+
bigpowers setup # sync skills + link to your tools
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
From source: `git clone` → `bash scripts/install.sh`. Package: [bigpowers on npm](https://www.npmjs.com/package/bigpowers).
|
|
22
|
+
|
|
23
|
+
**Reach tools:** **Cline** — native AGENTS.md reader (no extension). **Aider** — opt-in `.aider.conf.yml` with `read: AGENTS.md` ([Aider-AI/aider](https://github.com/Aider-AI/aider)). **Codex CLI** — optional `.codex/config.toml` via seed-conventions; global `~/.codex/AGENTS.md` from install.sh.
|
|
24
|
+
|
|
25
|
+
## What bigpowers is
|
|
26
|
+
|
|
27
|
+
A curated set of skills organized around the PMBOK developer lifecycle. Each skill does one thing. Skills reference each other by name only — low coupling, high cohesion. All written output goes to `specs/` at your project root.
|
|
28
|
+
|
|
29
|
+
## The lifecycle at a glance
|
|
30
|
+
|
|
31
|
+
See orchestrate-project for the canonical 6-phase lifecycle.
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
BOOTSTRAP using-bigpowers (this skill, first time only)
|
|
35
|
+
↓
|
|
36
|
+
DISCOVER survey-context → research-first → elaborate-spec
|
|
37
|
+
↓
|
|
38
|
+
DESIGN model-domain / define-language / grill-me / deepen-architecture / design-interface
|
|
39
|
+
↓
|
|
40
|
+
PLAN scope-work → slice-tasks → define-success → plan-work / plan-refactor
|
|
41
|
+
↓
|
|
42
|
+
INITIATE kickoff-branch → guard-git / hook-commits / seed-conventions
|
|
43
|
+
↓
|
|
44
|
+
SPIKE? spike-prototype → (feeds back to plan-work)
|
|
45
|
+
↓
|
|
46
|
+
EXECUTE develop-tdd + enforce-first ←→ delegate-task / dispatch-agents / execute-plan
|
|
47
|
+
↓
|
|
48
|
+
VERIFY run-evals → verify-work
|
|
49
|
+
↓
|
|
50
|
+
HARDEN wire-observability (any phase)
|
|
51
|
+
↓
|
|
52
|
+
BUG? investigate-bug → diagnose-root → validate-fix
|
|
53
|
+
↓
|
|
54
|
+
REVIEW audit-code → request-review → respond-review
|
|
55
|
+
↓
|
|
56
|
+
INTEGRATE commit-message → release-branch
|
|
57
|
+
↓
|
|
58
|
+
SUSTAIN inspect-quality / organize-workspace (ongoing)
|
|
59
|
+
|
|
60
|
+
UTILITY terse-mode / craft-skill / edit-document (any phase)
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Where to start
|
|
64
|
+
|
|
65
|
+
| Your situation | First skill to call |
|
|
66
|
+
|---------------|---------------------|
|
|
67
|
+
| Greenfield project, nothing set up | `seed-conventions` |
|
|
68
|
+
| Existing project, new task | `survey-context` |
|
|
69
|
+
| Vague idea that needs shaping | `elaborate-spec` |
|
|
70
|
+
| Plan exists, ready to implement | `kickoff-branch` → `develop-tdd` |
|
|
71
|
+
| Bug to fix | `investigate-bug` |
|
|
72
|
+
| Code ready for review | `audit-code` |
|
|
73
|
+
| Shipping a feature | `commit-message` → `release-branch` |
|
|
74
|
+
| Solo dev, PRs feel heavy | Enable `profiles/solo-git.md` → `specs/WORKFLOW-solo-git.md` → land via `scripts/land-branch.sh` |
|
|
75
|
+
|
|
76
|
+
## Solo Git profile
|
|
77
|
+
|
|
78
|
+
If you work alone and do not want PR ceremony every task:
|
|
79
|
+
|
|
80
|
+
1. Read [profiles/solo-git.md](../../profiles/solo-git.md).
|
|
81
|
+
2. Register with `compose-workflow` → `specs/WORKFLOW-solo-git.md`.
|
|
82
|
+
3. Ship with `release-branch` in **solo-local** mode (`land-branch.sh`), not `gh pr create`.
|
|
83
|
+
|
|
84
|
+
You still use worktrees, protected `main`, and verification gates — only the integrate step changes.
|
|
85
|
+
|
|
86
|
+
## YAML cockpit and dashboard
|
|
87
|
+
|
|
88
|
+
Operational source of truth:
|
|
89
|
+
|
|
90
|
+
- `specs/state.yaml` — session, active epic/story, handoff
|
|
91
|
+
- `specs/release-plan.yaml` — release index and epic list
|
|
92
|
+
- `specs/epics/eNN-*.yaml` — stories and tasks with `verify`
|
|
93
|
+
- `specs/execution-status.yaml` — done/pending per story
|
|
94
|
+
|
|
95
|
+
Start the HTTP dashboard with `visual-dashboard` → `GET /api/status?projectDir=<abs>` and `GET /cockpit.html` for a read-only PM view.
|
|
96
|
+
|
|
97
|
+
## Key conventions
|
|
98
|
+
|
|
99
|
+
- **specs/ is your memory.** All domain docs, plans, and investigation outputs go in `specs/` at your project root.
|
|
100
|
+
- **Integrate:** team default is `gh pr` (team-pr); solo profile uses `land-branch.sh`. Never create GitHub issues from skills — use local Markdown files instead.
|
|
101
|
+
- **One skill, one thing.** If you're unsure which skill to call, call `survey-context` — it reads your current state and recommends the next step.
|
|
102
|
+
- **verify: every step.** Every epic task must have `verify: <runnable command>`. Evidence over claims.
|
|
103
|
+
- **The full catalog is auto-generated.** See `SKILL-INDEX.md`; find skills with `search-skills`.
|
|
104
|
+
|
|
105
|
+
## After this
|
|
106
|
+
|
|
107
|
+
Call `survey-context` to read your project's current state and get a personalized recommendation for where to go next.
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
<!-- story: e03s02 -->
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: validate-contracts
|
|
3
|
+
model: sonnet
|
|
4
|
+
description: "Assert data shape consistency across system boundaries — live API responses against JSON Schema, key-set comparison across layers, data shape validation for migrations and exports. Catches silent data corruption before deploy."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Validate Contracts
|
|
8
|
+
|
|
9
|
+
> **HARD GATE** — Do NOT deploy or migrate data without running `validate-contracts` first. Silent data divergence between system boundaries causes the hardest-to-debug production bugs.
|
|
10
|
+
>
|
|
11
|
+
> **HARD GATE** — Contract files MUST be version-controlled alongside code. Outdated contracts are worse than no contracts. If a contract hasn't been reviewed in 30 days, flag it as stale.
|
|
12
|
+
|
|
13
|
+
Validate that data structures stay in sync across system boundaries — front-end vs
|
|
14
|
+
back-end, API responses vs expected schemas, config files vs code assumptions,
|
|
15
|
+
migration output vs target shape.
|
|
16
|
+
|
|
17
|
+
## Contract types
|
|
18
|
+
|
|
19
|
+
Three modes of validation:
|
|
20
|
+
|
|
21
|
+
| Mode | What it catches | When to use |
|
|
22
|
+
|------|----------------|-------------|
|
|
23
|
+
| **Schema** | API response shape mismatches (missing field, wrong type) | Before every deploy, after API changes |
|
|
24
|
+
| **Key-set** | Missing/unexpected keys across two data sources | Translation files, configs, enum definitions |
|
|
25
|
+
| **Shape** | Column type or format violations in data files | After migrations, before consuming exports |
|
|
26
|
+
|
|
27
|
+
## Contract file convention
|
|
28
|
+
|
|
29
|
+
All contract files live in `specs/contracts/` and use YAML:
|
|
30
|
+
|
|
31
|
+
See [REFERENCE.md](REFERENCE.md) for examples.
|
|
32
|
+
|
|
33
|
+
### 1. API Response Contracts (`--schema`)
|
|
34
|
+
|
|
35
|
+
Define expected API response shapes and validate live endpoints against them:
|
|
36
|
+
|
|
37
|
+
See [REFERENCE.md](REFERENCE.md) for examples.
|
|
38
|
+
|
|
39
|
+
Usage:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
validate-contracts --schema specs/contracts/users.schema.yaml --url https://api.example.com/users
|
|
43
|
+
# → PASS: /api/users matches expected schema (3/3 fields, types ok)
|
|
44
|
+
# → FAIL: /api/users — field 'email' has type null (expected string)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 2. Key-Set Contracts (`--key-set`)
|
|
48
|
+
|
|
49
|
+
Assert that two data sources share a consistent set of keys:
|
|
50
|
+
|
|
51
|
+
See [REFERENCE.md](REFERENCE.md) for examples.
|
|
52
|
+
|
|
53
|
+
Usage:
|
|
54
|
+
|
|
55
|
+
See [REFERENCE.md](REFERENCE.md) for examples.
|
|
56
|
+
|
|
57
|
+
### 3. Data Shape Contracts (`--shape`)
|
|
58
|
+
|
|
59
|
+
Validate that a data file matches expected column types and constraints:
|
|
60
|
+
|
|
61
|
+
See [REFERENCE.md](REFERENCE.md) for examples.
|
|
62
|
+
|
|
63
|
+
Usage:
|
|
64
|
+
|
|
65
|
+
See [REFERENCE.md](REFERENCE.md) for examples.
|
|
66
|
+
|
|
67
|
+
## Process
|
|
68
|
+
|
|
69
|
+
### 1. Define contract
|
|
70
|
+
|
|
71
|
+
Create a YAML file in `specs/contracts/` following the schema for the mode.
|
|
72
|
+
|
|
73
|
+
### 2. Run validation
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
bash scripts/validate-contracts.sh <contract-file>
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
The runner auto-detects the contract type from the file content (presence of `schema:`,
|
|
80
|
+
`sources:`, or `file:` + `fields:` keys).
|
|
81
|
+
|
|
82
|
+
### 3. Read the report
|
|
83
|
+
|
|
84
|
+
Output is JSON Lines (one event per line) plus a human-readable summary:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
{"event":"pass","check":"users.schema","detail":"3/3 fields match types"}
|
|
88
|
+
{"event":"warn","check":"users.schema","detail":"field 'avatar' has format: uri (unexpected)"}
|
|
89
|
+
{"event":"fail","check":"i18n-keys","detail":"missing: 2 keys in target"}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Final summary:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
=== Validate Contracts Summary ===
|
|
96
|
+
Schema: 3/3 pass | Key-set: 1/1 fail | Shape: 2/2 pass
|
|
97
|
+
FAILED: 1 contract has divergence
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 4. Fix divergence
|
|
101
|
+
|
|
102
|
+
- **Missing keys** → add to target source
|
|
103
|
+
- **Type mismatches** → update schema or fix producer
|
|
104
|
+
- **Shape violations** → fix migration or consumer
|
|
105
|
+
|
|
106
|
+
### 5. Re-validate
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
bash scripts/validate-contracts.sh <contract-file>
|
|
110
|
+
# → All pass → ready to deploy
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
# Validate Contracts — Reference
|
|
116
|
+
|
|
117
|
+
## Navigation
|
|
118
|
+
|
|
119
|
+
| Lines | Section |
|
|
120
|
+
|-------|---------|
|
|
121
|
+
| 1 | Title |
|
|
122
|
+
| 3–14 | Navigation |
|
|
123
|
+
| 16–24 | Integration |
|
|
124
|
+
| 26–35 | Configuration |
|
|
125
|
+
| 37–46 | Verification |
|
|
126
|
+
| 48–170 | Reference blocks + Examples 1–6 |
|
|
127
|
+
| 172–190 | Integration (duplicate) + Configuration + Verification |
|
|
128
|
+
|
|
129
|
+
## Integration
|
|
130
|
+
|
|
131
|
+
- **Pre-deploy gate:** The `deploy` skill runs `validate-contracts` before smoke-test.
|
|
132
|
+
- **CI pipeline:** JSON Lines output is CI-friendly; pipe to `jq` for assertions.
|
|
133
|
+
- **Pre-migration:** Run `validate-contracts --shape` before consuming migration output.
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Configuration
|
|
139
|
+
|
|
140
|
+
| Variable | Default | Description |
|
|
141
|
+
|----------|---------|-------------|
|
|
142
|
+
| `CONTRACTS_DIR` | `specs/contracts/` | Directory containing contract YAML files |
|
|
143
|
+
| `VALIDATE_ALL` | `false` | If true, run all contracts in the directory |
|
|
144
|
+
| `STRICT_MODE` | `false` | Treat warnings as failures |
|
|
145
|
+
| `OUTPUT_FORMAT` | `text` | `text` or `json` |
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Verification
|
|
151
|
+
|
|
152
|
+
→ verify: `test -f validate-contracts/SKILL.md && grep -q 'name: validate-contracts' validate-contracts/SKILL.md && echo OK`
|
|
153
|
+
→ verify: `grep -qi 'specs/contracts\|JSON Schema\|key.set\|data.shape' validate-contracts/SKILL.md && echo OK`
|
|
154
|
+
→ verify: `grep -ci 'divergence\|missing key\|type mismatch\|diff\|conforms\|column' validate-contracts/SKILL.md | awk '{if($1>=3) print "OK"; else print "FAIL"}'`
|
|
155
|
+
→ verify: `grep -ci 'JSON Lines\|machine.parse\|CI\|deploy.*gate\|pre.deploy' validate-contracts/SKILL.md | awk '{if($1>=2) print "OK"; else print "FAIL"}'`
|
|
156
|
+
→ verify: `grep -q 'validate-contracts' SKILL-INDEX.md && echo OK`
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Reference block 1
|
|
161
|
+
|
|
162
|
+
```yaml
|
|
163
|
+
# specs/contracts/users.schema.yaml
|
|
164
|
+
endpoint: /api/users
|
|
165
|
+
method: GET
|
|
166
|
+
schema:
|
|
167
|
+
type: object
|
|
168
|
+
required: [id, name, email]
|
|
169
|
+
properties:
|
|
170
|
+
id: { type: number }
|
|
171
|
+
name: { type: string }
|
|
172
|
+
email: { type: string, format: email }
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Reference block 2
|
|
178
|
+
|
|
179
|
+
```yaml
|
|
180
|
+
# specs/contracts/migration-output.yaml
|
|
181
|
+
file: data/users-export.json
|
|
182
|
+
format: json
|
|
183
|
+
fields:
|
|
184
|
+
- name: user_id
|
|
185
|
+
type: number
|
|
186
|
+
required: true
|
|
187
|
+
- name: full_name
|
|
188
|
+
type: string
|
|
189
|
+
required: true
|
|
190
|
+
- name: created_at
|
|
191
|
+
type: string
|
|
192
|
+
format: date-time
|
|
193
|
+
required: false
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Example 1
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
specs/contracts/
|
|
202
|
+
├── users.schema.yaml # API response schema
|
|
203
|
+
├── i18n-keys.yaml # Key-set comparison
|
|
204
|
+
├── migration-output.yaml # Data shape contract
|
|
205
|
+
└── README.md # Local conventions
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## Example 2
|
|
211
|
+
|
|
212
|
+
```yaml
|
|
213
|
+
# specs/contracts/users.schema.yaml
|
|
214
|
+
endpoint: /api/users
|
|
215
|
+
method: GET
|
|
216
|
+
schema:
|
|
217
|
+
type: object
|
|
218
|
+
required: [id, name, email]
|
|
219
|
+
properties:
|
|
220
|
+
id: { type: number }
|
|
221
|
+
name: { type: string }
|
|
222
|
+
email: { type: string, format: email }
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Example 3
|
|
228
|
+
|
|
229
|
+
```yaml
|
|
230
|
+
# specs/contracts/i18n-keys.yaml
|
|
231
|
+
sources:
|
|
232
|
+
reference: src/frontend/locales/en.json
|
|
233
|
+
target: src/backend/messages/en.json
|
|
234
|
+
mode: subset # all target keys must exist in reference
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
---
|
|
238
|
+
|
|
239
|
+
## Example 4
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
validate-contracts --key-set specs/contracts/i18n-keys.yaml
|
|
243
|
+
# → missing: 2 keys in reference not found in target: ['settings.privacy', 'help.faq']
|
|
244
|
+
# → added: 1 key in target not in reference: ['deprecated.field']
|
|
245
|
+
# → exit 1 (divergence)
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
## Example 5
|
|
251
|
+
|
|
252
|
+
```yaml
|
|
253
|
+
# specs/contracts/migration-output.yaml
|
|
254
|
+
file: data/users-export.json
|
|
255
|
+
format: json
|
|
256
|
+
fields:
|
|
257
|
+
- name: user_id
|
|
258
|
+
type: number
|
|
259
|
+
required: true
|
|
260
|
+
- name: full_name
|
|
261
|
+
type: string
|
|
262
|
+
required: true
|
|
263
|
+
- name: created_at
|
|
264
|
+
type: string
|
|
265
|
+
format: date-time
|
|
266
|
+
required: false
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
## Example 6
|
|
272
|
+
|
|
273
|
+
```bash
|
|
274
|
+
validate-contracts --shape specs/contracts/migration-output.yaml
|
|
275
|
+
# → PASS: 3/3 fields validated, 5000 rows OK
|
|
276
|
+
# → WARN: field 'full_name' has 12 null values (0.24%)
|
|
277
|
+
# → FAIL: field 'user_id' has 3 rows with type string (expected number)
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## Integration
|
|
283
|
+
|
|
284
|
+
- **Pre-deploy gate:** The `deploy` skill runs `validate-contracts` before smoke-test.
|
|
285
|
+
- **CI pipeline:** JSON Lines output is CI-friendly; pipe to `jq` for assertions.
|
|
286
|
+
- **Pre-migration:** Run `validate-contracts --shape` before consuming migration output.
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
## Configuration
|
|
292
|
+
|
|
293
|
+
| Variable | Default | Description |
|
|
294
|
+
|----------|---------|-------------|
|
|
295
|
+
| `CONTRACTS_DIR` | `specs/contracts/` | Directory containing contract YAML files |
|
|
296
|
+
| `VALIDATE_ALL` | `false` | If true, run all contracts in the directory |
|
|
297
|
+
| `STRICT_MODE` | `false` | Treat warnings as failures |
|
|
298
|
+
| `OUTPUT_FORMAT` | `text` | `text` or `json` |
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Verification
|
|
304
|
+
|
|
305
|
+
→ verify: `test -f validate-contracts/SKILL.md && grep -q 'name: validate-contracts' validate-contracts/SKILL.md && echo OK`
|
|
306
|
+
→ verify: `grep -qi 'specs/contracts\|JSON Schema\|key.set\|data.shape' validate-contracts/SKILL.md && echo OK`
|
|
307
|
+
→ verify: `grep -ci 'divergence\|missing key\|type mismatch\|diff\|conforms\|column' validate-contracts/SKILL.md | awk '{if($1>=3) print "OK"; else print "FAIL"}'`
|
|
308
|
+
→ verify: `grep -ci 'JSON Lines\|machine.parse\|CI\|deploy.*gate\|pre.deploy' validate-contracts/SKILL.md | awk '{if($1>=2) print "OK"; else print "FAIL"}'`
|
|
309
|
+
→ verify: `grep -q 'validate-contracts' SKILL-INDEX.md && echo OK`
|