bigpowers 1.3.2 → 1.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 (69) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/SKILL-INDEX.md +9 -9
  3. package/audit-code/SKILL.md +12 -0
  4. package/build-epic/SKILL.md +7 -4
  5. package/commit-message/SKILL.md +12 -0
  6. package/compose-workflow/SKILL.md +2 -0
  7. package/dashboard/bin/dashboard.js +93 -0
  8. package/dashboard/package-lock.json +1035 -0
  9. package/dashboard/package.json +18 -0
  10. package/dashboard/src/data/gate-status.js +32 -0
  11. package/dashboard/src/data/metrics.js +89 -0
  12. package/dashboard/src/data/pipeline-map.js +32 -0
  13. package/dashboard/src/data/reader.js +122 -0
  14. package/dashboard/src/data/watcher.js +108 -0
  15. package/dashboard/src/loaders/gate-status.js +32 -0
  16. package/dashboard/src/loaders/metrics.js +89 -0
  17. package/dashboard/src/loaders/pipeline-map.js +32 -0
  18. package/dashboard/src/loaders/reader.js +122 -0
  19. package/dashboard/src/loaders/watcher.js +108 -0
  20. package/dashboard/src/tui/epic-queue.js +36 -0
  21. package/dashboard/src/tui/filesystem.js +95 -0
  22. package/dashboard/src/tui/index.js +161 -0
  23. package/dashboard/src/tui/ledger.js +66 -0
  24. package/dashboard/src/tui/metrics-bar.js +30 -0
  25. package/dashboard/src/tui/pipeline.js +46 -0
  26. package/dashboard/src/tui/state-yaml.js +49 -0
  27. package/dashboard/src/web/client.html +477 -0
  28. package/dashboard/src/web/server.js +112 -0
  29. package/dashboard/test/fixtures/state.yaml +2 -0
  30. package/deepen-architecture/SKILL.md +2 -0
  31. package/define-language/SKILL.md +2 -0
  32. package/define-success/SKILL.md +4 -0
  33. package/delegate-task/SKILL.md +2 -0
  34. package/design-interface/SKILL.md +2 -0
  35. package/develop-tdd/SKILL.md +32 -0
  36. package/dispatch-agents/SKILL.md +2 -0
  37. package/edit-document/SKILL.md +6 -0
  38. package/elaborate-spec/SKILL.md +2 -0
  39. package/enforce-first/SKILL.md +2 -0
  40. package/grill-me/SKILL.md +2 -0
  41. package/guard-git/SKILL.md +2 -0
  42. package/hook-commits/SKILL.md +2 -0
  43. package/inspect-quality/SKILL.md +2 -0
  44. package/kickoff-branch/SKILL.md +5 -0
  45. package/map-codebase/SKILL.md +2 -0
  46. package/model-domain/SKILL.md +4 -0
  47. package/orchestrate-project/REFERENCE.md +1 -1
  48. package/orchestrate-project/SKILL.md +3 -1
  49. package/organize-workspace/SKILL.md +2 -0
  50. package/package.json +4 -2
  51. package/plan-refactor/SKILL.md +2 -0
  52. package/plan-work/SKILL.md +44 -0
  53. package/release-branch/SKILL.md +28 -0
  54. package/respond-review/SKILL.md +2 -0
  55. package/run-planning/SKILL.md +2 -0
  56. package/search-skills/SKILL.md +2 -0
  57. package/seed-conventions/SKILL.md +2 -0
  58. package/session-state/SKILL.md +16 -0
  59. package/setup-environment/SKILL.md +2 -0
  60. package/simulate-agents/SKILL.md +2 -0
  61. package/spike-prototype/SKILL.md +2 -0
  62. package/stocktake-skills/SKILL.md +2 -0
  63. package/survey-context/SKILL.md +23 -0
  64. package/terse-mode/SKILL.md +2 -0
  65. package/using-bigpowers/SKILL.md +4 -0
  66. package/validate-fix/SKILL.md +2 -0
  67. package/verify-work/SKILL.md +33 -0
  68. package/visual-dashboard/SKILL.md +2 -0
  69. package/wire-observability/SKILL.md +2 -0
