bigpowers 2.1.3 → 2.3.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.
Files changed (164) hide show
  1. package/.pi/package.json +16 -0
  2. package/.pi/prompts/assess-impact.md +76 -0
  3. package/.pi/prompts/audit-code.md +156 -0
  4. package/.pi/prompts/build-epic.md +44 -0
  5. package/.pi/prompts/change-request.md +105 -0
  6. package/.pi/prompts/commit-message.md +135 -0
  7. package/.pi/prompts/compose-workflow.md +40 -0
  8. package/.pi/prompts/craft-skill.md +150 -0
  9. package/.pi/prompts/deepen-architecture.md +235 -0
  10. package/.pi/prompts/define-language.md +79 -0
  11. package/.pi/prompts/define-success.md +62 -0
  12. package/.pi/prompts/delegate-task.md +76 -0
  13. package/.pi/prompts/design-interface.md +96 -0
  14. package/.pi/prompts/develop-tdd.md +375 -0
  15. package/.pi/prompts/diagnose-root.md +23 -0
  16. package/.pi/prompts/dispatch-agents.md +83 -0
  17. package/.pi/prompts/edit-document.md +22 -0
  18. package/.pi/prompts/elaborate-spec.md +81 -0
  19. package/.pi/prompts/enforce-first.md +77 -0
  20. package/.pi/prompts/evolve-skill.md +38 -0
  21. package/.pi/prompts/execute-plan.md +54 -0
  22. package/.pi/prompts/fix-bug.md +36 -0
  23. package/.pi/prompts/grill-me.md +95 -0
  24. package/.pi/prompts/grill-with-docs.md +37 -0
  25. package/.pi/prompts/guard-git.md +212 -0
  26. package/.pi/prompts/hook-commits.md +93 -0
  27. package/.pi/prompts/inspect-quality.md +105 -0
  28. package/.pi/prompts/investigate-bug.md +117 -0
  29. package/.pi/prompts/kickoff-branch.md +99 -0
  30. package/.pi/prompts/map-codebase.md +70 -0
  31. package/.pi/prompts/migrate-spec.md +482 -0
  32. package/.pi/prompts/model-domain.md +227 -0
  33. package/.pi/prompts/orchestrate-project.md +161 -0
  34. package/.pi/prompts/organize-workspace.md +159 -0
  35. package/.pi/prompts/plan-refactor.md +77 -0
  36. package/.pi/prompts/plan-release.md +145 -0
  37. package/.pi/prompts/plan-work.md +161 -0
  38. package/.pi/prompts/release-branch.md +158 -0
  39. package/.pi/prompts/request-review.md +70 -0
  40. package/.pi/prompts/research-first.md +62 -0
  41. package/.pi/prompts/reset-baseline.md +20 -0
  42. package/.pi/prompts/respond-review.md +70 -0
  43. package/.pi/prompts/run-evals.md +56 -0
  44. package/.pi/prompts/run-planning.md +26 -0
  45. package/.pi/prompts/scope-work.md +23 -0
  46. package/.pi/prompts/search-skills.md +21 -0
  47. package/.pi/prompts/seed-conventions.md +132 -0
  48. package/.pi/prompts/session-state.md +146 -0
  49. package/.pi/prompts/setup-environment.md +23 -0
  50. package/.pi/prompts/simulate-agents.md +25 -0
  51. package/.pi/prompts/slice-tasks.md +23 -0
  52. package/.pi/prompts/spike-prototype.md +94 -0
  53. package/.pi/prompts/stocktake-skills.md +40 -0
  54. package/.pi/prompts/survey-context.md +129 -0
  55. package/.pi/prompts/terse-mode.md +37 -0
  56. package/.pi/prompts/trace-requirement.md +68 -0
  57. package/.pi/prompts/using-bigpowers.md +105 -0
  58. package/.pi/prompts/validate-fix.md +98 -0
  59. package/.pi/prompts/verify-work.md +125 -0
  60. package/.pi/prompts/visual-dashboard.md +51 -0
  61. package/.pi/prompts/wire-observability.md +92 -0
  62. package/.pi/prompts/write-document.md +244 -0
  63. package/.pi/skills/assess-impact/SKILL.md +77 -0
  64. package/.pi/skills/audit-code/SKILL.md +157 -0
  65. package/.pi/skills/build-epic/SKILL.md +45 -0
  66. package/.pi/skills/change-request/SKILL.md +106 -0
  67. package/.pi/skills/commit-message/SKILL.md +136 -0
  68. package/.pi/skills/compose-workflow/SKILL.md +41 -0
  69. package/.pi/skills/craft-skill/SKILL.md +151 -0
  70. package/.pi/skills/deepen-architecture/SKILL.md +236 -0
  71. package/.pi/skills/define-language/SKILL.md +80 -0
  72. package/.pi/skills/define-success/SKILL.md +63 -0
  73. package/.pi/skills/delegate-task/SKILL.md +77 -0
  74. package/.pi/skills/design-interface/SKILL.md +97 -0
  75. package/.pi/skills/develop-tdd/SKILL.md +376 -0
  76. package/.pi/skills/diagnose-root/SKILL.md +24 -0
  77. package/.pi/skills/dispatch-agents/SKILL.md +84 -0
  78. package/.pi/skills/edit-document/SKILL.md +23 -0
  79. package/.pi/skills/elaborate-spec/SKILL.md +82 -0
  80. package/.pi/skills/enforce-first/SKILL.md +78 -0
  81. package/.pi/skills/evolve-skill/SKILL.md +39 -0
  82. package/.pi/skills/execute-plan/SKILL.md +55 -0
  83. package/.pi/skills/fix-bug/SKILL.md +37 -0
  84. package/.pi/skills/grill-me/SKILL.md +96 -0
  85. package/.pi/skills/grill-with-docs/SKILL.md +38 -0
  86. package/.pi/skills/guard-git/SKILL.md +213 -0
  87. package/.pi/skills/hook-commits/SKILL.md +94 -0
  88. package/.pi/skills/inspect-quality/SKILL.md +106 -0
  89. package/.pi/skills/investigate-bug/SKILL.md +118 -0
  90. package/.pi/skills/kickoff-branch/SKILL.md +100 -0
  91. package/.pi/skills/map-codebase/SKILL.md +71 -0
  92. package/.pi/skills/migrate-spec/SKILL.md +483 -0
  93. package/.pi/skills/model-domain/SKILL.md +228 -0
  94. package/.pi/skills/orchestrate-project/SKILL.md +162 -0
  95. package/.pi/skills/organize-workspace/SKILL.md +160 -0
  96. package/.pi/skills/plan-refactor/SKILL.md +78 -0
  97. package/.pi/skills/plan-release/SKILL.md +146 -0
  98. package/.pi/skills/plan-work/SKILL.md +162 -0
  99. package/.pi/skills/release-branch/SKILL.md +159 -0
  100. package/.pi/skills/request-review/SKILL.md +71 -0
  101. package/.pi/skills/research-first/SKILL.md +63 -0
  102. package/.pi/skills/reset-baseline/SKILL.md +21 -0
  103. package/.pi/skills/respond-review/SKILL.md +71 -0
  104. package/.pi/skills/run-evals/SKILL.md +57 -0
  105. package/.pi/skills/run-planning/SKILL.md +27 -0
  106. package/.pi/skills/scope-work/SKILL.md +24 -0
  107. package/.pi/skills/search-skills/SKILL.md +22 -0
  108. package/.pi/skills/seed-conventions/SKILL.md +133 -0
  109. package/.pi/skills/session-state/SKILL.md +147 -0
  110. package/.pi/skills/setup-environment/SKILL.md +24 -0
  111. package/.pi/skills/simulate-agents/SKILL.md +26 -0
  112. package/.pi/skills/slice-tasks/SKILL.md +24 -0
  113. package/.pi/skills/spike-prototype/SKILL.md +95 -0
  114. package/.pi/skills/stocktake-skills/SKILL.md +41 -0
  115. package/.pi/skills/survey-context/SKILL.md +130 -0
  116. package/.pi/skills/terse-mode/SKILL.md +38 -0
  117. package/.pi/skills/trace-requirement/SKILL.md +69 -0
  118. package/.pi/skills/using-bigpowers/SKILL.md +106 -0
  119. package/.pi/skills/validate-fix/SKILL.md +99 -0
  120. package/.pi/skills/verify-work/SKILL.md +126 -0
  121. package/.pi/skills/visual-dashboard/SKILL.md +52 -0
  122. package/.pi/skills/wire-observability/SKILL.md +93 -0
  123. package/.pi/skills/write-document/SKILL.md +245 -0
  124. package/CHANGELOG.md +14 -0
  125. package/CLAUDE.md +1 -1
  126. package/CONVENTIONS.md +16 -10
  127. package/README.md +30 -4
  128. package/build-epic/SKILL.md +1 -1
  129. package/deepen-architecture/SKILL.md +2 -0
  130. package/define-language/SKILL.md +2 -0
  131. package/develop-tdd/REFERENCE.md +61 -0
  132. package/develop-tdd/SKILL.md +19 -119
  133. package/diagnose-root/SKILL.md +2 -0
  134. package/edit-document/SKILL.md +2 -0
  135. package/fix-bug/SKILL.md +3 -1
  136. package/grill-me/SKILL.md +3 -1
  137. package/grill-with-docs/SKILL.md +3 -1
  138. package/investigate-bug/SKILL.md +5 -11
  139. package/map-codebase/SKILL.md +3 -1
  140. package/migrate-spec/REFERENCE-GSD.md +4 -4
  141. package/migrate-spec/REFERENCE.md +33 -6
  142. package/migrate-spec/SKILL.md +1 -14
  143. package/model-domain/SKILL.md +2 -0
  144. package/orchestrate-project/REFERENCE.md +1 -1
  145. package/package.json +3 -2
  146. package/plan-release/SKILL.md +1 -1
  147. package/plan-work/REFERENCE.md +104 -0
  148. package/plan-work/SKILL.md +17 -151
  149. package/release-branch/REFERENCE.md +55 -0
  150. package/release-branch/SKILL.md +19 -117
  151. package/request-review/SKILL.md +1 -1
  152. package/run-planning/SKILL.md +3 -2
  153. package/scope-work/SKILL.md +3 -1
  154. package/scripts/audit-compliance.sh +15 -3
  155. package/scripts/check-skill-size.sh +79 -0
  156. package/scripts/generate-reference-tables.sh +64 -0
  157. package/scripts/project-survey.sh +2 -2
  158. package/scripts/sync-skills.sh +51 -3
  159. package/scripts/validate-doctrine.sh +143 -0
  160. package/seed-conventions/REFERENCE.md +63 -0
  161. package/seed-conventions/SKILL.md +23 -177
  162. package/slice-tasks/SKILL.md +3 -1
  163. package/survey-context/SKILL.md +3 -1
  164. package/write-document/SKILL.md +4 -2
