bigpowers 1.2.3 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/CLAUDE.md +5 -4
  3. package/CONVENTIONS.md +55 -13
  4. package/README.md +10 -8
  5. package/SKILL-INDEX.md +14 -11
  6. package/assess-impact/SKILL.md +2 -2
  7. package/build-epic/SKILL.md +42 -0
  8. package/change-request/SKILL.md +16 -16
  9. package/compose-workflow/REFERENCE.md +3 -3
  10. package/compose-workflow/SKILL.md +1 -1
  11. package/deepen-architecture/SKILL.md +6 -6
  12. package/define-success/SKILL.md +1 -1
  13. package/delegate-task/SKILL.md +4 -4
  14. package/develop-tdd/SKILL.md +5 -5
  15. package/dispatch-agents/SKILL.md +2 -2
  16. package/evolve-skill/SKILL.md +2 -2
  17. package/execute-plan/SKILL.md +22 -59
  18. package/fix-bug/SKILL.md +37 -0
  19. package/grill-with-docs/SKILL.md +1 -1
  20. package/inspect-quality/SKILL.md +5 -5
  21. package/investigate-bug/SKILL.md +2 -2
  22. package/kickoff-branch/SKILL.md +1 -1
  23. package/map-codebase/SKILL.md +4 -4
  24. package/migrate-spec/REFERENCE-GSD.md +35 -41
  25. package/migrate-spec/REFERENCE.md +43 -44
  26. package/migrate-spec/SKILL.md +20 -20
  27. package/model-domain/SKILL.md +7 -7
  28. package/orchestrate-project/REFERENCE.md +10 -10
  29. package/orchestrate-project/SKILL.md +13 -16
  30. package/package.json +7 -7
  31. package/plan-release/SKILL.md +63 -39
  32. package/plan-work/SKILL.md +6 -6
  33. package/request-review/SKILL.md +2 -2
  34. package/research-first/SKILL.md +3 -3
  35. package/run-evals/REFERENCE.md +1 -1
  36. package/run-planning/SKILL.md +24 -0
  37. package/scope-work/SKILL.md +6 -6
  38. package/scripts/bp-yaml-set.sh +9 -0
  39. package/scripts/bp-yaml-snapshot.sh +23 -0
  40. package/scripts/convert-legado.sh +153 -0
  41. package/scripts/enrich-epics-from-archive.sh +101 -0
  42. package/scripts/land-branch.sh +5 -1
  43. package/scripts/project-survey.sh +18 -9
  44. package/scripts/sync-bugs-registry.sh +53 -0
  45. package/scripts/sync-skills.sh +5 -5
  46. package/scripts/sync-status-from-epics.sh +51 -0
  47. package/scripts/validate-specs-yaml.sh +41 -0
  48. package/scripts/yaml-tools.py +144 -0
  49. package/seed-conventions/SKILL.md +3 -3
  50. package/session-state/SKILL.md +59 -50
  51. package/setup-environment/SKILL.md +1 -1
  52. package/slice-tasks/SKILL.md +6 -6
  53. package/spike-prototype/SKILL.md +5 -5
  54. package/survey-context/SKILL.md +38 -27
  55. package/trace-requirement/SKILL.md +8 -8
  56. package/using-bigpowers/SKILL.md +10 -9
  57. package/validate-fix/SKILL.md +4 -4
  58. package/verify-work/SKILL.md +12 -17
  59. package/visual-dashboard/SKILL.md +25 -74
  60. package/visual-dashboard/scripts/cockpit.html +66 -0
  61. package/visual-dashboard/scripts/read-specs-status.cjs +123 -0
  62. package/visual-dashboard/scripts/server.cjs +40 -0
  63. package/write-document/SKILL.md +1 -1
  64. package/maintain-wiki/SKILL.md +0 -130
  65. package/profiles/obsidian-wiki.md +0 -120