@@ -4,6 +4,12 @@ model: sonnet
4
4
  description: Edit and improve documents by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, restructure, or improve any document — including specs/ files, articles, READMEs, or technical writing.
5
5
  ---
6
6
 
7
+ # Edit Document
8
+
9
+ > **HARD GATE** — Document edits must preserve intent and accuracy. Do NOT remove or contradict existing content without understanding why it was written. Check git history for context.
10
+
11
+ ## Process
12
+
7
13
  1. First, divide the document into sections based on its headings. Think about the main points made in each section.
8
14
 
9
15
  Consider that information is a directed acyclic graph, and that pieces of information can depend on other pieces of information. Make sure that the order of the sections and their contents respects these dependencies.
@@ -8,6 +8,8 @@ description: Refine a rough idea into a clear, detailed specification through di
8
8
 
9
9
  Turn a rough idea into a clear specification through focused dialogue. No code is written during this skill — the output is shared understanding and a refined problem statement.
10
10
 
11
+ > **HARD GATE** — Do NOT proceed with planning or implementation until the problem space is clearly understood. Success criteria, actors, and scope must be explicit before drafting a plan.
12
+
11
13
  ## Process
12
14
 
13
15
  ### 1. Listen first
@@ -5,6 +5,8 @@ description: Apply the F.I.R.S.T test quality rubric (Fast, Independent, Repeata
5
5
  ---
6
6
 
7
7
  # Enforce FIRST
8
+ > **HARD GATE** — **HARD GATE** — Before shipping, ALL enforcement checks must pass: lint, typecheck, tests, coverage gates. Do NOT disable or skip checks to get to green.
9
+
8
10
 
9
11
  Apply the F.I.R.S.T rubric (Uncle Bob, Clean Code Chapter 9) to evaluate and improve tests.
10
12
 
package/grill-me/SKILL.md CHANGED
@@ -8,6 +8,8 @@ description: Stress-test a plan or design through relentless questioning until e
8
8
 
9
9
  Two modes. Default is **Design**. Switch to **Docs** by saying "grill me with docs" or when the plan relies on a specific library or external API.
10
10
 
11
+ > **HARD GATE** — Do NOT accept a design until every hard decision has been stress-tested. "Seems right" is not a decision. Grilling must identify and resolve tensions before build begins.
12
+
11
13
  ## Design mode (default)
12
14
 
13
15
  Interview relentlessly about every aspect of this plan until reaching shared understanding. Walk each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer. Ask one question at a time.
@@ -5,6 +5,8 @@ description: Block dangerous git commands (push, force push, reset --hard, clean
5
5
  ---
6
6
 
7
7
  # Guard Git
8
+ > **HARD GATE** — **HARD GATE** — Before committing, verify: branch is not main/master, author is correct, git user is configured. Bad commits are hard to fix.
9
+
8
10
 
9
11
  Installs a shared hook that blocks destructive git operations and enforces workflow discipline. **Requires `jq` on the agent's PATH** when the hook runs.
10
12
 
@@ -5,6 +5,8 @@ description: Set up pre-commit hooks with lint-staged (Prettier), type checking,
5
5
  ---
6
6
 
7
7
  # Hook Commits
8
+ > **HARD GATE** — **HARD GATE** — Pre-commit and commit-msg hooks must run before any commit lands. Skipping hooks (`--no-verify`) is forbidden unless explicitly authorized for a specific commit and documented.
9
+
8
10
 
9
11
  ## What This Sets Up
10
12
 
@@ -5,6 +5,8 @@ description: Interactive QA session where user reports bugs or issues conversati
5
5
  ---
6
6
 
7
7
  # Inspect Quality
8
+ > **HARD GATE** — **HARD GATE** — Quality metrics (coverage, lint, cyclomatic complexity, security scans) must be monitored. If a metric degrades, surface it as a blocker. Do NOT accept regressions.
9
+
8
10
 
9
11
  Run an interactive QA session. The user describes problems they're encountering. You clarify, explore the codebase for context, and log each issue to `specs/bugs/registry.yaml` with a structured, durable format.
10
12
 
@@ -93,3 +93,8 @@ Ready to develop.
93
93
  ```
94
94
 
95
95
  Suggest next skill: `develop-tdd` to start the TDD loop, or `execute-plan` if `specs/release-plan.yaml + epic shards` already exists.
96
+
97
+ ## Handoff
98
+
99
+ Gate: READY -> next: develop-tdd
100
+ Writes: state.yaml handoff.next_skill = develop-tdd
@@ -8,6 +8,8 @@ description: "High-fidelity codebase surveying — analyzes stack, architecture,
8
8
 
9
9
  Perform a deep architectural and structural analysis of the codebase. Unlike `survey-context` which identifies "where we are", `map-codebase` identifies "what we are dealing with" and "how things are done".
10
10
 
11
+ > **HARD GATE** — Cold analysis only. Do NOT assume architectural patterns without reading the code. If the codebase structure surprises you, call out the delta.
12
+
11
13
  ## Process
12
14
 
13
15
  ### 1. Identify Core Stack & Dependencies
@@ -4,8 +4,12 @@ model: sonnet
4
4
  description: Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates specs/plans/TECH_STACK_LATEST.md and specs/adr/ inline as decisions crystallise. Use when user wants to stress-test a plan against their project's domain language and documented decisions.
5
5
  ---
6
6
 
7
+ # Model Domain
8
+
7
9
  Interview me relentlessly about every aspect of this plan until we reach a shared understanding. Walk down each branch of the design tree, resolving dependencies between decisions one-by-one. For each question, provide your recommended answer.
8
10
 
11
+ > **HARD GATE** — Capture invariants (what MUST always be true) and state machines (what transitions are legal) for core entities. If these are fuzzy, design will fail.
12
+
9
13
  Ask the questions one at a time, waiting for feedback on each question before continuing.
10
14
 
11
15
  If a question can be answered by exploring the codebase, explore the codebase instead.
@@ -13,7 +13,7 @@ Detailed documentation for the `orchestrate-project` meta-skill.
13
13
  ### PHASE 2: ELABORATE
14
14
  - **Goal**: Research solutions and lock architectural design.
15
15
  - **Deliverables**: Prior art in scope YAML, ADRs in `specs/adr/`.
16
- - **Skills**: `model-domain`, `define-language`, `challenge-design`.
16
+ - **Skills**: `grill-me`, `model-domain`, `define-language`, `deepen-architecture`, `design-interface`.
17
17
  - **Gate**: Quality ≥94% (via `request-review`) + Confirm ("Are decisions locked?").
18
18
 
19
19
  ### PHASE 3: PLAN
@@ -5,6 +5,8 @@ description: Meta-skill that enforces the 6-phase core loop (discover → elabor
5
5
  ---
6
6
 
7
7
  # Orchestrate
8
+ > **HARD GATE** — **HARD GATE** — Do NOT invoke orchestrate-project unless you have a clear multi-phase workflow. Single-skill tasks should use dedicated skills instead. Orchestrate is for complex, multi-stage work that requires coordination across phases.
9
+
8
10
 
9
11
  The orchestrate skill coordinates projects through a prescriptive 6-phase core loop with hard gates, ensuring consistent quality and preventing scope creep.
10
12
 
@@ -26,7 +28,7 @@ claude /orchestrate --mode fast-track
26
28
  1. **DISCOVER** (3-6 hours): Understand problem. Deliverables: `requirements/VISION_LATEST.yaml`, `requirements/SCOPE_LATEST.yaml`, `plans/TECH_STACK_LATEST.md`.
27
29
  2. **ELABORATE** (3-6 hours): Research solutions. Deliverables: Prior art in scope YAML, ADRs in `specs/adr/`.
28
30
  3. **PLAN** (2-4 hours): Write verifiable plan. Deliverables: `release-plan.yaml`, `epics/eNN-*.yaml` with `verify:` per task.
29
- 4. **BUILD** (1-8 hours): Execute plan. Deliverables: Code; update `execution-status.yaml`.
31
+ 4. **BUILD** (1-8 hours): Execute plan. Runs build-epic once per story in WSJF order. Deliverables: Code; update `execution-status.yaml`.
30
32
  5. **VERIFY** (1-3 hours): Validate success criteria. Deliverables: UAT evidence, `specs/EVALS-*.md` if used.
31
33
  6. **RELEASE** (30 min - 2 hours): Ship to production. Deliverables: Release tag (vX.Y.Z), `state.yaml` `release.last_tag`.
32
34
 
@@ -5,6 +5,8 @@ description: Scans the active workspace for disposable artifacts—logs, caches,
5
5
  ---
6
6
 
7
7
  # Organize Workspace
8
+ > **HARD GATE** — **HARD GATE** — Workspace structure must reflect domain structure. If the codebase feels disorganized, flag it. Disorganization != 'just a style thing;' it is a signal of domain misalignment.
9
+
8
10
 
9
11
  ## Principles
10
12
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bigpowers",
3
- "version": "1.3.2",
3
+ "version": "1.4.0",
4
4
  "description": "61 agent skills for spec-driven, test-first software development by solo developers",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -11,7 +11,9 @@
11
11
  "version": "bash scripts/sync-skills.sh && git add .gemini/extensions/bigpowers/gemini-extension.json specs/SKILL-SEARCH-INDEX.md",
12
12
  "install": "bash scripts/install.sh",
13
13
  "postinstall": "bash scripts/sync-skills.sh && bash scripts/install.sh",
14
- "release": "semantic-release"
14
+ "release": "semantic-release",
15
+ "dashboard": "node dashboard/bin/dashboard.js",
16
+ "dashboard:web": "node dashboard/bin/dashboard.js --web"
15
17
  },
16
18
  "keywords": [
17
19
  "skills",
@@ -5,6 +5,8 @@ description: Create a detailed refactor plan with tiny commits via user intervie
5
5
  ---
6
6
 
7
7
  # Plan Refactor
8
+ > **HARD GATE** — **HARD GATE** — Before refactoring, document the current behavior and why it is wrong. Extract one invariant that must be preserved. If you skip this, you will break things you don't expect.
9
+
8
10
 
9
11
  Create a detailed refactor plan through a user interview. Save output to `specs/REFACTOR.md`.
10
12
 
@@ -39,6 +39,11 @@ If this plan touches an existing module or symbol, run `assess-impact` first to
39
39
 
40
40
  > **SLOPCHECK (HARD GATE)** — For every external package proposed in the plan, run slopcheck (or manual registry check) and tag: `[OK]`, `[SUS]`, or `[SLOP]`. `[SUS]` and `[SLOP]` require explicit human approval before the step may execute. Document tags inline next to the package name.
41
41
 
42
+ ## Invocation modes
43
+
44
+ - Default: full plan with zoom-out mandate, impact assessment, slopcheck
45
+ - --fast (formerly plan-work-fast): Skip zoom-out and impact assessment. Use for tasks under 3 BCPs with no module interface changes.
46
+
42
47
  ## Process
43
48
 
44
49
  ### 1. Explore the codebase
@@ -62,6 +67,8 @@ Break the implementation into the smallest possible steps where each step:
62
67
 
63
68
  Append tasks under the relevant story in `specs/epics/{epic-id}-*.yaml` (`tasks[]` with `desc` + `verify`). Update `specs/release-plan.yaml` if a new story is needed. Run `bash scripts/sync-status-from-epics.sh` after structural changes.
64
69
 
70
+ **BCP Accounting:** Each task line MUST be prefixed `[BCP N]` where N is its sequence number. After all tasks, write `bcps: <total>` to the epic shard YAML under the story's metadata.
71
+
65
72
  <plan-template>
66
73
 
67
74
  ### Story [X.Y]: [title] — Implementation Steps
@@ -127,3 +134,40 @@ Before finalizing, confirm:
127
134
  - Are the verify commands actually runnable in this project?
128
135
 
129
136
  After writing epic tasks, suggest `kickoff-branch` (if not already on a feature branch) then `build-epic`, `execute-plan`, or `develop-tdd`.
137
+
138
+ ## Sub-operations
139
+
140
+ ### Define Success (absorbed)
141
+
142
+ Before planning, convert task statements into observable "step → verify: <cmd>" pairs:
143
+
144
+ - Break the task into observable outcomes (behaviors) rather than implementation steps
145
+ - Write pairs in the format: [What must be true] → verify: <runnable command>
146
+ - Challenge completeness: are there any required behaviors not covered?
147
+ - Get user confirmation: "Does this capture everything the task requires?"
148
+ - Once confirmed, these pairs become the skeleton for plan-work steps
149
+
150
+ ### Zoom-Out Check (absorbed)
151
+
152
+ When modifying an existing module, confirm scope is understood:
153
+
154
+ - State the module's **purpose** — what is it responsible for?
155
+ - Name the **callers** — who depends on it?
156
+ - List the **contracts** — what invariants or interfaces must be preserved?
157
+
158
+ If you cannot answer all three without deep code archaeology, scope is misunderstood. Clarify with the user before writing steps.
159
+
160
+ ### Slopcheck (absorbed)
161
+
162
+ For every external package proposed in the plan, tag each with one of:
163
+
164
+ - `[OK]` — package is mature, actively maintained, appropriate scope
165
+ - `[SUS]` — package is suspiciously broad, has maintenance concerns, or unclear fit
166
+ - `[SLOP]` — package is unmaintained, has known security issues, or out of scope
167
+
168
+ `[SUS]` and `[SLOP]` require explicit human approval before the step may execute. Document tags inline next to the package name.
169
+
170
+ ## Handoff
171
+
172
+ Gate: READY -> next: kickoff-branch
173
+ Writes: state.yaml handoff.next_skill = kickoff-branch
@@ -10,6 +10,10 @@ description: Make the merge/PR/keep/discard decision for a feature branch, verif
10
10
 
11
11
  Finalize a completed feature branch: verify coverage gates, integrate onto `main`, and clean up the worktree.
12
12
 
13
+ ## Additional modes
14
+
15
+ - --hotfix: Emergency fix. Cherry-pick to main plus immediate tag. Skip PR in solo profile.
16
+
13
17
  ## Integrate mode
14
18
 
15
19
  Choose mode from project profile or explicit user request:
@@ -140,6 +144,25 @@ git branch -d <branch-name>
140
144
  - If `git worktree remove` fails due to uncommitted changes, ask the user: "There are uncommitted changes in the worktree. Force remove? (y/n)". If yes: `git worktree remove -f ../<branch-name>`.
141
145
  - If the directory `../<branch-name>` is already missing, `git worktree remove` might fail; the `|| true` ensures the process continues to branch deletion.
142
146
 
147
+ ### 8a. Cycle-time recording
148
+
149
+ After landing the branch, record delivery metrics for this story:
150
+
151
+ 1. Write `metrics.story_end` with the current ISO 8601 timestamp to `specs/state.yaml`
152
+ 2. Compute `cycle_minutes`: `story_end` minus `story_start` in minutes
153
+ 3. Compute `bcp_per_hour`: `epic_cycle.story_bcps` divided by `(cycle_minutes / 60)`
154
+ 4. Append a row to `specs/metrics/cycle-times.yaml` with fields: `id`, `bcps`, `start`, `end`, `cycle_minutes`, `bcp_per_hour`
155
+
156
+ Example row:
157
+ ```yaml
158
+ - id: e01s01
159
+ bcps: 3
160
+ start: "2026-06-10T09:45:00Z"
161
+ end: "2026-06-10T11:15:00Z"
162
+ cycle_minutes: 90
163
+ bcp_per_hour: 2.0
164
+ ```
165
+
143
166
  ### 9. Return to main (primary worktree)
144
167
 
145
168
  ```bash
@@ -154,3 +177,8 @@ Confirm:
154
177
  - [ ] cwd is the primary repository root, not `../<task-slug>`
155
178
 
156
179
  Report: "Branch released. Integrate mode: <solo-local|team-pr>. cwd: $(pwd) on $(git branch --show-current)."
180
+
181
+ ## Handoff
182
+
183
+ Gate: READY -> next: survey-context
184
+ Writes: state.yaml handoff.next_skill = survey-context
@@ -5,6 +5,8 @@ description: Act on a reviewer agent's feedback systematically — categorize fi
5
5
  ---
6
6
 
7
7
  # Respond Review
8
+ > **HARD GATE** — **HARD GATE** — Every reviewer comment must be addressed (fix, disagree + document reason, or ask clarification). Do NOT ignore feedback and merge.
9
+
8
10
 
9
11
  Work through reviewer findings systematically. Don't apply changes blindly — categorize first, then decide, then fix, then verify.
10
12
 
@@ -5,6 +5,8 @@ description: Advance discover-phase workflows and update specs/planning-status.y
5
5
  ---
6
6
 
7
7
  # Run Planning
8
+ > **HARD GATE** — **HARD GATE** — Before running planning skills, confirm the epic shard exists and the active story is clear. Planning without a target is noise.
9
+
8
10
 
9
11
  Updates `specs/planning-status.yaml` as discover-phase skills complete.
10
12
 
@@ -5,6 +5,8 @@ model: haiku
5
5
  ---
6
6
 
7
7
  # Search Skills
8
+ > **HARD GATE** — **HARD GATE** — Search results must be ranked by relevance. Do NOT return all matches without prioritization. Use skill metadata (phase, purpose, frequency) to rank.
9
+
8
10
 
9
11
  Lexical search only — no embedding service (ADR: zero external dependency).
10
12
 
@@ -5,6 +5,8 @@ description: Generate CLAUDE.md and CONVENTIONS.md for a brand-new project throu
5
5
  ---
6
6
 
7
7
  # Seed Conventions
8
+ > **HARD GATE** — **HARD GATE** — Before any new code lands, confirm the project conventions are understood. Ask: 'What does a good commit message look like in this project?'
9
+
8
10
 
9
11
  Bootstrap a new project with the AI agent conventions it needs. Run this once at the start of a greenfield project.
10
12
 
@@ -5,6 +5,8 @@ description: Track implementation decisions and progress in specs/state.yaml to
5
5
  ---
6
6
 
7
7
  # Session State
8
+ > **HARD GATE** — **HARD GATE** — Session state must be synchronized with git state. If state.yaml conflicts with the working tree, halt and ask for clarification. Do NOT assume state is correct.
9
+
8
10
 
9
11
  Track the current state of implementation, including decisions made, pending tasks, and open questions, to ensure continuity across session boundaries and prevent "context rot."
10
12
 
@@ -66,6 +68,20 @@ Whenever a significant decision is made or a milestone is reached:
66
68
 
67
69
  → verify: `bash scripts/validate-specs-yaml.sh`
68
70
 
71
+ ## Operations
72
+
73
+ ### show-state (absorbed)
74
+
75
+ Print the current session state: `cat specs/state.yaml`, then display `active_flow` and `handoff.next_skill` for quick reference.
76
+
77
+ ### reset-state (absorbed)
78
+
79
+ Clear ephemeral session state. Set `active_epic_id`, `active_story_id`, and `epic_cycle.current_step` to `null` in `specs/state.yaml`. Use when ending a phase or starting a new project context.
80
+
81
+ ### compact-state (absorbed)
82
+
83
+ Archive verbose decisions before a context transition. Move all entries from `handoff.open_decisions` to `specs/adr/` as individual ADR files, then reset `handoff.open_decisions` to an empty list.
84
+
69
85
  ## File Format: specs/state.yaml
70
86
 
71
87
  ```yaml
@@ -5,6 +5,8 @@ model: haiku
5
5
  ---
6
6
 
7
7
  # Setup Environment
8
+ > **HARD GATE** — **HARD GATE** — Environment setup must be idempotent and reproducible. If setup fails, provide clear error messages and remediation steps. Do NOT assume prior state.
9
+
8
10
 
9
11
  Idempotent prep so BUILD phase commands succeed on first run.
10
12
 
@@ -5,6 +5,8 @@ model: sonnet
5
5
  ---
6
6
 
7
7
  # Simulate Agents
8
+ > **HARD GATE** — **HARD GATE** — Simulations are hypothetical. Do NOT use sim results to make production decisions without validation on real agents. Sims help discover gaps, not replace testing.
9
+
8
10
 
9
11
  Two roles, **isolated contexts** (no shared state with BUILD agent):
10
12
 
@@ -5,6 +5,8 @@ description: Throw-away prototype for unknown problem spaces. Output is learning
5
5
  ---
6
6
 
7
7
  # Spike Prototype
8
+ > **HARD GATE** — **HARD GATE** — Spikes are time-boxed experiments, not shipping code. Results must be throwaway or clearly isolated. Do NOT merge a spike without a plan to integrate it or replace it with a proper implementation.
9
+
8
10
 
9
11
  A spike is a time-boxed experiment to answer a specific question. The code is thrown away. The learning is kept in `specs/archive/spikes/SPIKE-<name>.md`.
10
12
 
@@ -5,6 +5,8 @@ model: sonnet
5
5
  ---
6
6
 
7
7
  # Stocktake Skills
8
+ > **HARD GATE** — **HARD GATE** — Skill inventory must be current. Missing HARD GATEs, stale descriptions, or broken verify commands are defects, not cosmetic. Fix them in `evolve-skill`.
9
+
8
10
 
9
11
  Audit SKILL.md catalog for drift, stale triggers, missing HARD GATEs, and INDEX mismatches.
10
12
 
@@ -8,6 +8,10 @@ description: Per-task context survey — reads specs/ and CONVENTIONS.md, maps t
8
8
 
9
9
  Read the project's current state and give a phase map + next-skill recommendation. This is the "where am I?" skill — run it at the start of every task.
10
10
 
11
+ > **HARD GATE** — Read specs/ files before suggesting next steps. If state.yaml is stale or contradicts the codebase, request clarification rather than assuming intent.
12
+
13
+ Orchestrate-project 6 phases: Phase 1 Discover - Phase 2 Elaborate - Phase 3 Plan - Phase 4 Build - Phase 5 Verify - Phase 6 Release
14
+
11
15
  ## Process
12
16
 
13
17
  ### 1. Read CONVENTIONS.md
@@ -103,3 +107,22 @@ If something looks wrong:
103
107
  - Git hash in `state.yaml` stale vs `git rev-parse`
104
108
 
105
109
  Report blockers first, before recommendations.
110
+
111
+ ### 8. Record story start timestamp
112
+
113
+ At story start, write `metrics.story_start` with the current ISO 8601 timestamp to `specs/state.yaml` for cycle-time tracking.
114
+
115
+ ## Utility outputs
116
+
117
+ ### list-epics (absorbed)
118
+
119
+ Loop through all `specs/epics/*.yaml` files and print a summary of story counts per epic. Useful for understanding overall project scope and epic distribution.
120
+
121
+ ### check-gates (absorbed)
122
+
123
+ 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.
124
+
125
+ ## Handoff
126
+
127
+ Gate: READY -> next: plan-work
128
+ Writes: state.yaml handoff.next_skill = plan-work
@@ -7,6 +7,8 @@ description: Fallback ultra-compressed communication mode. Cuts token usage ~75%
7
7
  Respond terse like smart caveman. All technical substance stay. Only fluff die.
8
8
 
9
9
  ## Persistence
10
+ > **HARD GATE** — **HARD GATE** — Terse mode is for reducing token usage in long sessions. Do NOT use terse mode when clarity is critical (complex design decisions, bug investigations). Enable it only on explicit user request.
11
+
10
12
 
11
13
  ACTIVE EVERY RESPONSE once triggered. No revert after many turns. No filler drift. Still active if unsure. Off only when user says "stop" or "normal mode".
12
14
 
@@ -5,6 +5,8 @@ description: One-time bootstrap that introduces the bigpowers skills system, the
5
5
  ---
6
6
 
7
7
  # Using bigpowers
8
+ > **HARD GATE** — **HARD GATE** — This skill is the entry point. Do NOT skip it when onboarding new users or starting a new session. It establishes the bigpowers methodology, lifecycle phases, and conventions.
9
+
8
10
 
9
11
  Welcome to **bigpowers** — a lifecycle of **61** agent skills for production-ready, TDD-driven software by solo developers.
10
12
 
@@ -25,6 +27,8 @@ A curated set of skills organized around the PMBOK developer lifecycle. Each ski
25
27
 
26
28
  ## The lifecycle at a glance
27
29
 
30
+ See orchestrate-project for the canonical 6-phase lifecycle.
31
+
28
32
  ```
29
33
  BOOTSTRAP using-bigpowers (this skill, first time only)
30
34
 
@@ -5,6 +5,8 @@ description: Prove a fix works before declaring done — re-run the failing test
5
5
  ---
6
6
 
7
7
  # Validate Fix
8
+ > **HARD GATE** — **HARD GATE** — Fix must not regress. Run full test suite and manual UAT before declaring success. A fix that passes tests but breaks something else is a failure.
9
+
8
10
 
9
11
  Prove the fix works. "I think it works" is not evidence. Run the suite, show the output, then harden against recurrence.
10
12
 
@@ -12,6 +12,11 @@ model: haiku
12
12
 
13
13
  Review answers "is the code good?"; Verify answers "does the built thing do what was promised?"
14
14
 
15
+ ## Modes
16
+
17
+ - Default: full UAT plus gaps loop
18
+ - --smoke: Cold-start only plus one happy-path flow. Use for hotfixes.
19
+
15
20
  ## Process
16
21
 
17
22
  0. **Branch check** — must not be `main`/`master`.
@@ -22,6 +27,29 @@ Review answers "is the code good?"; Verify answers "does the built thing do what
22
27
  4. **Step-by-step UAT** — one user-observable action at a time.
23
28
  5. **Gaps loop** — failures → log → `plan-work` → re-verify.
24
29
 
30
+ ## Verify sub-operations
31
+
32
+ ### Cold-Start Smoke (absorbed)
33
+
34
+ For applications, verify correctness from a clean state:
35
+
36
+ - Stop the running server (if any)
37
+ - Clear any caches (browser, application caches, compiled artifacts)
38
+ - Boot the application from scratch
39
+ - Verify that no stale artifacts or configuration are affecting the behavior
40
+
41
+ This catches environment-specific bugs and ensures the build is reproducible.
42
+
43
+ ### Gaps Loop (absorbed)
44
+
45
+ After UAT, identify and close any gaps between promised behavior and actual behavior:
46
+
47
+ - Capture what was promised in the epic task description
48
+ - Document what actually happened (expected vs actual)
49
+ - If behavior doesn't match the promises, log the gap
50
+ - Loop back to `plan-work` or `develop-tdd` to fix the gap
51
+ - Re-verify until all gaps are closed (gaps count = 0)
52
+
25
53
  ## UAT dialogue
26
54
 
27
55
  - Pass: user confirms per step.
@@ -32,3 +60,8 @@ Review answers "is the code good?"; Verify answers "does the built thing do what
32
60
  → verify: `grep -c 'verify:' specs/epics/*.yaml | awk '{if($1>0) print "OK"; else print "MISSING"}'`
33
61
 
34
62
  See [REFERENCE.md](REFERENCE.md) for cold-start and gaps template.
63
+
64
+ ## Handoff
65
+
66
+ Gate: READY -> next: audit-code
67
+ Writes: state.yaml handoff.next_skill = audit-code
@@ -5,6 +5,8 @@ description: Start a browser-based dashboard that visualizes architecture, imple
5
5
  ---
6
6
 
7
7
  # Visual Dashboard
8
+ > **HARD GATE** — **HARD GATE** — Dashboards are read-only. Do NOT use visualization to make decisions without consulting the source data. 'The chart looks better' is not a decision.
9
+
8
10
 
9
11
  Browser-based visual companion for bigpowers. Visualizes architecture, plans, and status.
10
12
 
@@ -5,6 +5,8 @@ description: Add structured JSON logging, observability commands, and idempotent
5
5
  ---
6
6
 
7
7
  # Wire Observability
8
+ > **HARD GATE** — **HARD GATE** — Observability is not optional. Before shipping, verify: structured logging is in place, key metrics are instrumented, error cases emit signals. 'We'll add metrics later' becomes 'never.'
9
+
8
10
 
9
11
  Add structured logging, observability commands, and idempotent setup scripts. Can be invoked at any phase — recommended at the end of the first working slice, before the first deploy.
10
12