bigpowers 2.87.3 → 2.87.5

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.
Files changed (259) hide show
  1. package/.cursor/rules/align-grid.mdc +109 -0
  2. package/.cursor/rules/assess-impact.mdc +90 -0
  3. package/.cursor/rules/audit-code.mdc +183 -0
  4. package/.cursor/rules/audit-plan.mdc +88 -0
  5. package/.cursor/rules/build-epic.mdc +104 -0
  6. package/.cursor/rules/change-request.mdc +120 -0
  7. package/.cursor/rules/commit-message.mdc +139 -0
  8. package/.cursor/rules/compose-workflow.mdc +81 -0
  9. package/.cursor/rules/context7-mcp.mdc +54 -0
  10. package/.cursor/rules/craft-skill.mdc +195 -0
  11. package/.cursor/rules/deepen-architecture.mdc +259 -0
  12. package/.cursor/rules/define-language.mdc +79 -0
  13. package/.cursor/rules/define-success.mdc +11 -0
  14. package/.cursor/rules/delegate-task.mdc +90 -0
  15. package/.cursor/rules/deploy.mdc +197 -0
  16. package/.cursor/rules/design-interface.mdc +96 -0
  17. package/.cursor/rules/develop-tdd.mdc +415 -0
  18. package/.cursor/rules/diagnose-root.mdc +23 -0
  19. package/.cursor/rules/diagnose-stall.mdc +53 -0
  20. package/.cursor/rules/dispatch-agents.mdc +117 -0
  21. package/.cursor/rules/edit-document.mdc +22 -0
  22. package/.cursor/rules/elaborate-spec.mdc +100 -0
  23. package/.cursor/rules/enforce-first.mdc +44 -0
  24. package/.cursor/rules/evolve-skill.mdc +54 -0
  25. package/.cursor/rules/execute-plan.mdc +60 -0
  26. package/.cursor/rules/extract-design.mdc +131 -0
  27. package/.cursor/rules/find-way.mdc +190 -0
  28. package/.cursor/rules/fix-bug.mdc +66 -0
  29. package/.cursor/rules/gate-trace.mdc +91 -0
  30. package/.cursor/rules/generate-allure-report.mdc +284 -0
  31. package/.cursor/rules/grill-me.mdc +107 -0
  32. package/.cursor/rules/grill-with-docs.mdc +52 -0
  33. package/.cursor/rules/guard-git.mdc +230 -0
  34. package/.cursor/rules/harden-vps.mdc +290 -0
  35. package/.cursor/rules/hook-commits.mdc +93 -0
  36. package/.cursor/rules/inspect-quality.mdc +105 -0
  37. package/.cursor/rules/investigate-bug.mdc +126 -0
  38. package/.cursor/rules/kickoff-branch.mdc +142 -0
  39. package/.cursor/rules/maintain-wiki.mdc +63 -0
  40. package/.cursor/rules/map-codebase.mdc +70 -0
  41. package/.cursor/rules/migrate-spec.mdc +907 -0
  42. package/.cursor/rules/model-domain.mdc +231 -0
  43. package/.cursor/rules/orchestrate-project.mdc +173 -0
  44. package/.cursor/rules/organize-workspace.mdc +163 -0
  45. package/.cursor/rules/plan-refactor.mdc +86 -0
  46. package/.cursor/rules/plan-release.mdc +144 -0
  47. package/.cursor/rules/plan-tests.mdc +74 -0
  48. package/.cursor/rules/plan-work.mdc +271 -0
  49. package/.cursor/rules/publish-package.mdc +337 -0
  50. package/.cursor/rules/quick-fix.mdc +113 -0
  51. package/.cursor/rules/release-branch.mdc +301 -0
  52. package/.cursor/rules/request-review.mdc +112 -0
  53. package/.cursor/rules/research-first.mdc +86 -0
  54. package/.cursor/rules/reset-baseline.mdc +20 -0
  55. package/.cursor/rules/respond-review.mdc +70 -0
  56. package/.cursor/rules/run-benchmark.mdc +84 -0
  57. package/.cursor/rules/run-evals.mdc +79 -0
  58. package/.cursor/rules/run-planning.mdc +100 -0
  59. package/.cursor/rules/scope-work.mdc +62 -0
  60. package/.cursor/rules/search-skills.mdc +72 -0
  61. package/.cursor/rules/security-review.mdc +383 -0
  62. package/.cursor/rules/seed-conventions.mdc +311 -0
  63. package/.cursor/rules/session-state.mdc +145 -0
  64. package/.cursor/rules/setup-environment.mdc +38 -0
  65. package/.cursor/rules/simple-english.mdc +345 -0
  66. package/.cursor/rules/simulate-agents.mdc +25 -0
  67. package/.cursor/rules/slice-tasks.mdc +67 -0
  68. package/.cursor/rules/smoke-test.mdc +260 -0
  69. package/.cursor/rules/spike-prototype.mdc +94 -0
  70. package/.cursor/rules/stocktake-skills.mdc +73 -0
  71. package/.cursor/rules/survey-context.mdc +134 -0
  72. package/.cursor/rules/terse-mode.mdc +41 -0
  73. package/.cursor/rules/trace-requirement.mdc +68 -0
  74. package/.cursor/rules/using-bigpowers.mdc +110 -0
  75. package/.cursor/rules/validate-contracts.mdc +285 -0
  76. package/.cursor/rules/validate-fix.mdc +146 -0
  77. package/.cursor/rules/verify-work.mdc +190 -0
  78. package/.cursor/rules/visual-dashboard.mdc +49 -0
  79. package/.cursor/rules/wire-ci.mdc +380 -0
  80. package/.cursor/rules/wire-observability.mdc +96 -0
  81. package/.cursor/rules/write-document.mdc +280 -0
  82. package/.gemini/extensions/bigpowers/commands/prompts/align-grid.md +109 -0
  83. package/.gemini/extensions/bigpowers/commands/prompts/assess-impact.md +90 -0
  84. package/.gemini/extensions/bigpowers/commands/prompts/audit-code.md +183 -0
  85. package/.gemini/extensions/bigpowers/commands/prompts/audit-plan.md +88 -0
  86. package/.gemini/extensions/bigpowers/commands/prompts/build-epic.md +104 -0
  87. package/.gemini/extensions/bigpowers/commands/prompts/change-request.md +120 -0
  88. package/.gemini/extensions/bigpowers/commands/prompts/commit-message.md +139 -0
  89. package/.gemini/extensions/bigpowers/commands/prompts/compose-workflow.md +81 -0
  90. package/.gemini/extensions/bigpowers/commands/prompts/context7-mcp.md +54 -0
  91. package/.gemini/extensions/bigpowers/commands/prompts/craft-skill.md +195 -0
  92. package/.gemini/extensions/bigpowers/commands/prompts/deepen-architecture.md +259 -0
  93. package/.gemini/extensions/bigpowers/commands/prompts/define-language.md +79 -0
  94. package/.gemini/extensions/bigpowers/commands/prompts/define-success.md +11 -0
  95. package/.gemini/extensions/bigpowers/commands/prompts/delegate-task.md +90 -0
  96. package/.gemini/extensions/bigpowers/commands/prompts/deploy.md +197 -0
  97. package/.gemini/extensions/bigpowers/commands/prompts/design-interface.md +96 -0
  98. package/.gemini/extensions/bigpowers/commands/prompts/develop-tdd.md +415 -0
  99. package/.gemini/extensions/bigpowers/commands/prompts/diagnose-root.md +23 -0
  100. package/.gemini/extensions/bigpowers/commands/prompts/diagnose-stall.md +53 -0
  101. package/.gemini/extensions/bigpowers/commands/prompts/dispatch-agents.md +117 -0
  102. package/.gemini/extensions/bigpowers/commands/prompts/edit-document.md +22 -0
  103. package/.gemini/extensions/bigpowers/commands/prompts/elaborate-spec.md +100 -0
  104. package/.gemini/extensions/bigpowers/commands/prompts/enforce-first.md +44 -0
  105. package/.gemini/extensions/bigpowers/commands/prompts/evolve-skill.md +54 -0
  106. package/.gemini/extensions/bigpowers/commands/prompts/execute-plan.md +60 -0
  107. package/.gemini/extensions/bigpowers/commands/prompts/extract-design.md +131 -0
  108. package/.gemini/extensions/bigpowers/commands/prompts/find-way.md +190 -0
  109. package/.gemini/extensions/bigpowers/commands/prompts/fix-bug.md +66 -0
  110. package/.gemini/extensions/bigpowers/commands/prompts/gate-trace.md +91 -0
  111. package/.gemini/extensions/bigpowers/commands/prompts/generate-allure-report.md +284 -0
  112. package/.gemini/extensions/bigpowers/commands/prompts/grill-me.md +107 -0
  113. package/.gemini/extensions/bigpowers/commands/prompts/grill-with-docs.md +52 -0
  114. package/.gemini/extensions/bigpowers/commands/prompts/guard-git.md +230 -0
  115. package/.gemini/extensions/bigpowers/commands/prompts/harden-vps.md +290 -0
  116. package/.gemini/extensions/bigpowers/commands/prompts/hook-commits.md +93 -0
  117. package/.gemini/extensions/bigpowers/commands/prompts/inspect-quality.md +105 -0
  118. package/.gemini/extensions/bigpowers/commands/prompts/investigate-bug.md +126 -0
  119. package/.gemini/extensions/bigpowers/commands/prompts/kickoff-branch.md +142 -0
  120. package/.gemini/extensions/bigpowers/commands/prompts/maintain-wiki.md +63 -0
  121. package/.gemini/extensions/bigpowers/commands/prompts/map-codebase.md +70 -0
  122. package/.gemini/extensions/bigpowers/commands/prompts/migrate-spec.md +907 -0
  123. package/.gemini/extensions/bigpowers/commands/prompts/model-domain.md +231 -0
  124. package/.gemini/extensions/bigpowers/commands/prompts/orchestrate-project.md +173 -0
  125. package/.gemini/extensions/bigpowers/commands/prompts/organize-workspace.md +163 -0
  126. package/.gemini/extensions/bigpowers/commands/prompts/plan-refactor.md +86 -0
  127. package/.gemini/extensions/bigpowers/commands/prompts/plan-release.md +144 -0
  128. package/.gemini/extensions/bigpowers/commands/prompts/plan-tests.md +74 -0
  129. package/.gemini/extensions/bigpowers/commands/prompts/plan-work.md +271 -0
  130. package/.gemini/extensions/bigpowers/commands/prompts/publish-package.md +337 -0
  131. package/.gemini/extensions/bigpowers/commands/prompts/quick-fix.md +113 -0
  132. package/.gemini/extensions/bigpowers/commands/prompts/release-branch.md +301 -0
  133. package/.gemini/extensions/bigpowers/commands/prompts/request-review.md +112 -0
  134. package/.gemini/extensions/bigpowers/commands/prompts/research-first.md +86 -0
  135. package/.gemini/extensions/bigpowers/commands/prompts/reset-baseline.md +20 -0
  136. package/.gemini/extensions/bigpowers/commands/prompts/respond-review.md +70 -0
  137. package/.gemini/extensions/bigpowers/commands/prompts/run-benchmark.md +84 -0
  138. package/.gemini/extensions/bigpowers/commands/prompts/run-evals.md +79 -0
  139. package/.gemini/extensions/bigpowers/commands/prompts/run-planning.md +100 -0
  140. package/.gemini/extensions/bigpowers/commands/prompts/scope-work.md +62 -0
  141. package/.gemini/extensions/bigpowers/commands/prompts/search-skills.md +72 -0
  142. package/.gemini/extensions/bigpowers/commands/prompts/security-review.md +383 -0
  143. package/.gemini/extensions/bigpowers/commands/prompts/seed-conventions.md +311 -0
  144. package/.gemini/extensions/bigpowers/commands/prompts/session-state.md +145 -0
  145. package/.gemini/extensions/bigpowers/commands/prompts/setup-environment.md +38 -0
  146. package/.gemini/extensions/bigpowers/commands/prompts/simple-english.md +345 -0
  147. package/.gemini/extensions/bigpowers/commands/prompts/simulate-agents.md +25 -0
  148. package/.gemini/extensions/bigpowers/commands/prompts/slice-tasks.md +67 -0
  149. package/.gemini/extensions/bigpowers/commands/prompts/smoke-test.md +260 -0
  150. package/.gemini/extensions/bigpowers/commands/prompts/spike-prototype.md +94 -0
  151. package/.gemini/extensions/bigpowers/commands/prompts/stocktake-skills.md +73 -0
  152. package/.gemini/extensions/bigpowers/commands/prompts/survey-context.md +134 -0
  153. package/.gemini/extensions/bigpowers/commands/prompts/terse-mode.md +41 -0
  154. package/.gemini/extensions/bigpowers/commands/prompts/trace-requirement.md +68 -0
  155. package/.gemini/extensions/bigpowers/commands/prompts/using-bigpowers.md +110 -0
  156. package/.gemini/extensions/bigpowers/commands/prompts/validate-contracts.md +285 -0
  157. package/.gemini/extensions/bigpowers/commands/prompts/validate-fix.md +146 -0
  158. package/.gemini/extensions/bigpowers/commands/prompts/verify-work.md +190 -0
  159. package/.gemini/extensions/bigpowers/commands/prompts/visual-dashboard.md +49 -0
  160. package/.gemini/extensions/bigpowers/commands/prompts/wire-ci.md +380 -0
  161. package/.gemini/extensions/bigpowers/commands/prompts/wire-observability.md +96 -0
  162. package/.gemini/extensions/bigpowers/commands/prompts/write-document.md +280 -0
  163. package/.gemini/extensions/bigpowers/gemini-extension.json +16 -0
  164. package/.gemini/extensions/bigpowers/hooks/HOOKS.md +43 -0
  165. package/.gemini/extensions/bigpowers/hooks/before-tool-git-guard.sh +26 -0
  166. package/.gemini/extensions/bigpowers/hooks/before-tool-rtk.sh +14 -0
  167. package/.gemini/extensions/bigpowers/hooks/before-tool-token-mgmt.sh +19 -0
  168. package/.gemini/extensions/bigpowers/hooks/hooks-manifest.json +36 -0
  169. package/.gemini/extensions/bigpowers/hooks/run-hook.cmd +29 -0
  170. package/.gemini/extensions/bigpowers/hooks/session-start +48 -0
  171. package/.gemini/extensions/bigpowers/hooks/settings.json.example +41 -0
  172. package/.gemini/extensions/bigpowers/skills/align-grid/SKILL.md +111 -0
  173. package/.gemini/extensions/bigpowers/skills/assess-impact/SKILL.md +92 -0
  174. package/.gemini/extensions/bigpowers/skills/audit-code/SKILL.md +185 -0
  175. package/.gemini/extensions/bigpowers/skills/audit-plan/SKILL.md +90 -0
  176. package/.gemini/extensions/bigpowers/skills/build-epic/SKILL.md +106 -0
  177. package/.gemini/extensions/bigpowers/skills/change-request/SKILL.md +122 -0
  178. package/.gemini/extensions/bigpowers/skills/commit-message/SKILL.md +141 -0
  179. package/.gemini/extensions/bigpowers/skills/compose-workflow/SKILL.md +83 -0
  180. package/.gemini/extensions/bigpowers/skills/context7-mcp/SKILL.md +56 -0
  181. package/.gemini/extensions/bigpowers/skills/craft-skill/SKILL.md +197 -0
  182. package/.gemini/extensions/bigpowers/skills/deepen-architecture/SKILL.md +261 -0
  183. package/.gemini/extensions/bigpowers/skills/define-language/SKILL.md +81 -0
  184. package/.gemini/extensions/bigpowers/skills/define-success/SKILL.md +13 -0
  185. package/.gemini/extensions/bigpowers/skills/delegate-task/SKILL.md +92 -0
  186. package/.gemini/extensions/bigpowers/skills/deploy/SKILL.md +199 -0
  187. package/.gemini/extensions/bigpowers/skills/design-interface/SKILL.md +98 -0
  188. package/.gemini/extensions/bigpowers/skills/develop-tdd/SKILL.md +417 -0
  189. package/.gemini/extensions/bigpowers/skills/diagnose-root/SKILL.md +25 -0
  190. package/.gemini/extensions/bigpowers/skills/diagnose-stall/SKILL.md +55 -0
  191. package/.gemini/extensions/bigpowers/skills/dispatch-agents/SKILL.md +119 -0
  192. package/.gemini/extensions/bigpowers/skills/edit-document/SKILL.md +24 -0
  193. package/.gemini/extensions/bigpowers/skills/elaborate-spec/SKILL.md +102 -0
  194. package/.gemini/extensions/bigpowers/skills/enforce-first/SKILL.md +46 -0
  195. package/.gemini/extensions/bigpowers/skills/evolve-skill/SKILL.md +56 -0
  196. package/.gemini/extensions/bigpowers/skills/execute-plan/SKILL.md +62 -0
  197. package/.gemini/extensions/bigpowers/skills/extract-design/SKILL.md +133 -0
  198. package/.gemini/extensions/bigpowers/skills/find-way/SKILL.md +192 -0
  199. package/.gemini/extensions/bigpowers/skills/fix-bug/SKILL.md +68 -0
  200. package/.gemini/extensions/bigpowers/skills/gate-trace/SKILL.md +93 -0
  201. package/.gemini/extensions/bigpowers/skills/generate-allure-report/SKILL.md +286 -0
  202. package/.gemini/extensions/bigpowers/skills/grill-me/SKILL.md +109 -0
  203. package/.gemini/extensions/bigpowers/skills/grill-with-docs/SKILL.md +54 -0
  204. package/.gemini/extensions/bigpowers/skills/guard-git/SKILL.md +232 -0
  205. package/.gemini/extensions/bigpowers/skills/harden-vps/SKILL.md +292 -0
  206. package/.gemini/extensions/bigpowers/skills/hook-commits/SKILL.md +95 -0
  207. package/.gemini/extensions/bigpowers/skills/inspect-quality/SKILL.md +107 -0
  208. package/.gemini/extensions/bigpowers/skills/investigate-bug/SKILL.md +128 -0
  209. package/.gemini/extensions/bigpowers/skills/kickoff-branch/SKILL.md +144 -0
  210. package/.gemini/extensions/bigpowers/skills/maintain-wiki/SKILL.md +65 -0
  211. package/.gemini/extensions/bigpowers/skills/map-codebase/SKILL.md +72 -0
  212. package/.gemini/extensions/bigpowers/skills/migrate-spec/SKILL.md +909 -0
  213. package/.gemini/extensions/bigpowers/skills/model-domain/SKILL.md +233 -0
  214. package/.gemini/extensions/bigpowers/skills/orchestrate-project/SKILL.md +175 -0
  215. package/.gemini/extensions/bigpowers/skills/organize-workspace/SKILL.md +165 -0
  216. package/.gemini/extensions/bigpowers/skills/plan-refactor/SKILL.md +88 -0
  217. package/.gemini/extensions/bigpowers/skills/plan-release/SKILL.md +146 -0
  218. package/.gemini/extensions/bigpowers/skills/plan-tests/SKILL.md +76 -0
  219. package/.gemini/extensions/bigpowers/skills/plan-work/SKILL.md +273 -0
  220. package/.gemini/extensions/bigpowers/skills/publish-package/SKILL.md +339 -0
  221. package/.gemini/extensions/bigpowers/skills/quick-fix/SKILL.md +115 -0
  222. package/.gemini/extensions/bigpowers/skills/release-branch/SKILL.md +303 -0
  223. package/.gemini/extensions/bigpowers/skills/request-review/SKILL.md +114 -0
  224. package/.gemini/extensions/bigpowers/skills/research-first/SKILL.md +88 -0
  225. package/.gemini/extensions/bigpowers/skills/reset-baseline/SKILL.md +22 -0
  226. package/.gemini/extensions/bigpowers/skills/respond-review/SKILL.md +72 -0
  227. package/.gemini/extensions/bigpowers/skills/run-benchmark/SKILL.md +86 -0
  228. package/.gemini/extensions/bigpowers/skills/run-evals/SKILL.md +81 -0
  229. package/.gemini/extensions/bigpowers/skills/run-planning/SKILL.md +102 -0
  230. package/.gemini/extensions/bigpowers/skills/scope-work/SKILL.md +64 -0
  231. package/.gemini/extensions/bigpowers/skills/search-skills/SKILL.md +74 -0
  232. package/.gemini/extensions/bigpowers/skills/security-review/SKILL.md +385 -0
  233. package/.gemini/extensions/bigpowers/skills/seed-conventions/SKILL.md +313 -0
  234. package/.gemini/extensions/bigpowers/skills/session-state/SKILL.md +147 -0
  235. package/.gemini/extensions/bigpowers/skills/setup-environment/SKILL.md +40 -0
  236. package/.gemini/extensions/bigpowers/skills/simple-english/SKILL.md +347 -0
  237. package/.gemini/extensions/bigpowers/skills/simulate-agents/SKILL.md +27 -0
  238. package/.gemini/extensions/bigpowers/skills/slice-tasks/SKILL.md +69 -0
  239. package/.gemini/extensions/bigpowers/skills/smoke-test/SKILL.md +262 -0
  240. package/.gemini/extensions/bigpowers/skills/spike-prototype/SKILL.md +96 -0
  241. package/.gemini/extensions/bigpowers/skills/stocktake-skills/SKILL.md +75 -0
  242. package/.gemini/extensions/bigpowers/skills/survey-context/SKILL.md +136 -0
  243. package/.gemini/extensions/bigpowers/skills/terse-mode/SKILL.md +43 -0
  244. package/.gemini/extensions/bigpowers/skills/trace-requirement/SKILL.md +70 -0
  245. package/.gemini/extensions/bigpowers/skills/using-bigpowers/SKILL.md +112 -0
  246. package/.gemini/extensions/bigpowers/skills/validate-contracts/SKILL.md +287 -0
  247. package/.gemini/extensions/bigpowers/skills/validate-fix/SKILL.md +148 -0
  248. package/.gemini/extensions/bigpowers/skills/verify-work/SKILL.md +192 -0
  249. package/.gemini/extensions/bigpowers/skills/visual-dashboard/SKILL.md +51 -0
  250. package/.gemini/extensions/bigpowers/skills/wire-ci/SKILL.md +382 -0
  251. package/.gemini/extensions/bigpowers/skills/wire-observability/SKILL.md +98 -0
  252. package/.gemini/extensions/bigpowers/skills/write-document/SKILL.md +282 -0
  253. package/.pi/package.json +1 -1
  254. package/CHANGELOG.md +14 -0
  255. package/package.json +1 -1
  256. package/scripts/lib/__pycache__/link_utils.cpython-312.pyc +0 -0
  257. package/scripts/lib/__pycache__/srp_engine_links.cpython-312.pyc +0 -0
  258. package/scripts/lib/install-helpers.js +147 -20
  259. package/scripts/test-install-helpers.js +141 -0
