bigpowers 2.2.0 → 2.4.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 (147) 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/README.md +27 -1
  126. package/deepen-architecture/SKILL.md +2 -0
  127. package/define-language/SKILL.md +2 -0
  128. package/diagnose-root/SKILL.md +2 -0
  129. package/edit-document/SKILL.md +2 -0
  130. package/fix-bug/SKILL.md +3 -1
  131. package/grill-me/SKILL.md +3 -1
  132. package/grill-with-docs/SKILL.md +3 -1
  133. package/investigate-bug/SKILL.md +5 -11
  134. package/map-codebase/SKILL.md +3 -1
  135. package/model-domain/SKILL.md +2 -0
  136. package/package.json +11 -2
  137. package/plan-release/SKILL.md +1 -1
  138. package/plan-work/SKILL.md +3 -1
  139. package/release-branch/SKILL.md +4 -2
  140. package/run-planning/SKILL.md +3 -2
  141. package/scope-work/SKILL.md +3 -1
  142. package/scripts/sync-skills.sh +48 -3
  143. package/scripts/validate-doctrine.sh +24 -9
  144. package/seed-conventions/SKILL.md +2 -0
  145. package/slice-tasks/SKILL.md +3 -1
  146. package/survey-context/SKILL.md +3 -1
  147. package/write-document/SKILL.md +2 -0
