bigpowers 1.0.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 (96) hide show
  1. package/.gitmessage +5 -0
  2. package/.releaserc.json +17 -0
  3. package/CHANGELOG.md +61 -0
  4. package/CLAUDE.md +61 -0
  5. package/CONVENTIONS.md +140 -0
  6. package/GEMINI.md +53 -0
  7. package/LICENSE +21 -0
  8. package/README.md +116 -0
  9. package/RELEASE.md +108 -0
  10. package/SKILL-INDEX.md +146 -0
  11. package/assess-impact/SKILL.md +76 -0
  12. package/audit-code/HEURISTICS.md +43 -0
  13. package/audit-code/SKILL.md +81 -0
  14. package/bin/bigpowers.js +27 -0
  15. package/change-request/REFERENCE.md +60 -0
  16. package/change-request/SKILL.md +42 -0
  17. package/commit-message/REFERENCE.md +81 -0
  18. package/commit-message/SKILL.md +39 -0
  19. package/countable-story-format.md +293 -0
  20. package/craft-skill/REFERENCE.md +88 -0
  21. package/craft-skill/SKILL.md +55 -0
  22. package/deepen-architecture/DEEPENING.md +37 -0
  23. package/deepen-architecture/INTERFACE-DESIGN.md +44 -0
  24. package/deepen-architecture/LANGUAGE.md +53 -0
  25. package/deepen-architecture/SKILL.md +76 -0
  26. package/define-language/SKILL.md +75 -0
  27. package/define-success/SKILL.md +60 -0
  28. package/delegate-task/SKILL.md +70 -0
  29. package/design-interface/SKILL.md +94 -0
  30. package/develop-tdd/SKILL.md +160 -0
  31. package/develop-tdd/deep-modules.md +33 -0
  32. package/develop-tdd/interface-design.md +31 -0
  33. package/develop-tdd/mocking.md +59 -0
  34. package/develop-tdd/refactoring.md +10 -0
  35. package/develop-tdd/tests.md +71 -0
  36. package/dispatch-agents/SKILL.md +72 -0
  37. package/edit-document/SKILL.md +14 -0
  38. package/elaborate-spec/SKILL.md +79 -0
  39. package/enforce-first/SKILL.md +75 -0
  40. package/execute-plan/SKILL.md +84 -0
  41. package/grill-me/REFERENCE.md +63 -0
  42. package/grill-me/SKILL.md +25 -0
  43. package/guard-git/REFERENCE.md +136 -0
  44. package/guard-git/SKILL.md +39 -0
  45. package/guard-git/scripts/block-dangerous-git.sh +41 -0
  46. package/guard-git/scripts/lib/git-guardrails-core.sh +29 -0
  47. package/hook-commits/SKILL.md +91 -0
  48. package/hooks/pre-tool-use.sh +130 -0
  49. package/index.js +6 -0
  50. package/inspect-quality/SKILL.md +101 -0
  51. package/investigate-bug/SKILL.md +111 -0
  52. package/kickoff-branch/SKILL.md +87 -0
  53. package/map-codebase/SKILL.md +66 -0
  54. package/migrate-spec/REFERENCE-GSD.md +137 -0
  55. package/migrate-spec/REFERENCE.md +186 -0
  56. package/migrate-spec/SKILL.md +150 -0
  57. package/model-domain/ADR-FORMAT.md +47 -0
  58. package/model-domain/CONTEXT-FORMAT.md +77 -0
  59. package/model-domain/SKILL.md +82 -0
  60. package/opencode.json +4 -0
  61. package/orchestrate-project/REFERENCE.md +89 -0
  62. package/orchestrate-project/SKILL.md +59 -0
  63. package/organize-workspace/REFERENCE.md +80 -0
  64. package/organize-workspace/SKILL.md +74 -0
  65. package/package.json +45 -0
  66. package/plan-refactor/SKILL.md +75 -0
  67. package/plan-release/SKILL.md +75 -0
  68. package/plan-work/SKILL.md +124 -0
  69. package/playwright.config.ts +56 -0
  70. package/release-branch/SKILL.md +116 -0
  71. package/request-review/SKILL.md +70 -0
  72. package/respond-review/SKILL.md +68 -0
  73. package/scripts/audit-compliance.sh +256 -0
  74. package/scripts/cleanup-worktrees.sh +44 -0
  75. package/scripts/install-cursor-skills-local.sh +13 -0
  76. package/scripts/install-cursor-skills.sh +34 -0
  77. package/scripts/install.sh +240 -0
  78. package/scripts/project-survey.sh +54 -0
  79. package/scripts/sync-skills.sh +110 -0
  80. package/seed-conventions/SKILL.md +185 -0
  81. package/session-state/SKILL.md +69 -0
  82. package/skills-lock.json +157 -0
  83. package/spike-prototype/SKILL.md +92 -0
  84. package/survey-context/SKILL.md +93 -0
  85. package/terse-mode/SKILL.md +35 -0
  86. package/trace-requirement/SKILL.md +68 -0
  87. package/using-bigpowers/SKILL.md +65 -0
  88. package/validate-fix/SKILL.md +93 -0
  89. package/visual-dashboard/SKILL.md +49 -0
  90. package/visual-dashboard/scripts/frame-template.html +189 -0
  91. package/visual-dashboard/scripts/helper.js +83 -0
  92. package/visual-dashboard/scripts/server.cjs +345 -0
  93. package/visual-dashboard/scripts/start-server.sh +121 -0
  94. package/visual-dashboard/scripts/stop-server.sh +46 -0
  95. package/wire-observability/SKILL.md +90 -0
  96. package/write-document/SKILL.md +63 -0