package/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## [1.3.1](https://github.com/danielvm-git/bigpowers/compare/v1.3.0...v1.3.1) (2026-06-02)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **ci:** repair sync-skills sed and refresh package-lock ([29d6e7c](https://github.com/danielvm-git/bigpowers/commit/29d6e7cee82ab25eae5188628d1ae2bc73c99e57))
7
+ * **ci:** use Node 22 for semantic-release workflow ([43edf78](https://github.com/danielvm-git/bigpowers/commit/43edf7801ef06714861e16ed833e6b8b4c3eb66c))
8
+
9
+ # [1.3.0](https://github.com/danielvm-git/bigpowers/compare/v1.2.3...v1.3.0) (2026-06-02)
10
+
11
+
12
+ ### Features
13
+
14
+ * **specs:** complete YAML cockpit cohesion migration ([0a3cf16](https://github.com/danielvm-git/bigpowers/commit/0a3cf16b8030ef6b87ad5113b15265c76ea012c5))
15
+
1
16
  ## [1.2.3](https://github.com/danielvm-git/bigpowers/compare/v1.2.2...v1.2.3) (2026-05-31)
2
17
 
3
18
 
package/CLAUDE.md CHANGED
@@ -4,7 +4,7 @@ Read CONVENTIONS.md before any GitHub or git operation.
4
4
 
5
5
  ## Project
6
6
 
7
- bigpowers — 59 agent skills for spec-driven, test-first software development by solo developers.
7
+ bigpowers — 61 agent skills for spec-driven, test-first software development by solo developers.
8
8
  Stack: Markdown / Bash (documentation-based; skills integrate with Claude Code, Cursor, Gemini CLI)
9
9
 
10
10
  ## Commands
@@ -16,11 +16,12 @@ Stack: Markdown / Bash (documentation-based; skills integrate with Claude Code,
16
16
  | Test | N/A (documentation project) |
17
17
  | Build | `bash scripts/install.sh` (from source) |
18
18
  | Lint | `bash scripts/sync-skills.sh` (validates SKILL.md syntax) |
19
+ | Validate specs YAML | `bash scripts/validate-specs-yaml.sh` |
19
20
  | Compliance | `npm run compliance` |
20
21
 
21
22
  ## Architecture
22
23
 
23
- Collection of 59 verb-noun skills, each with a SKILL.md source file and supporting documentation. LLM-maintained wiki layer lives in `specs/wiki/`; run `maintain-wiki` sync before merge. Obsidian cockpit: open `specs/` as vault, landing page `COCKPIT.md` (see `profiles/obsidian-wiki.md`). Includes Verify phase (verify-work, run-evals) and optional stack profiles in profiles/. The sync-skills.sh script auto-generates artifacts for Cursor (.cursor/rules) and Gemini CLI (.gemini/extensions/bigpowers/) from SKILL.md sources. All planning and spec output goes to specs/ at the project root.
24
+ Collection of 61 verb-noun skills, each with a SKILL.md source file and supporting documentation. Runtime specs live in `specs/state.yaml`, `specs/release-plan.yaml`, and `specs/execution-status.yaml`; intent in `specs/requirements/`; epic shards in `specs/epics/`. The sync-skills.sh script auto-generates artifacts for Cursor (.cursor/rules) and Gemini CLI (.gemini/extensions/bigpowers/) from SKILL.md sources. All planning output goes to specs/ at the project root.
24
25
 
25
26
  ## Conventions
26
27
 
@@ -49,8 +50,8 @@ Before any task, run this sequence — not optional:
49
50
 
50
51
  1. Read `CLAUDE.md` (this file)
51
52
  2. Read `CONVENTIONS.md`
52
- 3. Read `specs/STATE.md` if it exists — current milestone and pending work
53
- 4. Read `specs/RELEASE-PLAN.md` if it exists — active release context
53
+ 3. Read `specs/state.yaml` if it exists — current session and active epic
54
+ 4. Read `specs/release-plan.yaml` if it exists — active release context
54
55
 
55
56
  ## Agent Rules
56
57
 
package/CONVENTIONS.md CHANGED
@@ -34,7 +34,7 @@ You are operating within the `bigpowers` spec-driven development methodology.
34
34
  - **No Direct Coding:** When a user issues a directive like "build feature X" or "go epic 10", you MUST NOT execute the request by writing code directly.
35
35
  - **Required Skills:** You MUST route all work through the appropriate bigpowers skills.
36
36
  - Start with `survey-context` if you lack context.
37
- - Use `plan-work` to generate a verifiable plan in `specs/PLAN.md` before writing any feature code.
37
+ - Use `plan-work` to flesh out tasks in `specs/epics/eNN-*.yaml` (with `verify:` per task) before writing any feature code.
38
38
  - Use `develop-tdd` or `execute-plan` to implement the plan.
39
39
  - Use `investigate-bug` for bug reports before writing a fix.
40
40
  - **Verification Mandate:** Every story implementation MUST end with a step-by-step manual verification script provided to the user. You must wait for the user to confirm behavioral correctness (UAT) before declaring the story done or moving to the next.
@@ -43,20 +43,62 @@ You are operating within the `bigpowers` spec-driven development methodology.
43
43
 
44
44
  ## specs/ — All Planning Output Goes Here
45
45
 
46
- Every skill that produces written output writes to `specs/` at the project root:
46
+ Every skill that produces written output writes to `specs/` at the project root.
47
+
48
+ ### YAML cockpit (runtime + delivery)
49
+
50
+ | Layer | File | Answers |
51
+ |-------|------|---------|
52
+ | Session | `specs/state.yaml` | Active flow, epic/bug, ship-epic step, git |
53
+ | Release index | `specs/release-plan.yaml` | Target semver, WSJF epic list, pointers to `epics/` |
54
+ | Progress | `specs/execution-status.yaml` | Flat status keys (`e01`, `e01s01`) — sole SoT for story state |
55
+ | Planning UI | `specs/planning-status.yaml` | Discover-phase workflow checklist (optional) |
56
+
57
+ **Do not** put story status in `release-plan.yaml`. **Do not** duplicate the release plan inside `state.yaml`.
58
+
59
+ ### Intent vs delivery vs execution
60
+
61
+ | Question | File | Format |
62
+ |----------|------|--------|
63
+ | What should the product do? | `specs/requirements/SCOPE_LATEST.yaml` | YAML |
64
+ | North star / initiative | `specs/requirements/VISION_LATEST.yaml` | YAML |
65
+ | Glossary | `specs/requirements/GLOSSARY_LATEST.yaml` | YAML |
66
+ | What ships in this release, in what order? | `specs/release-plan.yaml` | YAML |
67
+ | How to implement an epic/story? | `specs/epics/eNN-*.yaml` or `specs/epics/eNN-*/stories/` | YAML + MD |
68
+ | Where are we in the session? | `specs/state.yaml` | YAML |
69
+
70
+ Epic IDs: `e01`, `e30`. Story IDs: `e01s01`. One FR in SCOPE may span multiple epics or releases.
71
+
72
+ ### Frozen release (ex-baseline)
73
+
74
+ When planning closes, copy to `specs/requirements/snapshots/release-<version>/` (`release-plan.yaml`, `SCOPE_LATEST.yaml`, `VISION_LATEST.yaml`). No separate `baselines/` folder.
75
+
76
+ ### Semantic-release — three places
77
+
78
+ 1. **Planning intent** — `specs/release-plan.yaml` → `release.version`, `release.bump_hint` (minor/patch/major expectation).
79
+ 2. **Published version** — repo root: `package.json`, git tag `vX.Y.Z`, `CHANGELOG.md` (CI semantic-release; not hand-edited in specs).
80
+ 3. **Dashboard optional** — `specs/state.yaml` → `release.last_tag`, `release.last_publish` (from tags/CI).
81
+
82
+ ### Guardrails and other artifacts
47
83
 
48
84
  | Document | Path |
49
85
  |----------|------|
50
- | Domain context + ADRs | `specs/CONTEXT.md` + `specs/adr/` |
51
- | Domain glossary | `specs/UBIQUITOUS_LANGUAGE.md` |
52
- | Scope definition | `specs/SCOPE.md` |
53
- | Task breakdown | `specs/TASKS.md` |
54
- | Implementation plan | `specs/PLAN.md` (or `specs/PLAN-<feature>.md`) |
55
- | Project README | `README.md` (project root) |
56
- | Refactor plan | `specs/REFACTOR.md` |
57
- | Spike learnings | `specs/SPIKE-<name>.md` |
58
- | Bug investigation | `specs/bugs/BUG-*.md` |
59
- | QA session log | `specs/bugs/BUG-LOG.md` |
86
+ | Stack / architecture | `specs/plans/TECH_STACK_LATEST.md` |
87
+ | Security / test / design plans | `specs/plans/*_PLAN_LATEST.md` |
88
+ | Domain context + ADRs | `specs/plans/TECH_STACK_LATEST.md` or legacy `specs/CONTEXT.md` + `specs/adr/` |
89
+ | Bug investigation | `specs/bugs/BUG-*.md` + `specs/bugs/registry.yaml` (generated) |
90
+ | Refactor / impact | `specs/plans/REFACTOR_LATEST.md`, `specs/plans/IMPACT_LATEST.md` |
91
+ | Legacy markdown | `specs/archive/` after `bash scripts/convert-legado.sh` |
92
+
93
+ Validate YAML layout: `bash scripts/validate-specs-yaml.sh`. Patch runtime keys: `bash scripts/bp-yaml-set.sh specs/state.yaml git.branch feat/foo`.
94
+
95
+ ### Legacy paths (migrate away)
96
+
97
+ | Old | New |
98
+ |-----|-----|
99
+ | `specs/STATE.md` | `specs/state.yaml` |
100
+ | `specs/RELEASE-PLAN.md` | `specs/release-plan.yaml` + `specs/epics/` |
101
+ | `specs/SCOPE.md` | `specs/requirements/SCOPE_LATEST.yaml` |
60
102
 
61
103
  ## Code Style
62
104
 
@@ -76,7 +118,7 @@ Every skill that produces written output writes to `specs/` at the project root:
76
118
  - Remove dead code (G9/F4): unused functions, unreachable branches, and stale imports must be deleted — not commented out.
77
119
  - Boy Scout Rule: leave every file you touch at least as clean as you found it. Fix the first broken window you see.
78
120
  - **Law of Demeter:** A method should call only its immediate collaborators — not `a.getB().getC().doX()`. Chain violations need explicit justification in code review.
79
- - **Verification mandate:** Every story in `specs/RELEASE-PLAN.md` must include a `## Verification Script`. No story is done until `verify-work` confirms it (or user explicitly waives with documented reason in STATE.md).
121
+ - **Verification mandate:** Every story must include runnable `verify:` commands (in epic shards or story files). No story is done until `verify-work` confirms it (or user explicitly waives with documented reason in `specs/state.yaml` handoff).
80
122
  - Exception messages must include the offending value, expected shape, and an actionable remediation hint for the agent.
81
123
  - SOLID beyond SRP: favor interfaces over concrete types (DIP) when injecting dependencies.
82
124
 
package/README.md CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  ![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)
4
4
  ![npm version](https://img.shields.io/npm/v/bigpowers.svg)
5
- ![Skills](https://img.shields.io/badge/skills-59-brightgreen.svg)
5
+ ![Skills](https://img.shields.io/badge/skills-61-brightgreen.svg)
6
6
 
7
- **59 agent skills for high-integrity, spec-driven, test-first software development by solo developers.**
7
+ **61 agent skills for high-integrity, spec-driven, test-first software development by solo developers.**
8
8
 
9
9
  `bigpowers` provides a prescriptive, vertical-slice methodology for building software with AI agents (Claude Code, Gemini CLI, Cursor). It bridges the gap between raw LLM capabilities and professional engineering standards.
10
10
 
@@ -114,11 +114,12 @@ Every task in `bigpowers` follows a prescriptive lifecycle (see `SKILL-INDEX.md`
114
114
  | Level | Document | Responsibility |
115
115
  | :--- | :--- | :--- |
116
116
  | **Vision** | `docs/PRINCIPLES.md` | Philosophical foundations and evolution. |
117
- | **Context** | `specs/CONTEXT.md` | Tech stack, architecture, and glossary. |
118
- | **Scope** | `specs/SCOPE.md` | In-scope / out-of-scope and success criteria. |
117
+ | **Context** | `specs/plans/TECH_STACK_LATEST.md` | Tech stack, architecture, and domain notes. |
118
+ | **Scope** | `specs/requirements/SCOPE_LATEST.yaml` | In-scope / out-of-scope and success criteria. |
119
+ | **Vision** | `specs/requirements/VISION_LATEST.yaml` | North star and initiative success criteria. |
119
120
  | **Decisions** | `specs/adr/` | Architectural Decision Records (irreversible choices). |
120
- | **Roadmap** | `specs/RELEASE-PLAN.md` | WSJF-prioritized releases and stories. |
121
- | **Current** | `specs/STATE.md` | Current milestone and session progress. |
121
+ | **Roadmap** | `specs/release-plan.yaml` + `specs/epics/` | WSJF-prioritized epics and stories. |
122
+ | **Current** | `specs/state.yaml` | Session flow, active epic, handoff. |
122
123
  | **Index** | `SKILL-INDEX.md` | Canonical list of all active skills. |
123
124
  | **Style** | `CONVENTIONS.md` | Coding, testing, and naming standards. |
124
125
 
@@ -127,9 +128,10 @@ Every task in `bigpowers` follows a prescriptive lifecycle (see `SKILL-INDEX.md`
127
128
  ## 📁 Project Structure
128
129
 
129
130
  - `scripts/`: Installation, syncing, and compliance tools.
130
- - `specs/`: The "Brain" of your project — all planning and decisions live here.
131
+ - `specs/`: The "Brain" of your project — all planning and decisions live here (YAML cockpit: `state.yaml`, `release-plan.yaml`, `epics/`, `requirements/`).
132
+ - `specs/wiki/`: Deprecated Obsidian layer — use `visual-dashboard` HTTP cockpit instead of `maintain-wiki`.
131
133
  - `docs/references/`: Theoretical foundations (Uncle Bob, Ousterhout, Karpathy, etc.).
132
- - `[skill-name]/`: Source files for each of the 59 skills.
134
+ - `[skill-name]/`: Source files for each of the 61 skills.
133
135
 
134
136
  ---
135
137
 
package/SKILL-INDEX.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  **Purpose:** One canonical reference for all bigpowers skills. Referenced by README.md, RELEASE-PLAN.md, and CONVENTIONS.md. Updated per-release.
4
4
 
5
- **Last updated:** 2026-05-31 (v3.0.0 — maintain-wiki + Obsidian wiki layer; 59 active, 0 planned, Verify phase)
5
+ **Last updated:** 2026-06-02 (v3.0.0 — YAML cockpit; 61 active, 0 planned; maintain-wiki removed; build-epic, run-planning, fix-bug added)
6
6
 
7
7
  ---
8
8
 
@@ -17,15 +17,15 @@
17
17
  | **Plan** | 8 | assess-impact, change-request, scope-work, slice-tasks, define-success, plan-work, plan-refactor, plan-release |
18
18
  | **Spike** | 1 | spike-prototype |
19
19
  | **Initiate** | 4 | kickoff-branch, guard-git, hook-commits, seed-conventions |
20
- | **Build** | 5 | develop-tdd, enforce-first, delegate-task, dispatch-agents, execute-plan |
20
+ | **Build** | 8 | develop-tdd, enforce-first, delegate-task, dispatch-agents, execute-plan, build-epic, run-planning, fix-bug |
21
21
  | **Harden** | 1 | wire-observability |
22
22
  | **Verify** | 2 | verify-work, run-evals |
23
23
  | **Bug** | 3 | investigate-bug, diagnose-root, validate-fix |
24
24
  | **Review** | 4 | audit-code, request-review, respond-review, trace-requirement |
25
25
  | **Integrate** | 2 | commit-message, release-branch |
26
26
  | **Sustain** | 4 | inspect-quality, organize-workspace, stocktake-skills, evolve-skill |
27
- | **Utility** | 13 | terse-mode, craft-skill, edit-document, session-state, migrate-spec, visual-dashboard, write-document, setup-environment, reset-baseline, search-skills, compose-workflow, simulate-agents, maintain-wiki |
28
- | **TOTAL** | **59** | |
27
+ | **Utility** | 12 | terse-mode, craft-skill, edit-document, session-state, migrate-spec, visual-dashboard, write-document, setup-environment, reset-baseline, search-skills, compose-workflow, simulate-agents |
28
+ | **TOTAL** | **61** | |
29
29
 
30
30
  ---
31
31
 
@@ -82,7 +82,7 @@
82
82
  | 47 | Utility | `terse-mode` | Ultra-terse output (fallback) | (prompt) | ✅ Active |
83
83
  | 48 | Utility | `craft-skill` | Build new bigpowers skill | skills/&lt;name&gt;/SKILL.md | ✅ Active |
84
84
  | 49 | Utility | `edit-document` | Edit documents in specs/ | specs/&lt;name&gt;.md | ✅ Active |
85
- | 50 | Utility | `session-state` | Track decisions in STATE.md | STATE.md | ✅ Active |
85
+ | 50 | Utility | `session-state` | Track decisions in state.yaml | state.yaml | ✅ Active |
86
86
  | 51 | Utility | `migrate-spec` | Migrate foreign spec formats | specs/ | ✅ Active |
87
87
  | 52 | Utility | `visual-dashboard` | Browser dashboard | .bigpowers/dashboard/ | ✅ Active |
88
88
  | 53 | Utility | `write-document` | BMAD technical documents | specs/&lt;name&gt;.md | ✅ Active |
@@ -91,9 +91,11 @@
91
91
  | 56 | Utility | `search-skills` | Natural language → right skill | SKILL-SEARCH-INDEX.md | ✅ Active |
92
92
  | 57 | Utility | `compose-workflow` | Chain skills into workflow recipe | WORKFLOW-&lt;name&gt;.md | ✅ Active |
93
93
  | 58 | Utility | `simulate-agents` | Mock User + Auditor simulation | SIMULATION-&lt;feature&gt;.md | ✅ Active |
94
- | 59 | Utility | `maintain-wiki` | LLM wiki sync / ingest / lint | specs/wiki/ | ✅ Active |
94
+ | 59 | Build | `build-epic` | Eight-step epic build cycle | state.yaml, epics/ | ✅ Active |
95
+ | 60 | Build | `run-planning` | Discover-phase workflow tracker | planning-status.yaml | ✅ Active |
96
+ | 61 | Bug | `fix-bug` | Bug fix orchestrator | bugs/BUG-*.md | ✅ Active |
95
97
 
96
- **Total: 59 ✅ Active, 0 📋 Planned.**
98
+ **Total: 61 ✅ Active, 0 📋 Planned.**
97
99
 
98
100
  ---
99
101
 
@@ -113,13 +115,15 @@ survey-context → research-first → elaborate-spec → map-codebase
113
115
 
114
116
  [Unknown domain?] spike-prototype → (learnings feed back to plan-work)
115
117
 
116
- develop-tdd (+ enforce-first) ←→ delegate-task / dispatch-agents / execute-plan
118
+ develop-tdd (+ enforce-first) ←→ delegate-task / dispatch-agents / execute-plan / build-epic
119
+
120
+ run-planning (discover workflows → planning-status.yaml)
117
121
 
118
122
  wire-observability (production-readiness gate, any phase)
119
123
 
120
124
  ★ VERIFY ★ run-evals → verify-work (prove it works)
121
125
 
122
- investigate-bug → diagnose-root → validate-fix
126
+ fix-bug → investigate-bug → diagnose-root → validate-fix
123
127
 
124
128
  audit-code → request-review → respond-review → trace-requirement
125
129
 
@@ -129,8 +133,7 @@ survey-context → research-first → elaborate-spec → map-codebase
129
133
 
130
134
  Transversal utilities (any phase):
131
135
  terse-mode, craft-skill, edit-document, session-state, migrate-spec, visual-dashboard,
132
- write-document, setup-environment, reset-baseline, search-skills, compose-workflow, simulate-agents,
133
- maintain-wiki
136
+ write-document, setup-environment, reset-baseline, search-skills, compose-workflow, simulate-agents
134
137
  ```
135
138
 
136
139
  ---
@@ -27,9 +27,9 @@ git log --oneline -10 -- [file-path]
27
27
 
28
28
  ### 3. Map to release plan stories
29
29
 
30
- Read `specs/RELEASE-PLAN.md` (if it exists). For each dependent found in Step 2, identify which story owns that module. List stories that will be affected by the change.
30
+ Read `specs/release-plan.yaml + epic shards` (if it exists). For each dependent found in Step 2, identify which story owns that module. List stories that will be affected by the change.
31
31
 
32
- → verify: `grep -c "Story" specs/RELEASE-PLAN.md 2>/dev/null || echo "no release plan"`
32
+ → verify: `grep -c "Story" specs/release-plan.yaml + epic shards 2>/dev/null || echo "no release plan"`
33
33
 
34
34
  ### 4. List test coverage
35
35
 
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: build-epic
3
+ model: sonnet
4
+ description: Eight-step epic build cycle — reads state.yaml, execution-status.yaml, and one epic shard; 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.
5
+ ---
6
+
7
+ # Build Epic
8
+
9
+ Orchestrates the **build** flow for a single epic: survey → plan tasks → kickoff → TDD → verify → audit → commit → release.
10
+
11
+ > **HARD GATE** — Set `specs/state.yaml` `active_flow: build_epic` and `active_epic: eNN` before starting.
12
+ >
13
+ > **HARD GATE** — Not on `main`/`master` before step 3 (kickoff-branch).
14
+
15
+ ## Eight steps (`epic_cycle` in state.yaml)
16
+
17
+ | Step | Skill / action |
18
+ |------|----------------|
19
+ | 1 | `survey-context` — confirm epic + story |
20
+ | 2 | `plan-work` — flesh out story `tasks[]` in `specs/epics/eNN-*.yaml` |
21
+ | 3 | `kickoff-branch` — feature branch + clean baseline |
22
+ | 4 | `develop-tdd` — red-green per task |
23
+ | 5 | `verify-work` — UAT + mechanical gates |
24
+ | 6 | `audit-code` — self-review checklist |
25
+ | 7 | `commit-message` — Conventional Commits draft |
26
+ | 8 | `release-branch` — PR or solo land |
27
+
28
+ ## Process
29
+
30
+ 1. Read `specs/state.yaml`, `specs/execution-status.yaml`, `specs/release-plan.yaml`, active `specs/epics/eNN-*.yaml`.
31
+ 2. If `epic_cycle.step` missing, set to `1`.
32
+ 3. Run **only the current step** (resume mode) unless user asked for full auto-run.
33
+ 4. After step verify passes, increment `epic_cycle.step` in `state.yaml` (or `bash scripts/bp-yaml-set.sh` if available).
34
+ 5. On story complete, set `execution-status.yaml` story key to `done`; run `bash scripts/sync-status-from-epics.sh`.
35
+
36
+ ## Handoff
37
+
38
+ Write `handoff.next_skill` and `handoff.context` in `state.yaml` when pausing mid-epic.
39
+
40
+ ## Verify
41
+
42
+ → verify: `grep -q 'active_flow: build_epic' specs/state.yaml && test -f specs/epics/*.yaml`
@@ -1,14 +1,14 @@
1
1
  ---
2
2
  name: change-request
3
3
  model: sonnet
4
- description: Add a new requirement or reorder epics by WSJF value engineering against specs/RELEASE-PLAN.md. Two modes: Add (intake a new requirement mid-flight) and Reorder (re-score and re-sort all epics/stories). Use when a new requirement arrives mid-release, or when the plan needs prioritization.
4
+ description: Add a new requirement or reorder epics by WSJF against specs/release-plan.yaml and epic shards. Modes Add and Reorder. Use when a new requirement arrives mid-release or the plan needs prioritization.
5
5
  ---
6
6
 
7
7
  # Change Request
8
8
 
9
- > **HARD GATE** — `specs/RELEASE-PLAN.md` must exist before running either mode. If it doesn't, run `plan-release` first.
9
+ > **HARD GATE** — `specs/release-plan.yaml` must exist before running either mode. If it doesn't, run `plan-release` first.
10
10
  >
11
- > → verify: `[ -f specs/RELEASE-PLAN.md ] && echo "ready" || echo "BLOCKED: run plan-release first"`
11
+ > → verify: `[ -f specs/release-plan.yaml ] && echo "ready" || echo "BLOCKED: run plan-release first"`
12
12
 
13
13
  Two modes. State which one you want or the skill will ask.
14
14
 
@@ -17,27 +17,27 @@ Two modes. State which one you want or the skill will ask.
17
17
  Intake a new requirement mid-flight without disrupting work in progress.
18
18
 
19
19
  1. **Capture**: What is the change? What problem does it solve?
20
- 2. **Locate**: Which existing stories does it affect or replace?
21
- 3. **Draft**: Write the new story in RELEASE-PLAN.md format (with Gherkin AC and tasks + verify commands).
22
- 4. **Place**: Append as a new story under an existing epic, or open a new epic if needed.
23
- 5. **Score**: Compute WSJF score for the new story; note if it outranks in-progress work.
20
+ 2. **Locate**: Which existing stories in `specs/epics/` does it affect or replace?
21
+ 3. **Draft**: Add story + `tasks[]` with Gherkin-style AC in epic YAML (each task has `verify`).
22
+ 4. **Place**: Append story under existing epic shard, or create `specs/epics/eNN-slug.yaml` and register in `release-plan.yaml` `epics[]`.
23
+ 5. **Score**: Compute WSJF; note if it outranks in-progress work.
24
24
 
25
- → verify: `grep -c "Story" specs/RELEASE-PLAN.md`
25
+ → verify: `grep -c 'stories:' specs/epics/*.yaml`
26
26
 
27
27
  ## Mode B — Reorder
28
28
 
29
- Value-engineering pass over the full release plan using WSJF.
29
+ Value-engineering pass over the full release using WSJF.
30
30
 
31
31
  See [REFERENCE.md](REFERENCE.md) for the full WSJF scoring rubric.
32
32
 
33
- 1. **Score** each epic/story: Business Value (1–10) + Time Criticality (1–10) + Risk Reduction (1–10) / Job Size (1–10).
34
- 2. **Re-sort** epics and stories by WSJF score descending.
35
- 3. **Flag cut candidates**: stories where Effort is L and Value is Low (WSJF < 1.5).
36
- 4. **Update** `specs/RELEASE-PLAN.md` add WSJF scores, new order, short rationale for any reordering.
37
- 5. **Report** the delta: what moved up, what moved down, what is a cut candidate.
33
+ 1. **Score** each epic/story: BV + TC + RR / Job Size.
34
+ 2. **Re-sort** `release-plan.yaml` `epics[]` and per-epic `wsjf` fields.
35
+ 3. **Flag cut candidates**: WSJF < 1.5.
36
+ 4. **Update** `specs/release-plan.yaml` and epic `wsjf` keys with rationale.
37
+ 5. **Report** the delta.
38
38
 
39
- → verify: `grep -c "WSJF:" specs/RELEASE-PLAN.md`
39
+ → verify: `grep -c 'wsjf' specs/release-plan.yaml specs/epics/*.yaml`
40
40
 
41
41
  ## After either mode
42
42
 
43
- Suggest `plan-work` for the top-ranked unstarted story.
43
+ Run `bash scripts/sync-status-from-epics.sh`. Suggest `plan-work` or `build-epic` for the top-ranked unstarted story.
@@ -7,7 +7,7 @@
7
7
 
8
8
  | Step | Skill | Output | verify |
9
9
  |------|-------|--------|--------|
10
- | 1 | survey-context | STATE.md | ... |
11
- | 2 | research-first | Prior Art | ... |
12
- | 3 | plan-work | RELEASE-PLAN.md | ... |
10
+ | 1 | survey-context | state.yaml handoff | ... |
11
+ | 2 | research-first | Prior Art in SCOPE_LATEST.yaml | ... |
12
+ | 3 | plan-work | epics/eNN-*.yaml tasks | ... |
13
13
  ```
@@ -13,7 +13,7 @@ model: sonnet
13
13
  - Trigger ("Use when...")
14
14
  - Ordered steps: `skill → artefact → verify`
15
15
  - HARD GATEs between phases
16
- 3. Register in STATE.md Active Decisions.
16
+ 3. Register in state.yaml Active Decisions.
17
17
  4. Optional: reference from `orchestrate-project` Ad-Hoc mode.
18
18
 
19
19
  ## Verify
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: deepen-architecture
3
3
  model: sonnet
4
- description: Find deepening opportunities in a codebase, informed by the domain language in specs/CONTEXT.md and the decisions in specs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.
4
+ description: Find deepening opportunities in a codebase, informed by the domain language in specs/plans/TECH_STACK_LATEST.md and the decisions in specs/adr/. Use when the user wants to improve architecture, find refactoring opportunities, consolidate tightly-coupled modules, or make a codebase more testable and AI-navigable.
5
5
  ---
6
6
 
7
7
  # Deepen Architecture
@@ -27,7 +27,7 @@ Key principles (see [LANGUAGE.md](LANGUAGE.md) for the full list):
27
27
  - **The interface is the test surface.**
28
28
  - **One adapter = hypothetical seam. Two adapters = real seam.**
29
29
 
30
- This skill is _informed_ by the project's domain model — `specs/CONTEXT.md` and any `specs/adr/`. The domain language gives names to good seams; ADRs record decisions the skill should not re-litigate. See [CONTEXT-FORMAT.md](../model-domain/CONTEXT-FORMAT.md) and [ADR-FORMAT.md](../model-domain/ADR-FORMAT.md).
30
+ This skill is _informed_ by the project's domain model — `specs/plans/TECH_STACK_LATEST.md` and any `specs/adr/`. The domain language gives names to good seams; ADRs record decisions the skill should not re-litigate. See [CONTEXT-FORMAT.md](../model-domain/CONTEXT-FORMAT.md) and [ADR-FORMAT.md](../model-domain/ADR-FORMAT.md).
31
31
 
32
32
  ## Process
33
33
 
@@ -35,7 +35,7 @@ This skill is _informed_ by the project's domain model — `specs/CONTEXT.md` an
35
35
 
36
36
  Read existing documentation first:
37
37
 
38
- - `specs/CONTEXT.md` (or `specs/CONTEXT-MAP.md` + each `specs/CONTEXT.md` in a multi-context repo)
38
+ - `specs/plans/TECH_STACK_LATEST.md` (or `specs/CONTEXT-MAP.md` + each `specs/plans/TECH_STACK_LATEST.md` in a multi-context repo)
39
39
  - Relevant ADRs in `specs/adr/`
40
40
 
41
41
  If any of these files don't exist, proceed silently — don't flag their absence or suggest creating them upfront.
@@ -71,7 +71,7 @@ Present a numbered list of deepening opportunities. For each candidate:
71
71
  - **Solution** — plain English description of what would change
72
72
  - **Benefits** — explained in terms of locality and leverage, and how tests would improve
73
73
 
74
- **Use `specs/CONTEXT.md` vocabulary for the domain, and [LANGUAGE.md](LANGUAGE.md) vocabulary for the architecture.**
74
+ **Use `specs/plans/TECH_STACK_LATEST.md` vocabulary for the domain, and [LANGUAGE.md](LANGUAGE.md) vocabulary for the architecture.**
75
75
 
76
76
  **ADR conflicts**: if a candidate contradicts an existing ADR, only surface it when the friction is real enough to warrant revisiting the ADR. Mark it clearly. Don't list every theoretical refactor an ADR forbids.
77
77
 
@@ -83,7 +83,7 @@ Once the user picks a candidate, drop into a grilling conversation. Walk the des
83
83
 
84
84
  Side effects happen inline as decisions crystallize:
85
85
 
86
- - **Naming a deepened module after a concept not in `specs/CONTEXT.md`?** Add the term to `specs/CONTEXT.md` — same discipline as `model-domain` (see [CONTEXT-FORMAT.md](../model-domain/CONTEXT-FORMAT.md)). Create the file lazily if it doesn't exist.
87
- - **Sharpening a fuzzy term during the conversation?** Update `specs/CONTEXT.md` right there.
86
+ - **Naming a deepened module after a concept not in `specs/plans/TECH_STACK_LATEST.md`?** Add the term to `specs/plans/TECH_STACK_LATEST.md` — same discipline as `model-domain` (see [CONTEXT-FORMAT.md](../model-domain/CONTEXT-FORMAT.md)). Create the file lazily if it doesn't exist.
87
+ - **Sharpening a fuzzy term during the conversation?** Update `specs/plans/TECH_STACK_LATEST.md` right there.
88
88
  - **User rejects the candidate with a load-bearing reason?** Offer an ADR, framed as: _"Want me to record this as an ADR so future architecture reviews don't re-suggest it?"_ Only offer when the reason would actually be needed by a future explorer. See [ADR-FORMAT.md](../model-domain/ADR-FORMAT.md).
89
89
  - **Want to explore alternative interfaces for the deepened module?** See [INTERFACE-DESIGN.md](INTERFACE-DESIGN.md).
@@ -16,7 +16,7 @@ Transform "do X" into "step → verify: <cmd>" pairs. This is the pre-flight che
16
16
 
17
17
  ### 1. Read the task statement
18
18
 
19
- Take the task as stated (from conversation, or from `specs/TASKS.md`, or from `specs/SCOPE.md`).
19
+ Take the task as stated (from conversation, or from `specs/epics/ (see slice-tasks)`, or from `specs/requirements/SCOPE_LATEST.yaml`).
20
20
 
21
21
  ### 2. Break into observable outcomes
22
22
 
@@ -14,7 +14,7 @@ Delegate a single complex task to a subagent with a two-stage review gate before
14
14
 
15
15
  ### 1. Define the task
16
16
 
17
- Before spawning the agent, read `specs/STATE.md` if it exists. Then write a minimal self-contained brief using this template (brief size directly controls token cost and hallucination risk — do not pad):
17
+ Before spawning the agent, read `specs/state.yaml` if it exists. Then write a minimal self-contained brief using this template (brief size directly controls token cost and hallucination risk — do not pad):
18
18
 
19
19
  ```
20
20
  Goal: [one sentence — specific, measurable outcome]
@@ -22,14 +22,14 @@ In scope: [explicit file or module list]
22
22
  Out of bounds: [what NOT to do]
23
23
  Constraints: [relevant CONVENTIONS.md rules, existing patterns, test requirements]
24
24
  Verify: [runnable command]
25
- Prior decisions: [relevant entries from specs/STATE.md — omit section if none apply]
25
+ Prior decisions: [relevant entries from specs/state.yaml — omit section if none apply]
26
26
  ```
27
27
 
28
28
  Do not include full file contents, full conversation history, or decisions unrelated to this task.
29
29
 
30
30
  ### 2. Spawn the subagent (iterative retrieval, max 3 cycles)
31
31
 
32
- Use the Agent tool with a **fresh context** per spawn. Pass prior decisions only via `specs/STATE.md`.
32
+ Use the Agent tool with a **fresh context** per spawn. Pass prior decisions only via `specs/state.yaml`.
33
33
 
34
34
  **Cycle:** dispatch → evaluate output vs goal → refine brief → re-spawn if needed (max 3 cycles).
35
35
 
@@ -67,7 +67,7 @@ Check:
67
67
  - **Revise**: send back to the subagent with specific feedback
68
68
  - **Reject**: discard and re-approach differently
69
69
 
70
- **After accepting**, append to `specs/STATE.md` under `## Active Decisions`:
70
+ **After accepting**, append to `specs/state.yaml` under `## Active Decisions`:
71
71
  ```
72
72
  **[task short name]**: [what approach the agent chose and why — one sentence]
73
73
  ```
@@ -1,14 +1,14 @@
1
1
  ---
2
2
  name: develop-tdd
3
3
  model: sonnet
4
- description: Test-driven development with red-green-refactor loop using vertical slices. Use when user wants to build features or fix bugs using TDD, mentions "red-green-refactor", wants integration tests, asks for test-first development, or wants to implement a task from specs/PLAN.md.
4
+ description: Test-driven development with red-green-refactor loop using vertical slices. Use for features (epic tasks) or bugs (specs/bugs/BUG-*.md).
5
5
  ---
6
6
 
7
7
  # Develop TDD
8
8
 
9
9
  > **HARD GATE** — Do NOT proceed if on `main` or `master`. Run `kickoff-branch` first to create a feature branch or worktree.
10
10
  >
11
- > **HARD GATE** — Do NOT write code before you have a plan. If you are starting a new task, run `plan-work` to create `specs/RELEASE-PLAN.md`. If you are fixing a bug, run `investigate-bug` to create `specs/bugs/BUG-*.md`.
11
+ > **HARD GATE** — Do NOT write code before you have a plan. New feature: `plan-work` epic shard tasks. Bug: `investigate-bug` `specs/bugs/BUG-*.md` (or use `fix-bug` orchestrator).
12
12
  >
13
13
  > **RECURSIVE DISCIPLINE** — This lifecycle apply to EVERY task, including updating these skills. Never skip planning because a task is "meta" or "just documentation."
14
14
 
@@ -65,7 +65,7 @@ If you find yourself thinking these things, you are likely deviating from produc
65
65
 
66
66
  Before writing any code:
67
67
 
68
- - [ ] Read `specs/RELEASE-PLAN.md` or `specs/bugs/BUG-*.md` if they exist — understand the task and verify steps
68
+ - [ ] Read active `specs/epics/*.yaml` story tasks or `specs/bugs/BUG-*.md` — understand verify steps
69
69
  - [ ] Confirm with user what interface changes are needed
70
70
  - [ ] Confirm with user which behaviors to test (prioritize)
71
71
  - [ ] Identify opportunities for [deep modules](deep-modules.md) (small interface, deep implementation)
@@ -136,12 +136,12 @@ After all tests pass, look for [refactor candidates](refactoring.md):
136
136
 
137
137
  ### 5. Verify step
138
138
 
139
- After every behavior cycle, run the verify command from `specs/RELEASE-PLAN.md` if one exists for this step. Show evidence before declaring the step done.
139
+ After every behavior cycle, run the verify command from the active epic task if one exists. Show evidence before declaring the step done.
140
140
 
141
141
  ### 6. Manual Verification Handover
142
142
 
143
143
  Once the story is complete and all tests pass:
144
- 1. Locate the **Verification Script** in `specs/RELEASE-PLAN.md` for this story.
144
+ 1. Locate the **Verification Script** in the active epic shard (`specs/epics/`) for this story.
145
145
  2. Present the script to the user as a step-by-step guide.
146
146
  3. Wait for the user to confirm the behavioral correctness before moving to the next story or declaring the task done.
147
147
 
@@ -35,7 +35,7 @@ If any two tasks conflict, sequence them with `delegate-task` or `execute-plan`
35
35
 
36
36
  ### 2. Write task briefs
37
37
 
38
- Before writing briefs, read `specs/STATE.md` if it exists — each agent gets only the decisions relevant to its task, nothing else.
38
+ Before writing briefs, read `specs/state.yaml` if it exists — each agent gets only the decisions relevant to its task, nothing else.
39
39
 
40
40
  For each task, use this minimal template (each agent starts cold — brief size directly controls token cost and hallucination risk):
41
41
 
@@ -44,7 +44,7 @@ Goal: [one sentence — what success looks like]
44
44
  In scope: [explicit file or module list]
45
45
  Out of bounds: [what NOT to touch]
46
46
  Verify: [runnable command]
47
- Prior decisions: [relevant entries from specs/STATE.md — omit section if none apply]
47
+ Prior decisions: [relevant entries from specs/state.yaml — omit section if none apply]
48
48
  ```
49
49
 
50
50
  Do not include the full conversation, full file contents, or decisions unrelated to this agent's task.
@@ -10,7 +10,7 @@ model: opus
10
10
 
11
11
  ## Loop
12
12
 
13
- 1. Run `bigpowers-benchmark` (external repo); save report path in STATE.md.
13
+ 1. Run `bigpowers-benchmark` (external repo); save report path in state.yaml.
14
14
  2. Identify target skill + measurable gap from report.
15
15
  3. `plan-work` — minimal change proposal with verify commands.
16
16
  4. Edit via `craft-skill` / direct SKILL.md edit; run `sync-skills.sh`.
@@ -19,6 +19,6 @@ model: opus
19
19
 
20
20
  ## Verify
21
21
 
22
- → verify: benchmark report shows post-change score ≥ baseline (document paths in STATE.md)
22
+ → verify: benchmark report shows post-change score ≥ baseline (document paths in state.yaml)
23
23
 
24
24
  See [REFERENCE.md](REFERENCE.md) for ADR template.