@@ -0,0 +1,129 @@
1
+ ---
2
+ 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.
3
+ ---
4
+
5
+
6
+ # Survey Context
7
+
8
+ 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.
9
+
10
+ > **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.
11
+
12
+ > **HARD GATE** — Read specs/ files before suggesting next steps. If state.yaml is stale or contradicts the codebase, request clarification rather than assuming intent.
13
+
14
+ Orchestrate-project 6 phases: Phase 1 Discover - Phase 2 Elaborate - Phase 3 Plan - Phase 4 Build - Phase 5 Verify - Phase 6 Release
15
+
16
+ ## Process
17
+
18
+ ### 1. Read CONVENTIONS.md
19
+
20
+ If `CONVENTIONS.md` exists at the project root, read it first. It contains the rules all agents must follow in this project.
21
+
22
+ ### 2. Read specs/ (YAML-first)
23
+
24
+ Scan the `specs/` directory if it exists:
25
+
26
+ ```
27
+ specs/
28
+ ├── state.yaml → session: active_flow, epic, git, handoff
29
+ ├── release-plan.yaml → target version, WSJF epic index
30
+ ├── execution-status.yaml → flat story/epic status
31
+ ├── planning-status.yaml → discover-phase checklist (optional)
32
+ ├── requirements/
33
+ │ ├── VISION_LATEST.yaml
34
+ │ ├── SCOPE_LATEST.yaml
35
+ │ └── GLOSSARY_LATEST.yaml
36
+ ├── plans/ → TECH_STACK, TEST_PLAN, etc.
37
+ ├── epics/ → eNN shards (flat yaml or eNN/stories/)
38
+ └── bugs/ → BUG-*.md + registry.yaml
39
+ ```
40
+
41
+ For each YAML file found, note: exists? keys populated? `handoff.next_skill`?
42
+
43
+ Legacy markdown (`specs/archive/STATE.md`, `RELEASE-PLAN.md`) is **not** SoT if YAML exists.
44
+
45
+ → verify: `bash scripts/validate-specs-yaml.sh 2>/dev/null || echo "YAML layout incomplete"`
46
+
47
+ ### 3. Read CLAUDE.md
48
+
49
+ If `CLAUDE.md` exists at the project root, read it for project context (stack, commands, architecture, conventions).
50
+
51
+ ### 4. Check git state
52
+
53
+ ```bash
54
+ git status --short
55
+ git log --oneline -5
56
+ git branch --show-current
57
+ ```
58
+
59
+ Note: is there a feature branch active? Are there uncommitted changes? Do they match `specs/state.yaml` `git` block?
60
+
61
+ ### 5. Map the lifecycle phase
62
+
63
+ Based on what you've found, identify which PMBOK phase this project is currently in:
64
+
65
+ | Phase | Signals |
66
+ |-------|---------|
67
+ | **Discover** | No `requirements/SCOPE_LATEST.yaml` yet, or only rough notes |
68
+ | **Design** | SCOPE exists but no `release-plan.yaml` |
69
+ | **Plan** | `release-plan.yaml` exists; on `main`/`master` branch |
70
+ | **Initiate** | On a feature branch; no code changes yet |
71
+ | **Execute** | `state.yaml` `active_flow: build_epic`; epic capsule in progress |
72
+ | **Verify** | Implementation done; run `verify-work` or `run-evals` |
73
+ | **Bug** | `state.yaml` `active_flow: fix_bug` or open `specs/bugs/BUG-*.md` |
74
+ | **Review** | All code written; no PR yet |
75
+ | **Integrate** | PR open; tests passing |
76
+ | **Sustain** | Ongoing; no active task |
77
+
78
+ Prefer `specs/state.yaml` `active_flow` and `handoff.next_skill` when present.
79
+
80
+ ### 6. Suggest next skill
81
+
82
+ Based on the phase and state, recommend the most useful next step:
83
+
84
+ - **If in Plan/Bug phase and on `main`**: Suggest `kickoff-branch` next.
85
+ - **If in Initiate phase**: Suggest `develop-tdd` or `execute-plan` or `ship-epic`.
86
+ - **If in Execute phase**: Suggest `ship-epic` (resume) or `develop-tdd` for `active_story_id`.
87
+ - **If in Verify phase**: Suggest `verify-work` (UAT) or `run-evals`.
88
+
89
+ Example:
90
+ ```
91
+ Phase: Execute
92
+ Active branch: feat/e02-verify (state.yaml matches)
93
+ release-plan.yaml: v3.0.0, 10 epics
94
+ active_epic_id: e02
95
+
96
+ Suggested next: ship-epic (resume e02s01 at develop-tdd)
97
+ ```
98
+
99
+ Be specific — name the exact skill and why. If multiple options exist, list them in priority order.
100
+
101
+ ### 7. Surface blockers
102
+
103
+ If something looks wrong:
104
+ - Broken tests in the baseline
105
+ - Open `specs/bugs/BUG-*.md` with no active fix branch
106
+ - Epic shards missing `verify:` on tasks
107
+ - `validate-specs-yaml.sh` fails
108
+ - Git hash in `state.yaml` stale vs `git rev-parse`
109
+
110
+ Report blockers first, before recommendations.
111
+
112
+ ### 8. Record story start timestamp
113
+
114
+ At story start, write `metrics.story_start` with the current ISO 8601 timestamp to `specs/state.yaml` for cycle-time tracking.
115
+
116
+ ## Utility outputs
117
+
118
+ ### list-epics (absorbed)
119
+
120
+ 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.
121
+
122
+ ### check-gates (absorbed)
123
+
124
+ 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.
125
+
126
+ ## Handoff
127
+
128
+ Gate: READY -> next: plan-work
129
+ Writes: state.yaml handoff.next_skill = plan-work
@@ -0,0 +1,37 @@
1
+ ---
2
+ 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.
3
+ ---
4
+
5
+
6
+ Respond terse like smart caveman. All technical substance stay. Only fluff die.
7
+
8
+ ## Persistence
9
+ > **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.
10
+
11
+
12
+ 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".
13
+
14
+ ## Rules
15
+
16
+ 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.
17
+
18
+ Technical terms stay exact. Code blocks unchanged. Errors quoted exact.
19
+
20
+ Pattern: `[thing] [action] [reason]. [next step].`
21
+
22
+ Not: "Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by..."
23
+ Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:"
24
+
25
+ ## Auto-Clarity Exception
26
+
27
+ 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.
28
+
29
+ Example — destructive op:
30
+
31
+ > **Warning:** This will permanently delete all rows in the `users` table and cannot be undone.
32
+ >
33
+ > ```sql
34
+ > DROP TABLE users;
35
+ > ```
36
+ >
37
+ > Terse resume. Verify backup exist first.
@@ -0,0 +1,68 @@
1
+ ---
2
+ 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.
3
+ ---
4
+
5
+
6
+ # Trace Requirement
7
+
8
+ 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.
9
+
10
+ ## Pre-flight
11
+
12
+ > **HARD GATE** — `specs/release-plan.yaml + epic capsule directories` must exist. If it doesn't, run `plan-release` first.
13
+
14
+ → verify: `[ -f specs/release-plan.yaml + epic capsule directories ] && echo "ready" || echo "BLOCKED: run plan-release first"`
15
+
16
+ Read `specs/release-plan.yaml + epic capsule directories` fully before proceeding.
17
+
18
+ ## Process
19
+
20
+ ### 1. Extract story IDs
21
+
22
+ From release-plan.yaml, collect all story IDs (e.g. `1.1`, `1.2`, `2.1`).
23
+
24
+ → verify: `grep -o "Story [0-9]\+\.[0-9]\+" specs/release-plan.yaml + epic capsule directories | sort -u`
25
+
26
+ ### 2. Search for story tags in code
27
+
28
+ Look for `// story: X.Y` or `# story: X.Y` comments in source files and tests:
29
+
30
+ ```
31
+ grep -rn "story: " . --include="*.ts" --include="*.js" --include="*.py" --include="*.sh" | grep -v node_modules
32
+ ```
33
+
34
+ → verify: `grep -rn "story: " . --include="*.ts" --include="*.sh" | wc -l`
35
+
36
+ ### 3. Build the matrix
37
+
38
+ For each story ID:
39
+ - **Implemented**: list files that contain `// story: X.Y`
40
+ - **Tested**: list test files that contain `// story: X.Y`
41
+ - **Dark**: story has no tag in any file — flag as unimplemented
42
+
43
+ For each tagged file with no matching story ID in release-plan.yaml:
44
+ - **Orphan**: code exists but story was removed or never planned — flag for cleanup
45
+
46
+ ### 4. Write specs/TRACEABILITY.md
47
+
48
+ ```
49
+ ## Story Coverage
50
+
51
+ | Story | Title | Files | Tests | Status |
52
+ |-------|--------------------|-------|-------|-----------|
53
+ | 1.1 | [title] | 2 | 1 | Covered |
54
+ | 1.2 | [title] | 0 | 0 | Dark |
55
+
56
+ ## Orphan Code (no story tag)
57
+ - [file]: contains untagged implementation
58
+
59
+ ## Gaps (dark stories)
60
+ - Story 1.2: no implementation found → run plan-work
61
+
62
+ ## Coverage summary
63
+ Stories: [X] covered / [Y] dark / [Z] total
64
+ ```
65
+
66
+ → verify: `grep -c "Covered\|Dark" specs/TRACEABILITY.md`
67
+
68
+ Suggest `plan-work` for each dark story found.
@@ -0,0 +1,105 @@
1
+ ---
2
+ 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.
3
+ ---
4
+
5
+
6
+ # Using bigpowers
7
+ > **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.
8
+
9
+
10
+ Welcome to **bigpowers** — a lifecycle of **61** agent skills for production-ready, TDD-driven software by solo developers.
11
+
12
+ ## Install
13
+
14
+ ```bash
15
+ npx bigpowers # one-shot setup
16
+ npm install -g bigpowers # global install, then run: bigpowers
17
+ ```
18
+
19
+ From source (contributors): `git clone` → `npm install` or `bash scripts/install.sh`.
20
+
21
+ Package: [bigpowers on npm](https://www.npmjs.com/package/bigpowers)
22
+
23
+ ## What bigpowers is
24
+
25
+ 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.
26
+
27
+ ## The lifecycle at a glance
28
+
29
+ See orchestrate-project for the canonical 6-phase lifecycle.
30
+
31
+ ```
32
+ BOOTSTRAP using-bigpowers (this skill, first time only)
33
+
34
+ DISCOVER survey-context → research-first → elaborate-spec
35
+
36
+ DESIGN model-domain / define-language / grill-me / deepen-architecture / design-interface
37
+
38
+ PLAN scope-work → slice-tasks → define-success → plan-work / plan-refactor
39
+
40
+ INITIATE kickoff-branch → guard-git / hook-commits / seed-conventions
41
+
42
+ SPIKE? spike-prototype → (feeds back to plan-work)
43
+
44
+ EXECUTE develop-tdd + enforce-first ←→ delegate-task / dispatch-agents / execute-plan
45
+
46
+ VERIFY run-evals → verify-work
47
+
48
+ HARDEN wire-observability (any phase)
49
+
50
+ BUG? investigate-bug → diagnose-root → validate-fix
51
+
52
+ REVIEW audit-code → request-review → respond-review
53
+
54
+ INTEGRATE commit-message → release-branch
55
+
56
+ SUSTAIN inspect-quality / organize-workspace (ongoing)
57
+
58
+ UTILITY terse-mode / craft-skill / edit-document (any phase)
59
+ ```
60
+
61
+ ## Where to start
62
+
63
+ | Your situation | First skill to call |
64
+ |---------------|---------------------|
65
+ | Greenfield project, nothing set up | `seed-conventions` |
66
+ | Existing project, new task | `survey-context` |
67
+ | Vague idea that needs shaping | `elaborate-spec` |
68
+ | Plan exists, ready to implement | `kickoff-branch` → `develop-tdd` |
69
+ | Bug to fix | `investigate-bug` |
70
+ | Code ready for review | `audit-code` |
71
+ | Shipping a feature | `commit-message` → `release-branch` |
72
+ | Solo dev, PRs feel heavy | Enable `profiles/solo-git.md` → `specs/WORKFLOW-solo-git.md` → land via `scripts/land-branch.sh` |
73
+
74
+ ## Solo Git profile
75
+
76
+ If you work alone and do not want PR ceremony every task:
77
+
78
+ 1. Read [profiles/solo-git.md](../profiles/solo-git.md).
79
+ 2. Register with `compose-workflow` → `specs/WORKFLOW-solo-git.md`.
80
+ 3. Ship with `release-branch` in **solo-local** mode (`land-branch.sh`), not `gh pr create`.
81
+
82
+ You still use worktrees, protected `main`, and verification gates — only the integrate step changes.
83
+
84
+ ## YAML cockpit and dashboard
85
+
86
+ Operational source of truth:
87
+
88
+ - `specs/state.yaml` — session, active epic/story, handoff
89
+ - `specs/release-plan.yaml` — release index and epic list
90
+ - `specs/epics/eNN-*.yaml` — stories and tasks with `verify`
91
+ - `specs/execution-status.yaml` — done/pending per story
92
+
93
+ Start the HTTP dashboard with `visual-dashboard` → `GET /api/status?projectDir=<abs>` and `GET /cockpit.html` for a read-only PM view.
94
+
95
+ ## Key conventions
96
+
97
+ - **specs/ is your memory.** All domain docs, plans, and investigation outputs go in `specs/` at your project root.
98
+ - **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.
99
+ - **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.
100
+ - **verify: every step.** Every epic task must have `verify: <runnable command>`. Evidence over claims.
101
+ - **61 skills.** See `SKILL-INDEX.md`; find skills with `search-skills`.
102
+
103
+ ## After this
104
+
105
+ Call `survey-context` to read your project's current state and get a personalized recommendation for where to go next.
@@ -0,0 +1,98 @@
1
+ ---
2
+ 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.
3
+ ---
4
+
5
+
6
+ # Validate Fix
7
+ > **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.
8
+
9
+
10
+ Prove the fix works. "I think it works" is not evidence. Run the suite, show the output, then harden against recurrence.
11
+
12
+ ## Checklist
13
+
14
+ ### 1. Re-run the originally failing test
15
+
16
+ ```bash
17
+ # Run the specific test that captured the bug
18
+ <test command for the failing test>
19
+ ```
20
+
21
+ - [ ] Previously failing test now passes
22
+
23
+ ### 2. Run the full test suite
24
+
25
+ ```bash
26
+ # Run all tests — no filtering
27
+ <full test command from CLAUDE.md>
28
+ ```
29
+
30
+ - [ ] All tests pass (zero regressions)
31
+
32
+ ### 3. Type check
33
+
34
+ ```bash
35
+ <typecheck command>
36
+ ```
37
+
38
+ - [ ] No type errors introduced
39
+
40
+ ### 4. Lint
41
+
42
+ ```bash
43
+ <lint command>
44
+ ```
45
+
46
+ - [ ] No lint violations introduced
47
+
48
+ ### 5. Harden against recurrence
49
+
50
+ For every bug fixed, add at least one prevention layer:
51
+
52
+ | Mechanism | When to use |
53
+ |-----------|-------------|
54
+ | Type guard | Input could be the wrong shape |
55
+ | Schema validation (Zod, Pydantic, etc.) | External data crossing a boundary |
56
+ | Invariant assertion | Internal state that must always hold |
57
+ | Lint rule | Pattern that's easy to repeat by mistake |
58
+ | Environment check at startup | Missing config causes silent failure |
59
+
60
+ - [ ] At least one hardening mechanism added
61
+ - [ ] Hardening mechanism is tested
62
+
63
+ ### 6. Update the bug file and registry.yaml
64
+
65
+ Find the most recent `specs/bugs/BUG-*.md` file and append the resolution:
66
+
67
+ ```markdown
68
+ ## Resolution
69
+
70
+ **Fixed:** [date]
71
+ **Root cause confirmed:** [one sentence]
72
+ **Fix applied:** [what was changed]
73
+ **Hardening added:** [type guard / schema / assertion / lint rule]
74
+ **Evidence:** all tests pass (`<verify command>`)
75
+ **Commit:** `fix(<scope>): <description>`
76
+ ```
77
+
78
+ 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.
79
+
80
+ - [ ] specs/bugs/BUG-*.md updated with resolution
81
+ - [ ] specs/bugs/registry.yaml row updated with resolution fields
82
+
83
+ ### 7. Behavioral Proof (HARD GATE)
84
+
85
+ Mechanical verification (tests passing) is only half the fix. You must prove **behavioral correctness**.
86
+
87
+ - [ ] Manually demonstrate the fixed behavior (e.g., via `run_shell_command` or `web_fetch`)
88
+ - [ ] Compare the output/state against the "Expected Behavior" in the bug file
89
+ - [ ] Show the user evidence of the behavior, not just the test logs
90
+
91
+ ## Rules
92
+
93
+ - **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.
94
+ - **Never use `@ts-ignore`, `as any`, or `// eslint-disable`** to "fix" a bug — these suppress the symptom without fixing the root cause
95
+ - **Never mark the task done if any test is still failing**
96
+ - **The verify command from specs/bugs/BUG-*.md or the active epic task `verify` field must pass**
97
+
98
+ Suggest next skill: `audit-code` → `commit-message`.
@@ -0,0 +1,125 @@
1
+ ---
2
+ 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
3
+ ---
4
+
5
+
6
+ # Verify Work
7
+
8
+ > **HARD GATE** — No story is "done" until manual UAT for the active story is confirmed with evidence.
9
+ >
10
+ > **HARD GATE** — Do NOT run on `main` or `master`. Use the feature branch from `kickoff-branch`.
11
+
12
+ Review answers "is the code good?"; Verify answers "does the built thing do what was promised?"
13
+
14
+ ## Modes
15
+
16
+ - Default: full UAT plus gaps loop
17
+ - --smoke: Cold-start only plus one happy-path flow. Use for hotfixes.
18
+
19
+ ## Process
20
+
21
+ 0. **Branch check** — must not be `main`/`master`.
22
+
23
+ 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).
24
+ 2. **Cold-start smoke** (if app): stop server, clear caches, boot from scratch.
25
+ 3. Mechanical gates: build → typecheck → lint → tests (from `CLAUDE.md`).
26
+ 4. **Step-by-step UAT** — one user-observable action at a time.
27
+ 5. **Gaps loop** — failures → log → `plan-work` → re-verify.
28
+
29
+ ## Verify sub-operations
30
+
31
+ ### Cold-Start Smoke (absorbed)
32
+
33
+ For applications, verify correctness from a clean state:
34
+
35
+ - Stop the running server (if any)
36
+ - Clear any caches (browser, application caches, compiled artifacts)
37
+ - Boot the application from scratch
38
+ - Verify that no stale artifacts or configuration are affecting the behavior
39
+
40
+ This catches environment-specific bugs and ensures the build is reproducible.
41
+
42
+ ### Gaps Loop (absorbed)
43
+
44
+ After UAT, identify and close any gaps between promised behavior and actual behavior:
45
+
46
+ - Capture what was promised in the epic task description
47
+ - Document what actually happened (expected vs actual)
48
+ - If behavior doesn't match the promises, log the gap
49
+ - Loop back to `plan-work` or `develop-tdd` to fix the gap
50
+ - Re-verify until all gaps are closed (gaps count = 0)
51
+
52
+ ## UAT dialogue
53
+
54
+ - Pass: user confirms per step.
55
+ - Fail: capture expected vs actual; do not mark done in `execution-status.yaml`.
56
+
57
+ ## Persist verification evidence
58
+
59
+ After UAT passes, write structured evidence to `specs/verifications/eNNsYY-verify.yaml`:
60
+
61
+ ```yaml
62
+ story_id: e01s01
63
+ verified_at: "2026-06-11T14:30:00Z"
64
+ verifier: verify-work
65
+ phases:
66
+ smoke:
67
+ passed: true
68
+ build:
69
+ passed: true
70
+ command: "npm run build"
71
+ typecheck:
72
+ passed: true
73
+ lint:
74
+ passed: true
75
+ tests:
76
+ passed: true
77
+ coverage: "94.2%"
78
+ manual:
79
+ steps:
80
+ - step: "Open /login"
81
+ expected: "Login form renders"
82
+ actual: "Login form rendered correctly"
83
+ passed: true
84
+ gaps:
85
+ closed: true
86
+ ```
87
+
88
+ > **HARD GATE** — Verification evidence MUST be persisted before marking the story done. No evidence = not verified.
89
+
90
+ ## Verify
91
+
92
+ → verify: `test -f specs/verifications/<story_id>-verify.yaml && echo "Evidence persisted"`
93
+
94
+ See [REFERENCE.md](REFERENCE.md) for cold-start and gaps template.
95
+
96
+ ## Handoff
97
+
98
+ Gate: READY -> next: audit-code
99
+ Writes: state.yaml handoff.next_skill = audit-code
100
+
101
+ ---
102
+
103
+ # Verify Work — Reference
104
+
105
+ ## Cold-start smoke
106
+
107
+ ```bash
108
+ # Example — adapt to project CLAUDE.md
109
+ pkill -f "<dev-server>" 2>/dev/null || true
110
+ rm -rf .next/cache node_modules/.cache 2>/dev/null || true
111
+ <run command> &
112
+ sleep 3 && curl -sf http://localhost:<port>/health || echo "BOOT FAIL"
113
+ ```
114
+
115
+ ## Gaps template
116
+
117
+ ```markdown
118
+ ## Gaps (verify-work)
119
+
120
+ | Step | Expected | Actual | Status |
121
+ |------|----------|--------|--------|
122
+ | 1 | ... | ... | FAIL |
123
+ ```
124
+
125
+ Feed gaps to `plan-work` as new steps with verify commands, then re-run verify-work.
@@ -0,0 +1,51 @@
1
+ ---
2
+ 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.
3
+ ---
4
+
5
+
6
+ # Visual Dashboard
7
+ > **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.
8
+
9
+
10
+ Browser-based visual companion for bigpowers. Visualizes architecture, plans, and status.
11
+
12
+ ## HTTP cockpit (YAML SoT)
13
+
14
+ Start the server:
15
+
16
+ ```bash
17
+ bash visual-dashboard/scripts/start-server.sh
18
+ ```
19
+
20
+ Endpoints:
21
+
22
+ | Route | Purpose |
23
+ |-------|---------|
24
+ | `GET /api/status?projectDir=<abs>` | JSON: `state`, `release`, `epics[]`, `planning_status`, `active_epic` |
25
+ | `GET /cockpit.html?projectDir=<abs>` | Read-only PM view (planning left, epics right) |
26
+ | `GET /` | Agent-pushed HTML screens (legacy, unchanged) |
27
+
28
+ Example:
29
+
30
+ ```bash
31
+ curl -s "http://127.0.0.1:PORT/api/status?projectDir=$PWD" | jq .release.version
32
+ ```
33
+
34
+ Implementation: `visual-dashboard/scripts/read-specs-status.cjs` + `server.cjs`.
35
+
36
+ ## Opencode Progress Panel
37
+
38
+ Projects using bigpowers in opencode can read `specs/state.yaml`, `specs/release-plan.yaml`, and active `specs/epics/*.yaml` directly (no checkbox `### WS1` markdown).
39
+
40
+ Required YAML keys:
41
+
42
+ - **state.yaml** — `active_flow`, `active_epic_id`, `git`, `handoff`, `epic_cycle`
43
+ - **release-plan.yaml** — `release.version`, `epics[]` with `id`, `title`, `wsjf`, `file`
44
+ - **execution-status.yaml** — `development_status` map (story/epic → `done` | `pending`)
45
+ - **planning-status.yaml** — discover workflows and `status: done|pending`
46
+
47
+ ## Agent screens (optional)
48
+
49
+ Push HTML to the dashboard session dir for rich diagrams. See `start-server.sh` for `CONTENT_DIR`.
50
+
51
+ → verify: `test -f visual-dashboard/scripts/read-specs-status.cjs && test -f visual-dashboard/scripts/cockpit.html`