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.
- package/.pi/package.json +16 -0
- package/.pi/prompts/assess-impact.md +76 -0
- package/.pi/prompts/audit-code.md +156 -0
- package/.pi/prompts/build-epic.md +44 -0
- package/.pi/prompts/change-request.md +105 -0
- package/.pi/prompts/commit-message.md +135 -0
- package/.pi/prompts/compose-workflow.md +40 -0
- package/.pi/prompts/craft-skill.md +150 -0
- package/.pi/prompts/deepen-architecture.md +235 -0
- package/.pi/prompts/define-language.md +79 -0
- package/.pi/prompts/define-success.md +62 -0
- package/.pi/prompts/delegate-task.md +76 -0
- package/.pi/prompts/design-interface.md +96 -0
- package/.pi/prompts/develop-tdd.md +375 -0
- package/.pi/prompts/diagnose-root.md +23 -0
- package/.pi/prompts/dispatch-agents.md +83 -0
- package/.pi/prompts/edit-document.md +22 -0
- package/.pi/prompts/elaborate-spec.md +81 -0
- package/.pi/prompts/enforce-first.md +77 -0
- package/.pi/prompts/evolve-skill.md +38 -0
- package/.pi/prompts/execute-plan.md +54 -0
- package/.pi/prompts/fix-bug.md +36 -0
- package/.pi/prompts/grill-me.md +95 -0
- package/.pi/prompts/grill-with-docs.md +37 -0
- package/.pi/prompts/guard-git.md +212 -0
- package/.pi/prompts/hook-commits.md +93 -0
- package/.pi/prompts/inspect-quality.md +105 -0
- package/.pi/prompts/investigate-bug.md +117 -0
- package/.pi/prompts/kickoff-branch.md +99 -0
- package/.pi/prompts/map-codebase.md +70 -0
- package/.pi/prompts/migrate-spec.md +482 -0
- package/.pi/prompts/model-domain.md +227 -0
- package/.pi/prompts/orchestrate-project.md +161 -0
- package/.pi/prompts/organize-workspace.md +159 -0
- package/.pi/prompts/plan-refactor.md +77 -0
- package/.pi/prompts/plan-release.md +145 -0
- package/.pi/prompts/plan-work.md +161 -0
- package/.pi/prompts/release-branch.md +158 -0
- package/.pi/prompts/request-review.md +70 -0
- package/.pi/prompts/research-first.md +62 -0
- package/.pi/prompts/reset-baseline.md +20 -0
- package/.pi/prompts/respond-review.md +70 -0
- package/.pi/prompts/run-evals.md +56 -0
- package/.pi/prompts/run-planning.md +26 -0
- package/.pi/prompts/scope-work.md +23 -0
- package/.pi/prompts/search-skills.md +21 -0
- package/.pi/prompts/seed-conventions.md +132 -0
- package/.pi/prompts/session-state.md +146 -0
- package/.pi/prompts/setup-environment.md +23 -0
- package/.pi/prompts/simulate-agents.md +25 -0
- package/.pi/prompts/slice-tasks.md +23 -0
- package/.pi/prompts/spike-prototype.md +94 -0
- package/.pi/prompts/stocktake-skills.md +40 -0
- package/.pi/prompts/survey-context.md +129 -0
- package/.pi/prompts/terse-mode.md +37 -0
- package/.pi/prompts/trace-requirement.md +68 -0
- package/.pi/prompts/using-bigpowers.md +105 -0
- package/.pi/prompts/validate-fix.md +98 -0
- package/.pi/prompts/verify-work.md +125 -0
- package/.pi/prompts/visual-dashboard.md +51 -0
- package/.pi/prompts/wire-observability.md +92 -0
- package/.pi/prompts/write-document.md +244 -0
- package/.pi/skills/assess-impact/SKILL.md +77 -0
- package/.pi/skills/audit-code/SKILL.md +157 -0
- package/.pi/skills/build-epic/SKILL.md +45 -0
- package/.pi/skills/change-request/SKILL.md +106 -0
- package/.pi/skills/commit-message/SKILL.md +136 -0
- package/.pi/skills/compose-workflow/SKILL.md +41 -0
- package/.pi/skills/craft-skill/SKILL.md +151 -0
- package/.pi/skills/deepen-architecture/SKILL.md +236 -0
- package/.pi/skills/define-language/SKILL.md +80 -0
- package/.pi/skills/define-success/SKILL.md +63 -0
- package/.pi/skills/delegate-task/SKILL.md +77 -0
- package/.pi/skills/design-interface/SKILL.md +97 -0
- package/.pi/skills/develop-tdd/SKILL.md +376 -0
- package/.pi/skills/diagnose-root/SKILL.md +24 -0
- package/.pi/skills/dispatch-agents/SKILL.md +84 -0
- package/.pi/skills/edit-document/SKILL.md +23 -0
- package/.pi/skills/elaborate-spec/SKILL.md +82 -0
- package/.pi/skills/enforce-first/SKILL.md +78 -0
- package/.pi/skills/evolve-skill/SKILL.md +39 -0
- package/.pi/skills/execute-plan/SKILL.md +55 -0
- package/.pi/skills/fix-bug/SKILL.md +37 -0
- package/.pi/skills/grill-me/SKILL.md +96 -0
- package/.pi/skills/grill-with-docs/SKILL.md +38 -0
- package/.pi/skills/guard-git/SKILL.md +213 -0
- package/.pi/skills/hook-commits/SKILL.md +94 -0
- package/.pi/skills/inspect-quality/SKILL.md +106 -0
- package/.pi/skills/investigate-bug/SKILL.md +118 -0
- package/.pi/skills/kickoff-branch/SKILL.md +100 -0
- package/.pi/skills/map-codebase/SKILL.md +71 -0
- package/.pi/skills/migrate-spec/SKILL.md +483 -0
- package/.pi/skills/model-domain/SKILL.md +228 -0
- package/.pi/skills/orchestrate-project/SKILL.md +162 -0
- package/.pi/skills/organize-workspace/SKILL.md +160 -0
- package/.pi/skills/plan-refactor/SKILL.md +78 -0
- package/.pi/skills/plan-release/SKILL.md +146 -0
- package/.pi/skills/plan-work/SKILL.md +162 -0
- package/.pi/skills/release-branch/SKILL.md +159 -0
- package/.pi/skills/request-review/SKILL.md +71 -0
- package/.pi/skills/research-first/SKILL.md +63 -0
- package/.pi/skills/reset-baseline/SKILL.md +21 -0
- package/.pi/skills/respond-review/SKILL.md +71 -0
- package/.pi/skills/run-evals/SKILL.md +57 -0
- package/.pi/skills/run-planning/SKILL.md +27 -0
- package/.pi/skills/scope-work/SKILL.md +24 -0
- package/.pi/skills/search-skills/SKILL.md +22 -0
- package/.pi/skills/seed-conventions/SKILL.md +133 -0
- package/.pi/skills/session-state/SKILL.md +147 -0
- package/.pi/skills/setup-environment/SKILL.md +24 -0
- package/.pi/skills/simulate-agents/SKILL.md +26 -0
- package/.pi/skills/slice-tasks/SKILL.md +24 -0
- package/.pi/skills/spike-prototype/SKILL.md +95 -0
- package/.pi/skills/stocktake-skills/SKILL.md +41 -0
- package/.pi/skills/survey-context/SKILL.md +130 -0
- package/.pi/skills/terse-mode/SKILL.md +38 -0
- package/.pi/skills/trace-requirement/SKILL.md +69 -0
- package/.pi/skills/using-bigpowers/SKILL.md +106 -0
- package/.pi/skills/validate-fix/SKILL.md +99 -0
- package/.pi/skills/verify-work/SKILL.md +126 -0
- package/.pi/skills/visual-dashboard/SKILL.md +52 -0
- package/.pi/skills/wire-observability/SKILL.md +93 -0
- package/.pi/skills/write-document/SKILL.md +245 -0
- package/CHANGELOG.md +14 -0
- package/README.md +27 -1
- package/deepen-architecture/SKILL.md +2 -0
- package/define-language/SKILL.md +2 -0
- package/diagnose-root/SKILL.md +2 -0
- package/edit-document/SKILL.md +2 -0
- package/fix-bug/SKILL.md +3 -1
- package/grill-me/SKILL.md +3 -1
- package/grill-with-docs/SKILL.md +3 -1
- package/investigate-bug/SKILL.md +5 -11
- package/map-codebase/SKILL.md +3 -1
- package/model-domain/SKILL.md +2 -0
- package/package.json +11 -2
- package/plan-release/SKILL.md +1 -1
- package/plan-work/SKILL.md +3 -1
- package/release-branch/SKILL.md +4 -2
- package/run-planning/SKILL.md +3 -2
- package/scope-work/SKILL.md +3 -1
- package/scripts/sync-skills.sh +48 -3
- package/scripts/validate-doctrine.sh +24 -9
- package/seed-conventions/SKILL.md +2 -0
- package/slice-tasks/SKILL.md +3 -1
- package/survey-context/SKILL.md +3 -1
- 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`
|