@@ -0,0 +1,130 @@
1
+ ---
2
+ name: survey-context
3
+ description: "Per-task context bootstrap — reads existing specs/ and tech-architecture docs to map the current lifecycle phase and suggest the next skill. Use at the start of any task, when returning after a break, or when unsure what to do next. For deriving a tech-stack doc from scratch, use map-codebase first."
4
+ ---
5
+
6
+
7
+ # Survey Context
8
+
9
+ Read the project's current state and give a phase map + next-skill recommendation. This is the "where am I?" skill — run it at the start of every task.
10
+
11
+ > **Use this vs map-codebase:** `survey-context` consumes existing specs and docs (fast; does not re-derive). `map-codebase` builds the tech-stack doc from scratch by scanning the codebase. Run `map-codebase` when `specs/tech-architecture/tech-stack.md` doesn't exist yet; run `survey-context` when it does.
12
+
13
+ > **HARD GATE** — Read specs/ files before suggesting next steps. If state.yaml is stale or contradicts the codebase, request clarification rather than assuming intent.
14
+
15
+ Orchestrate-project 6 phases: Phase 1 Discover - Phase 2 Elaborate - Phase 3 Plan - Phase 4 Build - Phase 5 Verify - Phase 6 Release
16
+
17
+ ## Process
18
+
19
+ ### 1. Read CONVENTIONS.md
20
+
21
+ If `CONVENTIONS.md` exists at the project root, read it first. It contains the rules all agents must follow in this project.
22
+
23
+ ### 2. Read specs/ (YAML-first)
24
+
25
+ Scan the `specs/` directory if it exists:
26
+
27
+ ```
28
+ specs/
29
+ ├── state.yaml → session: active_flow, epic, git, handoff
30
+ ├── release-plan.yaml → target version, WSJF epic index
31
+ ├── execution-status.yaml → flat story/epic status
32
+ ├── planning-status.yaml → discover-phase checklist (optional)
33
+ ├── requirements/
34
+ │ ├── VISION_LATEST.yaml
35
+ │ ├── SCOPE_LATEST.yaml
36
+ │ └── GLOSSARY_LATEST.yaml
37
+ ├── plans/ → TECH_STACK, TEST_PLAN, etc.
38
+ ├── epics/ → eNN shards (flat yaml or eNN/stories/)
39
+ └── bugs/ → BUG-*.md + registry.yaml
40
+ ```
41
+
42
+ For each YAML file found, note: exists? keys populated? `handoff.next_skill`?
43
+
44
+ Legacy markdown (`specs/archive/STATE.md`, `RELEASE-PLAN.md`) is **not** SoT if YAML exists.
45
+
46
+ → verify: `bash scripts/validate-specs-yaml.sh 2>/dev/null || echo "YAML layout incomplete"`
47
+
48
+ ### 3. Read CLAUDE.md
49
+
50
+ If `CLAUDE.md` exists at the project root, read it for project context (stack, commands, architecture, conventions).
51
+
52
+ ### 4. Check git state
53
+
54
+ ```bash
55
+ git status --short
56
+ git log --oneline -5
57
+ git branch --show-current
58
+ ```
59
+
60
+ Note: is there a feature branch active? Are there uncommitted changes? Do they match `specs/state.yaml` `git` block?
61
+
62
+ ### 5. Map the lifecycle phase
63
+
64
+ Based on what you've found, identify which PMBOK phase this project is currently in:
65
+
66
+ | Phase | Signals |
67
+ |-------|---------|
68
+ | **Discover** | No `requirements/SCOPE_LATEST.yaml` yet, or only rough notes |
69
+ | **Design** | SCOPE exists but no `release-plan.yaml` |
70
+ | **Plan** | `release-plan.yaml` exists; on `main`/`master` branch |
71
+ | **Initiate** | On a feature branch; no code changes yet |
72
+ | **Execute** | `state.yaml` `active_flow: build_epic`; epic capsule in progress |
73
+ | **Verify** | Implementation done; run `verify-work` or `run-evals` |
74
+ | **Bug** | `state.yaml` `active_flow: fix_bug` or open `specs/bugs/BUG-*.md` |
75
+ | **Review** | All code written; no PR yet |
76
+ | **Integrate** | PR open; tests passing |
77
+ | **Sustain** | Ongoing; no active task |
78
+
79
+ Prefer `specs/state.yaml` `active_flow` and `handoff.next_skill` when present.
80
+
81
+ ### 6. Suggest next skill
82
+
83
+ Based on the phase and state, recommend the most useful next step:
84
+
85
+ - **If in Plan/Bug phase and on `main`**: Suggest `kickoff-branch` next.
86
+ - **If in Initiate phase**: Suggest `develop-tdd` or `execute-plan` or `ship-epic`.
87
+ - **If in Execute phase**: Suggest `ship-epic` (resume) or `develop-tdd` for `active_story_id`.
88
+ - **If in Verify phase**: Suggest `verify-work` (UAT) or `run-evals`.
89
+
90
+ Example:
91
+ ```
92
+ Phase: Execute
93
+ Active branch: feat/e02-verify (state.yaml matches)
94
+ release-plan.yaml: v3.0.0, 10 epics
95
+ active_epic_id: e02
96
+
97
+ Suggested next: ship-epic (resume e02s01 at develop-tdd)
98
+ ```
99
+
100
+ Be specific — name the exact skill and why. If multiple options exist, list them in priority order.
101
+
102
+ ### 7. Surface blockers
103
+
104
+ If something looks wrong:
105
+ - Broken tests in the baseline
106
+ - Open `specs/bugs/BUG-*.md` with no active fix branch
107
+ - Epic shards missing `verify:` on tasks
108
+ - `validate-specs-yaml.sh` fails
109
+ - Git hash in `state.yaml` stale vs `git rev-parse`
110
+
111
+ Report blockers first, before recommendations.
112
+
113
+ ### 8. Record story start timestamp
114
+
115
+ At story start, write `metrics.story_start` with the current ISO 8601 timestamp to `specs/state.yaml` for cycle-time tracking.
116
+
117
+ ## Utility outputs
118
+
119
+ ### list-epics (absorbed)
120
+
121
+ Loop through all `specs/epics/*/epic.yaml` files and print a summary of story counts per epic. Useful for understanding overall project scope and epic distribution.
122
+
123
+ ### check-gates (absorbed)
124
+
125
+ Print the current `active_flow` from `specs/state.yaml`, run `bash scripts/validate-specs-yaml.sh` to verify YAML integrity, and show `git status` to report uncommitted changes and branch state. Use before handoffs or context transitions.
126
+
127
+ ## Handoff
128
+
129
+ Gate: READY -> next: plan-work
130
+ Writes: state.yaml handoff.next_skill = plan-work
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: terse-mode
3
+ description: "Fallback ultra-compressed communication mode. Cuts token usage ~75% by dropping filler, articles, and pleasantries while keeping full technical accuracy. Use ONLY when context is critically long and compressing output is necessary to continue. Not a strategy — token discipline comes from code shape (small functions, unique names, headless tests), not terser prompts. Use when user says "caveman mode", "terse mode", "less tokens", "be brief", or invokes /terse-mode."
4
+ ---
5
+
6
+
7
+ Respond terse like smart caveman. All technical substance stay. Only fluff die.
8
+
9
+ ## Persistence
10
+ > **HARD GATE** — **HARD GATE** — Terse mode is for reducing token usage in long sessions. Do NOT use terse mode when clarity is critical (complex design decisions, bug investigations). Enable it only on explicit user request.
11
+
12
+
13
+ ACTIVE EVERY RESPONSE once triggered. No revert after many turns. No filler drift. Still active if unsure. Off only when user says "stop" or "normal mode".
14
+
15
+ ## Rules
16
+
17
+ Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries (sure/certainly/of course/happy to), hedging. Fragments OK. Short synonyms (big not extensive, fix not "implement a solution for"). Abbreviate common terms (DB/auth/config/req/res/fn/impl). Strip conjunctions. Use arrows for causality (X -> Y). One word when one word enough.
18
+
19
+ Technical terms stay exact. Code blocks unchanged. Errors quoted exact.
20
+
21
+ Pattern: `[thing] [action] [reason]. [next step].`
22
+
23
+ Not: "Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by..."
24
+ Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:"
25
+
26
+ ## Auto-Clarity Exception
27
+
28
+ Drop terse temporarily for: security warnings, irreversible action confirmations, multi-step sequences where fragment order risks misread, user asks to clarify or repeats question. Resume after clear part done.
29
+
30
+ Example — destructive op:
31
+
32
+ > **Warning:** This will permanently delete all rows in the `users` table and cannot be undone.
33
+ >
34
+ > ```sql
35
+ > DROP TABLE users;
36
+ > ```
37
+ >
38
+ > Terse resume. Verify backup exist first.
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: trace-requirement
3
+ description: "Link story IDs from specs/release-plan.yaml + epic capsule directories to the implementing code and tests. Produces specs/TRACEABILITY.md. Use when you want to verify coverage of a release plan, audit which stories are implemented, or find "dark" stories with no code."
4
+ ---
5
+
6
+
7
+ # Trace Requirement
8
+
9
+ Build a traceability matrix from `specs/release-plan.yaml + epic capsule directories` to implementing code and tests. Surfaces gaps in both directions: stories with no code, and code with no story.
10
+
11
+ ## Pre-flight
12
+
13
+ > **HARD GATE** — `specs/release-plan.yaml + epic capsule directories` must exist. If it doesn't, run `plan-release` first.
14
+
15
+ → verify: `[ -f specs/release-plan.yaml + epic capsule directories ] && echo "ready" || echo "BLOCKED: run plan-release first"`
16
+
17
+ Read `specs/release-plan.yaml + epic capsule directories` fully before proceeding.
18
+
19
+ ## Process
20
+
21
+ ### 1. Extract story IDs
22
+
23
+ From release-plan.yaml, collect all story IDs (e.g. `1.1`, `1.2`, `2.1`).
24
+
25
+ → verify: `grep -o "Story [0-9]\+\.[0-9]\+" specs/release-plan.yaml + epic capsule directories | sort -u`
26
+
27
+ ### 2. Search for story tags in code
28
+
29
+ Look for `// story: X.Y` or `# story: X.Y` comments in source files and tests:
30
+
31
+ ```
32
+ grep -rn "story: " . --include="*.ts" --include="*.js" --include="*.py" --include="*.sh" | grep -v node_modules
33
+ ```
34
+
35
+ → verify: `grep -rn "story: " . --include="*.ts" --include="*.sh" | wc -l`
36
+
37
+ ### 3. Build the matrix
38
+
39
+ For each story ID:
40
+ - **Implemented**: list files that contain `// story: X.Y`
41
+ - **Tested**: list test files that contain `// story: X.Y`
42
+ - **Dark**: story has no tag in any file — flag as unimplemented
43
+
44
+ For each tagged file with no matching story ID in release-plan.yaml:
45
+ - **Orphan**: code exists but story was removed or never planned — flag for cleanup
46
+
47
+ ### 4. Write specs/TRACEABILITY.md
48
+
49
+ ```
50
+ ## Story Coverage
51
+
52
+ | Story | Title | Files | Tests | Status |
53
+ |-------|--------------------|-------|-------|-----------|
54
+ | 1.1 | [title] | 2 | 1 | Covered |
55
+ | 1.2 | [title] | 0 | 0 | Dark |
56
+
57
+ ## Orphan Code (no story tag)
58
+ - [file]: contains untagged implementation
59
+
60
+ ## Gaps (dark stories)
61
+ - Story 1.2: no implementation found → run plan-work
62
+
63
+ ## Coverage summary
64
+ Stories: [X] covered / [Y] dark / [Z] total
65
+ ```
66
+
67
+ → verify: `grep -c "Covered\|Dark" specs/TRACEABILITY.md`
68
+
69
+ Suggest `plan-work` for each dark story found.
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: using-bigpowers
3
+ description: "One-time bootstrap that introduces the bigpowers skills system, the PMBOK lifecycle arc, and tells you which skill to call first for your situation. Use when starting with bigpowers for the first time, when user asks "where do I start?", or when the skills system needs to be explained."
4
+ ---
5
+
6
+
7
+ # Using bigpowers
8
+ > **HARD GATE** — **HARD GATE** — This skill is the entry point. Do NOT skip it when onboarding new users or starting a new session. It establishes the bigpowers methodology, lifecycle phases, and conventions.
9
+
10
+
11
+ Welcome to **bigpowers** — a lifecycle of **61** agent skills for production-ready, TDD-driven software by solo developers.
12
+
13
+ ## Install
14
+
15
+ ```bash
16
+ npx bigpowers # one-shot setup
17
+ npm install -g bigpowers # global install, then run: bigpowers
18
+ ```
19
+
20
+ From source (contributors): `git clone` → `npm install` or `bash scripts/install.sh`.
21
+
22
+ Package: [bigpowers on npm](https://www.npmjs.com/package/bigpowers)
23
+
24
+ ## What bigpowers is
25
+
26
+ A curated set of skills organized around the PMBOK developer lifecycle. Each skill does one thing. Skills reference each other by name only — low coupling, high cohesion. All written output goes to `specs/` at your project root.
27
+
28
+ ## The lifecycle at a glance
29
+
30
+ See orchestrate-project for the canonical 6-phase lifecycle.
31
+
32
+ ```
33
+ BOOTSTRAP using-bigpowers (this skill, first time only)
34
+
35
+ DISCOVER survey-context → research-first → elaborate-spec
36
+
37
+ DESIGN model-domain / define-language / grill-me / deepen-architecture / design-interface
38
+
39
+ PLAN scope-work → slice-tasks → define-success → plan-work / plan-refactor
40
+
41
+ INITIATE kickoff-branch → guard-git / hook-commits / seed-conventions
42
+
43
+ SPIKE? spike-prototype → (feeds back to plan-work)
44
+
45
+ EXECUTE develop-tdd + enforce-first ←→ delegate-task / dispatch-agents / execute-plan
46
+
47
+ VERIFY run-evals → verify-work
48
+
49
+ HARDEN wire-observability (any phase)
50
+
51
+ BUG? investigate-bug → diagnose-root → validate-fix
52
+
53
+ REVIEW audit-code → request-review → respond-review
54
+
55
+ INTEGRATE commit-message → release-branch
56
+
57
+ SUSTAIN inspect-quality / organize-workspace (ongoing)
58
+
59
+ UTILITY terse-mode / craft-skill / edit-document (any phase)
60
+ ```
61
+
62
+ ## Where to start
63
+
64
+ | Your situation | First skill to call |
65
+ |---------------|---------------------|
66
+ | Greenfield project, nothing set up | `seed-conventions` |
67
+ | Existing project, new task | `survey-context` |
68
+ | Vague idea that needs shaping | `elaborate-spec` |
69
+ | Plan exists, ready to implement | `kickoff-branch` → `develop-tdd` |
70
+ | Bug to fix | `investigate-bug` |
71
+ | Code ready for review | `audit-code` |
72
+ | Shipping a feature | `commit-message` → `release-branch` |
73
+ | Solo dev, PRs feel heavy | Enable `profiles/solo-git.md` → `specs/WORKFLOW-solo-git.md` → land via `scripts/land-branch.sh` |
74
+
75
+ ## Solo Git profile
76
+
77
+ If you work alone and do not want PR ceremony every task:
78
+
79
+ 1. Read [profiles/solo-git.md](../profiles/solo-git.md).
80
+ 2. Register with `compose-workflow` → `specs/WORKFLOW-solo-git.md`.
81
+ 3. Ship with `release-branch` in **solo-local** mode (`land-branch.sh`), not `gh pr create`.
82
+
83
+ You still use worktrees, protected `main`, and verification gates — only the integrate step changes.
84
+
85
+ ## YAML cockpit and dashboard
86
+
87
+ Operational source of truth:
88
+
89
+ - `specs/state.yaml` — session, active epic/story, handoff
90
+ - `specs/release-plan.yaml` — release index and epic list
91
+ - `specs/epics/eNN-*.yaml` — stories and tasks with `verify`
92
+ - `specs/execution-status.yaml` — done/pending per story
93
+
94
+ Start the HTTP dashboard with `visual-dashboard` → `GET /api/status?projectDir=<abs>` and `GET /cockpit.html` for a read-only PM view.
95
+
96
+ ## Key conventions
97
+
98
+ - **specs/ is your memory.** All domain docs, plans, and investigation outputs go in `specs/` at your project root.
99
+ - **Integrate:** team default is `gh pr` (team-pr); solo profile uses `land-branch.sh`. Never create GitHub issues from skills — use local Markdown files instead.
100
+ - **One skill, one thing.** If you're unsure which skill to call, call `survey-context` — it reads your current state and recommends the next step.
101
+ - **verify: every step.** Every epic task must have `verify: <runnable command>`. Evidence over claims.
102
+ - **61 skills.** See `SKILL-INDEX.md`; find skills with `search-skills`.
103
+
104
+ ## After this
105
+
106
+ Call `survey-context` to read your project's current state and get a personalized recommendation for where to go next.
@@ -0,0 +1,99 @@
1
+ ---
2
+ name: validate-fix
3
+ description: "Prove a fix works before declaring done — re-run the failing test, run the full suite, typecheck, lint, and harden against recurrence. Use after implementing a bug fix, when user says "is this fixed?", or before closing an investigation."
4
+ ---
5
+
6
+
7
+ # Validate Fix
8
+ > **HARD GATE** — **HARD GATE** — Fix must not regress. Run full test suite and manual UAT before declaring success. A fix that passes tests but breaks something else is a failure.
9
+
10
+
11
+ Prove the fix works. "I think it works" is not evidence. Run the suite, show the output, then harden against recurrence.
12
+
13
+ ## Checklist
14
+
15
+ ### 1. Re-run the originally failing test
16
+
17
+ ```bash
18
+ # Run the specific test that captured the bug
19
+ <test command for the failing test>
20
+ ```
21
+
22
+ - [ ] Previously failing test now passes
23
+
24
+ ### 2. Run the full test suite
25
+
26
+ ```bash
27
+ # Run all tests — no filtering
28
+ <full test command from CLAUDE.md>
29
+ ```
30
+
31
+ - [ ] All tests pass (zero regressions)
32
+
33
+ ### 3. Type check
34
+
35
+ ```bash
36
+ <typecheck command>
37
+ ```
38
+
39
+ - [ ] No type errors introduced
40
+
41
+ ### 4. Lint
42
+
43
+ ```bash
44
+ <lint command>
45
+ ```
46
+
47
+ - [ ] No lint violations introduced
48
+
49
+ ### 5. Harden against recurrence
50
+
51
+ For every bug fixed, add at least one prevention layer:
52
+
53
+ | Mechanism | When to use |
54
+ |-----------|-------------|
55
+ | Type guard | Input could be the wrong shape |
56
+ | Schema validation (Zod, Pydantic, etc.) | External data crossing a boundary |
57
+ | Invariant assertion | Internal state that must always hold |
58
+ | Lint rule | Pattern that's easy to repeat by mistake |
59
+ | Environment check at startup | Missing config causes silent failure |
60
+
61
+ - [ ] At least one hardening mechanism added
62
+ - [ ] Hardening mechanism is tested
63
+
64
+ ### 6. Update the bug file and registry.yaml
65
+
66
+ Find the most recent `specs/bugs/BUG-*.md` file and append the resolution:
67
+
68
+ ```markdown
69
+ ## Resolution
70
+
71
+ **Fixed:** [date]
72
+ **Root cause confirmed:** [one sentence]
73
+ **Fix applied:** [what was changed]
74
+ **Hardening added:** [type guard / schema / assertion / lint rule]
75
+ **Evidence:** all tests pass (`<verify command>`)
76
+ **Commit:** `fix(<scope>): <description>`
77
+ ```
78
+
79
+ Also update the corresponding row in `specs/bugs/registry.yaml`: set `status` to `fixed`, fill in `files_changed`, `approach`, `risk_level`, `commit_message`, and any other resolution fields.
80
+
81
+ - [ ] specs/bugs/BUG-*.md updated with resolution
82
+ - [ ] specs/bugs/registry.yaml row updated with resolution fields
83
+
84
+ ### 7. Behavioral Proof (HARD GATE)
85
+
86
+ Mechanical verification (tests passing) is only half the fix. You must prove **behavioral correctness**.
87
+
88
+ - [ ] Manually demonstrate the fixed behavior (e.g., via `run_shell_command` or `web_fetch`)
89
+ - [ ] Compare the output/state against the "Expected Behavior" in the bug file
90
+ - [ ] Show the user evidence of the behavior, not just the test logs
91
+
92
+ ## Rules
93
+
94
+ - **Loop until behavioral correctness is verified**: if any checklist item fails, or if the behavior is still incorrect despite passing tests, return to step 1 and run all checks again from the top — do not declare done until every item is green and the behavior is proven correct in a single run.
95
+ - **Never use `@ts-ignore`, `as any`, or `// eslint-disable`** to "fix" a bug — these suppress the symptom without fixing the root cause
96
+ - **Never mark the task done if any test is still failing**
97
+ - **The verify command from specs/bugs/BUG-*.md or the active epic task `verify` field must pass**
98
+
99
+ Suggest next skill: `audit-code` → `commit-message`.
@@ -0,0 +1,126 @@
1
+ ---
2
+ name: verify-work
3
+ description: "Multi-phase UAT gate — cold-start smoke, build, typecheck, lint, tests, step-by-step manual verification, gaps-closure loop. Use after execute-plan or develop-tdd, before audit-code.model: haiku"
4
+ ---
5
+
6
+
7
+ # Verify Work
8
+
9
+ > **HARD GATE** — No story is "done" until manual UAT for the active story is confirmed with evidence.
10
+ >
11
+ > **HARD GATE** — Do NOT run on `main` or `master`. Use the feature branch from `kickoff-branch`.
12
+
13
+ Review answers "is the code good?"; Verify answers "does the built thing do what was promised?"
14
+
15
+ ## Modes
16
+
17
+ - Default: full UAT plus gaps loop
18
+ - --smoke: Cold-start only plus one happy-path flow. Use for hotfixes.
19
+
20
+ ## Process
21
+
22
+ 0. **Branch check** — must not be `main`/`master`.
23
+
24
+ 1. Read active story tasks from `specs/epics/<capsule>/eNNsYY-tasks.yaml` and story spec from `specs/epics/<capsule>/eNNsYY-<slug>.md` (countable-story-format, Gherkin in §17).
25
+ 2. **Cold-start smoke** (if app): stop server, clear caches, boot from scratch.
26
+ 3. Mechanical gates: build → typecheck → lint → tests (from `CLAUDE.md`).
27
+ 4. **Step-by-step UAT** — one user-observable action at a time.
28
+ 5. **Gaps loop** — failures → log → `plan-work` → re-verify.
29
+
30
+ ## Verify sub-operations
31
+
32
+ ### Cold-Start Smoke (absorbed)
33
+
34
+ For applications, verify correctness from a clean state:
35
+
36
+ - Stop the running server (if any)
37
+ - Clear any caches (browser, application caches, compiled artifacts)
38
+ - Boot the application from scratch
39
+ - Verify that no stale artifacts or configuration are affecting the behavior
40
+
41
+ This catches environment-specific bugs and ensures the build is reproducible.
42
+
43
+ ### Gaps Loop (absorbed)
44
+
45
+ After UAT, identify and close any gaps between promised behavior and actual behavior:
46
+
47
+ - Capture what was promised in the epic task description
48
+ - Document what actually happened (expected vs actual)
49
+ - If behavior doesn't match the promises, log the gap
50
+ - Loop back to `plan-work` or `develop-tdd` to fix the gap
51
+ - Re-verify until all gaps are closed (gaps count = 0)
52
+
53
+ ## UAT dialogue
54
+
55
+ - Pass: user confirms per step.
56
+ - Fail: capture expected vs actual; do not mark done in `execution-status.yaml`.
57
+
58
+ ## Persist verification evidence
59
+
60
+ After UAT passes, write structured evidence to `specs/verifications/eNNsYY-verify.yaml`:
61
+
62
+ ```yaml
63
+ story_id: e01s01
64
+ verified_at: "2026-06-11T14:30:00Z"
65
+ verifier: verify-work
66
+ phases:
67
+ smoke:
68
+ passed: true
69
+ build:
70
+ passed: true
71
+ command: "npm run build"
72
+ typecheck:
73
+ passed: true
74
+ lint:
75
+ passed: true
76
+ tests:
77
+ passed: true
78
+ coverage: "94.2%"
79
+ manual:
80
+ steps:
81
+ - step: "Open /login"
82
+ expected: "Login form renders"
83
+ actual: "Login form rendered correctly"
84
+ passed: true
85
+ gaps:
86
+ closed: true
87
+ ```
88
+
89
+ > **HARD GATE** — Verification evidence MUST be persisted before marking the story done. No evidence = not verified.
90
+
91
+ ## Verify
92
+
93
+ → verify: `test -f specs/verifications/<story_id>-verify.yaml && echo "Evidence persisted"`
94
+
95
+ See [REFERENCE.md](REFERENCE.md) for cold-start and gaps template.
96
+
97
+ ## Handoff
98
+
99
+ Gate: READY -> next: audit-code
100
+ Writes: state.yaml handoff.next_skill = audit-code
101
+
102
+ ---
103
+
104
+ # Verify Work — Reference
105
+
106
+ ## Cold-start smoke
107
+
108
+ ```bash
109
+ # Example — adapt to project CLAUDE.md
110
+ pkill -f "<dev-server>" 2>/dev/null || true
111
+ rm -rf .next/cache node_modules/.cache 2>/dev/null || true
112
+ <run command> &
113
+ sleep 3 && curl -sf http://localhost:<port>/health || echo "BOOT FAIL"
114
+ ```
115
+
116
+ ## Gaps template
117
+
118
+ ```markdown
119
+ ## Gaps (verify-work)
120
+
121
+ | Step | Expected | Actual | Status |
122
+ |------|----------|--------|--------|
123
+ | 1 | ... | ... | FAIL |
124
+ ```
125
+
126
+ Feed gaps to `plan-work` as new steps with verify commands, then re-run verify-work.
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: visual-dashboard
3
+ description: "Start a browser-based dashboard that visualizes architecture, implementation plans, and project status. Persists artifacts in .bigpowers/dashboard/. Reads specs/state.yaml, release-plan.yaml, epics, and planning-status via HTTP API or opencode panel."
4
+ ---
5
+
6
+
7
+ # Visual Dashboard
8
+ > **HARD GATE** — **HARD GATE** — Dashboards are read-only. Do NOT use visualization to make decisions without consulting the source data. 'The chart looks better' is not a decision.
9
+
10
+
11
+ Browser-based visual companion for bigpowers. Visualizes architecture, plans, and status.
12
+
13
+ ## HTTP cockpit (YAML SoT)
14
+
15
+ Start the server:
16
+
17
+ ```bash
18
+ bash visual-dashboard/scripts/start-server.sh
19
+ ```
20
+
21
+ Endpoints:
22
+
23
+ | Route | Purpose |
24
+ |-------|---------|
25
+ | `GET /api/status?projectDir=<abs>` | JSON: `state`, `release`, `epics[]`, `planning_status`, `active_epic` |
26
+ | `GET /cockpit.html?projectDir=<abs>` | Read-only PM view (planning left, epics right) |
27
+ | `GET /` | Agent-pushed HTML screens (legacy, unchanged) |
28
+
29
+ Example:
30
+
31
+ ```bash
32
+ curl -s "http://127.0.0.1:PORT/api/status?projectDir=$PWD" | jq .release.version
33
+ ```
34
+
35
+ Implementation: `visual-dashboard/scripts/read-specs-status.cjs` + `server.cjs`.
36
+
37
+ ## Opencode Progress Panel
38
+
39
+ Projects using bigpowers in opencode can read `specs/state.yaml`, `specs/release-plan.yaml`, and active `specs/epics/*.yaml` directly (no checkbox `### WS1` markdown).
40
+
41
+ Required YAML keys:
42
+
43
+ - **state.yaml** — `active_flow`, `active_epic_id`, `git`, `handoff`, `epic_cycle`
44
+ - **release-plan.yaml** — `release.version`, `epics[]` with `id`, `title`, `wsjf`, `file`
45
+ - **execution-status.yaml** — `development_status` map (story/epic → `done` | `pending`)
46
+ - **planning-status.yaml** — discover workflows and `status: done|pending`
47
+
48
+ ## Agent screens (optional)
49
+
50
+ Push HTML to the dashboard session dir for rich diagrams. See `start-server.sh` for `CONTENT_DIR`.
51
+
52
+ → verify: `test -f visual-dashboard/scripts/read-specs-status.cjs && test -f visual-dashboard/scripts/cockpit.html`