@@ -0,0 +1,122 @@
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
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # story: e45s29
9
+ # story: e20s01
10
+
11
+ # Change Request
12
+
13
+ > **HARD GATE** — `specs/release-plan.yaml` must exist before running either mode. If it doesn't, run `plan-release` first.
14
+ >
15
+ > → verify: `test -f specs/release-plan.yaml`
16
+
17
+ Two modes. State which one you want or the skill will ask.
18
+
19
+ ## Mode A — Add
20
+
21
+ Intake a new requirement mid-flight without disrupting work in progress.
22
+
23
+ 1. **Capture**: What is the change? What problem does it solve?
24
+ 2. **Locate**: Which existing stories in `specs/epics/` does it affect or replace?
25
+ 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).
26
+ 4. **Place**: Append story under existing epic capsule, or create `specs/epics/eNN-slug.yaml` and register in `release-plan.yaml` `epics[]`.
27
+ 5. **Score**: Compute WSJF; note if it outranks in-progress work.
28
+
29
+ → verify: `grep -c 'stories:' specs/epics/*/epic.yaml`
30
+
31
+ ## Mode B — Reorder
32
+
33
+ Value-engineering pass over the full release using WSJF.
34
+
35
+ See [REFERENCE.md](REFERENCE.md) for the full WSJF scoring rubric.
36
+
37
+ 1. **Score** each epic/story: BV + TC + RR / Job Size.
38
+ 2. **Re-sort** `release-plan.yaml` `epics[]` and per-epic `wsjf` fields.
39
+ 3. **Flag cut candidates**: WSJF < 1.5.
40
+ 4. **Update** `specs/release-plan.yaml` and epic `wsjf` keys with rationale.
41
+ 5. **Report** the delta.
42
+
43
+ → verify: `grep -c 'wsjf' specs/release-plan.yaml specs/epics/*/epic.yaml`
44
+
45
+ ## Conversational Mode
46
+
47
+ 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.
48
+
49
+ ### 5-Step Flow
50
+
51
+ 1. **Capture**: Parse the natural-language request for what, why, and where. Ask at most 3 clarifying questions before drafting.
52
+ 2. **Locate**: Identify which epic or capability in `specs/epics/` the request affects or replaces.
53
+ 3. **Draft**: Present a structured draft of the proposed story and tasks for user confirmation.
54
+ 4. **Score**: Estimate the WSJF score and explain the calculation so the user understands the priority.
55
+ 5. **Place**: Confirm the final epic placement with the user before writing files.
56
+
57
+ ## After either mode
58
+
59
+ Run `bash scripts/sync-status-from-epics.sh`. Suggest `plan-work` or `build-epic` for the top-ranked unstarted story.
60
+
61
+ ---
62
+
63
+ # WSJF Scoring Reference
64
+
65
+ Weighted Shortest Job First: **WSJF = (Business Value + Time Criticality + Risk Reduction) / Job Size**
66
+
67
+ All dimensions scored 1–10 using a Fibonacci-like scale: 1, 2, 3, 5, 8, 10.
68
+
69
+ ## Business Value
70
+
71
+ | Score | Meaning |
72
+ |-------|---------|
73
+ | 10 | Core revenue path, legal requirement, blocking launch |
74
+ | 8 | Significant user value, major pain point removed |
75
+ | 5 | Notable improvement, medium user segment affected |
76
+ | 3 | Nice-to-have, minor convenience |
77
+ | 1 | Cosmetic or speculative |
78
+
79
+ ## Time Criticality
80
+
81
+ | Score | Meaning |
82
+ |-------|---------|
83
+ | 10 | Hard deadline (regulatory, contract, launch date) |
84
+ | 8 | Competitive window closing, partner dependency |
85
+ | 5 | Would delay next milestone if deferred |
86
+ | 3 | Flexible, can slip one sprint |
87
+ | 1 | No urgency |
88
+
89
+ ## Risk Reduction (or Opportunity Enablement)
90
+
91
+ | Score | Meaning |
92
+ |-------|---------|
93
+ | 10 | Eliminates critical architectural risk or enables a new capability |
94
+ | 8 | Reduces a known failure mode or unblocks high-value work |
95
+ | 5 | Moderate risk mitigation or enablement |
96
+ | 3 | Low risk reduction |
97
+ | 1 | No risk relevance |
98
+
99
+ ## Job Size (effort denominator — larger = lower WSJF)
100
+
101
+ | Score | Meaning |
102
+ |-------|---------|
103
+ | 1 | Hours |
104
+ | 2 | 1 day |
105
+ | 3 | 2–3 days |
106
+ | 5 | 1 week |
107
+ | 8 | 2 weeks |
108
+ | 10 | 1 month+ |
109
+
110
+ ## Cut threshold
111
+
112
+ Stories with WSJF < 1.5 are cut candidates: high effort, low combined value.
113
+
114
+ ## Example
115
+
116
+ Story: "Add OAuth login"
117
+ - Business Value: 8 (removes major sign-up friction)
118
+ - Time Criticality: 5 (Q3 launch nice, not hard)
119
+ - Risk Reduction: 3 (minor security improvement)
120
+ - Job Size: 5 (one week)
121
+
122
+ WSJF = (8 + 5 + 3) / 5 = **3.2** — healthy, implement early.
@@ -0,0 +1,141 @@
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
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # Commit Message
9
+ > **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.'
10
+
11
+
12
+ ## Modes
13
+
14
+ - Default: standard Conventional Commits message
15
+ - --fix-type: Forces type=fix. Use when commit type is unambiguous.
16
+
17
+ ## What "last chat" means
18
+
19
+ - **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).
20
+ - **Context:** use the current conversation to summarize *intent* and to spot **breaking** API/behavior changes that diff alone may not show.
21
+ - 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.
22
+
23
+ ## Quick workflow
24
+
25
+ 1. **Inventory** — List changed paths; group by feature vs chore vs docs vs test-only.
26
+ 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.
27
+ 3. **Classify for semantic release** — `fix` → patch, `feat` → minor, **breaking** → major.
28
+ 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.
29
+ 5. **Note defensive-code categories touched** — from CONVENTIONS.md: Rate limit | Retry with backoff | Circuit breaker | Timeout | Graceful degradation
30
+ 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.
31
+ 7. **Deliver** — Output:
32
+ - Proposed **full commit message** (title + optional body + footers).
33
+ - **Release bump** this commit would drive: `patch` | `minor` | `major` | `none`.
34
+ - Optional `git add …` and `git commit -m` instructions; do **not** run destructive git commands unless the user asked.
35
+
36
+ ## Checklist before finalizing
37
+
38
+ - [ ] Type matches the **dominant** user-visible outcome (`feat` vs `fix` vs `perf`, etc.).
39
+ - [ ] **Scope** is a short noun in parentheses if it helps (e.g. `fix(api): …`).
40
+ - [ ] Breaking changes are explicit (`!` and/or `BREAKING CHANGE:` in the body/footer).
41
+ - [ ] Description is imperative, lowercase start after the prefix, no trailing period in the title line.
42
+ - [ ] **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.
43
+
44
+ ## When not to invent a bump
45
+
46
+ 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).
47
+
48
+ ## Further reading
49
+
50
+ - [REFERENCE.md](REFERENCE.md) — Message shape, footers, release mapping, squashing notes.
51
+
52
+
53
+
54
+ ## Handoff
55
+
56
+ Gate: READY -> next: release-branch
57
+ Writes: state.yaml handoff.next_skill = release-branch
58
+
59
+ ---
60
+
61
+ # Conventional Commits + semantic-style release (reference)
62
+
63
+ ## Message format
64
+
65
+ From [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/#specification):
66
+
67
+ ```text
68
+ <type>[optional scope][optional !]: <description>
69
+
70
+ [optional body]
71
+
72
+ [optional footer(s)]
73
+ ```
74
+
75
+ - **Scope:** parenthesized noun, e.g. `feat(parser): …`.
76
+ - **Breaking:** `!` before `:` (e.g. `feat(api)!: …`) and/or footer `BREAKING CHANGE: description` (token must be uppercase per spec for that footer name).
77
+ - **Description:** short summary; body explains *why* or migration steps.
78
+
79
+ 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).
80
+
81
+ ## Advanced Specification Patterns
82
+
83
+ ### Reverts
84
+ 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>.`.
85
+
86
+ ```text
87
+ revert: feat(api): add user endpoint
88
+
89
+ This reverts commit 676104e.
90
+ ```
91
+
92
+ ### Breaking Changes
93
+ A breaking change can be signaled by:
94
+ 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).
95
+ 2. A **`!`** after the type/scope: `feat(api)!: change user response shape`.
96
+
97
+ **Pro-tip:** For maximum compatibility with all tooling (older and newer), use BOTH the `!` and the `BREAKING CHANGE:` footer.
98
+
99
+ ### Footers (Tokens & Values)
100
+ Footers follow the same `Token: value` pattern as Git Trailers. Common tokens:
101
+ - `Refs: #123`
102
+ - `See-also: docs/ADR-001.md`
103
+ - `Signed-off-by: Name <email>`
104
+
105
+ **Multi-line footers:** If a footer value spans multiple lines, each subsequent line must be indented.
106
+
107
+ ### Squashing & History
108
+ When using `gh pr merge --squash`, the PR title is usually used as the commit subject.
109
+ - **PR Title:** MUST follow `<type>(<scope>): <description>`
110
+ - **PR Body:** Content will be moved to the commit body.
111
+
112
+ ## Release Type Mapping (Default Angular Preset)
113
+
114
+ This table reflects the **out-of-the-box** behavior of `semantic-release` using the `@semantic-release/commit-analyzer` default (Angular) rules.
115
+
116
+ | Commit pattern | Release | Notes |
117
+ |----------------|---------|-------|
118
+ | `fix:` | **Patch** | Bug fixes |
119
+ | `feat:` | **Minor** | New features |
120
+ | `perf:` | **Patch** | Performance improvements |
121
+ | `any type` + `BREAKING CHANGE:` footer | **Major** | **Mandatory** for Major version bumps in default configs. |
122
+ | `any type!:` (exclamation mark) | **Major** | Supported by modern CC parsers, but use footer for max safety. |
123
+ | `docs:`, `chore:`, `test:`, `ci:`, `refactor:`, `style:` | **None** | Does not trigger a new release by default. |
124
+
125
+ > **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.
126
+
127
+ ## Custom Repositories
128
+
129
+ - Read `release.config.js`, `.releaserc`, or `package.json` → `release` / `semantic-release` config.
130
+ - The **@semantic-release/commit-analyzer** preset may map types differently; prefer **their** rules when they conflict with this reference.
131
+
132
+ ## Squash and PR titles
133
+
134
+ - 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.
135
+ - `revert:` type and `Refs:` footers are valid patterns; revert handling varies by [tooling](https://www.conventionalcommits.org/en/v1.0.0/#specification).
136
+
137
+ ## Links
138
+
139
+ - [Conventional Commits — specification](https://www.conventionalcommits.org/en/v1.0.0/#specification)
140
+ - [semantic-release — README (commit format & flow)](https://github.com/semantic-release/semantic-release#commit-message-format)
141
+ - Automation and docs align with [semantic-release](https://github.com/semantic-release/semantic-release) upstream; a fork may be substituted without changing this guidance.
@@ -0,0 +1,83 @@
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
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # story: e09s01
9
+ # story: e45s27
10
+ # story: e21s04
11
+
12
+ # Compose Workflow
13
+ > **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.
14
+
15
+
16
+ ## Process
17
+
18
+ 1. Interview: goal, phases, which skills, gates between steps.
19
+ 2. Write `specs/workflows/<name>.yaml`:
20
+ - `name`, `command`, `description`, `skills[]`, `verify`
21
+ - Optional: `args` for skill-specific arguments
22
+ 3. Register in state.yaml Active Decisions.
23
+ 4. Optional: reference from `orchestrate-project` Ad-Hoc mode.
24
+
25
+ > **Prefer the YAML recipe format** over the legacy `specs/WORKFLOW-<name>.md` markdown format.
26
+ > YAML recipes are command-mappable, machine-readable, and listed in the Standard Recipe Library.
27
+
28
+ ## Terminal-state taxonomy (e45s27)
29
+
30
+ Every workflow step and `/loop` tick MUST exit with exactly one terminal state:
31
+
32
+ | State | Meaning | Next action |
33
+ |-------|---------|-------------|
34
+ | `success` | Step verify passed; artifacts written | Advance to next skill in recipe |
35
+ | `no-op` | Nothing to do (already green / already applied) | Skip step; advance |
36
+ | `blocked` | External gate (approval, red CI, missing dep) | `diagnose-stall` or escalate to user |
37
+ | `exhausted` | Max iterations/cycles reached (review cap, dispatch cycles) | Stop; human decision required |
38
+
39
+ 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`.
40
+
41
+ ## Standard Recipe Library
42
+
43
+ Pre-built recipes in `specs/workflows/` map agentic stack commands to skill chains.
44
+ Reference them in AGENTS.md so `/command` directly invokes the matching recipe.
45
+
46
+ | Command | Workflow | Skill chain |
47
+ |---------|----------|-------------|
48
+ | `/check-stack` | check-stack | survey-context → assess-impact → setup-environment |
49
+ | `/ship` | ship | audit-code → commit-message → release-branch |
50
+ | `/tdd` | tdd | develop-tdd → enforce-first |
51
+ | `/code-review` | code-review | audit-code → request-review → respond-review |
52
+ | `/security` | security | audit-code → request-review |
53
+ | `/plan` | plan | survey-context → research-first → plan-work |
54
+ | `/build-fix` | build-fix | investigate-bug → diagnose-root → develop-tdd → validate-fix |
55
+ | `/e2e` | e2e | smoke-test → verify-work |
56
+
57
+ Add to `AGENTS.md`:
58
+ ```
59
+ /check-stack = compose-workflow check-stack
60
+ /ship = compose-workflow ship
61
+ ```
62
+
63
+ ## Verify
64
+
65
+ → verify: `[ "$(ls specs/workflows/*.yaml 2>/dev/null | wc -l | tr -d ' ')" -ge 8 ]`
66
+
67
+ See [REFERENCE.md](REFERENCE.md) for template.
68
+
69
+ ---
70
+
71
+ # Workflow template
72
+
73
+ ```markdown
74
+ # WORKFLOW: <name>
75
+
76
+ **Trigger:** Use when ...
77
+
78
+ | Step | Skill | Output | verify |
79
+ |------|-------|--------|--------|
80
+ | 1 | survey-context | state.yaml handoff | ... |
81
+ | 2 | research-first | Prior Art in SCOPE_LATEST.yaml | ... |
82
+ | 3 | plan-work | epics/eNN-*.yaml tasks | ... |
83
+ ```
@@ -0,0 +1,56 @@
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
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # Context7 MCP
9
+
10
+ > **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.
11
+ >
12
+ > **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.
13
+
14
+ ## When to Use
15
+
16
+ - Setup/configuration questions ("How do I configure Next.js middleware?")
17
+ - Code involving libraries ("Write a Prisma query for…")
18
+ - API references ("What are the Supabase auth methods?")
19
+ - User mentions specific frameworks (React, Vue, Svelte, Express, Tailwind, etc.)
20
+
21
+ ## Bounded Retry (max 3x)
22
+
23
+ | Attempt | Action |
24
+ |---------|--------|
25
+ | 1 | `resolve-library-id` → pick best match |
26
+ | 2 | `query-docs` with selected `libraryId` |
27
+ | 3 | Retry `query-docs` once with refined query (narrower scope) |
28
+
29
+ After 3 failures, stop and print:
30
+
31
+ ```
32
+ CONTEXT7_UNAVAILABLE
33
+ Reason: <quota|rate-limit|no-match|timeout>
34
+ Action: Ask user to retry later, paste official docs URL, or run `bts docs <lib>`.
35
+ Do NOT substitute training-data answers without labeling them UNVERIFIED.
36
+ ```
37
+
38
+ ## Fetch Cache (ETag-revalidated)
39
+
40
+ 1. **Cache key:** `"<libraryId>:<normalized-query>"` (lowercase, trimmed).
41
+ 2. **Read:** `bash scripts/lib/doc-fetch-cache.sh get "<key>"` — exit 0 → use cached body.
42
+ 3. **Miss / stale:** call `query-docs`; store via `doc-fetch-cache.sh put`.
43
+ 4. **TTL:** 300s default (`DOC_CACHE_TTL`). Stale entries refresh on next fetch; honor `ETag` when MCP returns it.
44
+
45
+ `bts docs <lib>` shares the same cache helper when invoked from this skill.
46
+
47
+ ## Process
48
+
49
+ 1. `resolve-library-id` with `libraryName` + full user `query`.
50
+ 2. Select match: name similarity, reputation, benchmark score; prefer version-specific IDs when user names a version.
51
+ 3. `query-docs` with `libraryId` + specific question (one concept per call).
52
+ 4. Answer using fetched docs; cite library/version when relevant.
53
+
54
+ ## Verify
55
+
56
+ → verify: `test -f scripts/lib/doc-fetch-cache.sh`
@@ -0,0 +1,197 @@
1
+ ---
2
+ name: craft-skill
3
+ model: sonnet
4
+ description: "Create new bigpowers skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill for the bigpowers lifecycle."
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # Craft Skill
9
+
10
+ > **HARD GATE** — Do NOT name a skill without a two-word verb-noun pair. Do NOT merge a new skill without running `sync-skills.sh`. Generated `.cursor/rules/` and `.gemini/` artifacts MUST match the source SKILL.md.
11
+
12
+ ## CSO Description Discipline (e45s02)
13
+
14
+ The YAML `description` is the **Catalog Selection Object** — the only field agents see when picking a skill.
15
+
16
+ | Rule | Limit |
17
+ |------|-------|
18
+ | Max length | 1024 characters |
19
+ | Voice | Third person |
20
+ | Content | Capability + `Use when …` triggers only |
21
+ | Forbidden | Workflow steps, phase chains, numbered lists, `→ verify:`, HARD GATE prose |
22
+
23
+ Move process detail into the SKILL.md body or REFERENCE.md — never into `description`.
24
+
25
+ ## Agentic STE body discipline (e79s02)
26
+
27
+ Skill-body instructional prose MUST follow [AGENTIC-STE.md](../../docs/AGENTIC-STE.md).
28
+
29
+ | Rule | Limit |
30
+ |------|-------|
31
+ | Sentence length | ≤20 words per instruction sentence |
32
+ | Voice | Imperative, active |
33
+ | Directive terms | MUST, MUST NOT, NEVER, ALWAYS, DO, DO NOT |
34
+ | Banned modals | should, might, could, may, consider, try, generally, typically |
35
+ | Scope | SKILL.md body only — not YAML `description`, not `terse-mode` output |
36
+
37
+ > **HARD GATE** — Do NOT merge a new or edited skill until `bash scripts/validate-agentic-ste.sh --strict skills/<name>/SKILL.md` exits 0. Fix violations before `sync-skills.sh`.
38
+
39
+ ## Process
40
+
41
+ 1. **Gather requirements** — ask user about:
42
+ - What task/domain does the skill cover?
43
+ - Which use cases must the skill handle?
44
+ - Does it need executable scripts or just instructions?
45
+ - Any reference materials to include?
46
+ - What specs/ output does it produce (if any)?
47
+
48
+ 2. **Verify Principles** — Ensure the skill aligns with [PRINCIPLES.md](../../docs/PRINCIPLES.md):
49
+ - Is it atomic (verb-noun)?
50
+ - Is it "deep" (simple interface, complex internal logic)?
51
+ - Does it include Hard Gates?
52
+ - Is it verifiable with a `.feature` file?
53
+
54
+ 3. **Draft the skill** — create:
55
+ - SKILL.md with concise instructions (see [REFERENCE.md](REFERENCE.md) for template)
56
+ - Additional reference files if content exceeds 100 lines
57
+ - Utility scripts if deterministic operations needed
58
+
59
+ **Auto-skill from library README:** When user provides a library README or API docs URL, extract triggers and HARD GATEs.
60
+ Draft verify commands and specs/ output into SKILL.md. Do NOT invent APIs not in the source.
61
+
62
+ 4. Add `model:` frontmatter (`haiku` | `sonnet` | `opus`) per [model-profiles.md](../../docs/references/model-profiles.md).
63
+
64
+ > **STREAM CONTINUITY** — When writing file content, output in continuous chunks of ~200 lines. Do not pause. Continue immediately until complete. If you need time, emit a placeholder comment rather than going silent.
65
+
66
+ 5. **Review with user** — present draft and ask:
67
+ - Does this cover your use cases?
68
+ - Anything missing or unclear?
69
+ - Does any section need more or less detail?
70
+
71
+ 6. **Completion-honesty gate (HARD GATE — e45s02)** — Before declaring done:
72
+ - Run `bash scripts/validate-skill-description.sh skills/<name>/SKILL.md` — must exit 0
73
+ - Run `bash scripts/validate-agentic-ste.sh --strict skills/<name>/SKILL.md` — must exit 0 (e79s02)
74
+ - Run `bash scripts/sync-skills.sh` — must complete without error
75
+ - Run `bash scripts/run-skill-verify.sh <name>` if the skill defines a verify command
76
+ - Show terminal output for each — narration without evidence is rejected
77
+
78
+ ## Naming Rules
79
+
80
+ Every skill name must be a **two-word verb-noun pair**. See [REFERENCE.md](REFERENCE.md) for full rules, examples, and documented exceptions.
81
+
82
+ ## specs/ Output
83
+
84
+ If the skill produces written output, it goes in `specs/` at the project root. Document the output file path in the skill body and in CONVENTIONS.md's output files table.
85
+
86
+ ## Review Checklist
87
+
88
+ After drafting, verify:
89
+
90
+ - [ ] Name is a two-word verb-noun pair (or follows grill-me exception)
91
+ - [ ] Description < 1024 chars, triggers only, no workflow-summary leakage
92
+ - [ ] Description includes triggers ("Use when...")
93
+ - [ ] SKILL.md under 100 lines
94
+ - [ ] No time-sensitive info
95
+ - [ ] Consistent terminology with CONVENTIONS.md
96
+ - [ ] specs/ output documented if applicable
97
+ - [ ] `validate-skill-description.sh` exits 0
98
+ - [ ] `validate-agentic-ste.sh --strict` exits 0 (e79s02)
99
+ - [ ] `sync-skills.sh` run to propagate to Cursor/Gemini
100
+ - [ ] `bash scripts/validate-skill-catalog.sh` passes for the new skill (HARD GATE — completion honesty)
101
+
102
+ > **HARD GATE** — Do NOT declare the skill done until `bash scripts/validate-skill-catalog.sh --strict --skill <name>` exits 0. Validator enforces verb-noun name, HARD GATE block, description ≤1024 chars, and `→ verify:` command.
103
+
104
+ ## Verify
105
+
106
+ → verify: `bash scripts/validate-skill-catalog.sh --strict --skill craft-skill && bash scripts/validate-skill-description.sh skills/craft-skill/SKILL.md`
107
+
108
+ ---
109
+
110
+ # Craft Skill — Reference
111
+
112
+ ## Naming Rules (full)
113
+
114
+ Every skill name must be a **two-word verb-noun pair**:
115
+ - First word: a verb (survey, model, define, develop, audit…)
116
+ - Second word: a noun from PMBOK 6 / Agile vocabulary (context, domain, language, tdd, code…)
117
+ - Pronounceable in any language, searchable, no noise words, no encodings
118
+ - Exception precedent: `grill-me` — kept for recognizability
119
+
120
+ Good: `survey-context`, `audit-code`, `validate-fix`
121
+ Bad: `context-surveyor`, `code-auditing-skill`, `fix-validator`
122
+
123
+ Any new naming exception requires an entry in CONVENTIONS.md before the skill is published.
124
+
125
+ ## Skill Structure
126
+
127
+ ```
128
+ skill-name/
129
+ ├── SKILL.md # Main instructions (required)
130
+ ├── REFERENCE.md # Detailed docs (if needed)
131
+ ├── EXAMPLES.md # Usage examples (if needed)
132
+ └── scripts/ # Utility scripts (if needed)
133
+ └── helper.sh
134
+ ```
135
+
136
+ ## SKILL.md Template
137
+
138
+ ```md
139
+ ---
140
+ name: skill-name
141
+ description: Brief description of capability. Use when [specific triggers].
142
+ ---
143
+
144
+ # Skill Name
145
+
146
+ ## Quick start
147
+
148
+ [Minimal working example]
149
+
150
+ ## Workflows
151
+
152
+ [Step-by-step processes with checklists for complex tasks]
153
+
154
+ ## Advanced features
155
+
156
+ [Link to separate files: See [REFERENCE.md](REFERENCE.md)]
157
+ ```
158
+
159
+ ## Description Requirements
160
+
161
+ The description is **the only thing your agent sees** when deciding which skill to load.
162
+
163
+ **Format**:
164
+ - Max 1024 chars
165
+ - Write in third person
166
+ - First sentence: what it does
167
+ - Second sentence: "Use when [specific triggers]"
168
+
169
+ **Good example**:
170
+ ```
171
+ Investigate a bug by exploring the codebase to find root cause, then write a TDD-based fix plan to specs/bugs/BUG-*.md. Use when user reports a bug, wants to investigate a problem, or mentions "triage".
172
+ ```
173
+
174
+ ## When to Add Scripts
175
+
176
+ Add utility scripts when:
177
+ - Operation is deterministic (validation, formatting)
178
+ - Same code would be generated repeatedly
179
+ - Errors need explicit handling
180
+
181
+ ## When to Split Files
182
+
183
+ Split into separate files when:
184
+ - SKILL.md exceeds 100 lines
185
+ - Content has distinct domains
186
+ - Advanced features are rarely needed
187
+
188
+ ## sync-skills.sh Propagation
189
+
190
+ After adding a new skill directory with SKILL.md, run `scripts/sync-skills.sh` from the bigpowers repo root. This automatically generates:
191
+ - `.cursor/rules/<name>.mdc` — for Cursor
192
+ - `.gemini/extensions/bigpowers/skills/<name>/SKILL.md` — Agent Skill
193
+ - `.gemini/extensions/bigpowers/commands/<name>.toml` — Slash Command
194
+ - `.gemini/extensions/bigpowers/commands/prompts/<name>.md` — Command Prompt
195
+ - Updated `gemini-extension.json`
196
+
197
+ verify: `bash scripts/sync-skills.sh 2>&1 | grep "skills synced"`