bigpowers 2.30.0 → 2.31.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,6 +1,6 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "2.30.0",
3
+ "version": "2.31.0",
4
4
  "description": "70 skills — 61 agent skills for spec-driven, test-first software development by solo developers",
5
5
  "keywords": [
6
6
  "pi-package"
@@ -126,19 +126,38 @@ See [REFERENCE.md — REQUIREMENTS_TRACE.yaml format](./REFERENCE.md#requirement
126
126
 
127
127
  ### Step 4 — Generate state.yaml
128
128
 
129
- Always regenerate `specs/state.yaml` from scratch in bigpowers format (see REFERENCE.md for template):
129
+ Always regenerate `specs/state.yaml` from scratch in bigpowers YAML format (see REFERENCE.md for template). The **handoff block is mandatory** and must include all four fields:
130
130
 
131
- ```markdown
132
- # Session State: <project name>
133
- ## Current Milestone
134
- Migrated from <framework> on <date>. Next: review generated specs and run plan-work.
135
- ## Pending Releases
136
- - [ ] Review migrated specs
137
- - [ ] Run elaborate-spec to validate scope
138
- - [ ] Run plan-work to produce first release plan
131
+ ```yaml
132
+ active_flow: null
133
+ active_epic_id: null
134
+ active_story_id: null
135
+
136
+ # ... other state fields ...
137
+
138
+ handoff:
139
+ last_step_completed: "Migrated from <framework> on <date>"
140
+ open_decisions:
141
+ - "decision text here"
142
+ required_reading:
143
+ - specs/product/VISION_LATEST.yaml
144
+ - specs/product/SCOPE_LATEST.yaml
145
+ - specs/tech-architecture/TECH_STACK_LATEST.md
146
+ - specs/release-plan.yaml
147
+ next_skill: survey-context
148
+ ```
149
+
150
+ If no open decisions were found during migration, the `open_decisions` list may be empty with an explanatory comment:
151
+
152
+ ```yaml
153
+ handoff:
154
+ last_step_completed: "..."
155
+ open_decisions: [] # None — all decisions resolved during migration
156
+ required_reading: [...]
157
+ next_skill: survey-context
139
158
  ```
140
159
 
141
- → verify: `[ -f specs/state.yaml ] && echo "ok" || echo "MISSING: specs/state.yaml not created"`
160
+ → verify: `grep -q 'handoff:' specs/state.yaml && grep -q 'last_step_completed' specs/state.yaml && echo "ok" || echo "MISSING or INCOMPLETE: handoff block"`
142
161
 
143
162
  ### Step 5 — Surface learnings (optional)
144
163
 
@@ -450,7 +469,7 @@ Optional enhancements to offer the user after migration. Present as checkboxes.
450
469
  ### From GSD
451
470
 
452
471
  - [ ] **`specs/tech-architecture/METHODOLOGY_LATEST.md`** — Standing analytical lenses. Agents read before planning.
453
- - [ ] **`handoff` block in state.yaml** — Last skill, last step, required reading for next session.
472
+ - [x] **`handoff` block in state.yaml** — Last skill, last step, required reading for next session. (adopted: mandatory in Step 4 output)
454
473
  - [x] **ID tracking in SCOPE_LATEST.yaml** — FR/UJ IDs for spec → plan → verification traceability. (adopted in Step 3 transform)
455
474
 
456
475
  ### From spec-kit
@@ -559,27 +578,49 @@ metadata:
559
578
 
560
579
  ### `specs/state.yaml` template format
561
580
 
562
- Generated during Step 4 of migration. Regenerate from scratch in bigpowers format:
563
-
564
- ```markdown
565
- # Session State: <project name>
566
-
567
- ## Current Milestone
568
-
569
- Migrated from <framework> on <date>. Next: review generated specs and run plan-work.
570
-
571
- ## Git Metadata
572
-
573
- - **Branch**: <current branch>
574
- - **Hash**: <git rev-parse HEAD>
581
+ Generated during Step 4 of migration. Regenerate from scratch in bigpowers YAML format. The **handoff block is mandatory**:
575
582
 
576
- ## Completed Releases
577
-
578
- (none — migration starting point)
579
-
580
- ## Pending Releases
583
+ ```yaml
584
+ active_flow: null
585
+ active_epic_id: null
586
+ active_story_id: null
587
+ completed_epic: false
588
+
589
+ epic_cycle:
590
+ current_step: null
591
+ next_skill: null
592
+ story_bcps: null
593
+ completed_steps: []
594
+ audit_result: null
595
+
596
+ bug_cycle:
597
+ current_step: null
598
+ completed_steps: []
599
+
600
+ release:
601
+ target_version: null
602
+ last_tag: null
603
+ last_publish: null
604
+ ci_verified: false
605
+
606
+ metrics:
607
+ story_start: null
608
+ story_end: null
609
+ cycle_minutes: null
610
+ bcp_per_hour: null
611
+
612
+ git:
613
+ branch: <current branch>
614
+ hash: <git rev-parse HEAD>
615
+ pushed: false
581
616
 
582
- - [ ] Review migrated specs
583
- - [ ] Run elaborate-spec to validate scope
584
- - [ ] Run plan-work to produce first release plan
617
+ handoff:
618
+ last_step_completed: "Migrated from <framework> on <date>"
619
+ open_decisions: [] # Empty if all decisions resolved during migration
620
+ required_reading:
621
+ - specs/product/VISION_LATEST.yaml
622
+ - specs/product/SCOPE_LATEST.yaml
623
+ - specs/tech-architecture/TECH_STACK_LATEST.md
624
+ - specs/release-plan.yaml
625
+ next_skill: survey-context
585
626
  ```
@@ -128,19 +128,38 @@ See [REFERENCE.md — REQUIREMENTS_TRACE.yaml format](./REFERENCE.md#requirement
128
128
 
129
129
  ### Step 4 — Generate state.yaml
130
130
 
131
- Always regenerate `specs/state.yaml` from scratch in bigpowers format (see REFERENCE.md for template):
131
+ Always regenerate `specs/state.yaml` from scratch in bigpowers YAML format (see REFERENCE.md for template). The **handoff block is mandatory** and must include all four fields:
132
132
 
133
- ```markdown
134
- # Session State: <project name>
135
- ## Current Milestone
136
- Migrated from <framework> on <date>. Next: review generated specs and run plan-work.
137
- ## Pending Releases
138
- - [ ] Review migrated specs
139
- - [ ] Run elaborate-spec to validate scope
140
- - [ ] Run plan-work to produce first release plan
133
+ ```yaml
134
+ active_flow: null
135
+ active_epic_id: null
136
+ active_story_id: null
137
+
138
+ # ... other state fields ...
139
+
140
+ handoff:
141
+ last_step_completed: "Migrated from <framework> on <date>"
142
+ open_decisions:
143
+ - "decision text here"
144
+ required_reading:
145
+ - specs/product/VISION_LATEST.yaml
146
+ - specs/product/SCOPE_LATEST.yaml
147
+ - specs/tech-architecture/TECH_STACK_LATEST.md
148
+ - specs/release-plan.yaml
149
+ next_skill: survey-context
150
+ ```
151
+
152
+ If no open decisions were found during migration, the `open_decisions` list may be empty with an explanatory comment:
153
+
154
+ ```yaml
155
+ handoff:
156
+ last_step_completed: "..."
157
+ open_decisions: [] # None — all decisions resolved during migration
158
+ required_reading: [...]
159
+ next_skill: survey-context
141
160
  ```
142
161
 
143
- → verify: `[ -f specs/state.yaml ] && echo "ok" || echo "MISSING: specs/state.yaml not created"`
162
+ → verify: `grep -q 'handoff:' specs/state.yaml && grep -q 'last_step_completed' specs/state.yaml && echo "ok" || echo "MISSING or INCOMPLETE: handoff block"`
144
163
 
145
164
  ### Step 5 — Surface learnings (optional)
146
165
 
@@ -452,7 +471,7 @@ Optional enhancements to offer the user after migration. Present as checkboxes.
452
471
  ### From GSD
453
472
 
454
473
  - [ ] **`specs/tech-architecture/METHODOLOGY_LATEST.md`** — Standing analytical lenses. Agents read before planning.
455
- - [ ] **`handoff` block in state.yaml** — Last skill, last step, required reading for next session.
474
+ - [x] **`handoff` block in state.yaml** — Last skill, last step, required reading for next session. (adopted: mandatory in Step 4 output)
456
475
  - [x] **ID tracking in SCOPE_LATEST.yaml** — FR/UJ IDs for spec → plan → verification traceability. (adopted in Step 3 transform)
457
476
 
458
477
  ### From spec-kit
@@ -561,27 +580,49 @@ metadata:
561
580
 
562
581
  ### `specs/state.yaml` template format
563
582
 
564
- Generated during Step 4 of migration. Regenerate from scratch in bigpowers format:
565
-
566
- ```markdown
567
- # Session State: <project name>
568
-
569
- ## Current Milestone
570
-
571
- Migrated from <framework> on <date>. Next: review generated specs and run plan-work.
572
-
573
- ## Git Metadata
574
-
575
- - **Branch**: <current branch>
576
- - **Hash**: <git rev-parse HEAD>
583
+ Generated during Step 4 of migration. Regenerate from scratch in bigpowers YAML format. The **handoff block is mandatory**:
577
584
 
578
- ## Completed Releases
579
-
580
- (none — migration starting point)
581
-
582
- ## Pending Releases
585
+ ```yaml
586
+ active_flow: null
587
+ active_epic_id: null
588
+ active_story_id: null
589
+ completed_epic: false
590
+
591
+ epic_cycle:
592
+ current_step: null
593
+ next_skill: null
594
+ story_bcps: null
595
+ completed_steps: []
596
+ audit_result: null
597
+
598
+ bug_cycle:
599
+ current_step: null
600
+ completed_steps: []
601
+
602
+ release:
603
+ target_version: null
604
+ last_tag: null
605
+ last_publish: null
606
+ ci_verified: false
607
+
608
+ metrics:
609
+ story_start: null
610
+ story_end: null
611
+ cycle_minutes: null
612
+ bcp_per_hour: null
613
+
614
+ git:
615
+ branch: <current branch>
616
+ hash: <git rev-parse HEAD>
617
+ pushed: false
583
618
 
584
- - [ ] Review migrated specs
585
- - [ ] Run elaborate-spec to validate scope
586
- - [ ] Run plan-work to produce first release plan
619
+ handoff:
620
+ last_step_completed: "Migrated from <framework> on <date>"
621
+ open_decisions: [] # Empty if all decisions resolved during migration
622
+ required_reading:
623
+ - specs/product/VISION_LATEST.yaml
624
+ - specs/product/SCOPE_LATEST.yaml
625
+ - specs/tech-architecture/TECH_STACK_LATEST.md
626
+ - specs/release-plan.yaml
627
+ next_skill: survey-context
587
628
  ```
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [2.31.0](https://github.com/danielvm-git/bigpowers/compare/v2.30.0...v2.31.0) (2026-06-26)
2
+
3
+
4
+ ### Features
5
+
6
+ * **migrate-spec:** make handoff block mandatory in Step 4 output ([1f05663](https://github.com/danielvm-git/bigpowers/commit/1f0566320356d8de4d3c2775ddebc3b17cf27fe6))
7
+
1
8
  # [2.30.0](https://github.com/danielvm-git/bigpowers/compare/v2.29.0...v2.30.0) (2026-06-26)
2
9
 
3
10
 
@@ -0,0 +1,34 @@
1
+ # Proposed Commit Message
2
+
3
+ ## Type and Scope
4
+ `feat(migrate-spec)` — Minor version bump
5
+
6
+ ## Title
7
+ ```
8
+ feat(migrate-spec): make handoff block mandatory in Step 4 output
9
+ ```
10
+
11
+ ## Body
12
+ ```
13
+ The handoff block (last_step_completed, open_decisions, required_reading,
14
+ next_skill) is now a mandatory part of state.yaml generation, not optional.
15
+
16
+ During real migrations, the handoff block proved immediately useful — the next
17
+ agent reads it first to understand context, decisions, and required reading.
18
+ Promoting it from optional to mandatory ensures every migration output includes
19
+ this metadata.
20
+
21
+ Changes:
22
+ - SKILL.md Step 4: updated to mandate handoff block with YAML format example
23
+ - REFERENCE.md: added complete state.yaml YAML template with handoff structure
24
+ - Learnings table: marked handoff as adopted (from GSD learning set)
25
+ ```
26
+
27
+ ## Release Impact
28
+ - **Bump Type:** `minor` (X.Y.z)
29
+ - **Rationale:** New mandatory output structure in migrate-spec skill
30
+
31
+ ## Notes
32
+ - Documentation-only change (no code changes)
33
+ - All verify commands pass
34
+ - Audit gate: PASS (10/10 items)
package/SKILL-INDEX.md CHANGED
@@ -3,7 +3,7 @@
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-26T22:23:41Z
6
+ **Generated:** 2026-06-26T22:57:50Z
7
7
  **Skills:** 70
8
8
 
9
9
  ---
@@ -133,7 +133,7 @@ Optional enhancements to offer the user after migration. Present as checkboxes.
133
133
  ### From GSD
134
134
 
135
135
  - [ ] **`specs/tech-architecture/METHODOLOGY_LATEST.md`** — Standing analytical lenses. Agents read before planning.
136
- - [ ] **`handoff` block in state.yaml** — Last skill, last step, required reading for next session.
136
+ - [x] **`handoff` block in state.yaml** — Last skill, last step, required reading for next session. (adopted: mandatory in Step 4 output)
137
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
@@ -242,27 +242,49 @@ metadata:
242
242
 
243
243
  ### `specs/state.yaml` template format
244
244
 
245
- Generated during Step 4 of migration. Regenerate from scratch in bigpowers format:
245
+ Generated during Step 4 of migration. Regenerate from scratch in bigpowers YAML format. The **handoff block is mandatory**:
246
246
 
247
- ```markdown
248
- # Session State: <project name>
249
-
250
- ## Current Milestone
251
-
252
- Migrated from <framework> on <date>. Next: review generated specs and run plan-work.
253
-
254
- ## Git Metadata
255
-
256
- - **Branch**: <current branch>
257
- - **Hash**: <git rev-parse HEAD>
258
-
259
- ## Completed Releases
260
-
261
- (none — migration starting point)
262
-
263
- ## Pending Releases
264
-
265
- - [ ] Review migrated specs
266
- - [ ] Run elaborate-spec to validate scope
267
- - [ ] Run plan-work to produce first release plan
247
+ ```yaml
248
+ active_flow: null
249
+ active_epic_id: null
250
+ active_story_id: null
251
+ completed_epic: false
252
+
253
+ epic_cycle:
254
+ current_step: null
255
+ next_skill: null
256
+ story_bcps: null
257
+ completed_steps: []
258
+ audit_result: null
259
+
260
+ bug_cycle:
261
+ current_step: null
262
+ completed_steps: []
263
+
264
+ release:
265
+ target_version: null
266
+ last_tag: null
267
+ last_publish: null
268
+ ci_verified: false
269
+
270
+ metrics:
271
+ story_start: null
272
+ story_end: null
273
+ cycle_minutes: null
274
+ bcp_per_hour: null
275
+
276
+ git:
277
+ branch: <current branch>
278
+ hash: <git rev-parse HEAD>
279
+ pushed: false
280
+
281
+ handoff:
282
+ last_step_completed: "Migrated from <framework> on <date>"
283
+ open_decisions: [] # Empty if all decisions resolved during migration
284
+ required_reading:
285
+ - specs/product/VISION_LATEST.yaml
286
+ - specs/product/SCOPE_LATEST.yaml
287
+ - specs/tech-architecture/TECH_STACK_LATEST.md
288
+ - specs/release-plan.yaml
289
+ next_skill: survey-context
268
290
  ```
@@ -129,19 +129,38 @@ See [REFERENCE.md — REQUIREMENTS_TRACE.yaml format](./REFERENCE.md#requirement
129
129
 
130
130
  ### Step 4 — Generate state.yaml
131
131
 
132
- Always regenerate `specs/state.yaml` from scratch in bigpowers format (see REFERENCE.md for template):
133
-
134
- ```markdown
135
- # Session State: <project name>
136
- ## Current Milestone
137
- Migrated from <framework> on <date>. Next: review generated specs and run plan-work.
138
- ## Pending Releases
139
- - [ ] Review migrated specs
140
- - [ ] Run elaborate-spec to validate scope
141
- - [ ] Run plan-work to produce first release plan
132
+ Always regenerate `specs/state.yaml` from scratch in bigpowers YAML format (see REFERENCE.md for template). The **handoff block is mandatory** and must include all four fields:
133
+
134
+ ```yaml
135
+ active_flow: null
136
+ active_epic_id: null
137
+ active_story_id: null
138
+
139
+ # ... other state fields ...
140
+
141
+ handoff:
142
+ last_step_completed: "Migrated from <framework> on <date>"
143
+ open_decisions:
144
+ - "decision text here"
145
+ required_reading:
146
+ - specs/product/VISION_LATEST.yaml
147
+ - specs/product/SCOPE_LATEST.yaml
148
+ - specs/tech-architecture/TECH_STACK_LATEST.md
149
+ - specs/release-plan.yaml
150
+ next_skill: survey-context
151
+ ```
152
+
153
+ If no open decisions were found during migration, the `open_decisions` list may be empty with an explanatory comment:
154
+
155
+ ```yaml
156
+ handoff:
157
+ last_step_completed: "..."
158
+ open_decisions: [] # None — all decisions resolved during migration
159
+ required_reading: [...]
160
+ next_skill: survey-context
142
161
  ```
143
162
 
144
- → verify: `[ -f specs/state.yaml ] && echo "ok" || echo "MISSING: specs/state.yaml not created"`
163
+ → verify: `grep -q 'handoff:' specs/state.yaml && grep -q 'last_step_completed' specs/state.yaml && echo "ok" || echo "MISSING or INCOMPLETE: handoff block"`
145
164
 
146
165
  ### Step 5 — Surface learnings (optional)
147
166
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "2.30.0",
3
+ "version": "2.31.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": {
package/skills-lock.json CHANGED
@@ -163,7 +163,7 @@
163
163
  },
164
164
  "migrate-spec": {
165
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.",
166
- "sha256": "72006537bb12ab1a",
166
+ "sha256": "897baa6f0f37ea68",
167
167
  "path": "migrate-spec/SKILL.md"
168
168
  },
169
169
  "model-domain": {