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.
- package/CHANGELOG.md +15 -0
- package/CLAUDE.md +5 -4
- package/CONVENTIONS.md +55 -13
- package/README.md +10 -8
- package/SKILL-INDEX.md +14 -11
- package/assess-impact/SKILL.md +2 -2
- package/build-epic/SKILL.md +42 -0
- package/change-request/SKILL.md +16 -16
- package/compose-workflow/REFERENCE.md +3 -3
- package/compose-workflow/SKILL.md +1 -1
- package/deepen-architecture/SKILL.md +6 -6
- package/define-success/SKILL.md +1 -1
- package/delegate-task/SKILL.md +4 -4
- package/develop-tdd/SKILL.md +5 -5
- package/dispatch-agents/SKILL.md +2 -2
- package/evolve-skill/SKILL.md +2 -2
- package/execute-plan/SKILL.md +22 -59
- package/fix-bug/SKILL.md +37 -0
- package/grill-with-docs/SKILL.md +1 -1
- package/inspect-quality/SKILL.md +5 -5
- package/investigate-bug/SKILL.md +2 -2
- package/kickoff-branch/SKILL.md +1 -1
- package/map-codebase/SKILL.md +4 -4
- package/migrate-spec/REFERENCE-GSD.md +35 -41
- package/migrate-spec/REFERENCE.md +43 -44
- package/migrate-spec/SKILL.md +20 -20
- package/model-domain/SKILL.md +7 -7
- package/orchestrate-project/REFERENCE.md +10 -10
- package/orchestrate-project/SKILL.md +13 -16
- package/package.json +7 -7
- package/plan-release/SKILL.md +63 -39
- package/plan-work/SKILL.md +6 -6
- package/request-review/SKILL.md +2 -2
- package/research-first/SKILL.md +3 -3
- package/run-evals/REFERENCE.md +1 -1
- package/run-planning/SKILL.md +24 -0
- package/scope-work/SKILL.md +6 -6
- package/scripts/bp-yaml-set.sh +9 -0
- package/scripts/bp-yaml-snapshot.sh +23 -0
- package/scripts/convert-legado.sh +153 -0
- package/scripts/enrich-epics-from-archive.sh +101 -0
- package/scripts/land-branch.sh +5 -1
- package/scripts/project-survey.sh +18 -9
- package/scripts/sync-bugs-registry.sh +53 -0
- package/scripts/sync-skills.sh +5 -5
- package/scripts/sync-status-from-epics.sh +51 -0
- package/scripts/validate-specs-yaml.sh +41 -0
- package/scripts/yaml-tools.py +144 -0
- package/seed-conventions/SKILL.md +3 -3
- package/session-state/SKILL.md +59 -50
- package/setup-environment/SKILL.md +1 -1
- package/slice-tasks/SKILL.md +6 -6
- package/spike-prototype/SKILL.md +5 -5
- package/survey-context/SKILL.md +38 -27
- package/trace-requirement/SKILL.md +8 -8
- package/using-bigpowers/SKILL.md +10 -9
- package/validate-fix/SKILL.md +4 -4
- package/verify-work/SKILL.md +12 -17
- package/visual-dashboard/SKILL.md +25 -74
- package/visual-dashboard/scripts/cockpit.html +66 -0
- package/visual-dashboard/scripts/read-specs-status.cjs +123 -0
- package/visual-dashboard/scripts/server.cjs +40 -0
- package/write-document/SKILL.md +1 -1
- package/maintain-wiki/SKILL.md +0 -130
- 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 —
|
|
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
|
|
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/
|
|
53
|
-
4. Read `specs/
|
|
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
|
|
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
|
-
|
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
|
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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
|
|
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
|

|
|
4
4
|

|
|
5
|
-

|
|
6
6
|
|
|
7
|
-
**
|
|
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/
|
|
118
|
-
| **Scope** | `specs/
|
|
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/
|
|
121
|
-
| **Current** | `specs/
|
|
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
|
|
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-
|
|
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** |
|
|
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** |
|
|
28
|
-
| **TOTAL** | **
|
|
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/<name>/SKILL.md | ✅ Active |
|
|
84
84
|
| 49 | Utility | `edit-document` | Edit documents in specs/ | specs/<name>.md | ✅ Active |
|
|
85
|
-
| 50 | Utility | `session-state` | Track decisions in
|
|
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/<name>.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-<name>.md | ✅ Active |
|
|
93
93
|
| 58 | Utility | `simulate-agents` | Mock User + Auditor simulation | SIMULATION-<feature>.md | ✅ Active |
|
|
94
|
-
| 59 |
|
|
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:
|
|
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
|
---
|
package/assess-impact/SKILL.md
CHANGED
|
@@ -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/
|
|
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/
|
|
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`
|
package/change-request/SKILL.md
CHANGED
|
@@ -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
|
|
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/
|
|
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/
|
|
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**:
|
|
22
|
-
4. **Place**: Append
|
|
23
|
-
5. **Score**: Compute WSJF
|
|
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
|
|
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
|
|
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:
|
|
34
|
-
2. **Re-sort** epics and
|
|
35
|
-
3. **Flag cut candidates**:
|
|
36
|
-
4. **Update** `specs/
|
|
37
|
-
5. **Report** the delta
|
|
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
|
|
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 |
|
|
11
|
-
| 2 | research-first | Prior Art | ... |
|
|
12
|
-
| 3 | plan-work |
|
|
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
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
87
|
-
- **Sharpening a fuzzy term during the conversation?** Update `specs/
|
|
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).
|
package/define-success/SKILL.md
CHANGED
|
@@ -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/
|
|
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
|
|
package/delegate-task/SKILL.md
CHANGED
|
@@ -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/
|
|
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/
|
|
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/
|
|
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/
|
|
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
|
```
|
package/develop-tdd/SKILL.md
CHANGED
|
@@ -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
|
|
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.
|
|
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/
|
|
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
|
|
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/
|
|
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
|
|
package/dispatch-agents/SKILL.md
CHANGED
|
@@ -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/
|
|
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/
|
|
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.
|
package/evolve-skill/SKILL.md
CHANGED
|
@@ -10,7 +10,7 @@ model: opus
|
|
|
10
10
|
|
|
11
11
|
## Loop
|
|
12
12
|
|
|
13
|
-
1. Run `bigpowers-benchmark` (external repo); save report path in
|
|
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
|
|
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.
|