bigpowers 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.pi/package.json +16 -0
- package/.pi/prompts/assess-impact.md +76 -0
- package/.pi/prompts/audit-code.md +156 -0
- package/.pi/prompts/build-epic.md +44 -0
- package/.pi/prompts/change-request.md +105 -0
- package/.pi/prompts/commit-message.md +135 -0
- package/.pi/prompts/compose-workflow.md +40 -0
- package/.pi/prompts/craft-skill.md +150 -0
- package/.pi/prompts/deepen-architecture.md +235 -0
- package/.pi/prompts/define-language.md +79 -0
- package/.pi/prompts/define-success.md +62 -0
- package/.pi/prompts/delegate-task.md +76 -0
- package/.pi/prompts/design-interface.md +96 -0
- package/.pi/prompts/develop-tdd.md +375 -0
- package/.pi/prompts/diagnose-root.md +23 -0
- package/.pi/prompts/dispatch-agents.md +83 -0
- package/.pi/prompts/edit-document.md +22 -0
- package/.pi/prompts/elaborate-spec.md +81 -0
- package/.pi/prompts/enforce-first.md +77 -0
- package/.pi/prompts/evolve-skill.md +38 -0
- package/.pi/prompts/execute-plan.md +54 -0
- package/.pi/prompts/fix-bug.md +36 -0
- package/.pi/prompts/grill-me.md +95 -0
- package/.pi/prompts/grill-with-docs.md +37 -0
- package/.pi/prompts/guard-git.md +212 -0
- package/.pi/prompts/hook-commits.md +93 -0
- package/.pi/prompts/inspect-quality.md +105 -0
- package/.pi/prompts/investigate-bug.md +117 -0
- package/.pi/prompts/kickoff-branch.md +99 -0
- package/.pi/prompts/map-codebase.md +70 -0
- package/.pi/prompts/migrate-spec.md +482 -0
- package/.pi/prompts/model-domain.md +227 -0
- package/.pi/prompts/orchestrate-project.md +161 -0
- package/.pi/prompts/organize-workspace.md +159 -0
- package/.pi/prompts/plan-refactor.md +77 -0
- package/.pi/prompts/plan-release.md +145 -0
- package/.pi/prompts/plan-work.md +161 -0
- package/.pi/prompts/release-branch.md +158 -0
- package/.pi/prompts/request-review.md +70 -0
- package/.pi/prompts/research-first.md +62 -0
- package/.pi/prompts/reset-baseline.md +20 -0
- package/.pi/prompts/respond-review.md +70 -0
- package/.pi/prompts/run-evals.md +56 -0
- package/.pi/prompts/run-planning.md +26 -0
- package/.pi/prompts/scope-work.md +23 -0
- package/.pi/prompts/search-skills.md +21 -0
- package/.pi/prompts/seed-conventions.md +132 -0
- package/.pi/prompts/session-state.md +146 -0
- package/.pi/prompts/setup-environment.md +23 -0
- package/.pi/prompts/simulate-agents.md +25 -0
- package/.pi/prompts/slice-tasks.md +23 -0
- package/.pi/prompts/spike-prototype.md +94 -0
- package/.pi/prompts/stocktake-skills.md +40 -0
- package/.pi/prompts/survey-context.md +129 -0
- package/.pi/prompts/terse-mode.md +37 -0
- package/.pi/prompts/trace-requirement.md +68 -0
- package/.pi/prompts/using-bigpowers.md +105 -0
- package/.pi/prompts/validate-fix.md +98 -0
- package/.pi/prompts/verify-work.md +125 -0
- package/.pi/prompts/visual-dashboard.md +51 -0
- package/.pi/prompts/wire-observability.md +92 -0
- package/.pi/prompts/write-document.md +244 -0
- package/.pi/skills/assess-impact/SKILL.md +77 -0
- package/.pi/skills/audit-code/SKILL.md +157 -0
- package/.pi/skills/build-epic/SKILL.md +45 -0
- package/.pi/skills/change-request/SKILL.md +106 -0
- package/.pi/skills/commit-message/SKILL.md +136 -0
- package/.pi/skills/compose-workflow/SKILL.md +41 -0
- package/.pi/skills/craft-skill/SKILL.md +151 -0
- package/.pi/skills/deepen-architecture/SKILL.md +236 -0
- package/.pi/skills/define-language/SKILL.md +80 -0
- package/.pi/skills/define-success/SKILL.md +63 -0
- package/.pi/skills/delegate-task/SKILL.md +77 -0
- package/.pi/skills/design-interface/SKILL.md +97 -0
- package/.pi/skills/develop-tdd/SKILL.md +376 -0
- package/.pi/skills/diagnose-root/SKILL.md +24 -0
- package/.pi/skills/dispatch-agents/SKILL.md +84 -0
- package/.pi/skills/edit-document/SKILL.md +23 -0
- package/.pi/skills/elaborate-spec/SKILL.md +82 -0
- package/.pi/skills/enforce-first/SKILL.md +78 -0
- package/.pi/skills/evolve-skill/SKILL.md +39 -0
- package/.pi/skills/execute-plan/SKILL.md +55 -0
- package/.pi/skills/fix-bug/SKILL.md +37 -0
- package/.pi/skills/grill-me/SKILL.md +96 -0
- package/.pi/skills/grill-with-docs/SKILL.md +38 -0
- package/.pi/skills/guard-git/SKILL.md +213 -0
- package/.pi/skills/hook-commits/SKILL.md +94 -0
- package/.pi/skills/inspect-quality/SKILL.md +106 -0
- package/.pi/skills/investigate-bug/SKILL.md +118 -0
- package/.pi/skills/kickoff-branch/SKILL.md +100 -0
- package/.pi/skills/map-codebase/SKILL.md +71 -0
- package/.pi/skills/migrate-spec/SKILL.md +483 -0
- package/.pi/skills/model-domain/SKILL.md +228 -0
- package/.pi/skills/orchestrate-project/SKILL.md +162 -0
- package/.pi/skills/organize-workspace/SKILL.md +160 -0
- package/.pi/skills/plan-refactor/SKILL.md +78 -0
- package/.pi/skills/plan-release/SKILL.md +146 -0
- package/.pi/skills/plan-work/SKILL.md +162 -0
- package/.pi/skills/release-branch/SKILL.md +159 -0
- package/.pi/skills/request-review/SKILL.md +71 -0
- package/.pi/skills/research-first/SKILL.md +63 -0
- package/.pi/skills/reset-baseline/SKILL.md +21 -0
- package/.pi/skills/respond-review/SKILL.md +71 -0
- package/.pi/skills/run-evals/SKILL.md +57 -0
- package/.pi/skills/run-planning/SKILL.md +27 -0
- package/.pi/skills/scope-work/SKILL.md +24 -0
- package/.pi/skills/search-skills/SKILL.md +22 -0
- package/.pi/skills/seed-conventions/SKILL.md +133 -0
- package/.pi/skills/session-state/SKILL.md +147 -0
- package/.pi/skills/setup-environment/SKILL.md +24 -0
- package/.pi/skills/simulate-agents/SKILL.md +26 -0
- package/.pi/skills/slice-tasks/SKILL.md +24 -0
- package/.pi/skills/spike-prototype/SKILL.md +95 -0
- package/.pi/skills/stocktake-skills/SKILL.md +41 -0
- package/.pi/skills/survey-context/SKILL.md +130 -0
- package/.pi/skills/terse-mode/SKILL.md +38 -0
- package/.pi/skills/trace-requirement/SKILL.md +69 -0
- package/.pi/skills/using-bigpowers/SKILL.md +106 -0
- package/.pi/skills/validate-fix/SKILL.md +99 -0
- package/.pi/skills/verify-work/SKILL.md +126 -0
- package/.pi/skills/visual-dashboard/SKILL.md +52 -0
- package/.pi/skills/wire-observability/SKILL.md +93 -0
- package/.pi/skills/write-document/SKILL.md +245 -0
- package/CHANGELOG.md +14 -0
- package/README.md +27 -1
- package/deepen-architecture/SKILL.md +2 -0
- package/define-language/SKILL.md +2 -0
- package/diagnose-root/SKILL.md +2 -0
- package/edit-document/SKILL.md +2 -0
- package/fix-bug/SKILL.md +3 -1
- package/grill-me/SKILL.md +3 -1
- package/grill-with-docs/SKILL.md +3 -1
- package/investigate-bug/SKILL.md +5 -11
- package/map-codebase/SKILL.md +3 -1
- package/model-domain/SKILL.md +2 -0
- package/package.json +11 -2
- package/plan-release/SKILL.md +1 -1
- package/plan-work/SKILL.md +3 -1
- package/release-branch/SKILL.md +4 -2
- package/run-planning/SKILL.md +3 -2
- package/scope-work/SKILL.md +3 -1
- package/scripts/sync-skills.sh +48 -3
- package/scripts/validate-doctrine.sh +24 -9
- package/seed-conventions/SKILL.md +2 -0
- package/slice-tasks/SKILL.md +3 -1
- package/survey-context/SKILL.md +3 -1
- package/write-document/SKILL.md +2 -0
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
---
|
|
2
|
+
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.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
# Migrate Spec
|
|
7
|
+
|
|
8
|
+
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.
|
|
9
|
+
|
|
10
|
+
## Quick start
|
|
11
|
+
|
|
12
|
+
1. Run this skill from the root of the project being migrated (not the bigpowers repo itself).
|
|
13
|
+
2. The skill auto-detects the source framework and presents its findings before transforming anything.
|
|
14
|
+
3. All output goes to `specs/` at the project root.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## Red flags — stop and ask
|
|
18
|
+
|
|
19
|
+
Before proceeding, check for these rationalization traps:
|
|
20
|
+
|
|
21
|
+
- **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?"
|
|
22
|
+
- **Wrong trigger** — user said "migrate my code" or "migrate the database", not "migrate my specs". Confirm before running.
|
|
23
|
+
- **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?"
|
|
24
|
+
- **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?"
|
|
25
|
+
|
|
26
|
+
If any red flag fires: surface it, wait for explicit user confirmation before continuing.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## Process
|
|
30
|
+
|
|
31
|
+
### Step 1 — Detect the source framework
|
|
32
|
+
|
|
33
|
+
Scan for the fingerprints below. Stop at first match; if multiple match, list them and ask the user which is primary.
|
|
34
|
+
|
|
35
|
+
| Framework | Fingerprints (any one is sufficient) |
|
|
36
|
+
|-----------|--------------------------------------|
|
|
37
|
+
| **GSD** | `.planning/` directory; `.planning/ROADMAP.md`; `.planning/REQUIREMENTS.md` with `REQ-` IDs |
|
|
38
|
+
| **spec-kit** | `.specify/` directory; `spec.md` + `plan.md` at root; `.github/skills/speckit-*/SKILL.md` |
|
|
39
|
+
| **BMAD** | `_bmad/` directory; `_bmad-output/` directory; `prd.md` with `FR-` IDs; `epic-*.md` or `story-*.md` |
|
|
40
|
+
|
|
41
|
+
If none found: ask the user which framework before proceeding.
|
|
42
|
+
|
|
43
|
+
→ verify: `ls .planning/ 2>/dev/null && echo "GSD" || ls .specify/ 2>/dev/null && echo "spec-kit" || ls _bmad/ 2>/dev/null && echo "BMAD" || echo "BLOCKED: no known framework detected"`
|
|
44
|
+
|
|
45
|
+
### Step 2 — Inventory the source artifacts
|
|
46
|
+
|
|
47
|
+
List every artifact found matching the detected framework. Present the list to the user:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Detected: GSD
|
|
51
|
+
Found:
|
|
52
|
+
✓ .planning/ROADMAP.md
|
|
53
|
+
✓ .planning/REQUIREMENTS.md (12 REQ-XX items)
|
|
54
|
+
✓ .planning/state.yaml
|
|
55
|
+
✓ .planning/phases/01-auth/01-CONTEXT.md
|
|
56
|
+
✗ .planning/METHODOLOGY.md (not present)
|
|
57
|
+
|
|
58
|
+
Skipping:
|
|
59
|
+
.planning/phases/01-auth/01-01-SUMMARY.md (execution record; archived only)
|
|
60
|
+
|
|
61
|
+
Proceed with migration? [yes / skip <artifact> / abort]
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
→ verify: `find . -maxdepth 4 \( -name "ROADMAP.md" -o -name "spec.md" -o -name "prd.md" -o -name "REQUIREMENTS.md" \) 2>/dev/null | grep -v ".git" | head -15`
|
|
65
|
+
|
|
66
|
+
### Step 3 — Transform (one artifact at a time, show diffs)
|
|
67
|
+
|
|
68
|
+
Apply the mapping from [REFERENCE.md](./REFERENCE.md) and [REFERENCE-GSD.md](./REFERENCE-GSD.md). For each target file:
|
|
69
|
+
|
|
70
|
+
1. Show what will be created or appended (title + first 20 lines).
|
|
71
|
+
2. Ask: "Create this? [yes / edit / skip]"
|
|
72
|
+
3. On yes: write to `specs/`.
|
|
73
|
+
|
|
74
|
+
> **HARD GATE** — Never overwrite an existing `specs/` file without explicit user confirmation. Merge into it if it exists; don't clobber.
|
|
75
|
+
>
|
|
76
|
+
> → verify: `git diff --name-only HEAD -- specs/ 2>/dev/null | head -20`
|
|
77
|
+
|
|
78
|
+
→ verify: `ls specs/*.md 2>/dev/null | head -15`
|
|
79
|
+
|
|
80
|
+
### Step 4 — Generate state.yaml
|
|
81
|
+
|
|
82
|
+
Always regenerate `specs/state.yaml` from scratch in bigpowers format (see REFERENCE.md for template):
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
# Session State: <project name>
|
|
86
|
+
## Current Milestone
|
|
87
|
+
Migrated from <framework> on <date>. Next: review generated specs and run plan-work.
|
|
88
|
+
## Pending Releases
|
|
89
|
+
- [ ] Review migrated specs
|
|
90
|
+
- [ ] Run elaborate-spec to validate scope
|
|
91
|
+
- [ ] Run plan-work to produce first release plan
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
→ verify: `[ -f specs/state.yaml ] && echo "ok" || echo "MISSING: specs/state.yaml not created"`
|
|
95
|
+
|
|
96
|
+
### Step 5 — Surface learnings (optional)
|
|
97
|
+
|
|
98
|
+
After migration, offer the user a brief analysis of what the source framework did that bigpowers doesn't have yet.
|
|
99
|
+
|
|
100
|
+
Use the learnings table from [REFERENCE.md](./REFERENCE.md#learnings-to-adopt). Present as checkboxes so the user can decide which to adopt.
|
|
101
|
+
|
|
102
|
+
→ verify: `grep -c "\- \[ \]" specs/state.yaml 2>/dev/null && echo "pending items recorded" || echo "no pending items in state.yaml"`
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
## Artifact Mapping Summary
|
|
106
|
+
|
|
107
|
+
Full mapping tables: [REFERENCE-GSD.md](./REFERENCE-GSD.md) (GSD) · [REFERENCE.md](./REFERENCE.md) (spec-kit, BMAD, learnings).
|
|
108
|
+
|
|
109
|
+
| Source | Target |
|
|
110
|
+
|--------|--------|
|
|
111
|
+
| GSD `ROADMAP.md` | `specs/release-plan.yaml + epic shards` |
|
|
112
|
+
| GSD `REQUIREMENTS.md` | `specs/product/SCOPE_LATEST.yaml` |
|
|
113
|
+
| GSD `CONTEXT.md` (phases) | `specs/tech-architecture/tech-stack.md` + `specs/adr/` |
|
|
114
|
+
| GSD `PLAN.md` | `specs/epics/eNN-slug/epic.yaml` (tasks with verify in `-tasks.yaml`) |
|
|
115
|
+
| GSD `METHODOLOGY.md` | `specs/tech-architecture/tech-stack.md` |
|
|
116
|
+
| spec-kit `spec.md` | `specs/product/SCOPE_LATEST.yaml` + `specs/tech-architecture/tech-stack.md` |
|
|
117
|
+
| spec-kit `plan.md` | `specs/tech-architecture/tech-stack.md` + `specs/release-plan.yaml` + `specs/epics/` |
|
|
118
|
+
| spec-kit `tasks.md` | `specs/epics/ (see slice-tasks)` |
|
|
119
|
+
| BMAD `prd.md` | `specs/product/SCOPE_LATEST.yaml` |
|
|
120
|
+
| BMAD `architecture.md` | `specs/tech-architecture/tech-stack.md` + `specs/adr/` |
|
|
121
|
+
| BMAD `epic-*.md` | `specs/release-plan.yaml + epic shards` |
|
|
122
|
+
| BMAD `story-*.md` | `specs/epics/ (see slice-tasks)` |
|
|
123
|
+
| BMAD `project-context.md` | `CLAUDE.md` (append project-specific section) |
|
|
124
|
+
| BMAD `decision-log.md` | `specs/adr/` (one ADR per logged decision) |
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
## Rules
|
|
128
|
+
|
|
129
|
+
- **Preserve source IDs** — REQ-XX, FR-XX, UJ-XX become inline comments in bigpowers targets. Never silently renumber.
|
|
130
|
+
- **Never merge contradictory docs** — if source has both `CONTEXT.md` and `architecture.md`, create sections in bigpowers `CONTEXT.md`; don't collapse them.
|
|
131
|
+
- **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.md`.
|
|
132
|
+
- **state.yaml is always regenerated** — never migrate source STATE verbatim; bigpowers state.yaml needs its own format.
|
|
133
|
+
- **specs/ is the only output location** — no files are created outside `specs/` and `CLAUDE.md`.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
# migrate-spec Reference — GSD
|
|
138
|
+
|
|
139
|
+
Full artifact transformation rules for migrating GSD projects to bigpowers YAML layout.
|
|
140
|
+
|
|
141
|
+
See [REFERENCE.md](./REFERENCE.md) for spec-kit, BMAD, learnings, and ADR/DECISION-LOG formats.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Artifact Locations
|
|
146
|
+
|
|
147
|
+
GSD stores everything under `.planning/` at the project root.
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
.planning/
|
|
151
|
+
├── ROADMAP.md
|
|
152
|
+
├── STATE.md
|
|
153
|
+
├── REQUIREMENTS.md
|
|
154
|
+
├── METHODOLOGY.md
|
|
155
|
+
├── HANDOFF.json
|
|
156
|
+
├── .continue-here.md
|
|
157
|
+
└── phases/
|
|
158
|
+
└── XX-name/
|
|
159
|
+
├── XX-CONTEXT.md
|
|
160
|
+
├── XX-YY-PLAN.md
|
|
161
|
+
├── XX-YY-SUMMARY.md
|
|
162
|
+
└── XX-DISCUSSION-LOG.md
|
|
163
|
+
spikes/
|
|
164
|
+
└── SPIKE-NNN/README.md
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Transformation Rules
|
|
170
|
+
|
|
171
|
+
### `.planning/ROADMAP.md` → `specs/release-plan.yaml` + `specs/epics/eNN-*.yaml`
|
|
172
|
+
|
|
173
|
+
GSD ROADMAP has: milestone name, phases, success criteria per phase, plan count.
|
|
174
|
+
|
|
175
|
+
Transform:
|
|
176
|
+
- Each GSD phase → one epic entry in `release-plan.yaml` (`id`, `title`, `wsjf`, `file`)
|
|
177
|
+
- Phase detail → matching `specs/epics/eNN-slug.yaml` (stories, tasks, `verify`)
|
|
178
|
+
- Completed phases → `done` in `execution-status.yaml`; active → `in_progress`
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
### `.planning/REQUIREMENTS.md` → `specs/product/SCOPE_LATEST.yaml`
|
|
183
|
+
|
|
184
|
+
GSD REQUIREMENTS has: REQ-XX IDs, Validated/Active/Out-of-Scope categories, traceability.
|
|
185
|
+
|
|
186
|
+
Transform:
|
|
187
|
+
- Copy REQ-XX IDs as-is (preserve for cross-referencing)
|
|
188
|
+
- Validated requirements → `in_scope` entries
|
|
189
|
+
- Out-of-Scope → `out_of_scope` entries
|
|
190
|
+
- Active (in-progress) → `in_scope` with status note
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
### `.planning/phases/XX-name/XX-CONTEXT.md` → `specs/tech-architecture/TECH_STACK_LATEST.md` + `specs/adr/`
|
|
195
|
+
|
|
196
|
+
GSD CONTEXT.md has 6 sections: domain, decisions, canonical_refs, code_context, specifics, deferred.
|
|
197
|
+
|
|
198
|
+
Transform:
|
|
199
|
+
- `domain` → `plans/TECH_STACK_LATEST.md` Domain section
|
|
200
|
+
- `decisions` → scan each: if hard-to-reverse + surprising → `specs/adr/NNNN-{slug}.md`; if lightweight → `specs/DECISION-LOG.md`
|
|
201
|
+
- `canonical_refs` → Reference links in TECH_STACK
|
|
202
|
+
- `code_context` → Architecture section
|
|
203
|
+
- `deferred` → `SCOPE_LATEST.yaml` `out_of_scope` (with "(deferred from GSD)" note)
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
### `.planning/phases/XX-name/XX-YY-PLAN.md` → `specs/epics/eNN-*.yaml` tasks
|
|
208
|
+
|
|
209
|
+
GSD PLAN has: frontmatter (depends-on, verify), objective, typed tasks, success criteria, output spec.
|
|
210
|
+
|
|
211
|
+
Transform:
|
|
212
|
+
- Preserve task structure as `tasks[]` in epic shard
|
|
213
|
+
- Keep `verify: <command>` lines
|
|
214
|
+
- Map GSD `depends-on` to task `depends-on` notes
|
|
215
|
+
- SUMMARY.md (execution record) → skip or append to `specs/archive/`
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
### `.planning/METHODOLOGY.md` → `specs/tech-architecture/METHODOLOGY_LATEST.md`
|
|
220
|
+
|
|
221
|
+
GSD METHODOLOGY.md is a standing reference for analytical lenses (Bayesian updating, STRIDE, cost-of-delay).
|
|
222
|
+
|
|
223
|
+
Transform:
|
|
224
|
+
- Copy each lens as a section in `specs/tech-architecture/METHODOLOGY_LATEST.md`
|
|
225
|
+
- Note: "These lenses should inform `plan-work` and `audit-code` sessions."
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
### `.planning/HANDOFF.json` + `.continue-here.md` → `specs/state.yaml` `handoff`
|
|
230
|
+
|
|
231
|
+
GSD HANDOFF has: current phase, last plan, blocking reason, required reading list.
|
|
232
|
+
|
|
233
|
+
Transform — populate `handoff` in `state.yaml`:
|
|
234
|
+
|
|
235
|
+
```yaml
|
|
236
|
+
handoff:
|
|
237
|
+
last_step_completed: "<phase/plan from HANDOFF>"
|
|
238
|
+
open_decisions:
|
|
239
|
+
- "<blocking reason if any>"
|
|
240
|
+
required_reading:
|
|
241
|
+
- "<required_reading list>"
|
|
242
|
+
next_skill: survey-context
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
### `.planning/spikes/SPIKE-NNN/README.md` → `specs/archive/spikes/SPIKE-{name}.md`
|
|
248
|
+
|
|
249
|
+
GSD spike README has: YAML frontmatter (verdict, validates, related), methodology, findings, recommendation.
|
|
250
|
+
|
|
251
|
+
Transform:
|
|
252
|
+
- Flatten directory into `specs/archive/spikes/SPIKE-{name}.md`
|
|
253
|
+
- Preserve frontmatter as YAML block at top
|
|
254
|
+
- Keep verdict prominently: `**Verdict:** ADOPTED / REJECTED / DEFERRED`
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Skip List
|
|
259
|
+
|
|
260
|
+
These GSD artifacts are not migrated — they are execution records, not planning inputs:
|
|
261
|
+
|
|
262
|
+
| Artifact | Reason |
|
|
263
|
+
|----------|--------|
|
|
264
|
+
| `.planning/phases/XX/XX-YY-SUMMARY.md` | Execution log; no bigpowers equivalent |
|
|
265
|
+
| `.planning/phases/XX/XX-DISCUSSION-LOG.md` | Audit trail only; not consumed by agents |
|
|
266
|
+
| `.planning/USER-PROFILE.md` | User calibration; bigpowers has no profile system |
|
|
267
|
+
| `.planning/sketches/` | Visual exploration; not spec artifacts |
|
|
268
|
+
|
|
269
|
+
---
|
|
270
|
+
|
|
271
|
+
# migrate-spec Reference — spec-kit, BMAD, Learnings
|
|
272
|
+
|
|
273
|
+
Transformation rules for spec-kit and BMAD projects, plus learnings to adopt and output formats.
|
|
274
|
+
|
|
275
|
+
See [REFERENCE-GSD.md](./REFERENCE-GSD.md) for full GSD → bigpowers YAML mapping.
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## spec-kit → bigpowers Mapping
|
|
280
|
+
|
|
281
|
+
### Artifact Locations
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
project-root/
|
|
285
|
+
├── spec.md ← user journeys, success criteria, scope
|
|
286
|
+
├── plan.md ← technology, architecture, constraints
|
|
287
|
+
├── tasks.md ← atomic task list
|
|
288
|
+
└── .specify/
|
|
289
|
+
├── workflow-catalogs.yml
|
|
290
|
+
└── workflows/runs/<id>/
|
|
291
|
+
├── state.json
|
|
292
|
+
└── log.jsonl
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### `spec.md` → `specs/product/SCOPE_LATEST.yaml` + `specs/tech-architecture/TECH_STACK_LATEST.md`
|
|
296
|
+
|
|
297
|
+
spec-kit `spec.md` focuses on: who uses it, user journeys, success criteria, what's in/out of scope.
|
|
298
|
+
|
|
299
|
+
Transform:
|
|
300
|
+
- User journeys → `SCOPE_LATEST.yaml` success criteria / `in_scope` entries
|
|
301
|
+
- In/out of scope → `in_scope` / `out_of_scope` sections
|
|
302
|
+
- Domain terms / glossary → `requirements/GLOSSARY_LATEST.yaml`
|
|
303
|
+
- Problem statement / vision → `requirements/VISION_LATEST.yaml`
|
|
304
|
+
|
|
305
|
+
### `plan.md` → `specs/tech-architecture/TECH_STACK_LATEST.md` + `specs/release-plan.yaml` + `specs/epics/`
|
|
306
|
+
|
|
307
|
+
spec-kit `plan.md` covers: technology stack, architectural patterns, implementation constraints.
|
|
308
|
+
|
|
309
|
+
Transform:
|
|
310
|
+
- Technology decisions → `plans/TECH_STACK_LATEST.md` Technology section
|
|
311
|
+
- Architecture patterns → Architecture section
|
|
312
|
+
- Hard decisions with trade-offs → `specs/adr/NNNN-{slug}.md`
|
|
313
|
+
- Phased approach / milestones → `release-plan.yaml` epic entries
|
|
314
|
+
- Implementation steps → `epics/eNN-*.yaml` task list with `verify:`
|
|
315
|
+
|
|
316
|
+
### `tasks.md` → `specs/epics/` (via slice-tasks)
|
|
317
|
+
|
|
318
|
+
spec-kit tasks are atomic, verifiable in isolation — same principle as bigpowers `verify:` mandate.
|
|
319
|
+
|
|
320
|
+
Transform:
|
|
321
|
+
- Copy tasks into epic shard `tasks[]`; preserve task numbers
|
|
322
|
+
- Add `verify:` line if spec-kit task has an acceptance criterion
|
|
323
|
+
- Group into epics matching `release-plan.yaml` entries
|
|
324
|
+
|
|
325
|
+
### `.specify/` state
|
|
326
|
+
|
|
327
|
+
Discard — workflow engine state; not meaningful in the bigpowers skill model.
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
## BMAD → bigpowers Mapping
|
|
332
|
+
|
|
333
|
+
### Artifact Locations
|
|
334
|
+
|
|
335
|
+
```
|
|
336
|
+
project-root/
|
|
337
|
+
├── _bmad/bmm/config.yaml
|
|
338
|
+
├── _bmad-output/
|
|
339
|
+
│ ├── product-brief.md
|
|
340
|
+
│ ├── prfaq-{project}.md
|
|
341
|
+
│ ├── prd.md
|
|
342
|
+
│ ├── addendum.md
|
|
343
|
+
│ ├── decision-log.md
|
|
344
|
+
│ ├── ux-spec.md
|
|
345
|
+
│ └── architecture.md
|
|
346
|
+
├── project-context.md
|
|
347
|
+
└── docs/
|
|
348
|
+
├── epic-{slug}.md
|
|
349
|
+
└── story-{slug}.md
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
### `product-brief.md` / `prfaq-{project}.md` → `specs/product/VISION_LATEST.yaml`
|
|
353
|
+
|
|
354
|
+
Transform:
|
|
355
|
+
- Vision + core value → `VISION_LATEST.yaml` north_star / success_criteria
|
|
356
|
+
- Target users → notes in VISION or SCOPE
|
|
357
|
+
- prfaq customer FAQ → can inform success criteria in SCOPE
|
|
358
|
+
|
|
359
|
+
### `prd.md` → `specs/product/SCOPE_LATEST.yaml` + `GLOSSARY_LATEST.yaml`
|
|
360
|
+
|
|
361
|
+
BMAD `prd.md` has: Glossary, FR-XX functional requirements, UJ-XX user journeys, NFRs, assumptions.
|
|
362
|
+
|
|
363
|
+
Transform:
|
|
364
|
+
- Glossary → `GLOSSARY_LATEST.yaml`
|
|
365
|
+
- FR-XX items → `in_scope` with IDs preserved
|
|
366
|
+
- UJ-XX user journeys → success criteria
|
|
367
|
+
- NFRs → `constraints` section
|
|
368
|
+
- `[ASSUMPTION: ...]` inline tags → collected in scope YAML
|
|
369
|
+
- Out-of-scope features → `out_of_scope`
|
|
370
|
+
|
|
371
|
+
### `addendum.md` + `decision-log.md` → `specs/adr/` + `specs/DECISION-LOG.md`
|
|
372
|
+
|
|
373
|
+
Transform:
|
|
374
|
+
- Hard, irreversible, surprising decisions → individual `specs/adr/NNNN-{slug}.md`
|
|
375
|
+
- Lightweight decisions → `specs/DECISION-LOG.md` (date | decision | rationale)
|
|
376
|
+
- `addendum.md` change signals → note in `SCOPE_LATEST.yaml` metadata
|
|
377
|
+
|
|
378
|
+
### `architecture.md` → `specs/tech-architecture/TECH_STACK_LATEST.md` + `specs/adr/`
|
|
379
|
+
|
|
380
|
+
Transform:
|
|
381
|
+
- ADR sections → individual `specs/adr/NNNN-{slug}.md` files
|
|
382
|
+
- System overview / data models → TECH_STACK Architecture section
|
|
383
|
+
- API contracts → keep at `docs/api.md` or similar; link from TECH_STACK
|
|
384
|
+
|
|
385
|
+
### `epic-*.md` → `specs/release-plan.yaml` + `specs/epics/eNN-*.yaml`
|
|
386
|
+
|
|
387
|
+
Each epic → one release-plan entry + one epic shard. Acceptance criteria → story tasks with `verify:`.
|
|
388
|
+
|
|
389
|
+
### `story-*.md` → `specs/epics/` stories
|
|
390
|
+
|
|
391
|
+
Each story → one story entry in epic shard. Acceptance criteria → `verify:` lines.
|
|
392
|
+
|
|
393
|
+
### `project-context.md` → `CLAUDE.md`
|
|
394
|
+
|
|
395
|
+
Add a "## Project Context" section to `CLAUDE.md`. Copy tech stack, coding rules, preferences verbatim.
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
## Learnings to Adopt
|
|
400
|
+
|
|
401
|
+
Optional enhancements to offer the user after migration. Present as checkboxes.
|
|
402
|
+
|
|
403
|
+
### From GSD
|
|
404
|
+
|
|
405
|
+
- [ ] **`specs/tech-architecture/METHODOLOGY_LATEST.md`** — Standing analytical lenses. Agents read before planning.
|
|
406
|
+
- [ ] **`handoff` block in state.yaml** — Last skill, last step, required reading for next session.
|
|
407
|
+
- [ ] **ID tracking in SCOPE_LATEST.yaml** — FR/UJ IDs for spec → plan → verification traceability.
|
|
408
|
+
|
|
409
|
+
### From spec-kit
|
|
410
|
+
|
|
411
|
+
- [ ] **Two-pass spec writing** — User-journey pass first, then technical-decisions pass.
|
|
412
|
+
- [ ] **Explicit inter-phase gate** — "Approve to proceed?" at end of `elaborate-spec`.
|
|
413
|
+
- [ ] **Epic task isolation** — Each task completable in isolation; `depends-on` explicit in epic YAML.
|
|
414
|
+
|
|
415
|
+
### From BMAD
|
|
416
|
+
|
|
417
|
+
- [ ] **FR-XX + UJ-XX in SCOPE_LATEST.yaml** — Rigorous traceability.
|
|
418
|
+
- [ ] **`specs/DECISION-LOG.md`** — Lightweight decisions below ADR threshold.
|
|
419
|
+
- [ ] **Adversarial review pass** — Critique epic shard before `develop-tdd`.
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## Output Formats
|
|
424
|
+
|
|
425
|
+
### ADR format (bigpowers)
|
|
426
|
+
|
|
427
|
+
Use `model-domain/ADR-FORMAT.md`. Only create when all three apply: hard to reverse, surprising without context, result of a real trade-off.
|
|
428
|
+
|
|
429
|
+
```markdown
|
|
430
|
+
# ADR-NNNN: {Title}
|
|
431
|
+
|
|
432
|
+
**Status:** Accepted
|
|
433
|
+
**Date:** YYYY-MM-DD
|
|
434
|
+
|
|
435
|
+
## Context
|
|
436
|
+
[What situation forced this decision?]
|
|
437
|
+
|
|
438
|
+
## Decision
|
|
439
|
+
[What was decided?]
|
|
440
|
+
|
|
441
|
+
## Consequences
|
|
442
|
+
[What becomes easier or harder?]
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
### DECISION-LOG.md format
|
|
446
|
+
|
|
447
|
+
For lightweight decisions that don't warrant a full ADR:
|
|
448
|
+
|
|
449
|
+
```markdown
|
|
450
|
+
# Decision Log
|
|
451
|
+
|
|
452
|
+
| Date | Decision | Rationale | Alternatives |
|
|
453
|
+
|------|----------|-----------|--------------|
|
|
454
|
+
| 2026-05-19 | Use Postgres | Existing ops expertise | SQLite (limited), DynamoDB (no local dev) |
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
### `specs/state.yaml` template format
|
|
458
|
+
|
|
459
|
+
Generated during Step 4 of migration. Regenerate from scratch in bigpowers format:
|
|
460
|
+
|
|
461
|
+
```markdown
|
|
462
|
+
# Session State: <project name>
|
|
463
|
+
|
|
464
|
+
## Current Milestone
|
|
465
|
+
|
|
466
|
+
Migrated from <framework> on <date>. Next: review generated specs and run plan-work.
|
|
467
|
+
|
|
468
|
+
## Git Metadata
|
|
469
|
+
|
|
470
|
+
- **Branch**: <current branch>
|
|
471
|
+
- **Hash**: <git rev-parse HEAD>
|
|
472
|
+
|
|
473
|
+
## Completed Releases
|
|
474
|
+
|
|
475
|
+
(none — migration starting point)
|
|
476
|
+
|
|
477
|
+
## Pending Releases
|
|
478
|
+
|
|
479
|
+
- [ ] Review migrated specs
|
|
480
|
+
- [ ] Run elaborate-spec to validate scope
|
|
481
|
+
- [ ] Run plan-work to produce first release plan
|
|
482
|
+
```
|