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