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,909 @@
1
+ ---
2
+ name: migrate-spec
3
+ model: sonnet
4
+ description: "Detect GSD, spec-kit, or BMAD spec artifacts and transform them into bigpowers YAML layout (state.yaml, release-plan.yaml, epics/, requirements/, plans/, ADRs). Use when migrating foreign spec docs."
5
+ disable-model-invocation: true
6
+ ---
7
+
8
+ # story: e25s01
9
+ # story: e25s02
10
+ # story: e25s03
11
+ # story: e25s04
12
+ # story: e25s05
13
+ # story: e25s06
14
+
15
+ # Migrate Spec
16
+
17
+ Transform existing GSD, spec-kit, or BMAD planning artifacts into the bigpowers `specs/` model. No code is written — the output is a set of bigpowers-format spec files the user can use immediately.
18
+
19
+ ## Quick start
20
+
21
+ 1. Run this skill from the root of the project being migrated (not the bigpowers repo itself).
22
+ 2. The skill auto-detects the source framework and presents its findings before transforming anything.
23
+ 3. All output goes to `specs/` at the project root.
24
+
25
+ ---
26
+
27
+ ## Red flags — stop and ask
28
+
29
+ Before proceeding, check for these rationalization traps:
30
+
31
+ - **Partial artifact set** — only one fingerprint file found (e.g. just `spec.md` with no `plan.md`). Don't assume it's a complete project. Ask: "I found only X — is this the full set of your spec artifacts?"
32
+ - **Wrong trigger** — user said "migrate my code" or "migrate the database", not "migrate my specs". Confirm before running.
33
+ - **Stale source** — source artifacts have commit dates older than 6 months with no recent activity. Flag: "These specs appear inactive since <date>. Are they still the source of truth?"
34
+ - **Active divergence** — source `state.yaml` or `sprint-status.yaml` shows in-progress work. Flag: "There is active work in flight. Migrating now may lose in-progress context. Proceed?"
35
+
36
+ If any red flag fires: surface it, wait for explicit user confirmation before continuing.
37
+
38
+ ---
39
+
40
+ ## Process
41
+
42
+ ### Step 1 — Detect the source framework
43
+
44
+ Scan for the fingerprints below. Stop at first match; if multiple match, list them and ask the user which is primary.
45
+
46
+ | Framework | Fingerprints (any one is sufficient) |
47
+ |-----------|--------------------------------------|
48
+ | **GSD** | `.planning/` directory; `.planning/ROADMAP.md`; `.planning/REQUIREMENTS.md` with `REQ-` IDs |
49
+ | **spec-kit** | `.specify/` directory; `spec.md` + `plan.md` at root; `.github/skills/speckit-*/SKILL.md` |
50
+ | **BMAD** | `_bmad/` directory; `_bmad-output/` directory; `prd.md` with `FR-` IDs; `epic-*.md` or `story-*.md` |
51
+
52
+ If none found: ask the user which framework before proceeding.
53
+
54
+ → verify: `test -d specs && test -f specs/state.yaml`
55
+
56
+ ### Step 2 — Inventory the source artifacts
57
+
58
+ List every artifact found matching the detected framework. Present the list to the user:
59
+
60
+ See [REFERENCE.md](REFERENCE.md) — `Detected: GSD...`
61
+
62
+ → verify: `test -d specs && test -w specs`
63
+
64
+ ### Step 3 — Transform (one artifact at a time, show diffs)
65
+
66
+ Apply the mapping from [REFERENCE.md](./REFERENCE.md) and [REFERENCE-GSD.md](./REFERENCE-GSD.md). For each target file:
67
+
68
+ 1. Show what will be created or appended (title + first 20 lines).
69
+ 2. Ask: "Create this? [yes / edit / skip]"
70
+ 3. On yes: write to `specs/`.
71
+
72
+ #### ID Tracking (REQ-XX, FR-XX, UJ-XX)
73
+
74
+ When source artifacts contain IDs (REQ-XX, FR-XX, UJ-XX), emit them as **first-class YAML fields** in `in_scope` entries, not YAML comments:
75
+
76
+ See [REFERENCE.md](REFERENCE.md) — `# CORRECT — first-class id: field...`
77
+
78
+ **When source has no IDs:** Prompt the user: "No IDs found. Assign auto-generated IDs? [yes / no]". If yes, emit `REQ-{NNN}` with `# auto-generated` annotation.
79
+
80
+ **When source has MIXED IDs:** Items with IDs get `id:` fields; items without IDs receive auto-generated `REQ-NNN` entries. Document which were auto-generated in a comment block at the top of `in_scope`.
81
+
82
+ See [REFERENCE.md — in_scope format with ID tracking](./REFERENCE.md#in_scope-format-with-id-tracking) for examples.
83
+
84
+ #### Traceability Output (FR-XX, UJ-XX)
85
+
86
+ When source has FR-XX or UJ-XX IDs, emit `specs/product/REQUIREMENTS_TRACE.yaml` for end-to-end requirement traceability:
87
+
88
+ See [REFERENCE.md](REFERENCE.md) — `trace:...`
89
+
90
+ **Existing trace file:** If `REQUIREMENTS_TRACE.yaml` already exists, prompt: "REQUIREMENTS_TRACE.yaml exists. [overwrite / merge / skip]"
91
+
92
+ **No FR-XX/UJ-XX found:** Skip trace file; add note to state.yaml handoff: "No FR-XX/UJ-XX IDs found — traceability file skipped".
93
+
94
+ See [REFERENCE.md — REQUIREMENTS_TRACE.yaml format](./REFERENCE.md#requirements_traceyaml-format) for the complete schema.
95
+
96
+ > **HARD GATE** — Never overwrite an existing `specs/` file without explicit user confirmation. Merge into it if it exists; don't clobber.
97
+ >
98
+ > → verify: `git rev-parse --git-dir >/dev/null 2>&1 && test -d specs`
99
+
100
+ → verify: `test -d specs && [ "$(ls specs/*.md specs/*.yaml 2>/dev/null | wc -l | tr -d " ")" -gt 0 ]`
101
+
102
+ ### Step 4 — Generate state.yaml
103
+
104
+ Always regenerate `specs/state.yaml` from scratch in bigpowers YAML format (see REFERENCE.md for template). The **handoff block is mandatory** and must include all four fields:
105
+
106
+ See [REFERENCE.md](REFERENCE.md) — `active_flow: null...`
107
+
108
+ If no open decisions were found during migration, the `open_decisions` list may be empty with an explanatory comment:
109
+
110
+ See [REFERENCE.md](REFERENCE.md) — `handoff:...`
111
+
112
+ → verify: `grep -q handoff: specs/state.yaml`
113
+
114
+ ---
115
+
116
+ # migrate-spec Reference — GSD
117
+
118
+ Full artifact transformation rules for migrating GSD projects to bigpowers YAML layout.
119
+
120
+ See [REFERENCE.md](./REFERENCE.md) for spec-kit, BMAD, learnings, and ADR/DECISION-LOG formats.
121
+
122
+ ---
123
+
124
+ ## Artifact Locations
125
+
126
+ GSD stores everything under `.planning/` at the project root.
127
+
128
+ ```
129
+ .planning/
130
+ ├── ROADMAP.md
131
+ ├── STATE.md
132
+ ├── REQUIREMENTS.md
133
+ ├── METHODOLOGY.md
134
+ ├── HANDOFF.json
135
+ ├── .continue-here.md
136
+ └── phases/
137
+ └── XX-name/
138
+ ├── XX-CONTEXT.md
139
+ ├── XX-YY-PLAN.md
140
+ ├── XX-YY-SUMMARY.md
141
+ └── XX-DISCUSSION-LOG.md
142
+ spikes/
143
+ └── SPIKE-NNN/README.md
144
+ ```
145
+
146
+ ---
147
+
148
+ ## Transformation Rules
149
+
150
+ ### `.planning/ROADMAP.md` → `specs/release-plan.yaml` + `specs/epics/eNN-*.yaml`
151
+
152
+ GSD ROADMAP has: milestone name, phases, success criteria per phase, plan count.
153
+
154
+ Transform:
155
+ - Each GSD phase → one epic entry in `release-plan.yaml` (`id`, `title`, `wsjf`, `file`)
156
+ - Phase detail → matching `specs/epics/eNN-slug.yaml` (stories, tasks, `verify`)
157
+ - Completed phases → `done` in `execution-status.yaml`; active → `in_progress`
158
+
159
+ ---
160
+
161
+ ### `.planning/REQUIREMENTS.md` → `specs/product/SCOPE_LATEST.yaml`
162
+
163
+ GSD REQUIREMENTS has: REQ-XX IDs, Validated/Active/Out-of-Scope categories, traceability.
164
+
165
+ Transform:
166
+ - Preserve REQ-XX IDs as **first-class `id:` fields** in `in_scope` entries (see [REFERENCE.md — ID tracking format](./REFERENCE.md#in_scope-format-with-id-tracking))
167
+ - Validated requirements → `in_scope` entries with `id:`, `description:`, `source:` fields
168
+ - Out-of-Scope → `out_of_scope` entries (preserve IDs if present)
169
+ - Active (in-progress) → `in_scope` with status note
170
+
171
+ ---
172
+
173
+ ### `.planning/phases/XX-name/XX-CONTEXT.md` → `specs/tech-architecture/TECH_STACK_LATEST.md` + `specs/adr/`
174
+
175
+ GSD CONTEXT.md has 6 sections: domain, decisions, canonical_refs, code_context, specifics, deferred.
176
+
177
+ Transform:
178
+ - `domain` → `plans/TECH_STACK_LATEST.md` Domain section
179
+ - `decisions` → scan each: if hard-to-reverse + surprising → `specs/adr/NNNN-{slug}.md`; if lightweight → `specs/DECISION-LOG_LATEST.md`
180
+ - `canonical_refs` → Reference links in TECH_STACK
181
+ - `code_context` → Architecture section
182
+ - `deferred` → `SCOPE_LATEST.yaml` `out_of_scope` (with "(deferred from GSD)" note)
183
+
184
+ ---
185
+
186
+ ### `.planning/phases/XX-name/XX-YY-PLAN.md` → `specs/epics/eNN-*.yaml` tasks
187
+
188
+ GSD PLAN has: frontmatter (depends-on, verify), objective, typed tasks, success criteria, output spec.
189
+
190
+ Transform:
191
+ - Preserve task structure as `tasks[]` in epic shard
192
+ - Keep `verify: <command>` lines
193
+ - Map GSD `depends-on` to task `depends-on` notes
194
+ - SUMMARY.md (execution record) → skip or append to `specs/archive/`
195
+
196
+ ---
197
+
198
+ ### `.planning/METHODOLOGY.md` → `specs/tech-architecture/METHODOLOGY_LATEST.md`
199
+
200
+ GSD METHODOLOGY.md is a standing reference for analytical lenses (Bayesian updating, STRIDE, cost-of-delay).
201
+
202
+ Transform:
203
+ - Copy each lens as a section in `specs/tech-architecture/METHODOLOGY_LATEST.md`
204
+ - Note: "These lenses should inform `plan-work` and `audit-code` sessions."
205
+
206
+ ---
207
+
208
+ ### `.planning/HANDOFF.json` + `.continue-here.md` → `specs/state.yaml` `handoff`
209
+
210
+ GSD HANDOFF has: current phase, last plan, blocking reason, required reading list.
211
+
212
+ Transform — populate `handoff` in `state.yaml`:
213
+
214
+ ```yaml
215
+ handoff:
216
+ last_step_completed: "<phase/plan from HANDOFF>"
217
+ open_decisions:
218
+ - "<blocking reason if any>"
219
+ required_reading:
220
+ - "<required_reading list>"
221
+ next_skill: survey-context
222
+ ```
223
+
224
+ ---
225
+
226
+ ### `.planning/spikes/SPIKE-NNN/README.md` → `specs/archive/spikes/SPIKE-{name}.md`
227
+
228
+ GSD spike README has: YAML frontmatter (verdict, validates, related), methodology, findings, recommendation.
229
+
230
+ Transform:
231
+ - Flatten directory into `specs/archive/spikes/SPIKE-{name}.md`
232
+ - Preserve frontmatter as YAML block at top
233
+ - Keep verdict prominently: `**Verdict:** ADOPTED / REJECTED / DEFERRED`
234
+
235
+ ---
236
+
237
+ ## Skip List
238
+
239
+ These GSD artifacts are not migrated — they are execution records, not planning inputs:
240
+
241
+ | Artifact | Reason |
242
+ |----------|--------|
243
+ | `.planning/phases/XX/XX-YY-SUMMARY.md` | Execution log; no bigpowers equivalent |
244
+ | `.planning/phases/XX/XX-DISCUSSION-LOG.md` | Audit trail only; not consumed by agents |
245
+ | `.planning/USER-PROFILE.md` | User calibration; bigpowers has no profile system |
246
+ | `.planning/sketches/` | Visual exploration; not spec artifacts |
247
+
248
+ ---
249
+
250
+ # Migrate Spec — Reference
251
+
252
+ ## Navigation
253
+
254
+ | Lines | Section |
255
+ |-------|---------|
256
+ | 1 | Title |
257
+ | 3–68 | Navigation |
258
+ | 69–70 | spec-kit → bigpowers Mapping |
259
+ | 71–84 | Artifact Locations |
260
+ | 85–94 | `spec.md` → `specs/product/SCOPE_LATEST.yaml` + `specs/tech-architecture/TECH_STACK_LATEST.md` |
261
+ | 95–105 | `plan.md` → `specs/tech-architecture/TECH_STACK_LATEST.md` + `specs/release-plan.yaml` + `specs/epics/` |
262
+ | 106–114 | `tasks.md` → `specs/epics/` (via slice-tasks) |
263
+ | 115–120 | `.specify/` state |
264
+ | 121–122 | BMAD → bigpowers Mapping |
265
+ | 123–141 | Artifact Locations |
266
+ | 142–148 | `product-brief.md` / `prfaq-{project}.md` → `specs/product/VISION_LATEST.yaml` |
267
+ | 149–160 | `prd.md` → `specs/product/SCOPE_LATEST.yaml` + `GLOSSARY_LATEST.yaml` |
268
+ | 161–167 | `addendum.md` + `decision-log.md` → `specs/adr/` + `specs/DECISION-LOG_LATEST.md` |
269
+ | 168–174 | `architecture.md` → `specs/tech-architecture/TECH_STACK_LATEST.md` + `specs/adr/` |
270
+ | 175–178 | `epic-*.md` → `specs/release-plan.yaml` + `specs/epics/eNN-*.yaml` |
271
+ | 179–182 | `story-*.md` → `specs/epics/` stories |
272
+ | 183–188 | `project-context.md` → `CLAUDE.md` |
273
+ | 189–192 | Learnings to Adopt |
274
+ | 193–198 | From GSD |
275
+ | 199–204 | From spec-kit |
276
+ | 205–212 | From BMAD |
277
+ | 213–214 | Output Formats |
278
+ | 215–224 | ADR format (bigpowers) |
279
+ | 225–227 | Context |
280
+ | 228–230 | Decision |
281
+ | 231–234 | Consequences |
282
+ | 235–246 | DECISION-LOG.md format |
283
+ | 247–257 | MIGRATION-AUDIT.md format |
284
+ | 258–264 | Summary |
285
+ | 265–274 | High Priority Findings |
286
+ | 275–278 | Information |
287
+ | 279–285 | Next Steps |
288
+ | 286–306 | in_scope format with ID tracking |
289
+ | 307–341 | REQUIREMENTS_TRACE.yaml format |
290
+ | 342–397 | `specs/state.yaml` template format |
291
+ | 398–416 | Reference block 1 |
292
+ | 417–432 | Reference block 2 |
293
+ | 433–451 | Reference block 3 |
294
+ | 452–474 | Reference block 4 |
295
+ | 475–482 | Reference block 5 |
296
+ | 483–484 | Findings |
297
+ | 485–489 | High Priority |
298
+ | 490–495 | Information |
299
+ | 496–509 | Reference block 6 |
300
+ | 510–542 | Step 7 — Post-migration: Optional two-pass spec writing gate |
301
+ | 543–574 | Step 8 — Post-migration: Optional methodology doc template |
302
+ | 575–600 | Artifact Mapping Summary |
303
+ | 601–610 | Rules |
304
+ | 611–621 | Step 5 — Surface learnings (optional) |
305
+ | 622–644 | Step 6 — Adversarial review (optional) |
306
+ | 645–646 | Findings |
307
+ | 647–651 | High Priority |
308
+ | 652–660 | Information |
309
+
310
+ # migrate-spec Reference — spec-kit, BMAD, Learnings
311
+
312
+ Transformation rules for spec-kit and BMAD projects, plus learnings to adopt and output formats.
313
+
314
+ See [REFERENCE-GSD.md](./REFERENCE-GSD.md) for full GSD → bigpowers YAML mapping.
315
+
316
+ ---
317
+
318
+ ## spec-kit → bigpowers Mapping
319
+
320
+ ### Artifact Locations
321
+
322
+ ```
323
+ project-root/
324
+ ├── spec.md ← user journeys, success criteria, scope
325
+ ├── plan.md ← technology, architecture, constraints
326
+ ├── tasks.md ← atomic task list
327
+ └── .specify/
328
+ ├── workflow-catalogs.yml
329
+ └── workflows/runs/<id>/
330
+ ├── state.json
331
+ └── log.jsonl
332
+ ```
333
+
334
+ ### `spec.md` → `specs/product/SCOPE_LATEST.yaml` + `specs/tech-architecture/TECH_STACK_LATEST.md`
335
+
336
+ spec-kit `spec.md` focuses on: who uses it, user journeys, success criteria, what's in/out of scope.
337
+
338
+ Transform:
339
+ - User journeys → `SCOPE_LATEST.yaml` success criteria / `in_scope` entries
340
+ - In/out of scope → `in_scope` / `out_of_scope` sections
341
+ - Domain terms / glossary → `requirements/GLOSSARY_LATEST.yaml`
342
+ - Problem statement / vision → `requirements/VISION_LATEST.yaml`
343
+
344
+ ### `plan.md` → `specs/tech-architecture/TECH_STACK_LATEST.md` + `specs/release-plan.yaml` + `specs/epics/`
345
+
346
+ spec-kit `plan.md` covers: technology stack, architectural patterns, implementation constraints.
347
+
348
+ Transform:
349
+ - Technology decisions → `plans/TECH_STACK_LATEST.md` Technology section
350
+ - Architecture patterns → Architecture section
351
+ - Hard decisions with trade-offs → `specs/adr/NNNN-{slug}.md`
352
+ - Phased approach / milestones → `release-plan.yaml` epic entries
353
+ - Implementation steps → `epics/eNN-*.yaml` task list with `verify:`
354
+
355
+ ### `tasks.md` → `specs/epics/` (via slice-tasks)
356
+
357
+ spec-kit tasks are atomic, verifiable in isolation — same principle as bigpowers `verify:` mandate.
358
+
359
+ Transform:
360
+ - Copy tasks into epic shard `tasks[]`; preserve task numbers
361
+ - Add `verify:` line if spec-kit task has an acceptance criterion
362
+ - Group into epics matching `release-plan.yaml` entries
363
+
364
+ ### `.specify/` state
365
+
366
+ Discard — workflow engine state; not meaningful in the bigpowers skill model.
367
+
368
+ ---
369
+
370
+ ## BMAD → bigpowers Mapping
371
+
372
+ ### Artifact Locations
373
+
374
+ ```
375
+ project-root/
376
+ ├── _bmad/bmm/config.yaml
377
+ ├── _bmad-output/
378
+ │ ├── product-brief.md
379
+ │ ├── prfaq-{project}.md
380
+ │ ├── prd.md
381
+ │ ├── addendum.md
382
+ │ ├── decision-log.md
383
+ │ ├── ux-spec.md
384
+ │ └── architecture.md
385
+ ├── project-context.md
386
+ └── docs/
387
+ ├── epic-{slug}.md
388
+ └── story-{slug}.md
389
+ ```
390
+
391
+ ### `product-brief.md` / `prfaq-{project}.md` → `specs/product/VISION_LATEST.yaml`
392
+
393
+ Transform:
394
+ - Vision + core value → `VISION_LATEST.yaml` north_star / success_criteria
395
+ - Target users → notes in VISION or SCOPE
396
+ - prfaq customer FAQ → can inform success criteria in SCOPE
397
+
398
+ ### `prd.md` → `specs/product/SCOPE_LATEST.yaml` + `GLOSSARY_LATEST.yaml`
399
+
400
+ BMAD `prd.md` has: Glossary, FR-XX functional requirements, UJ-XX user journeys, NFRs, assumptions.
401
+
402
+ Transform:
403
+ - Glossary → `GLOSSARY_LATEST.yaml`
404
+ - FR-XX items → `in_scope` with IDs preserved
405
+ - UJ-XX user journeys → success criteria
406
+ - NFRs → `constraints` section
407
+ - `[ASSUMPTION: ...]` inline tags → collected in scope YAML
408
+ - Out-of-scope features → `out_of_scope`
409
+
410
+ ### `addendum.md` + `decision-log.md` → `specs/adr/` + `specs/DECISION-LOG_LATEST.md`
411
+
412
+ Transform:
413
+ - Hard, irreversible, surprising decisions → individual `specs/adr/NNNN-{slug}.md`
414
+ - Lightweight decisions → `specs/DECISION-LOG_LATEST.md` (date | decision | rationale)
415
+ - `addendum.md` change signals → note in `SCOPE_LATEST.yaml` metadata
416
+
417
+ ### `architecture.md` → `specs/tech-architecture/TECH_STACK_LATEST.md` + `specs/adr/`
418
+
419
+ Transform:
420
+ - ADR sections → individual `specs/adr/NNNN-{slug}.md` files
421
+ - System overview / data models → TECH_STACK Architecture section
422
+ - API contracts → keep at `docs/api.md` or similar; link from TECH_STACK
423
+
424
+ ### `epic-*.md` → `specs/release-plan.yaml` + `specs/epics/eNN-*.yaml`
425
+
426
+ Each epic → one release-plan entry + one epic shard. Acceptance criteria → story tasks with `verify:`.
427
+
428
+ ### `story-*.md` → `specs/epics/` stories
429
+
430
+ Each story → one story entry in epic shard. Acceptance criteria → `verify:` lines.
431
+
432
+ ### `project-context.md` → `CLAUDE.md`
433
+
434
+ Add a "## Project Context" section to `CLAUDE.md`. Copy tech stack, coding rules, preferences verbatim.
435
+
436
+ ---
437
+
438
+ ## Learnings to Adopt
439
+
440
+ Optional enhancements to offer the user after migration. Present as checkboxes.
441
+
442
+ ### From GSD
443
+
444
+ - [x] **`specs/tech-architecture/METHODOLOGY_LATEST.md`** — Standing analytical lenses. Agents read before planning. (adopted: optional Step 8 template scaffold)
445
+ - [x] **`handoff` block in state.yaml** — Last skill, last step, required reading for next session. (adopted: mandatory in Step 4 output)
446
+ - [x] **ID tracking in SCOPE_LATEST.yaml** — FR/UJ IDs for spec → plan → verification traceability. (adopted in Step 3 transform)
447
+
448
+ ### From spec-kit
449
+
450
+ - [x] **Two-pass spec writing** — User-journey pass first, then technical-decisions pass. (adopted: optional post-migration gate)
451
+ - [ ] **Explicit inter-phase gate** — "Approve to proceed?" at end of `elaborate-spec`.
452
+ - [ ] **Epic task isolation** — Each task completable in isolation; `depends-on` explicit in epic YAML.
453
+
454
+ ### From BMAD
455
+
456
+ - [x] **FR-XX + UJ-XX in SCOPE_LATEST.yaml** — Rigorous traceability. (adopted: REQUIREMENTS_TRACE.yaml emitted on migration)
457
+ - [ ] **`specs/DECISION-LOG_LATEST.md`** — Lightweight decisions below ADR threshold.
458
+ - [x] **Adversarial review pass** — Critique epic shard before `develop-tdd`. (adopted: optional Step 6 in migration)
459
+
460
+ ---
461
+
462
+ ## Output Formats
463
+
464
+ ### ADR format (bigpowers)
465
+
466
+ Use `model-domain/ADR-FORMAT.md`. Only create when all three apply: hard to reverse, surprising without context, result of a real trade-off.
467
+
468
+ ```markdown
469
+ # ADR-NNNN: {Title}
470
+
471
+ **Status:** Accepted
472
+ **Date:** YYYY-MM-DD
473
+
474
+ ## Context
475
+ [What situation forced this decision?]
476
+
477
+ ## Decision
478
+ [What was decided?]
479
+
480
+ ## Consequences
481
+ [What becomes easier or harder?]
482
+ ```
483
+
484
+ ### DECISION-LOG.md format
485
+
486
+ For lightweight decisions that don't warrant a full ADR:
487
+
488
+ ```markdown
489
+ # Decision Log
490
+
491
+ | Date | Decision | Rationale | Alternatives |
492
+ |------|----------|-----------|--------------|
493
+ | 2026-05-19 | Use Postgres | Existing ops expertise | SQLite (limited), DynamoDB (no local dev) |
494
+ ```
495
+
496
+ ### MIGRATION-AUDIT.md format
497
+
498
+ Post-migration adversarial review report. Written to `specs/archive/MIGRATION-AUDIT.md` when Step 6 runs:
499
+
500
+ ```markdown
501
+ # Migration Audit — <project-name>
502
+
503
+ **Source Framework:** <GSD|spec-kit|BMAD>
504
+ **Date:** <ISO 8601>
505
+ **Status:** <Pass|Findings|Critical>
506
+
507
+ ## Summary
508
+
509
+ - TODO markers: N
510
+ - FIXME markers: N
511
+ - MISSING markers: N
512
+ - Epics without verify: N
513
+
514
+ ## High Priority Findings
515
+
516
+ - **Artifact:** specs/epics/e02-auth-ui/epic.yaml
517
+ **Issue:** Story e02s01 has no verify: commands in tasks
518
+ **Recommendation:** Add runnable verify command before develop-tdd
519
+
520
+ - **Artifact:** specs/state.yaml
521
+ **Issue:** open_decisions list empty without comment explanation
522
+ **Recommendation:** Add # comment if all decisions were resolved during migration
523
+
524
+ ## Information
525
+
526
+ - Artifact specs/epics/e01-auth/epic.yaml contains TODO: "Define Neon Auth client URL injection" (normal for fresh migration)
527
+
528
+ ## Next Steps
529
+
530
+ 1. Address high-priority findings before plan-work
531
+ 2. Run bash scripts/audit-compliance.sh to enforce code quality gates
532
+ 3. Begin develop-tdd on highest-WSJF epic
533
+ ```
534
+
535
+ ### in_scope format with ID tracking
536
+
537
+ Source IDs (REQ-XX, FR-XX, UJ-XX) are emitted as first-class YAML fields:
538
+
539
+ ```yaml
540
+ in_scope:
541
+ - id: REQ-001
542
+ description: "User can register with email and password"
543
+ source: "REQUIREMENTS.md"
544
+ - id: FR-015
545
+ description: "Auth service must support OAuth2 token flow"
546
+ source: "prd.md"
547
+ - id: REQ-AUTO-002 # auto-generated when source had no ID
548
+ description: "Dashboard displays user profile"
549
+ # auto-generated: true (optional comment for tracking)
550
+ ```
551
+
552
+ **When source has no IDs:** If the user opts in, auto-generated IDs follow the `REQ-{NNN}` format with an optional `# auto-generated` comment.
553
+
554
+ **When source has mixed IDs:** Entries with source IDs get `id:` fields; entries without IDs receive auto-generated IDs. A comment block at the top of `in_scope` documents which IDs were auto-generated.
555
+
556
+ ### REQUIREMENTS_TRACE.yaml format
557
+
558
+ Emitted when source has FR-XX (functional requirement) or UJ-XX (user journey) IDs. Maps source requirements to bigpowers epic/story structure and verification commands:
559
+
560
+ ```yaml
561
+ trace:
562
+ # Functional Requirements
563
+ - id: FR-001
564
+ type: functional_requirement
565
+ description: "User can register with email/password"
566
+ source_artifact: "prd.md"
567
+ epic: "e02-auth-ui"
568
+ story: "e02s01"
569
+ verify: "grep -q 'FR-001' specs/product/SCOPE_LATEST.yaml && echo OK"
570
+
571
+ # User Journeys
572
+ - id: UJ-001
573
+ type: user_journey
574
+ description: "New user completes registration flow"
575
+ source_artifact: "epic-auth-ui.md"
576
+ epic: "e02-auth-ui"
577
+ story: "e02s01"
578
+ verify: "grep -q 'UJ-001' specs/epics/e02-auth-ui/epic.yaml && echo OK"
579
+
580
+ metadata:
581
+ source_framework: "BMAD"
582
+ migrated_at: "2026-06-26T12:00:00Z"
583
+ total_requirements: 2
584
+ coverage: "All FR-XX and UJ-XX IDs from source mapped"
585
+ ```
586
+
587
+ **When source has no FR-XX/UJ-XX:** Skip REQUIREMENTS_TRACE.yaml. Add note to `state.yaml` handoff: "No FR-XX/UJ-XX IDs found — traceability file skipped".
588
+
589
+ **Existing trace file:** If REQUIREMENTS_TRACE.yaml exists, prompt user: "Overwrite? [yes / merge / skip]". Merge appends new entries; skip leaves existing file intact.
590
+
591
+ ### `specs/state.yaml` template format
592
+
593
+ Generated during Step 4 of migration. Regenerate from scratch in bigpowers YAML format. The **handoff block is mandatory**:
594
+
595
+ ```yaml
596
+ active_flow: null
597
+ active_epic_id: null
598
+ active_story_id: null
599
+ completed_epic: false
600
+
601
+ epic_cycle:
602
+ current_step: null
603
+ next_skill: null
604
+ story_bcps: null
605
+ completed_steps: []
606
+ audit_result: null
607
+
608
+ bug_cycle:
609
+ current_step: null
610
+ completed_steps: []
611
+
612
+ release:
613
+ target_version: null
614
+ last_tag: null
615
+ last_publish: null
616
+ ci_verified: false
617
+
618
+ metrics:
619
+ story_start: null
620
+ story_end: null
621
+ cycle_minutes: null
622
+ bcp_per_hour: null
623
+
624
+ git:
625
+ branch: <current branch>
626
+ hash: <git rev-parse HEAD>
627
+ pushed: false
628
+
629
+ handoff:
630
+ last_step_completed: "Migrated from <framework> on <date>"
631
+ open_decisions: [] # Empty if all decisions resolved during migration
632
+ required_reading:
633
+ - specs/product/VISION_LATEST.yaml
634
+ - specs/product/SCOPE_LATEST.yaml
635
+ - specs/tech-architecture/TECH_STACK_LATEST.md
636
+ - specs/release-plan.yaml
637
+ next_skill: survey-context
638
+
639
+ two_pass_spec: # Optional: only if user activates two-pass spec writing gate
640
+ journey_pass: pending
641
+ technical_pass: pending
642
+ approved_at: null
643
+ ```
644
+
645
+ ---
646
+
647
+ ## Reference block 1
648
+
649
+ ```
650
+ Detected: GSD
651
+ Found:
652
+ ✓ .planning/ROADMAP.md
653
+ ✓ .planning/REQUIREMENTS.md (12 REQ-XX items)
654
+ ✓ .planning/state.yaml
655
+ ✓ .planning/phases/01-auth/01-CONTEXT.md
656
+ ✗ .planning/METHODOLOGY.md (not present)
657
+
658
+ Skipping:
659
+ .planning/phases/01-auth/01-01-SUMMARY.md (execution record; archived only)
660
+
661
+ Proceed with migration? [yes / skip <artifact> / abort]
662
+ ```
663
+
664
+ ---
665
+
666
+ ## Reference block 2
667
+
668
+ ```yaml
669
+ # CORRECT — first-class id: field
670
+ in_scope:
671
+ - id: REQ-001
672
+ description: "User can register with email/password"
673
+ source: "REQUIREMENTS.md"
674
+
675
+ # DEPRECATED — comment-only
676
+ in_scope:
677
+ - "User can register with email/password" # REQ-001
678
+ ```
679
+
680
+ ---
681
+
682
+ ## Reference block 3
683
+
684
+ ```yaml
685
+ trace:
686
+ - id: FR-001
687
+ type: functional_requirement
688
+ description: "User can register with email/password"
689
+ epic: e02-auth-ui
690
+ story: e02s01
691
+ verify: "grep -q 'FR-001' specs/product/SCOPE_LATEST.yaml && echo OK"
692
+ - id: UJ-001
693
+ type: user_journey
694
+ description: "New user completes registration flow"
695
+ epic: e02-auth-ui
696
+ story: e02s01
697
+ ```
698
+
699
+ ---
700
+
701
+ ## Reference block 4
702
+
703
+ ```yaml
704
+ active_flow: null
705
+ active_epic_id: null
706
+ active_story_id: null
707
+
708
+ # ... other state fields ...
709
+
710
+ handoff:
711
+ last_step_completed: "Migrated from <framework> on <date>"
712
+ open_decisions:
713
+ - "decision text here"
714
+ required_reading:
715
+ - specs/product/VISION_LATEST.yaml
716
+ - specs/product/SCOPE_LATEST.yaml
717
+ - specs/tech-architecture/TECH_STACK_LATEST.md
718
+ - specs/release-plan.yaml
719
+ next_skill: survey-context
720
+ ```
721
+
722
+ ---
723
+
724
+ ## Reference block 5
725
+
726
+ ```markdown
727
+ # Migration Audit — <project-name> from <framework>
728
+
729
+ **Date:** <ISO 8601 timestamp>
730
+ **Status:** Pass / Fail with findings
731
+
732
+ ## Findings
733
+
734
+ ### High Priority
735
+ - Artifact: specs/epics/e02-auth-ui/epic.yaml
736
+ Finding: No verify: commands in story tasks
737
+ Recommendation: Add `verify:` to each task before develop-tdd
738
+
739
+ ### Information
740
+ - Count of TODO markers: 3 (normal for fresh migration)
741
+ ```
742
+
743
+ ---
744
+
745
+ ## Reference block 6
746
+
747
+ ```
748
+ Which lenses to include in specs/tech-architecture/METHODOLOGY_LATEST.md?
749
+
750
+ [x] Cost of Delay (CD3) — Priority & trade-off assessment
751
+ [ ] STRIDE — Security threat modeling
752
+ [ ] F.I.R.S.T — Test quality principles
753
+ [ ] Bayesian Updating — Probabilistic decision-making
754
+ [ ] OWASP Top 10 — Web security framework
755
+ ```
756
+
757
+ ---
758
+
759
+ ### Step 7 — Post-migration: Optional two-pass spec writing gate
760
+
761
+ After Steps 1–6, offer the user an optional two-pass spec writing workflow (spec-kit learning):
762
+
763
+ Prompt: "Use two-pass spec writing (user journeys first, then technical)? [yes / no]"
764
+
765
+ If **yes**, initialize the gate in `specs/state.yaml`:
766
+
767
+ ```yaml
768
+ two_pass_spec:
769
+ journey_pass: pending
770
+ technical_pass: pending
771
+ approved_at: null
772
+ ```
773
+
774
+ The journey pass must be marked "complete" by the user (after stakeholder approval of user-journey specs) before the technical pass begins:
775
+
776
+ ```yaml
777
+ two_pass_spec:
778
+ journey_pass: complete
779
+ approved_at: "2026-06-26T12:00:00Z"
780
+ technical_pass: pending
781
+ ```
782
+
783
+ Inform the user: "Journey pass is pending. Run `elaborate-spec` for user journeys, get stakeholder approval, then update `two_pass_spec.journey_pass: complete` in state.yaml before proceeding to technical specs."
784
+
785
+ If **no**, skip the two-pass gate. Proceed directly to plan-work.
786
+
787
+ → verify: `grep -q 'two_pass_spec:' specs/state.yaml && echo "two-pass gate initialized" || echo "two-pass gate not activated"`
788
+
789
+
790
+ ---
791
+
792
+ ### Step 8 — Post-migration: Optional methodology doc template
793
+
794
+ After Steps 1–7, offer the user an optional analytical framework scaffold (GSD learning):
795
+
796
+ Prompt: "Create a methodology doc? [yes / no]"
797
+
798
+ If **yes**, present a checklist of analytical lenses:
799
+
800
+ ```
801
+ Which lenses to include in specs/tech-architecture/METHODOLOGY_LATEST.md?
802
+
803
+ [x] Cost of Delay (CD3) — Priority & trade-off assessment
804
+ [ ] STRIDE — Security threat modeling
805
+ [ ] F.I.R.S.T — Test quality principles
806
+ [ ] Bayesian Updating — Probabilistic decision-making
807
+ [ ] OWASP Top 10 — Web security framework
808
+ ```
809
+
810
+ Copy the template from `migrate-spec/templates/METHODOLOGY_LATEST.md` to `specs/tech-architecture/METHODOLOGY_LATEST.md`.
811
+ - Active lenses remain uncommented
812
+ - Unselected lenses are left commented out
813
+ - Populate `{{project_name}}` with the migrated project's name
814
+
815
+ If **no**, skip. Add note to handoff: "Methodology doc: skipped — can be added later via `cp migrate-spec/templates/METHODOLOGY_LATEST.md specs/tech-architecture/`"
816
+
817
+ → verify: `test -f specs/tech-architecture/METHODOLOGY_LATEST.md && echo "methodology doc created" || echo "methodology doc skipped"`
818
+
819
+ ---
820
+
821
+
822
+ ---
823
+
824
+ ## Artifact Mapping Summary
825
+
826
+ Full mapping tables: [REFERENCE-GSD.md](./REFERENCE-GSD.md) (GSD) · [REFERENCE.md](./REFERENCE.md) (spec-kit, BMAD, learnings).
827
+
828
+ | Source | Target |
829
+ |--------|--------|
830
+ | GSD `ROADMAP.md` | `specs/release-plan.yaml + epic shards` |
831
+ | GSD `REQUIREMENTS.md` | `specs/product/SCOPE_LATEST.yaml` |
832
+ | GSD `CONTEXT.md` (phases) | `specs/tech-architecture/tech-stack.md` + `specs/adr/` |
833
+ | GSD `PLAN.md` | `specs/epics/eNN-slug/epic.yaml` (tasks with verify in `-tasks.yaml`) |
834
+ | GSD `METHODOLOGY.md` | `specs/tech-architecture/tech-stack.md` |
835
+ | spec-kit `spec.md` | `specs/product/SCOPE_LATEST.yaml` + `specs/tech-architecture/tech-stack.md` |
836
+ | spec-kit `plan.md` | `specs/tech-architecture/tech-stack.md` + `specs/release-plan.yaml` + `specs/epics/` |
837
+ | spec-kit `tasks.md` | `specs/epics/ (see slice-tasks)` |
838
+ | BMAD `prd.md` | `specs/product/SCOPE_LATEST.yaml` |
839
+ | BMAD `architecture.md` | `specs/tech-architecture/tech-stack.md` + `specs/adr/` |
840
+ | BMAD `epic-*.md` | `specs/release-plan.yaml + epic shards` |
841
+ | BMAD `story-*.md` | `specs/epics/ (see slice-tasks)` |
842
+ | BMAD `project-context.md` | `CLAUDE.md` (append project-specific section) |
843
+ | BMAD `decision-log.md` | `specs/adr/` (one ADR per logged decision) |
844
+
845
+ ---
846
+
847
+
848
+ ---
849
+
850
+ ## Rules
851
+
852
+ - **Preserve source IDs** — REQ-XX, FR-XX, UJ-XX are emitted as first-class `id:` fields in bigpowers YAML targets (e.g., `in_scope` entries). Never silently renumber. See Step 3 ID Tracking subsection for details.
853
+ - **Never merge contradictory docs** — if source has both `CONTEXT.md` and `architecture.md`, create sections in bigpowers `CONTEXT.md`; don't collapse them.
854
+ - **ADRs are opt-in** — only create an ADR when: hard to reverse, surprising without context, result of a real trade-off. Lightweight decisions go to `specs/DECISION-LOG_LATEST.md`.
855
+ - **state.yaml is always regenerated** — never migrate source STATE verbatim; bigpowers state.yaml needs its own format.
856
+ - **specs/ is the only output location** — no files are created outside `specs/` and `CLAUDE.md`.
857
+
858
+ ---
859
+
860
+ ### Step 5 — Surface learnings (optional)
861
+
862
+ After migration, offer the user a brief analysis of what the source framework did that bigpowers doesn't have yet.
863
+
864
+ Use the learnings table from [REFERENCE.md](./REFERENCE.md#learnings-to-adopt). Present as checkboxes so the user can decide which to adopt.
865
+
866
+ → verify: `grep -c "\- \[ \]" specs/state.yaml 2>/dev/null && echo "pending items recorded" || echo "no pending items in state.yaml"`
867
+
868
+
869
+ ---
870
+
871
+ ### Step 6 — Adversarial review (optional)
872
+
873
+ Before the user runs `plan-work`, offer an optional lightweight audit of the migrated artifacts. This catches common migration errors early — incomplete specs, missing verification commands, unresolved decisions.
874
+
875
+ Prompt: "Run adversarial review of migrated artifacts? [yes / skip]"
876
+
877
+ If yes, perform these checks:
878
+
879
+ 1. **Scan for incomplete markers** — Find TODO, FIXME, MISSING in specs/
880
+ 2. **Verify every epic has `verify:` commands** — Parse all `eNN-*/epic.yaml` files
881
+ 3. **Check state.yaml handoff** — Ensure `open_decisions` is documented (even if empty)
882
+
883
+ Collect findings and write to `specs/archive/MIGRATION-AUDIT.md`:
884
+
885
+ ```markdown
886
+ # Migration Audit — <project-name> from <framework>
887
+
888
+ **Date:** <ISO 8601 timestamp>
889
+ **Status:** Pass / Fail with findings
890
+
891
+
892
+ ---
893
+
894
+ ## Findings
895
+
896
+ ### High Priority
897
+ - Artifact: specs/epics/e02-auth-ui/epic.yaml
898
+ Finding: No verify: commands in story tasks
899
+ Recommendation: Add `verify:` to each task before develop-tdd
900
+
901
+ ### Information
902
+ - Count of TODO markers: 3 (normal for fresh migration)
903
+ ```
904
+
905
+ If findings exist, the handoff block should note: "Adversarial review: N findings — see `specs/archive/MIGRATION-AUDIT.md`"
906
+
907
+ If skip is chosen, add to handoff: "Adversarial review: skipped — review manually before plan-work"
908
+
909
+ → verify: `test -f specs/archive/MIGRATION-AUDIT.md && echo "audit completed" || echo "audit skipped or not performed"`