@@ -0,0 +1,157 @@
1
+ {
2
+ "version": 1,
3
+ "skills": {
4
+ "audit-code": {
5
+ "source": "danielvm-git/skills",
6
+ "sourceType": "github"
7
+ },
8
+ "commit-message": {
9
+ "source": "danielvm-git/skills",
10
+ "sourceType": "github"
11
+ },
12
+ "craft-skill": {
13
+ "source": "danielvm-git/skills",
14
+ "sourceType": "github"
15
+ },
16
+ "deepen-architecture": {
17
+ "source": "danielvm-git/skills",
18
+ "sourceType": "github"
19
+ },
20
+ "define-language": {
21
+ "source": "danielvm-git/skills",
22
+ "sourceType": "github"
23
+ },
24
+ "define-success": {
25
+ "source": "danielvm-git/skills",
26
+ "sourceType": "github"
27
+ },
28
+ "delegate-task": {
29
+ "source": "danielvm-git/skills",
30
+ "sourceType": "github"
31
+ },
32
+ "design-interface": {
33
+ "source": "danielvm-git/skills",
34
+ "sourceType": "github"
35
+ },
36
+ "develop-tdd": {
37
+ "source": "danielvm-git/skills",
38
+ "sourceType": "github"
39
+ },
40
+ "diagnose-root": {
41
+ "source": "danielvm-git/skills",
42
+ "sourceType": "github"
43
+ },
44
+ "dispatch-agents": {
45
+ "source": "danielvm-git/skills",
46
+ "sourceType": "github"
47
+ },
48
+ "edit-document": {
49
+ "source": "danielvm-git/skills",
50
+ "sourceType": "github"
51
+ },
52
+ "elaborate-spec": {
53
+ "source": "danielvm-git/skills",
54
+ "sourceType": "github"
55
+ },
56
+ "enforce-first": {
57
+ "source": "danielvm-git/skills",
58
+ "sourceType": "github"
59
+ },
60
+ "execute-plan": {
61
+ "source": "danielvm-git/skills",
62
+ "sourceType": "github"
63
+ },
64
+ "grill-me": {
65
+ "source": "danielvm-git/skills",
66
+ "sourceType": "github"
67
+ },
68
+ "grill-with-docs": {
69
+ "source": "danielvm-git/skills",
70
+ "sourceType": "github"
71
+ },
72
+ "guard-git": {
73
+ "source": "danielvm-git/skills",
74
+ "sourceType": "github"
75
+ },
76
+ "hook-commits": {
77
+ "source": "danielvm-git/skills",
78
+ "sourceType": "github"
79
+ },
80
+ "inspect-quality": {
81
+ "source": "danielvm-git/skills",
82
+ "sourceType": "github"
83
+ },
84
+ "investigate-bug": {
85
+ "source": "danielvm-git/skills",
86
+ "sourceType": "github"
87
+ },
88
+ "kickoff-branch": {
89
+ "source": "danielvm-git/skills",
90
+ "sourceType": "github"
91
+ },
92
+ "model-domain": {
93
+ "source": "danielvm-git/skills",
94
+ "sourceType": "github"
95
+ },
96
+ "organize-workspace": {
97
+ "source": "danielvm-git/skills",
98
+ "sourceType": "github"
99
+ },
100
+ "plan-refactor": {
101
+ "source": "danielvm-git/skills",
102
+ "sourceType": "github"
103
+ },
104
+ "plan-work": {
105
+ "source": "danielvm-git/skills",
106
+ "sourceType": "github"
107
+ },
108
+ "release-branch": {
109
+ "source": "danielvm-git/skills",
110
+ "sourceType": "github"
111
+ },
112
+ "request-review": {
113
+ "source": "danielvm-git/skills",
114
+ "sourceType": "github"
115
+ },
116
+ "respond-review": {
117
+ "source": "danielvm-git/skills",
118
+ "sourceType": "github"
119
+ },
120
+ "scope-work": {
121
+ "source": "danielvm-git/skills",
122
+ "sourceType": "github"
123
+ },
124
+ "seed-conventions": {
125
+ "source": "danielvm-git/skills",
126
+ "sourceType": "github"
127
+ },
128
+ "slice-tasks": {
129
+ "source": "danielvm-git/skills",
130
+ "sourceType": "github"
131
+ },
132
+ "spike-prototype": {
133
+ "source": "danielvm-git/skills",
134
+ "sourceType": "github"
135
+ },
136
+ "survey-context": {
137
+ "source": "danielvm-git/skills",
138
+ "sourceType": "github"
139
+ },
140
+ "terse-mode": {
141
+ "source": "danielvm-git/skills",
142
+ "sourceType": "github"
143
+ },
144
+ "using-bigpowers": {
145
+ "source": "danielvm-git/skills",
146
+ "sourceType": "github"
147
+ },
148
+ "validate-fix": {
149
+ "source": "danielvm-git/skills",
150
+ "sourceType": "github"
151
+ },
152
+ "wire-observability": {
153
+ "source": "danielvm-git/skills",
154
+ "sourceType": "github"
155
+ }
156
+ }
157
+ }
@@ -0,0 +1,92 @@
1
+ ---
2
+ name: spike-prototype
3
+ description: Throw-away prototype for unknown problem spaces. Output is learning notes in specs/SPIKE-<name>.md, not production code. Use when the domain or technology is unexplored, when estimates are impossible without experimentation, or when user says "spike", "prototype", or "proof of concept".
4
+ ---
5
+
6
+ # Spike Prototype
7
+
8
+ A spike is a time-boxed experiment to answer a specific question. The code is thrown away. The learning is kept in `specs/SPIKE-<name>.md`.
9
+
10
+ **The spike produces learning, not code to ship.** If you find yourself cleaning up spike code for production, stop — run `plan-work` and `develop-tdd` instead with the insights you gained.
11
+
12
+ ## When to spike
13
+
14
+ - The technology is unfamiliar (new library, API, infrastructure)
15
+ - The approach is uncertain (multiple solutions exist; none has been tried)
16
+ - Estimates are impossible without seeing how the thing actually behaves
17
+ - A key assumption needs to be validated before committing to a design
18
+
19
+ ## Process
20
+
21
+ ### 1. Define the question
22
+
23
+ Before writing a single line, state the question the spike must answer:
24
+
25
+ > "Can we [specific thing] using [specific approach] within [constraint]?"
26
+
27
+ Examples:
28
+ - "Can we stream large files from S3 to the client without buffering in memory?"
29
+ - "Does the Stripe webhook SDK handle signature verification correctly in our edge runtime?"
30
+ - "Can we achieve < 100ms p99 response time for the search endpoint with a naive Postgres full-text search?"
31
+
32
+ A spike with no question is just unplanned coding. Refuse to start if the question isn't clear.
33
+
34
+ ### 2. Set a timebox
35
+
36
+ Agree on a timebox with the user: 30 minutes, 1 hour, 2 hours. When time is up, stop — even if the question isn't fully answered. Partial learning is still learning.
37
+
38
+ ### 3. Experiment
39
+
40
+ Write the simplest code that could answer the question. Ignore:
41
+ - Error handling
42
+ - Test coverage
43
+ - Code quality
44
+ - Production concerns
45
+
46
+ Focus entirely on answering the question.
47
+
48
+ ### 4. Write specs/SPIKE-<name>.md
49
+
50
+ Save the learning to `specs/SPIKE-<name>.md`. Create the `specs/` directory if it doesn't exist.
51
+
52
+ <spike-template>
53
+
54
+ # Spike: [name]
55
+
56
+ ## Question
57
+
58
+ [The specific question this spike was answering]
59
+
60
+ ## Result
61
+
62
+ [Answered / Partially answered / Not answered]
63
+
64
+ ## Findings
65
+
66
+ [What you learned — concrete observations, not opinions]
67
+
68
+ ## Evidence
69
+
70
+ [Code snippet, benchmark result, API response, or screenshot that proves the finding]
71
+
72
+ ## Implications for the plan
73
+
74
+ [How this changes the approach, the design, or the estimate]
75
+
76
+ ## What was NOT explored
77
+
78
+ [Known gaps — things the spike didn't validate]
79
+
80
+ ## Recommendation
81
+
82
+ [Should we proceed with this approach? If yes, what does plan-work need to account for?]
83
+
84
+ </spike-template>
85
+
86
+ ### 5. Delete the spike code
87
+
88
+ After writing the findings, delete or discard the spike code. It is not meant to ship.
89
+
90
+ ### 6. Feed back into plan-work
91
+
92
+ The spike findings are the input to `plan-work`. Call `plan-work` next, informed by `specs/SPIKE-<name>.md`.
@@ -0,0 +1,93 @@
1
+ ---
2
+ name: survey-context
3
+ description: Per-task context survey — reads specs/ and CONVENTIONS.md, maps the current lifecycle phase, and suggests the next skill to invoke. Use at the start of any new task, when returning to a project after a break, or when unsure what to do next.
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
+ ## Process
11
+
12
+ ### 1. Read CONVENTIONS.md
13
+
14
+ If `CONVENTIONS.md` exists at the project root, read it first. It contains the rules all agents must follow in this project.
15
+
16
+ ### 2. Read specs/
17
+
18
+ Scan the `specs/` directory if it exists:
19
+
20
+ ```
21
+ specs/
22
+ ├── CONTEXT.md → domain model status
23
+ ├── UBIQUITOUS_LANGUAGE.md → glossary status
24
+ ├── SCOPE.md → scope definition status
25
+ ├── TASKS.md → task breakdown status
26
+ ├── PLAN.md → implementation plan status
27
+ ├── REFACTOR.md → refactor plan status
28
+ ├── DIAGNOSIS.md → active bug investigation
29
+ ├── BUG-LOG.md → historical bug log
30
+ └── SPIKE-*.md → spike learning notes
31
+ ```
32
+
33
+ For each file found, note: does it exist? Is it complete? Does it have open items?
34
+
35
+ ### 3. Read CLAUDE.md
36
+
37
+ If `CLAUDE.md` exists at the project root, read it for project context (stack, commands, architecture, conventions).
38
+
39
+ ### 4. Check git state
40
+
41
+ ```bash
42
+ git status --short
43
+ git log --oneline -5
44
+ git branch --show-current
45
+ ```
46
+
47
+ Note: is there a feature branch active? Are there uncommitted changes? Are there unpushed commits?
48
+
49
+ ### 5. Map the lifecycle phase
50
+
51
+ Based on what you've found, identify which PMBOK phase this project is currently in:
52
+
53
+ | Phase | Signals |
54
+ |-------|---------|
55
+ | **Discover** | No specs/ yet, or only rough notes |
56
+ | **Design** | specs/SCOPE.md exists but no PLAN.md |
57
+ | **Plan** | specs/TASKS.md or PLAN.md exists; on `main`/`master` branch |
58
+ | **Initiate** | On a feature branch; no code changes yet |
59
+ | **Execute** | PLAN.md exists; on feature branch; steps in progress |
60
+ | **Verify** | All implementation steps for a story/epic are done; awaiting UAT |
61
+ | **Bug** | DIAGNOSIS.md exists; on `main`/`master` |
62
+ | **Review** | All code written; no PR yet |
63
+ | **Integrate** | PR open; tests passing |
64
+ | **Sustain** | Ongoing; no active task |
65
+
66
+ ### 6. Suggest next skill
67
+
68
+ Based on the phase and state, recommend the most useful next step:
69
+
70
+ - **If in Plan/Bug phase and on `main`**: Suggest `kickoff-branch` next.
71
+ - **If in Initiate phase**: Suggest `develop-tdd` or `execute-plan`.
72
+ - **If in Execute phase**: Suggest `develop-tdd` (continue step X) or `execute-plan`.
73
+
74
+ Example:
75
+ ```
76
+ Phase: Plan
77
+ Active branch: main
78
+ PLAN.md: exists
79
+
80
+ Suggested next: kickoff-branch (to create feature/auth branch)
81
+ ```
82
+
83
+ Be specific — name the exact skill and why. If multiple options exist, list them in priority order.
84
+
85
+ ### 7. Surface blockers
86
+
87
+ If something looks wrong:
88
+ - Broken tests in the baseline
89
+ - DIAGNOSIS.md open with no active fix branch
90
+ - PLAN.md with missing verify commands
91
+ - CONVENTIONS.md violations in recent commits
92
+
93
+ Report blockers first, before recommendations.
@@ -0,0 +1,35 @@
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
+ Respond terse like smart caveman. All technical substance stay. Only fluff die.
7
+
8
+ ## Persistence
9
+
10
+ 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".
11
+
12
+ ## Rules
13
+
14
+ 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.
15
+
16
+ Technical terms stay exact. Code blocks unchanged. Errors quoted exact.
17
+
18
+ Pattern: `[thing] [action] [reason]. [next step].`
19
+
20
+ Not: "Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by..."
21
+ Yes: "Bug in auth middleware. Token expiry check use `<` not `<=`. Fix:"
22
+
23
+ ## Auto-Clarity Exception
24
+
25
+ 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.
26
+
27
+ Example — destructive op:
28
+
29
+ > **Warning:** This will permanently delete all rows in the `users` table and cannot be undone.
30
+ >
31
+ > ```sql
32
+ > DROP TABLE users;
33
+ > ```
34
+ >
35
+ > Terse resume. Verify backup exist first.
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: trace-requirement
3
+ description: Link story IDs from specs/RELEASE-PLAN.md 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
+ # Trace Requirement
7
+
8
+ Build a traceability matrix from `specs/RELEASE-PLAN.md` 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.md` must exist. If it doesn't, run `plan-release` first.
13
+
14
+ → verify: `[ -f specs/RELEASE-PLAN.md ] && echo "ready" || echo "BLOCKED: run plan-release first"`
15
+
16
+ Read `specs/RELEASE-PLAN.md` fully before proceeding.
17
+
18
+ ## Process
19
+
20
+ ### 1. Extract story IDs
21
+
22
+ From RELEASE-PLAN.md, 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.md | 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.md:
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,65 @@
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
+ # Using bigpowers
7
+
8
+ Welcome to **bigpowers** — a lifecycle of 37 agent skills for production-ready, TDD-driven software by solo developers.
9
+
10
+ ## What bigpowers is
11
+
12
+ 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.
13
+
14
+ ## The lifecycle at a glance
15
+
16
+ ```
17
+ BOOTSTRAP using-bigpowers (this skill, first time only)
18
+
19
+ DISCOVER survey-context → elaborate-spec
20
+
21
+ DESIGN model-domain / define-language / grill-me / deepen-architecture / design-interface
22
+
23
+ PLAN scope-work → slice-tasks → define-success → plan-work / plan-refactor
24
+
25
+ INITIATE kickoff-branch → guard-git / hook-commits / seed-conventions
26
+
27
+ SPIKE? spike-prototype → (feeds back to plan-work)
28
+
29
+ EXECUTE develop-tdd + enforce-first ←→ delegate-task / dispatch-agents / execute-plan
30
+
31
+ HARDEN wire-observability (any phase)
32
+
33
+ BUG? investigate-bug → diagnose-root → validate-fix
34
+
35
+ REVIEW audit-code → request-review → respond-review
36
+
37
+ INTEGRATE commit-message → release-branch
38
+
39
+ SUSTAIN inspect-quality / organize-workspace (ongoing)
40
+
41
+ UTILITY terse-mode / craft-skill / edit-document (any phase)
42
+ ```
43
+
44
+ ## Where to start
45
+
46
+ | Your situation | First skill to call |
47
+ |---------------|---------------------|
48
+ | Greenfield project, nothing set up | `seed-conventions` |
49
+ | Existing project, new task | `survey-context` |
50
+ | Vague idea that needs shaping | `elaborate-spec` |
51
+ | Plan exists, ready to implement | `kickoff-branch` → `develop-tdd` |
52
+ | Bug to fix | `investigate-bug` |
53
+ | Code ready for review | `audit-code` |
54
+ | Shipping a feature | `commit-message` → `release-branch` |
55
+
56
+ ## Key conventions
57
+
58
+ - **specs/ is your memory.** All domain docs, plans, and investigation outputs go in `specs/` at your project root.
59
+ - **`gh` for PRs only.** Never create GitHub issues from skills — use local Markdown files instead.
60
+ - **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.
61
+ - **verify: every step.** Every task in `specs/PLAN.md` must have a `verify: <runnable command>`. Evidence over claims.
62
+
63
+ ## After this
64
+
65
+ Call `survey-context` to read your project's current state and get a personalized recommendation for where to go next.
@@ -0,0 +1,93 @@
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
+ # Validate Fix
7
+
8
+ Prove the fix works. "I think it works" is not evidence. Run the suite, show the output, then harden against recurrence.
9
+
10
+ ## Checklist
11
+
12
+ ### 1. Re-run the originally failing test
13
+
14
+ ```bash
15
+ # Run the specific test that captured the bug
16
+ <test command for the failing test>
17
+ ```
18
+
19
+ - [ ] Previously failing test now passes
20
+
21
+ ### 2. Run the full test suite
22
+
23
+ ```bash
24
+ # Run all tests — no filtering
25
+ <full test command from CLAUDE.md>
26
+ ```
27
+
28
+ - [ ] All tests pass (zero regressions)
29
+
30
+ ### 3. Type check
31
+
32
+ ```bash
33
+ <typecheck command>
34
+ ```
35
+
36
+ - [ ] No type errors introduced
37
+
38
+ ### 4. Lint
39
+
40
+ ```bash
41
+ <lint command>
42
+ ```
43
+
44
+ - [ ] No lint violations introduced
45
+
46
+ ### 5. Harden against recurrence
47
+
48
+ For every bug fixed, add at least one prevention layer:
49
+
50
+ | Mechanism | When to use |
51
+ |-----------|-------------|
52
+ | Type guard | Input could be the wrong shape |
53
+ | Schema validation (Zod, Pydantic, etc.) | External data crossing a boundary |
54
+ | Invariant assertion | Internal state that must always hold |
55
+ | Lint rule | Pattern that's easy to repeat by mistake |
56
+ | Environment check at startup | Missing config causes silent failure |
57
+
58
+ - [ ] At least one hardening mechanism added
59
+ - [ ] Hardening mechanism is tested
60
+
61
+ ### 6. Update specs/DIAGNOSIS.md
62
+
63
+ If a `specs/DIAGNOSIS.md` exists for this bug, append the resolution:
64
+
65
+ ```markdown
66
+ ## Resolution
67
+
68
+ **Fixed:** [date]
69
+ **Root cause confirmed:** [one sentence]
70
+ **Fix applied:** [what was changed]
71
+ **Hardening added:** [type guard / schema / assertion / lint rule]
72
+ **Evidence:** all tests pass (`<verify command>`)
73
+ **Commit:** `fix(<scope>): <description>`
74
+ ```
75
+
76
+ - [ ] specs/DIAGNOSIS.md updated with resolution
77
+
78
+ ### 7. Behavioral Proof (HARD GATE)
79
+
80
+ Mechanical verification (tests passing) is only half the fix. You must prove **behavioral correctness**.
81
+
82
+ - [ ] Manually demonstrate the fixed behavior (e.g., via `run_shell_command` or `web_fetch`)
83
+ - [ ] Compare the output/state against the "Expected Behavior" in `specs/DIAGNOSIS.md`
84
+ - [ ] Show the user evidence of the behavior, not just the test logs
85
+
86
+ ## Rules
87
+
88
+ - **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.
89
+ - **Never use `@ts-ignore`, `as any`, or `// eslint-disable`** to "fix" a bug — these suppress the symptom without fixing the root cause
90
+ - **Never mark the task done if any test is still failing**
91
+ - **The verify command from specs/DIAGNOSIS.md or specs/PLAN.md must pass**
92
+
93
+ Suggest next skill: `audit-code` → `commit-message`.
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: visual-dashboard
3
+ description: Start a browser-based dashboard that visualizes architecture, implementation plans, and project status. Use when showing complex diagrams, progress roadmaps, or UI mockups would be clearer than text. Persists artifacts in .bigpowers/dashboard/.
4
+ ---
5
+
6
+ # Visual Dashboard
7
+
8
+ Browser-based visual companion for bigpowers. Visualizes architecture, plans, and status.
9
+
10
+ ## When to Use
11
+
12
+ Use when the user would understand the project state better by seeing it than reading it.
13
+
14
+ - **Architecture maps** — visualizing module dependencies and "code rot."
15
+ - **Implementation progress** — seeing the vertical slices of a `PLAN.md` as a visual roadmap.
16
+ - **UI brainstorming** — wireframes and layout options.
17
+ - **Complexity audits** — visualizing "God classes" vs "Clean modules."
18
+
19
+ ## How It Works
20
+
21
+ The server watches for updates to your artifacts and serves a dashboard to the browser. You write visual representations (HTML fragments) to the dashboard's `screen_dir`, and the user interacts with them.
22
+
23
+ ## Starting a Session
24
+
25
+ ```bash
26
+ # Start server with project persistence
27
+ visual-dashboard/scripts/start-server.sh --project-dir $(pwd)
28
+ ```
29
+
30
+ Save the `url`, `screen_dir`, and `state_dir` from the response. Tell the user to open the dashboard.
31
+
32
+ ## Dashboard Loops
33
+
34
+ ### 1. The Architecture View
35
+ When using `deepen-architecture`, push a Mermaid diagram of the target modules to the dashboard.
36
+ Filename: `architecture.html`
37
+
38
+ ### 2. The Plan View
39
+ When using `plan-work`, push a step-by-step progress map.
40
+ Filename: `plan.html`
41
+
42
+ ### 3. User Interaction
43
+ Read `state_dir/events` to see which components or options the user clicked in the dashboard. Use this to refine your next design pass.
44
+
45
+ ## Cleaning Up
46
+
47
+ ```bash
48
+ visual-dashboard/scripts/stop-server.sh $SESSION_DIR
49
+ ```