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