bigpowers 2.27.0 → 2.29.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "2.27.0",
4
- "description": "69 skills — 61 agent skills for spec-driven, test-first software development by solo developers",
3
+ "version": "2.29.0",
4
+ "description": "70 skills — 61 agent skills for spec-driven, test-first software development by solo developers",
5
5
  "keywords": [
6
6
  "pi-package"
7
7
  ],
@@ -0,0 +1,88 @@
1
+ ---
2
+ description: Evaluate an incoming project plan against bigpowers principles and conventions, surface gaps, and produce a READY/NOT READY verdict before engagement begins. Use when a new project arrives, when adapting a foreign plan, or before running seed-conventions on an unfamiliar codebase.
3
+ ---
4
+
5
+
6
+ # Audit Plan
7
+
8
+ > **HARD GATE** — Do NOT start build skills (kickoff-branch, develop-tdd) until audit-plan returns a READY verdict. A plan missing test commands, scope boundaries, or success criteria will produce drift and rework downstream.
9
+
10
+ Assess an incoming project plan for alignment with bigpowers principles, identify what's missing, and produce a structured readiness report before any skill execution begins.
11
+
12
+ ## Three lenses
13
+
14
+ ### 1. Principles alignment
15
+ - Are stories vertical slices (not horizontal layers)?
16
+ - Is scope bounded — explicit in_scope + out_of_scope?
17
+ - Are success criteria defined (how do we know we're done)?
18
+ - Are HARD GATE candidates identifiable (critical decision points)?
19
+ - Is there a domain language / ubiquitous terminology?
20
+
21
+ ### 2. Conventions completeness
22
+ - Does `CLAUDE.md` or `AGENTS.md` exist?
23
+ - Does `CONVENTIONS.md` exist?
24
+ - Is the `specs/` directory layout in place?
25
+ - Are commit conventions documented (Conventional Commits)?
26
+ - Is the git workflow mode identified (`solo-git` | `team-pr`)?
27
+
28
+ ### 3. Bigpowers pre-flight (must all be answered before build)
29
+ | Question | Why |
30
+ |----------|-----|
31
+ | What is the **test command**? | `develop-tdd` verify steps require it |
32
+ | What is the **build command**? | `verify-work` mechanical gate |
33
+ | What is the **lint command**? | `audit-code` lint gate |
34
+ | What is the **typecheck command**? | `verify-work` typecheck gate |
35
+ | What **CI platform** is in use? | `wire-ci` configuration |
36
+ | **Solo or team**? | `release-branch` integration mode |
37
+ | Primary **language + framework**? | model routing + conventions |
38
+ | **Greenfield or existing** codebase? | determines whether to run `seed-conventions` or `migrate-spec` first |
39
+
40
+ ## Process
41
+
42
+ 1. **Ingest the plan** — accept a file path, pasted PRD text, or existing `specs/` artifacts. Read `CLAUDE.md` and `CONVENTIONS.md` if present.
43
+
44
+ 2. **Score each lens** — for every item above, mark:
45
+ - ✅ Present and adequate
46
+ - ⚠️ Present but incomplete — note what's missing
47
+ - ❌ Absent
48
+
49
+ 3. **Close gaps conversationally** — for each ❌ or ⚠️, ask one question at a time. Record each answer before moving to the next.
50
+
51
+ 4. **Write `specs/PLAN-AUDIT.md`**:
52
+
53
+ ```markdown
54
+ # Plan Audit — <project>
55
+ **Date:** YYYY-MM-DD · **Verdict:** READY | NOT READY
56
+
57
+ ## Principles Alignment
58
+ | Check | Status | Note |
59
+ | Vertical slices | ✅ | 4 stories, each shippable |
60
+ | Scope bounded | ⚠️ | in_scope present; out_of_scope missing |
61
+
62
+ ## Conventions Completeness
63
+ | Check | Status | Note |
64
+
65
+ ## Pre-flight Answers
66
+ | Command | Value |
67
+ | test | `npm test` |
68
+ | build | `npm run build` |
69
+
70
+ ## Open Gaps
71
+ - [ ] Add out_of_scope to scope definition (run scope-work)
72
+ - [ ] Create CLAUDE.md (run seed-conventions)
73
+
74
+ ## Verdict
75
+ READY — proceed with survey-context
76
+ NOT READY — N gaps remain; close before proceeding
77
+ ```
78
+
79
+ 5. **Recommend next skill**:
80
+ - READY → `survey-context`
81
+ - Needs bootstrapping → `seed-conventions`
82
+ - Needs spec elaboration → `elaborate-spec`
83
+ - Has foreign spec format → `migrate-spec`
84
+ - Plan assumptions need challenging → `grill-me`
85
+
86
+ ## Verify
87
+
88
+ → verify: `test -f specs/PLAN-AUDIT.md && grep -q 'Verdict' specs/PLAN-AUDIT.md && echo OK || echo FAIL`
@@ -71,6 +71,28 @@ Apply the mapping from [REFERENCE.md](./REFERENCE.md) and [REFERENCE-GSD.md](./R
71
71
  2. Ask: "Create this? [yes / edit / skip]"
72
72
  3. On yes: write to `specs/`.
73
73
 
74
+ #### ID Tracking (REQ-XX, FR-XX, UJ-XX)
75
+
76
+ 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:
77
+
78
+ ```yaml
79
+ # CORRECT — first-class id: field
80
+ in_scope:
81
+ - id: REQ-001
82
+ description: "User can register with email/password"
83
+ source: "REQUIREMENTS.md"
84
+
85
+ # DEPRECATED — comment-only
86
+ in_scope:
87
+ - "User can register with email/password" # REQ-001
88
+ ```
89
+
90
+ **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.
91
+
92
+ **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`.
93
+
94
+ See [REFERENCE.md — in_scope format with ID tracking](./REFERENCE.md#in_scope-format-with-id-tracking) for examples.
95
+
74
96
  > **HARD GATE** — Never overwrite an existing `specs/` file without explicit user confirmation. Merge into it if it exists; don't clobber.
75
97
  >
76
98
  > → verify: `git diff --name-only HEAD -- specs/ 2>/dev/null | head -20`
@@ -126,7 +148,7 @@ Full mapping tables: [REFERENCE-GSD.md](./REFERENCE-GSD.md) (GSD) · [REFERENCE.
126
148
 
127
149
  ## Rules
128
150
 
129
- - **Preserve source IDs** — REQ-XX, FR-XX, UJ-XX become inline comments in bigpowers targets. Never silently renumber.
151
+ - **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.
130
152
  - **Never merge contradictory docs** — if source has both `CONTEXT.md` and `architecture.md`, create sections in bigpowers `CONTEXT.md`; don't collapse them.
131
153
  - **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
154
  - **state.yaml is always regenerated** — never migrate source STATE verbatim; bigpowers state.yaml needs its own format.
@@ -184,9 +206,9 @@ Transform:
184
206
  GSD REQUIREMENTS has: REQ-XX IDs, Validated/Active/Out-of-Scope categories, traceability.
185
207
 
186
208
  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
209
+ - 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))
210
+ - Validated requirements → `in_scope` entries with `id:`, `description:`, `source:` fields
211
+ - Out-of-Scope → `out_of_scope` entries (preserve IDs if present)
190
212
  - Active (in-progress) → `in_scope` with status note
191
213
 
192
214
  ---
@@ -404,7 +426,7 @@ Optional enhancements to offer the user after migration. Present as checkboxes.
404
426
 
405
427
  - [ ] **`specs/tech-architecture/METHODOLOGY_LATEST.md`** — Standing analytical lenses. Agents read before planning.
406
428
  - [ ] **`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.
429
+ - [x] **ID tracking in SCOPE_LATEST.yaml** — FR/UJ IDs for spec → plan → verification traceability. (adopted in Step 3 transform)
408
430
 
409
431
  ### From spec-kit
410
432
 
@@ -454,6 +476,27 @@ For lightweight decisions that don't warrant a full ADR:
454
476
  | 2026-05-19 | Use Postgres | Existing ops expertise | SQLite (limited), DynamoDB (no local dev) |
455
477
  ```
456
478
 
479
+ ### in_scope format with ID tracking
480
+
481
+ Source IDs (REQ-XX, FR-XX, UJ-XX) are emitted as first-class YAML fields:
482
+
483
+ ```yaml
484
+ in_scope:
485
+ - id: REQ-001
486
+ description: "User can register with email and password"
487
+ source: "REQUIREMENTS.md"
488
+ - id: FR-015
489
+ description: "Auth service must support OAuth2 token flow"
490
+ source: "prd.md"
491
+ - id: REQ-AUTO-002 # auto-generated when source had no ID
492
+ description: "Dashboard displays user profile"
493
+ # auto-generated: true (optional comment for tracking)
494
+ ```
495
+
496
+ **When source has no IDs:** If the user opts in, auto-generated IDs follow the `REQ-{NNN}` format with an optional `# auto-generated` comment.
497
+
498
+ **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.
499
+
457
500
  ### `specs/state.yaml` template format
458
501
 
459
502
  Generated during Step 4 of migration. Regenerate from scratch in bigpowers format:
@@ -57,9 +57,13 @@ Every task must have a `verify:` command. No verify command = not a task.
57
57
 
58
58
  ### 4. Save specs/release-plan.yaml
59
59
 
60
+ > **Do NOT hand-track the real version.** semantic-release decides it at merge. `version` here is a
61
+ > non-authoritative mirror/label only — read the real number with `gh release view`. Set `bump_hint`
62
+ > (the expectation), not a number you intend to enforce.
63
+
60
64
  ```yaml
61
65
  release:
62
- version: "3.0.0"
66
+ version: "2.29.0" # mirror of next expected tag, NOT authoritative — gh release view wins
63
67
  codename: "Feature Name"
64
68
  status: planning # planning | in_progress | released
65
69
  semantic_release: true
@@ -108,8 +108,8 @@ active_epic_id: e02
108
108
  active_story_id: e02s01 # required when epic mode: folder
109
109
  active_bug_id: null # BUG-2026-06-01T143022 when fix_bug
110
110
  release:
111
- target_version: "3.0.0"
112
- last_tag: null
111
+ target_version: null # NOT tracked manually — semantic-release decides at merge
112
+ last_tag: v2.28.0 # mirror of `gh release view`, reference only
113
113
  last_publish: null
114
114
  epic_cycle:
115
115
  current_step: develop-tdd
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: audit-plan
3
+ description: "Evaluate an incoming project plan against bigpowers principles and conventions, surface gaps, and produce a READY/NOT READY verdict before engagement begins. Use when a new project arrives, when adapting a foreign plan, or before running seed-conventions on an unfamiliar codebase."
4
+ model: sonnet
5
+ ---
6
+
7
+
8
+ # Audit Plan
9
+
10
+ > **HARD GATE** — Do NOT start build skills (kickoff-branch, develop-tdd) until audit-plan returns a READY verdict. A plan missing test commands, scope boundaries, or success criteria will produce drift and rework downstream.
11
+
12
+ Assess an incoming project plan for alignment with bigpowers principles, identify what's missing, and produce a structured readiness report before any skill execution begins.
13
+
14
+ ## Three lenses
15
+
16
+ ### 1. Principles alignment
17
+ - Are stories vertical slices (not horizontal layers)?
18
+ - Is scope bounded — explicit in_scope + out_of_scope?
19
+ - Are success criteria defined (how do we know we're done)?
20
+ - Are HARD GATE candidates identifiable (critical decision points)?
21
+ - Is there a domain language / ubiquitous terminology?
22
+
23
+ ### 2. Conventions completeness
24
+ - Does `CLAUDE.md` or `AGENTS.md` exist?
25
+ - Does `CONVENTIONS.md` exist?
26
+ - Is the `specs/` directory layout in place?
27
+ - Are commit conventions documented (Conventional Commits)?
28
+ - Is the git workflow mode identified (`solo-git` | `team-pr`)?
29
+
30
+ ### 3. Bigpowers pre-flight (must all be answered before build)
31
+ | Question | Why |
32
+ |----------|-----|
33
+ | What is the **test command**? | `develop-tdd` verify steps require it |
34
+ | What is the **build command**? | `verify-work` mechanical gate |
35
+ | What is the **lint command**? | `audit-code` lint gate |
36
+ | What is the **typecheck command**? | `verify-work` typecheck gate |
37
+ | What **CI platform** is in use? | `wire-ci` configuration |
38
+ | **Solo or team**? | `release-branch` integration mode |
39
+ | Primary **language + framework**? | model routing + conventions |
40
+ | **Greenfield or existing** codebase? | determines whether to run `seed-conventions` or `migrate-spec` first |
41
+
42
+ ## Process
43
+
44
+ 1. **Ingest the plan** — accept a file path, pasted PRD text, or existing `specs/` artifacts. Read `CLAUDE.md` and `CONVENTIONS.md` if present.
45
+
46
+ 2. **Score each lens** — for every item above, mark:
47
+ - ✅ Present and adequate
48
+ - ⚠️ Present but incomplete — note what's missing
49
+ - ❌ Absent
50
+
51
+ 3. **Close gaps conversationally** — for each ❌ or ⚠️, ask one question at a time. Record each answer before moving to the next.
52
+
53
+ 4. **Write `specs/PLAN-AUDIT.md`**:
54
+
55
+ ```markdown
56
+ # Plan Audit — <project>
57
+ **Date:** YYYY-MM-DD · **Verdict:** READY | NOT READY
58
+
59
+ ## Principles Alignment
60
+ | Check | Status | Note |
61
+ | Vertical slices | ✅ | 4 stories, each shippable |
62
+ | Scope bounded | ⚠️ | in_scope present; out_of_scope missing |
63
+
64
+ ## Conventions Completeness
65
+ | Check | Status | Note |
66
+
67
+ ## Pre-flight Answers
68
+ | Command | Value |
69
+ | test | `npm test` |
70
+ | build | `npm run build` |
71
+
72
+ ## Open Gaps
73
+ - [ ] Add out_of_scope to scope definition (run scope-work)
74
+ - [ ] Create CLAUDE.md (run seed-conventions)
75
+
76
+ ## Verdict
77
+ READY — proceed with survey-context
78
+ NOT READY — N gaps remain; close before proceeding
79
+ ```
80
+
81
+ 5. **Recommend next skill**:
82
+ - READY → `survey-context`
83
+ - Needs bootstrapping → `seed-conventions`
84
+ - Needs spec elaboration → `elaborate-spec`
85
+ - Has foreign spec format → `migrate-spec`
86
+ - Plan assumptions need challenging → `grill-me`
87
+
88
+ ## Verify
89
+
90
+ → verify: `test -f specs/PLAN-AUDIT.md && grep -q 'Verdict' specs/PLAN-AUDIT.md && echo OK || echo FAIL`
@@ -73,6 +73,28 @@ Apply the mapping from [REFERENCE.md](./REFERENCE.md) and [REFERENCE-GSD.md](./R
73
73
  2. Ask: "Create this? [yes / edit / skip]"
74
74
  3. On yes: write to `specs/`.
75
75
 
76
+ #### ID Tracking (REQ-XX, FR-XX, UJ-XX)
77
+
78
+ 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:
79
+
80
+ ```yaml
81
+ # CORRECT — first-class id: field
82
+ in_scope:
83
+ - id: REQ-001
84
+ description: "User can register with email/password"
85
+ source: "REQUIREMENTS.md"
86
+
87
+ # DEPRECATED — comment-only
88
+ in_scope:
89
+ - "User can register with email/password" # REQ-001
90
+ ```
91
+
92
+ **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.
93
+
94
+ **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`.
95
+
96
+ See [REFERENCE.md — in_scope format with ID tracking](./REFERENCE.md#in_scope-format-with-id-tracking) for examples.
97
+
76
98
  > **HARD GATE** — Never overwrite an existing `specs/` file without explicit user confirmation. Merge into it if it exists; don't clobber.
77
99
  >
78
100
  > → verify: `git diff --name-only HEAD -- specs/ 2>/dev/null | head -20`
@@ -128,7 +150,7 @@ Full mapping tables: [REFERENCE-GSD.md](./REFERENCE-GSD.md) (GSD) · [REFERENCE.
128
150
 
129
151
  ## Rules
130
152
 
131
- - **Preserve source IDs** — REQ-XX, FR-XX, UJ-XX become inline comments in bigpowers targets. Never silently renumber.
153
+ - **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.
132
154
  - **Never merge contradictory docs** — if source has both `CONTEXT.md` and `architecture.md`, create sections in bigpowers `CONTEXT.md`; don't collapse them.
133
155
  - **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`.
134
156
  - **state.yaml is always regenerated** — never migrate source STATE verbatim; bigpowers state.yaml needs its own format.
@@ -186,9 +208,9 @@ Transform:
186
208
  GSD REQUIREMENTS has: REQ-XX IDs, Validated/Active/Out-of-Scope categories, traceability.
187
209
 
188
210
  Transform:
189
- - Copy REQ-XX IDs as-is (preserve for cross-referencing)
190
- - Validated requirements → `in_scope` entries
191
- - Out-of-Scope → `out_of_scope` entries
211
+ - 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))
212
+ - Validated requirements → `in_scope` entries with `id:`, `description:`, `source:` fields
213
+ - Out-of-Scope → `out_of_scope` entries (preserve IDs if present)
192
214
  - Active (in-progress) → `in_scope` with status note
193
215
 
194
216
  ---
@@ -406,7 +428,7 @@ Optional enhancements to offer the user after migration. Present as checkboxes.
406
428
 
407
429
  - [ ] **`specs/tech-architecture/METHODOLOGY_LATEST.md`** — Standing analytical lenses. Agents read before planning.
408
430
  - [ ] **`handoff` block in state.yaml** — Last skill, last step, required reading for next session.
409
- - [ ] **ID tracking in SCOPE_LATEST.yaml** — FR/UJ IDs for spec → plan → verification traceability.
431
+ - [x] **ID tracking in SCOPE_LATEST.yaml** — FR/UJ IDs for spec → plan → verification traceability. (adopted in Step 3 transform)
410
432
 
411
433
  ### From spec-kit
412
434
 
@@ -456,6 +478,27 @@ For lightweight decisions that don't warrant a full ADR:
456
478
  | 2026-05-19 | Use Postgres | Existing ops expertise | SQLite (limited), DynamoDB (no local dev) |
457
479
  ```
458
480
 
481
+ ### in_scope format with ID tracking
482
+
483
+ Source IDs (REQ-XX, FR-XX, UJ-XX) are emitted as first-class YAML fields:
484
+
485
+ ```yaml
486
+ in_scope:
487
+ - id: REQ-001
488
+ description: "User can register with email and password"
489
+ source: "REQUIREMENTS.md"
490
+ - id: FR-015
491
+ description: "Auth service must support OAuth2 token flow"
492
+ source: "prd.md"
493
+ - id: REQ-AUTO-002 # auto-generated when source had no ID
494
+ description: "Dashboard displays user profile"
495
+ # auto-generated: true (optional comment for tracking)
496
+ ```
497
+
498
+ **When source has no IDs:** If the user opts in, auto-generated IDs follow the `REQ-{NNN}` format with an optional `# auto-generated` comment.
499
+
500
+ **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.
501
+
459
502
  ### `specs/state.yaml` template format
460
503
 
461
504
  Generated during Step 4 of migration. Regenerate from scratch in bigpowers format:
@@ -59,9 +59,13 @@ Every task must have a `verify:` command. No verify command = not a task.
59
59
 
60
60
  ### 4. Save specs/release-plan.yaml
61
61
 
62
+ > **Do NOT hand-track the real version.** semantic-release decides it at merge. `version` here is a
63
+ > non-authoritative mirror/label only — read the real number with `gh release view`. Set `bump_hint`
64
+ > (the expectation), not a number you intend to enforce.
65
+
62
66
  ```yaml
63
67
  release:
64
- version: "3.0.0"
68
+ version: "2.29.0" # mirror of next expected tag, NOT authoritative — gh release view wins
65
69
  codename: "Feature Name"
66
70
  status: planning # planning | in_progress | released
67
71
  semantic_release: true
@@ -110,8 +110,8 @@ active_epic_id: e02
110
110
  active_story_id: e02s01 # required when epic mode: folder
111
111
  active_bug_id: null # BUG-2026-06-01T143022 when fix_bug
112
112
  release:
113
- target_version: "3.0.0"
114
- last_tag: null
113
+ target_version: null # NOT tracked manually — semantic-release decides at merge
114
+ last_tag: v2.28.0 # mirror of `gh release view`, reference only
115
115
  last_publish: null
116
116
  epic_cycle:
117
117
  current_step: develop-tdd
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [2.29.0](https://github.com/danielvm-git/bigpowers/compare/v2.28.0...v2.29.0) (2026-06-26)
2
+
3
+
4
+ ### Features
5
+
6
+ * **migrate-spec:** promote ID tracking from comments to first-class YAML fields ([f1c8d73](https://github.com/danielvm-git/bigpowers/commit/f1c8d73a5140175fc0067a191f119eea70395075)), closes [#22](https://github.com/danielvm-git/bigpowers/issues/22)
7
+
8
+ # [2.28.0](https://github.com/danielvm-git/bigpowers/compare/v2.27.0...v2.28.0) (2026-06-22)
9
+
10
+
11
+ ### Features
12
+
13
+ * **audit-plan:** new skill — evaluate project plan for bigpowers readiness ([509deba](https://github.com/danielvm-git/bigpowers/commit/509deba5a45b3f688d087b11091fc854449c7e46))
14
+
1
15
  # [2.27.0](https://github.com/danielvm-git/bigpowers/compare/v2.26.0...v2.27.0) (2026-06-22)
2
16
 
3
17
 
package/CONVENTIONS.md CHANGED
@@ -96,11 +96,16 @@ Epic IDs: `e01`, `e30`. Story IDs: `e01s01`. One FR in SCOPE may span multiple e
96
96
 
97
97
  When planning closes, copy to `specs/product/snapshots/release-<version>/` (`release-plan.yaml`, `SCOPE_LATEST.yaml`, `VISION_LATEST.yaml`). No separate `baselines/` folder.
98
98
 
99
- ### Semantic-release — three places
99
+ ### Semantic-release — the real version is never hand-tracked
100
100
 
101
- 1. **Planning intent** `specs/release-plan.yaml` `release.version`, `release.bump_hint` (minor/patch/major expectation).
102
- 2. **Published version** repo root: `package.json`, git tag `vX.Y.Z`, `CHANGELOG.md` (CI semantic-release; not hand-edited in specs).
103
- 3. **Dashboard optional** `specs/state.yaml` `release.last_tag`, `release.last_publish` (from tags/CI).
101
+ > **The authority is `gh release view` / git tags.** semantic-release decides the version
102
+ > at merge from Conventional Commits. Never hand-maintain a `target_version` to "predict" it
103
+ > that field drifts from reality every release. The specs only *mirror* the real tag for reference.
104
+
105
+ 1. **Planning intent (codename only)** — `specs/release-plan.yaml` → `release.version`, `release.bump_hint`.
106
+ Treat `version` as a non-authoritative label; if you write a number, mark it "mirror, not the authority".
107
+ 2. **Published version (authority)** — repo root `package.json`, git tag `vX.Y.Z`, `CHANGELOG.md` (CI semantic-release; not hand-edited in specs). Read with `gh release view`.
108
+ 3. **Dashboard mirror** — `specs/state.yaml` → `release.last_tag`, `release.last_publish` (copied from `gh release view`; `target_version` is `null` — not tracked manually).
104
109
 
105
110
  ### Guardrails and other artifacts
106
111
 
package/SKILL-INDEX.md CHANGED
@@ -3,8 +3,8 @@
3
3
  > **DO NOT EDIT** — This file is auto-generated by `scripts/generate-skill-index.sh`.
4
4
  > Edit `SKILL.md` source files or `skills-lock.json` instead. Run `bash scripts/sync-skills.sh` to regenerate.
5
5
 
6
- **Generated:** 2026-06-22T11:54:00Z
7
- **Skills:** 69
6
+ **Generated:** 2026-06-26T22:20:53Z
7
+ **Skills:** 70
8
8
 
9
9
  ---
10
10
 
@@ -12,14 +12,14 @@
12
12
 
13
13
  | Phase | Count | Skills |
14
14
  |---|---|---|
15
- | Discover | 6 | `elaborate-spec, map-codebase, research-first, search-skills, survey-context, using-bigpowers` |
15
+ | Discover | 7 | `audit-plan, elaborate-spec, map-codebase, research-first, search-skills, survey-context, using-bigpowers` |
16
16
  | Design | 7 | `deepen-architecture, define-language, define-success, design-interface, grill-me, grill-with-docs, model-domain` |
17
17
  | Plan | 9 | `assess-impact, change-request, plan-refactor, plan-release, plan-work, run-planning, scope-work, seed-conventions, slice-tasks` |
18
18
  | Build | 18 | `align-grid, build-epic, craft-skill, deploy, develop-tdd, execute-plan, guard-git, hook-commits, kickoff-branch, orchestrate-project, publish-package, quick-fix, setup-environment, smoke-test, spike-prototype, validate-contracts, wire-ci, wire-observability` |
19
19
  | Verify | 12 | `audit-code, diagnose-root, enforce-first, fix-bug, inspect-quality, investigate-bug, request-review, respond-review, run-evals, trace-requirement, validate-fix, verify-work` |
20
20
  | Release | 2 | `commit-message, release-branch` |
21
- | Sustain | 13 | `compose-workflow, delegate-task, dispatch-agents, edit-document, evolve-skill, migrate-spec, organize-workspace, reset-baseline, session-state, simulate-agents, stocktake-skills, terse-mode, write-document` |
22
- | **TOTAL** | **67** | |
21
+ | Sustain | 14 | `compose-workflow, delegate-task, dispatch-agents, edit-document, evolve-skill, migrate-spec, organize-workspace, reset-baseline, run-benchmark, session-state, simulate-agents, stocktake-skills, terse-mode, write-document` |
22
+ | **TOTAL** | **69** | |
23
23
 
24
24
  ---
25
25
 
@@ -27,75 +27,77 @@
27
27
 
28
28
  | # | Phase | Skill | Description | Status |
29
29
  |---|---|---|---|---|
30
- | 1 | Discover | `elaborate-spec` | Refine a rough idea into a clear, detailed specification through dialogue. Does | ✅ Active |
31
- | 2 | Discover | `map-codebase` | "Derives the tech-stack doc from scratch by scanning the codebase analyzes s | ✅ Active |
32
- | 3 | Discover | `research-first` | Look-before-build search registries, repo, existing skills, and web for prio | ✅ Active |
33
- | 4 | Discover | `search-skills` | Find the right bigpowers skill from natural-language intent using a local lexica | ✅ Active |
34
- | 5 | Discover | `survey-context` | Per-task context bootstrap reads existing specs/ and tech-architecture docs | ✅ Active |
35
- | 6 | Discover | `using-bigpowers` | One-time bootstrap that introduces the bigpowers skills system, the PMBOK lifecy | ✅ Active |
36
- | 7 | Design | `deepen-architecture` | Find deepening opportunities in a codebase, informed by the domain language in s | ✅ Active |
37
- | 8 | Design | `define-language` | Extract a DDD-style ubiquitous language glossary from the current conversation, | ✅ Active |
38
- | 9 | Design | `define-success` | Convert an imperative task statement into explicit "step verify: <cmd>" pair | ✅ Active |
39
- | 10 | Design | `design-interface` | Generate multiple radically different interface designs for a module using paral | ✅ Active |
40
- | 11 | Design | `grill-me` | Interactive assumption-surfacing Q&A that stress-tests a plan through relentless | ✅ Active |
41
- | 12 | Design | `grill-with-docs` | Doc-grounded variant of grill-me — stress-tests plan assumptions by fetching a | ✅ Active |
42
- | 13 | Design | `model-domain` | Grilling session that challenges your plan against the existing domain model, sh | ✅ Active |
43
- | 14 | Plan | `assess-impact` | Analyze the blast radius of a proposed change before any code is written. Maps d | ✅ Active |
44
- | 15 | Plan | `change-request` | Add a new requirement or reorder epics by WSJF against specs/release-plan.yaml a | ✅ Active |
45
- | 16 | Plan | `plan-refactor` | Create a detailed refactor plan with tiny commits via user interview, then save | ✅ Active |
46
- | 17 | Plan | `plan-release` | "RELEASE-INDEX BUILDER Sequence elaborated epics into specs/release-plan.yam | ✅ Active |
47
- | 18 | Plan | `plan-work` | "PLANNING SPINE STEP 3 of 3 Plan the work: write detailed implementation tas | ✅ Active |
48
- | 19 | Plan | `run-planning` | "DISCOVER-PHASE ADVANCERDrive the discover-phase checklist (specs/planning- | ✅ Active |
49
- | 20 | Plan | `scope-work` | "PLANNING SPINE STEP 1 of 3 Scope the work: define what is in and out of sco | ✅ Active |
50
- | 21 | Plan | `seed-conventions` | Generate CLAUDE.md and CONVENTIONS.md for a brand-new project through a brief in | ✅ Active |
51
- | 22 | Plan | `slice-tasks` | "PLANNING SPINE STEP 2 of 3 Slice the work: break a scoped PRD into vertical | ✅ Active |
52
- | 23 | Build | `align-grid` | "Build editorial/magazine/report webpages on a GENUINE Müller-Brockmann modular | ✅ Active |
53
- | 24 | Build | `build-epic` | Eight-step epic build cycle reads state.yaml, execution-status.yaml, and one | ✅ Active |
54
- | 25 | Build | `craft-skill` | Create new bigpowers skills with proper structure, progressive disclosure, and b | ✅ Active |
55
- | 26 | Build | `deploy` | "Build verify artifact deploy wait smoke deployment pipeline. Pl | ✅ Active |
56
- | 27 | Build | `develop-tdd` | Test-driven development with red-green-refactor loop using vertical slices. Use | ✅ Active |
57
- | 28 | Build | `execute-plan` | Batch-execute tasks from the active epic capsule sequentially, with a human chec | ✅ Active |
58
- | 29 | Build | `guard-git` | Block dangerous git commands (push, force push, reset --hard, clean, branch -D, | ✅ Active |
59
- | 30 | Build | `hook-commits` | Set up pre-commit hooks with lint-staged (Prettier), type checking, and tests in | ✅ Active |
60
- | 31 | Build | `kickoff-branch` | Create a git worktree and feature branch, then verify a clean test baseline befo | ✅ Active |
61
- | 32 | Build | `orchestrate-project` | Meta-skill that enforces the 6-phase core loop (discover elaborate plan | ✅ Active |
62
- | 33 | Build | `publish-package` | "Package registry publishing for npm, crates.io, PyPI, and Homebrew. Verifies pr | ✅ Active |
63
- | 34 | Build | `quick-fix` | "Streamlined fast-path for trivial data-only fixes no TDD, no branching cere | ✅ Active |
64
- | 35 | Build | `setup-environment` | Pre-install dependencies and configure tools before development work begins. Use | ✅ Active |
65
- | 36 | Build | `smoke-test` | "Post-deploy health-check against a live URL. Validates HTTP status, response co | ✅ Active |
66
- | 37 | Build | `spike-prototype` | Throw-away prototype for unknown problem spaces. Output is learning notes in spe | ✅ Active |
67
- | 38 | Build | `validate-contracts` | "Assert data shape consistency across system boundaries live API responses a | ✅ Active |
68
- | 39 | Build | `wire-ci` | "CI pipeline setup with pre-built templates and local validation. Generates GitH | ✅ Active |
69
- | 40 | Build | `wire-observability` | Add structured JSON logging, observability commands, and idempotent setup script | ✅ Active |
70
- | 41 | Verify | `audit-code` | Self-review checklist for the coding agent to run before dispatching a reviewer. | ✅ Active |
71
- | 42 | Verify | `diagnose-root` | Run 4-phase root cause analysis reproduce, isolate, hypothesize, verify. Use | ✅ Active |
72
- | 43 | Verify | `enforce-first` | Apply the F.I.R.S.T test quality rubric (Fast, Independent, Repeatable, Self-Val | ✅ Active |
73
- | 44 | Verify | `fix-bug` | Bug fix orchestrator active_flow fix_bug; reads specs/bugs/BUG-*.md; chains | ✅ Active |
74
- | 45 | Verify | `inspect-quality` | Interactive QA session where user reports bugs or issues conversationally, and t | ✅ Active |
75
- | 46 | Verify | `investigate-bug` | Investigate a bug or issue by exploring the codebase to find root cause, then wr | ✅ Active |
76
- | 47 | Verify | `request-review` | Dispatch a fresh reviewer agent with a clean context to critique the code after | ✅ Active |
77
- | 48 | Verify | `respond-review` | Act on a reviewer agent's feedback systematically categorize findings, apply | ✅ Active |
78
- | 49 | Verify | `run-evals` | Eval-Driven Development define capability and regression evals before buildi | ✅ Active |
79
- | 50 | Verify | `trace-requirement` | Link story IDs from specs/release-plan.yaml + epic capsule directories to the im | ✅ Active |
80
- | 51 | Verify | `validate-fix` | Prove a fix works before declaring done re-run the failing test, run the ful | ✅ Active |
81
- | 52 | Verify | `verify-work` | Multi-phase UAT gatecold-start smoke, build, typecheck, lint, tests, step-b | ✅ Active |
82
- | 53 | Release | `commit-message` | Reviews working-tree changes, then drafts a Conventional Commits title/body and | ✅ Active |
83
- | 54 | Release | `release-branch` | Make the merge/PR/keep/discard decision for a feature branch, verify coverage ga | ✅ Active |
84
- | 55 | Sustain | `compose-workflow` | Chain multiple bigpowers skills into a custom workflow recipe saved in specs/. U | ✅ Active |
85
- | 56 | Sustain | `delegate-task` | Delegate one complex task to a single subagent, review its work in two stages be | ✅ Active |
86
- | 57 | Sustain | `dispatch-agents` | Dispatch multiple subagents in parallel on independent tasks. No waiting between | ✅ Active |
87
- | 58 | Sustain | `edit-document` | Edit and improve documents by restructuring sections, improving clarity, and tig | ✅ Active |
88
- | 59 | Sustain | `evolve-skill` | Benchmark-gated skill evolution consume bigpowers-benchmark report, propose | ✅ Active |
89
- | 60 | Sustain | `migrate-spec` | Detect GSD, spec-kit, or BMAD spec artifacts and transform them into bigpowers Y | ✅ Active |
90
- | 61 | Sustain | `organize-workspace` | Scans the active workspace for disposable artifacts—logs, caches, stale build | ✅ Active |
91
- | 62 | Sustain | `reset-baseline` | Restore the project to a known clean state between agent runs or experiments. Us | ✅ Active |
92
- | 63 | Sustain | `session-state` | Track implementation decisions and progress in specs/state.yaml to prevent conte | ✅ Active |
93
- | 64 | Sustain | `simulate-agents` | Run Mock User and Auditor agents against a feature in fresh contexts before huma | ✅ Active |
94
- | 65 | Sustain | `stocktake-skills` | Sequential subagent batch audit of the bigpowers skill catalog Quick Scan (c | ✅ Active |
95
- | 66 | Sustain | `terse-mode` | Fallback ultra-compressed communication mode. Cuts token usage ~75% by dropping | ✅ Active |
96
- | 67 | Sustain | `write-document` | Write, organize, and sync high-integrity technical documents using the BMAD meth | ✅ Active |
97
-
98
- **Total: 67 active skills.**
30
+ | 1 | Discover | `audit-plan` | Evaluate an incoming project plan against bigpowers principles and conventions, | ✅ Active |
31
+ | 2 | Discover | `elaborate-spec` | Refine a rough idea into a clear, detailed specification through dialogue. Does | ✅ Active |
32
+ | 3 | Discover | `map-codebase` | "Derives the tech-stack doc from scratch by scanning the codebase analyzes s | ✅ Active |
33
+ | 4 | Discover | `research-first` | Look-before-build search registries, repo, existing skills, and web for prio | ✅ Active |
34
+ | 5 | Discover | `search-skills` | Find the right bigpowers skill from natural-language intent using a local lexica | ✅ Active |
35
+ | 6 | Discover | `survey-context` | Per-task context bootstrap reads existing specs/ and tech-architecture docs | ✅ Active |
36
+ | 7 | Discover | `using-bigpowers` | One-time bootstrap that introduces the bigpowers skills system, the PMBOK lifecy | ✅ Active |
37
+ | 8 | Design | `deepen-architecture` | Find deepening opportunities in a codebase, informed by the domain language in s | ✅ Active |
38
+ | 9 | Design | `define-language` | Extract a DDD-style ubiquitous language glossary from the current conversation, | ✅ Active |
39
+ | 10 | Design | `define-success` | Convert an imperative task statement into explicit "step verify: <cmd>" pair | ✅ Active |
40
+ | 11 | Design | `design-interface` | Generate multiple radically different interface designs for a module using paral | ✅ Active |
41
+ | 12 | Design | `grill-me` | Interactive assumption-surfacing Q&A that stress-tests a plan through relentless | ✅ Active |
42
+ | 13 | Design | `grill-with-docs` | Doc-grounded variant of grill-me stress-tests plan assumptions by fetching a | ✅ Active |
43
+ | 14 | Design | `model-domain` | Grilling session that challenges your plan against the existing domain model, sh | ✅ Active |
44
+ | 15 | Plan | `assess-impact` | Analyze the blast radius of a proposed change before any code is written. Maps d | ✅ Active |
45
+ | 16 | Plan | `change-request` | Add a new requirement or reorder epics by WSJF against specs/release-plan.yaml a | ✅ Active |
46
+ | 17 | Plan | `plan-refactor` | Create a detailed refactor plan with tiny commits via user interview, then save | ✅ Active |
47
+ | 18 | Plan | `plan-release` | "RELEASE-INDEX BUILDERSequence elaborated epics into specs/release-plan.yam | ✅ Active |
48
+ | 19 | Plan | `plan-work` | "PLANNING SPINE STEP 3 of 3 Plan the work: write detailed implementation tas | ✅ Active |
49
+ | 20 | Plan | `run-planning` | "DISCOVER-PHASE ADVANCERDrive the discover-phase checklist (specs/planning- | ✅ Active |
50
+ | 21 | Plan | `scope-work` | "PLANNING SPINE STEP 1 of 3 Scope the work: define what is in and out of sco | ✅ Active |
51
+ | 22 | Plan | `seed-conventions` | Generate CLAUDE.md and CONVENTIONS.md for a brand-new project through a brief in | ✅ Active |
52
+ | 23 | Plan | `slice-tasks` | "PLANNING SPINE STEP 2 of 3 — Slice the work: break a scoped PRD into vertical | ✅ Active |
53
+ | 24 | Build | `align-grid` | "Build editorial/magazine/report webpages on a GENUINE Müller-Brockmann modular | ✅ Active |
54
+ | 25 | Build | `build-epic` | Eight-step epic build cycle reads state.yaml, execution-status.yaml, and one | ✅ Active |
55
+ | 26 | Build | `craft-skill` | Create new bigpowers skills with proper structure, progressive disclosure, and b | ✅ Active |
56
+ | 27 | Build | `deploy` | "Build verify artifact deploy wait → smoke deployment pipeline. Pl | ✅ Active |
57
+ | 28 | Build | `develop-tdd` | Test-driven development with red-green-refactor loop using vertical slices. Use | ✅ Active |
58
+ | 29 | Build | `execute-plan` | Batch-execute tasks from the active epic capsule sequentially, with a human chec | ✅ Active |
59
+ | 30 | Build | `guard-git` | Block dangerous git commands (push, force push, reset --hard, clean, branch -D, | ✅ Active |
60
+ | 31 | Build | `hook-commits` | Set up pre-commit hooks with lint-staged (Prettier), type checking, and tests in | ✅ Active |
61
+ | 32 | Build | `kickoff-branch` | Create a git worktree and feature branch, then verify a clean test baseline befo | ✅ Active |
62
+ | 33 | Build | `orchestrate-project` | Meta-skill that enforces the 6-phase core loop (discover elaborate plan | ✅ Active |
63
+ | 34 | Build | `publish-package` | "Package registry publishing for npm, crates.io, PyPI, and Homebrew. Verifies pr | ✅ Active |
64
+ | 35 | Build | `quick-fix` | "Streamlined fast-path for trivial data-only fixes no TDD, no branching cere | ✅ Active |
65
+ | 36 | Build | `setup-environment` | Pre-install dependencies and configure tools before development work begins. Use | ✅ Active |
66
+ | 37 | Build | `smoke-test` | "Post-deploy health-check against a live URL. Validates HTTP status, response co | ✅ Active |
67
+ | 38 | Build | `spike-prototype` | Throw-away prototype for unknown problem spaces. Output is learning notes in spe | ✅ Active |
68
+ | 39 | Build | `validate-contracts` | "Assert data shape consistency across system boundaries live API responses a | ✅ Active |
69
+ | 40 | Build | `wire-ci` | "CI pipeline setup with pre-built templates and local validation. Generates GitH | ✅ Active |
70
+ | 41 | Build | `wire-observability` | Add structured JSON logging, observability commands, and idempotent setup script | ✅ Active |
71
+ | 42 | Verify | `audit-code` | Self-review checklist for the coding agent to run before dispatching a reviewer. | ✅ Active |
72
+ | 43 | Verify | `diagnose-root` | Run 4-phase root cause analysis reproduce, isolate, hypothesize, verify. Use | ✅ Active |
73
+ | 44 | Verify | `enforce-first` | Apply the F.I.R.S.T test quality rubric (Fast, Independent, Repeatable, Self-Val | ✅ Active |
74
+ | 45 | Verify | `fix-bug` | Bug fix orchestrator active_flow fix_bug; reads specs/bugs/BUG-*.md; chains | ✅ Active |
75
+ | 46 | Verify | `inspect-quality` | Interactive QA session where user reports bugs or issues conversationally, and t | ✅ Active |
76
+ | 47 | Verify | `investigate-bug` | Investigate a bug or issue by exploring the codebase to find root cause, then wr | ✅ Active |
77
+ | 48 | Verify | `request-review` | Dispatch a fresh reviewer agent with a clean context to critique the code after | ✅ Active |
78
+ | 49 | Verify | `respond-review` | Act on a reviewer agent's feedback systematically categorize findings, apply | ✅ Active |
79
+ | 50 | Verify | `run-evals` | Eval-Driven Development define capability and regression evals before buildi | ✅ Active |
80
+ | 51 | Verify | `trace-requirement` | Link story IDs from specs/release-plan.yaml + epic capsule directories to the im | ✅ Active |
81
+ | 52 | Verify | `validate-fix` | Prove a fix works before declaring done re-run the failing test, run the ful | ✅ Active |
82
+ | 53 | Verify | `verify-work` | Multi-phase UAT gate — cold-start smoke, build, typecheck, lint, tests, step-b | ✅ Active |
83
+ | 54 | Release | `commit-message` | Reviews working-tree changes, then drafts a Conventional Commits title/body and | ✅ Active |
84
+ | 55 | Release | `release-branch` | Make the merge/PR/keep/discard decision for a feature branch, verify coverage ga | ✅ Active |
85
+ | 56 | Sustain | `compose-workflow` | Chain multiple bigpowers skills into a custom workflow recipe saved in specs/. U | ✅ Active |
86
+ | 57 | Sustain | `delegate-task` | Delegate one complex task to a single subagent, review its work in two stages be | ✅ Active |
87
+ | 58 | Sustain | `dispatch-agents` | Dispatch multiple subagents in parallel on independent tasks. No waiting between | ✅ Active |
88
+ | 59 | Sustain | `edit-document` | Edit and improve documents by restructuring sections, improving clarity, and tig | ✅ Active |
89
+ | 60 | Sustain | `evolve-skill` | Benchmark-gated skill evolution consume bigpowers-benchmark report, propose | ✅ Active |
90
+ | 61 | Sustain | `migrate-spec` | Detect GSD, spec-kit, or BMAD spec artifacts and transform them into bigpowers Y | ✅ Active |
91
+ | 62 | Sustain | `organize-workspace` | Scans the active workspace for disposable artifacts—logs, caches, stale build | ✅ Active |
92
+ | 63 | Sustain | `reset-baseline` | Restore the project to a known clean state between agent runs or experiments. Us | ✅ Active |
93
+ | 64 | Sustain | `run-benchmark` | Run skill quality benchmarks from specs/benchmarks/ definitions and write pass@k | ✅ Active |
94
+ | 65 | Sustain | `session-state` | Track implementation decisions and progress in specs/state.yaml to prevent conte | ✅ Active |
95
+ | 66 | Sustain | `simulate-agents` | Run Mock User and Auditor agents against a feature in fresh contexts before huma | ✅ Active |
96
+ | 67 | Sustain | `stocktake-skills` | Sequential subagent batch audit of the bigpowers skill catalog Quick Scan (c | ✅ Active |
97
+ | 68 | Sustain | `terse-mode` | Fallback ultra-compressed communication mode. Cuts token usage ~75% by dropping | ✅ Active |
98
+ | 69 | Sustain | `write-document` | Write, organize, and sync high-integrity technical documents using the BMAD meth | ✅ Active |
99
+
100
+ **Total: 69 active skills.**
99
101
 
100
102
  ---
101
103
 
@@ -0,0 +1,89 @@
1
+ ---
2
+ name: audit-plan
3
+ model: sonnet
4
+ description: Evaluate an incoming project plan against bigpowers principles and conventions, surface gaps, and produce a READY/NOT READY verdict before engagement begins. Use when a new project arrives, when adapting a foreign plan, or before running seed-conventions on an unfamiliar codebase.
5
+ ---
6
+
7
+ # Audit Plan
8
+
9
+ > **HARD GATE** — Do NOT start build skills (kickoff-branch, develop-tdd) until audit-plan returns a READY verdict. A plan missing test commands, scope boundaries, or success criteria will produce drift and rework downstream.
10
+
11
+ Assess an incoming project plan for alignment with bigpowers principles, identify what's missing, and produce a structured readiness report before any skill execution begins.
12
+
13
+ ## Three lenses
14
+
15
+ ### 1. Principles alignment
16
+ - Are stories vertical slices (not horizontal layers)?
17
+ - Is scope bounded — explicit in_scope + out_of_scope?
18
+ - Are success criteria defined (how do we know we're done)?
19
+ - Are HARD GATE candidates identifiable (critical decision points)?
20
+ - Is there a domain language / ubiquitous terminology?
21
+
22
+ ### 2. Conventions completeness
23
+ - Does `CLAUDE.md` or `AGENTS.md` exist?
24
+ - Does `CONVENTIONS.md` exist?
25
+ - Is the `specs/` directory layout in place?
26
+ - Are commit conventions documented (Conventional Commits)?
27
+ - Is the git workflow mode identified (`solo-git` | `team-pr`)?
28
+
29
+ ### 3. Bigpowers pre-flight (must all be answered before build)
30
+ | Question | Why |
31
+ |----------|-----|
32
+ | What is the **test command**? | `develop-tdd` verify steps require it |
33
+ | What is the **build command**? | `verify-work` mechanical gate |
34
+ | What is the **lint command**? | `audit-code` lint gate |
35
+ | What is the **typecheck command**? | `verify-work` typecheck gate |
36
+ | What **CI platform** is in use? | `wire-ci` configuration |
37
+ | **Solo or team**? | `release-branch` integration mode |
38
+ | Primary **language + framework**? | model routing + conventions |
39
+ | **Greenfield or existing** codebase? | determines whether to run `seed-conventions` or `migrate-spec` first |
40
+
41
+ ## Process
42
+
43
+ 1. **Ingest the plan** — accept a file path, pasted PRD text, or existing `specs/` artifacts. Read `CLAUDE.md` and `CONVENTIONS.md` if present.
44
+
45
+ 2. **Score each lens** — for every item above, mark:
46
+ - ✅ Present and adequate
47
+ - ⚠️ Present but incomplete — note what's missing
48
+ - ❌ Absent
49
+
50
+ 3. **Close gaps conversationally** — for each ❌ or ⚠️, ask one question at a time. Record each answer before moving to the next.
51
+
52
+ 4. **Write `specs/PLAN-AUDIT.md`**:
53
+
54
+ ```markdown
55
+ # Plan Audit — <project>
56
+ **Date:** YYYY-MM-DD · **Verdict:** READY | NOT READY
57
+
58
+ ## Principles Alignment
59
+ | Check | Status | Note |
60
+ | Vertical slices | ✅ | 4 stories, each shippable |
61
+ | Scope bounded | ⚠️ | in_scope present; out_of_scope missing |
62
+
63
+ ## Conventions Completeness
64
+ | Check | Status | Note |
65
+
66
+ ## Pre-flight Answers
67
+ | Command | Value |
68
+ | test | `npm test` |
69
+ | build | `npm run build` |
70
+
71
+ ## Open Gaps
72
+ - [ ] Add out_of_scope to scope definition (run scope-work)
73
+ - [ ] Create CLAUDE.md (run seed-conventions)
74
+
75
+ ## Verdict
76
+ READY — proceed with survey-context
77
+ NOT READY — N gaps remain; close before proceeding
78
+ ```
79
+
80
+ 5. **Recommend next skill**:
81
+ - READY → `survey-context`
82
+ - Needs bootstrapping → `seed-conventions`
83
+ - Needs spec elaboration → `elaborate-spec`
84
+ - Has foreign spec format → `migrate-spec`
85
+ - Plan assumptions need challenging → `grill-me`
86
+
87
+ ## Verify
88
+
89
+ → verify: `test -f specs/PLAN-AUDIT.md && grep -q 'Verdict' specs/PLAN-AUDIT.md && echo OK || echo FAIL`
@@ -48,9 +48,9 @@ Transform:
48
48
  GSD REQUIREMENTS has: REQ-XX IDs, Validated/Active/Out-of-Scope categories, traceability.
49
49
 
50
50
  Transform:
51
- - Copy REQ-XX IDs as-is (preserve for cross-referencing)
52
- - Validated requirements → `in_scope` entries
53
- - Out-of-Scope → `out_of_scope` entries
51
+ - 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))
52
+ - Validated requirements → `in_scope` entries with `id:`, `description:`, `source:` fields
53
+ - Out-of-Scope → `out_of_scope` entries (preserve IDs if present)
54
54
  - Active (in-progress) → `in_scope` with status note
55
55
 
56
56
  ---
@@ -134,7 +134,7 @@ Optional enhancements to offer the user after migration. Present as checkboxes.
134
134
 
135
135
  - [ ] **`specs/tech-architecture/METHODOLOGY_LATEST.md`** — Standing analytical lenses. Agents read before planning.
136
136
  - [ ] **`handoff` block in state.yaml** — Last skill, last step, required reading for next session.
137
- - [ ] **ID tracking in SCOPE_LATEST.yaml** — FR/UJ IDs for spec → plan → verification traceability.
137
+ - [x] **ID tracking in SCOPE_LATEST.yaml** — FR/UJ IDs for spec → plan → verification traceability. (adopted in Step 3 transform)
138
138
 
139
139
  ### From spec-kit
140
140
 
@@ -184,6 +184,27 @@ For lightweight decisions that don't warrant a full ADR:
184
184
  | 2026-05-19 | Use Postgres | Existing ops expertise | SQLite (limited), DynamoDB (no local dev) |
185
185
  ```
186
186
 
187
+ ### in_scope format with ID tracking
188
+
189
+ Source IDs (REQ-XX, FR-XX, UJ-XX) are emitted as first-class YAML fields:
190
+
191
+ ```yaml
192
+ in_scope:
193
+ - id: REQ-001
194
+ description: "User can register with email and password"
195
+ source: "REQUIREMENTS.md"
196
+ - id: FR-015
197
+ description: "Auth service must support OAuth2 token flow"
198
+ source: "prd.md"
199
+ - id: REQ-AUTO-002 # auto-generated when source had no ID
200
+ description: "Dashboard displays user profile"
201
+ # auto-generated: true (optional comment for tracking)
202
+ ```
203
+
204
+ **When source has no IDs:** If the user opts in, auto-generated IDs follow the `REQ-{NNN}` format with an optional `# auto-generated` comment.
205
+
206
+ **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.
207
+
187
208
  ### `specs/state.yaml` template format
188
209
 
189
210
  Generated during Step 4 of migration. Regenerate from scratch in bigpowers format:
@@ -74,6 +74,28 @@ Apply the mapping from [REFERENCE.md](./REFERENCE.md) and [REFERENCE-GSD.md](./R
74
74
  2. Ask: "Create this? [yes / edit / skip]"
75
75
  3. On yes: write to `specs/`.
76
76
 
77
+ #### ID Tracking (REQ-XX, FR-XX, UJ-XX)
78
+
79
+ 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:
80
+
81
+ ```yaml
82
+ # CORRECT — first-class id: field
83
+ in_scope:
84
+ - id: REQ-001
85
+ description: "User can register with email/password"
86
+ source: "REQUIREMENTS.md"
87
+
88
+ # DEPRECATED — comment-only
89
+ in_scope:
90
+ - "User can register with email/password" # REQ-001
91
+ ```
92
+
93
+ **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.
94
+
95
+ **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`.
96
+
97
+ See [REFERENCE.md — in_scope format with ID tracking](./REFERENCE.md#in_scope-format-with-id-tracking) for examples.
98
+
77
99
  > **HARD GATE** — Never overwrite an existing `specs/` file without explicit user confirmation. Merge into it if it exists; don't clobber.
78
100
  >
79
101
  > → verify: `git diff --name-only HEAD -- specs/ 2>/dev/null | head -20`
@@ -131,7 +153,7 @@ Full mapping tables: [REFERENCE-GSD.md](./REFERENCE-GSD.md) (GSD) · [REFERENCE.
131
153
 
132
154
  ## Rules
133
155
 
134
- - **Preserve source IDs** — REQ-XX, FR-XX, UJ-XX become inline comments in bigpowers targets. Never silently renumber.
156
+ - **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.
135
157
  - **Never merge contradictory docs** — if source has both `CONTEXT.md` and `architecture.md`, create sections in bigpowers `CONTEXT.md`; don't collapse them.
136
158
  - **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`.
137
159
  - **state.yaml is always regenerated** — never migrate source STATE verbatim; bigpowers state.yaml needs its own format.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "2.27.0",
3
+ "version": "2.29.0",
4
4
  "description": "61 agent skills for spec-driven, test-first software development by solo developers",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -58,9 +58,13 @@ Every task must have a `verify:` command. No verify command = not a task.
58
58
 
59
59
  ### 4. Save specs/release-plan.yaml
60
60
 
61
+ > **Do NOT hand-track the real version.** semantic-release decides it at merge. `version` here is a
62
+ > non-authoritative mirror/label only — read the real number with `gh release view`. Set `bump_hint`
63
+ > (the expectation), not a number you intend to enforce.
64
+
61
65
  ```yaml
62
66
  release:
63
- version: "3.0.0"
67
+ version: "2.29.0" # mirror of next expected tag, NOT authoritative — gh release view wins
64
68
  codename: "Feature Name"
65
69
  status: planning # planning | in_progress | released
66
70
  semantic_release: true
@@ -23,6 +23,7 @@ PHASE_MAP=(
23
23
  [using-bigpowers]="Discover"
24
24
  [map-codebase]="Discover"
25
25
  [elaborate-spec]="Discover"
26
+ [audit-plan]="Discover"
26
27
  # Elaborate / Design
27
28
  [model-domain]="Design"
28
29
  [define-language]="Design"
@@ -84,6 +85,7 @@ PHASE_MAP=(
84
85
  [reset-baseline]="Sustain"
85
86
  [stocktake-skills]="Sustain"
86
87
  [evolve-skill]="Sustain"
88
+ [run-benchmark]="Sustain"
87
89
  [terse-mode]="Sustain"
88
90
  [delegate-task]="Sustain"
89
91
  [dispatch-agents]="Sustain"
@@ -37,6 +37,9 @@ for folder in sorted(epics_dir.glob("e*/")):
37
37
  em = re.search(r"^id:\s*(e\d+)", text, re.M)
38
38
  if em:
39
39
  keys.setdefault(em.group(1), "backlog")
40
+ # Parse inline story IDs from capsule epic.yaml (same pattern as flat files)
41
+ for sm in re.finditer(r"^\s+- id:\s*(e\d+s\d+)", text, re.M):
42
+ keys.setdefault(sm.group(1), "backlog")
40
43
  for story in (folder / "stories").glob("e*s*.md"):
41
44
  m = re.match(r"(e\d+s\d+)", story.name)
42
45
  if m:
@@ -109,8 +109,8 @@ active_epic_id: e02
109
109
  active_story_id: e02s01 # required when epic mode: folder
110
110
  active_bug_id: null # BUG-2026-06-01T143022 when fix_bug
111
111
  release:
112
- target_version: "3.0.0"
113
- last_tag: null
112
+ target_version: null # NOT tracked manually — semantic-release decides at merge
113
+ last_tag: v2.28.0 # mirror of `gh release view`, reference only
114
114
  last_publish: null
115
115
  epic_cycle:
116
116
  current_step: develop-tdd
package/skills-lock.json CHANGED
@@ -16,6 +16,11 @@
16
16
  "sha256": "8192ebe6f66a9f91",
17
17
  "path": "audit-code/SKILL.md"
18
18
  },
19
+ "audit-plan": {
20
+ "description": "Evaluate an incoming project plan against bigpowers principles and conventions, surface gaps, and produce a READY/NOT READY verdict before engagement begins. Use when a new project arrives, when adapting a foreign plan, or before running seed-conventions on an unfamiliar codebase.",
21
+ "sha256": "3e88b606fc8e886c",
22
+ "path": "audit-plan/SKILL.md"
23
+ },
19
24
  "build-epic": {
20
25
  "description": "Eight-step epic build cycle — reads state.yaml, execution-status.yaml, and one epic capsule; updates status via bp-yaml-set or direct edit. Resume mode runs one step per invocation. Use instead of ad-hoc execute-plan for release work.",
21
26
  "sha256": "7a376ef092fde9cc",
@@ -158,7 +163,7 @@
158
163
  },
159
164
  "migrate-spec": {
160
165
  "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.",
161
- "sha256": "912299321559a5e2",
166
+ "sha256": "3570ec13243de9b8",
162
167
  "path": "migrate-spec/SKILL.md"
163
168
  },
164
169
  "model-domain": {
@@ -183,7 +188,7 @@
183
188
  },
184
189
  "plan-release": {
185
190
  "description": "\"RELEASE-INDEX BUILDER — Sequence elaborated epics into specs/release-plan.yaml with WSJF ordering and BCP baselines. NOT a planning-spine substitute: it does not scope work (scope-work) or write story tasks (plan-work). Use after elaborate-spec when the user wants a versioned release index of epics.\"",
186
- "sha256": "4eeb65607ca2f799",
191
+ "sha256": "352d54fe911757ad",
187
192
  "path": "plan-release/SKILL.md"
188
193
  },
189
194
  "plan-work": {
@@ -258,7 +263,7 @@
258
263
  },
259
264
  "session-state": {
260
265
  "description": "Track implementation decisions and progress in specs/state.yaml to prevent context rot. Use at the start of a session to load context, and whenever a significant decision is made or a milestone is reached.",
261
- "sha256": "4efd54a453e3e2cd",
266
+ "sha256": "0141daaed69b05dc",
262
267
  "path": "session-state/SKILL.md"
263
268
  },
264
269
  "setup-environment": {