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.
- package/CHANGELOG.md +7 -0
- package/SKILL-INDEX.md +9 -9
- package/audit-code/SKILL.md +12 -0
- package/build-epic/SKILL.md +7 -4
- package/commit-message/SKILL.md +12 -0
- package/compose-workflow/SKILL.md +2 -0
- package/dashboard/bin/dashboard.js +93 -0
- package/dashboard/package-lock.json +1035 -0
- package/dashboard/package.json +18 -0
- package/dashboard/src/data/gate-status.js +32 -0
- package/dashboard/src/data/metrics.js +89 -0
- package/dashboard/src/data/pipeline-map.js +32 -0
- package/dashboard/src/data/reader.js +122 -0
- package/dashboard/src/data/watcher.js +108 -0
- package/dashboard/src/loaders/gate-status.js +32 -0
- package/dashboard/src/loaders/metrics.js +89 -0
- package/dashboard/src/loaders/pipeline-map.js +32 -0
- package/dashboard/src/loaders/reader.js +122 -0
- package/dashboard/src/loaders/watcher.js +108 -0
- package/dashboard/src/tui/epic-queue.js +36 -0
- package/dashboard/src/tui/filesystem.js +95 -0
- package/dashboard/src/tui/index.js +161 -0
- package/dashboard/src/tui/ledger.js +66 -0
- package/dashboard/src/tui/metrics-bar.js +30 -0
- package/dashboard/src/tui/pipeline.js +46 -0
- package/dashboard/src/tui/state-yaml.js +49 -0
- package/dashboard/src/web/client.html +477 -0
- package/dashboard/src/web/server.js +112 -0
- package/dashboard/test/fixtures/state.yaml +2 -0
- package/deepen-architecture/SKILL.md +2 -0
- package/define-language/SKILL.md +2 -0
- package/define-success/SKILL.md +4 -0
- package/delegate-task/SKILL.md +2 -0
- package/design-interface/SKILL.md +2 -0
- package/develop-tdd/SKILL.md +32 -0
- package/dispatch-agents/SKILL.md +2 -0
- package/edit-document/SKILL.md +6 -0
- package/elaborate-spec/SKILL.md +2 -0
- package/enforce-first/SKILL.md +2 -0
- package/grill-me/SKILL.md +2 -0
- package/guard-git/SKILL.md +2 -0
- package/hook-commits/SKILL.md +2 -0
- package/inspect-quality/SKILL.md +2 -0
- package/kickoff-branch/SKILL.md +5 -0
- package/map-codebase/SKILL.md +2 -0
- package/model-domain/SKILL.md +4 -0
- package/orchestrate-project/REFERENCE.md +1 -1
- package/orchestrate-project/SKILL.md +3 -1
- package/organize-workspace/SKILL.md +2 -0
- package/package.json +4 -2
- package/plan-refactor/SKILL.md +2 -0
- package/plan-work/SKILL.md +44 -0
- package/release-branch/SKILL.md +28 -0
- package/respond-review/SKILL.md +2 -0
- package/run-planning/SKILL.md +2 -0
- package/search-skills/SKILL.md +2 -0
- package/seed-conventions/SKILL.md +2 -0
- package/session-state/SKILL.md +16 -0
- package/setup-environment/SKILL.md +2 -0
- package/simulate-agents/SKILL.md +2 -0
- package/spike-prototype/SKILL.md +2 -0
- package/stocktake-skills/SKILL.md +2 -0
- package/survey-context/SKILL.md +23 -0
- package/terse-mode/SKILL.md +2 -0
- package/using-bigpowers/SKILL.md +4 -0
- package/validate-fix/SKILL.md +2 -0
- package/verify-work/SKILL.md +33 -0
- package/visual-dashboard/SKILL.md +2 -0
- package/wire-observability/SKILL.md +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
# [1.4.0](https://github.com/danielvm-git/bigpowers/compare/v1.3.2...v1.4.0) (2026-06-11)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **skills+dashboard:** add HARD GATE enforcement and factory dashboard ([9d02d50](https://github.com/danielvm-git/bigpowers/commit/9d02d507ce4a2330132cd3cfc2775cd653e90825))
|
|
7
|
+
|
|
1
8
|
## [1.3.2](https://github.com/danielvm-git/bigpowers/compare/v1.3.1...v1.3.2) (2026-06-02)
|
|
2
9
|
|
|
3
10
|
|
package/SKILL-INDEX.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Purpose:** One canonical reference for all bigpowers skills. Referenced by README.md, RELEASE-PLAN.md, and CONVENTIONS.md. Updated per-release.
|
|
4
4
|
|
|
5
|
-
**Last updated:** 2026-06-
|
|
5
|
+
**Last updated:** 2026-06-10 (v3.1.0 — YAML cockpit; 61 active, 0 planned; 18 sub-ops absorbed into parent skills)
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
| 14 | Plan | `change-request` | Add requirement or WSJF reorder | RELEASE-PLAN.md | ✅ Active |
|
|
50
50
|
| 15 | Plan | `scope-work` | Define in/out boundaries | SCOPE.md | ✅ Active |
|
|
51
51
|
| 16 | Plan | `slice-tasks` | Vertical slices | TASKS.md | ✅ Active |
|
|
52
|
-
| 17 | Plan | `define-success` | Step → verify pairs | (dialogue) | ✅ Active |
|
|
53
|
-
| 18 | Plan | `plan-work` | Detailed plan with verify steps | RELEASE-PLAN.md | ✅ Active |
|
|
52
|
+
| 17 | Plan | `define-success` | Step → verify pairs; absorbs zoom-out, slopcheck | (dialogue) | ✅ Active |
|
|
53
|
+
| 18 | Plan | `plan-work` | Detailed plan with verify steps; absorbs plan-work-fast | RELEASE-PLAN.md | ✅ Active |
|
|
54
54
|
| 19 | Plan | `plan-refactor` | Refactor plan via interview | REFACTOR.md | ✅ Active |
|
|
55
55
|
| 20 | Plan | `plan-release` | Release plan with Gherkin criteria | RELEASE-PLAN.md | ✅ Active |
|
|
56
56
|
| 21 | Spike | `spike-prototype` | Throw-away spike | SPIKE-<name>.md | ✅ Active |
|
|
@@ -58,23 +58,23 @@
|
|
|
58
58
|
| 23 | Initiate | `guard-git` | Block dangerous git commands | (git state) | ✅ Active |
|
|
59
59
|
| 24 | Initiate | `hook-commits` | Pre-commit hooks | (git state) | ✅ Active |
|
|
60
60
|
| 25 | Initiate | `seed-conventions` | CLAUDE.md + CONVENTIONS.md + specs/ | CLAUDE.md, CONVENTIONS.md | ✅ Active |
|
|
61
|
-
| 26 | Build | `develop-tdd` | Red → green → refactor TDD | src/ | ✅ Active |
|
|
61
|
+
| 26 | Build | `develop-tdd` | Red → green → refactor TDD; absorbs red-phase, green-phase, refactor-phase | src/ | ✅ Active |
|
|
62
62
|
| 27 | Build | `enforce-first` | F.I.R.S.T test-quality rubric | (checklist) | ✅ Active |
|
|
63
63
|
| 28 | Build | `delegate-task` | One subagent, sequential + review | (code) | ✅ Active |
|
|
64
64
|
| 29 | Build | `dispatch-agents` | Parallel subagents on independent tasks | (code) | ✅ Active |
|
|
65
65
|
| 30 | Build | `execute-plan` | Batch execute plan with checkpoints | src/ | ✅ Active |
|
|
66
66
|
| 31 | Harden | `wire-observability` | Structured logging + observability | src/, CLAUDE.md | ✅ Active |
|
|
67
|
-
| 32 | Verify | `verify-work` | Multi-phase UAT; loop on gaps | (dialogue) | ✅ Active |
|
|
67
|
+
| 32 | Verify | `verify-work` | Multi-phase UAT; loop on gaps; absorbs cold-start-smoke, gaps-loop, verify-work-smoke | (dialogue) | ✅ Active |
|
|
68
68
|
| 33 | Verify | `run-evals` | EDD capability + regression evals | EVALS-<feature>.md | ✅ Active |
|
|
69
69
|
| 34 | Bug | `investigate-bug` | Investigate bug → diagnosis | bugs/BUG-*.md | ✅ Active |
|
|
70
70
|
| 35 | Bug | `diagnose-root` | 4-phase root cause analysis | bugs/BUG-*.md | ✅ Active |
|
|
71
71
|
| 36 | Bug | `validate-fix` | Prove fix works | (verify) | ✅ Active |
|
|
72
|
-
| 37 | Review | `audit-code` | Self-review checklist | (checklist) | ✅ Active |
|
|
72
|
+
| 37 | Review | `audit-code` | Self-review checklist; absorbs audit-code-quick | (checklist) | ✅ Active |
|
|
73
73
|
| 38 | Review | `request-review` | Fresh reviewer agent | review-report | ✅ Active |
|
|
74
74
|
| 39 | Review | `respond-review` | Act on reviewer feedback | src/ | ✅ Active |
|
|
75
75
|
| 40 | Review | `trace-requirement` | Story ID → code/tests | TRACEABILITY.md | ✅ Active |
|
|
76
|
-
| 41 | Integrate | `commit-message` | Conventional Commits + semver | (git message) | ✅ Active |
|
|
77
|
-
| 42 | Integrate | `release-branch` | Merge/PR decision + cleanup | (git PR) | ✅ Active |
|
|
76
|
+
| 41 | Integrate | `commit-message` | Conventional Commits + semver; absorbs commit-message-fix | (git message) | ✅ Active |
|
|
77
|
+
| 42 | Integrate | `release-branch` | Merge/PR decision + cleanup; absorbs release-branch-hotfix | (git PR) | ✅ Active |
|
|
78
78
|
| 43 | Sustain | `inspect-quality` | Structured QA session | BUG-LOG.md | ✅ Active |
|
|
79
79
|
| 44 | Sustain | `organize-workspace` | Safe workspace cleanup | (filesystem) | ✅ Active |
|
|
80
80
|
| 45 | Sustain | `stocktake-skills` | Batch audit of skill catalog | specs/ audit report | ✅ Active |
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
| 47 | Utility | `terse-mode` | Ultra-terse output (fallback) | (prompt) | ✅ Active |
|
|
83
83
|
| 48 | Utility | `craft-skill` | Build new bigpowers skill | skills/<name>/SKILL.md | ✅ Active |
|
|
84
84
|
| 49 | Utility | `edit-document` | Edit documents in specs/ | specs/<name>.md | ✅ Active |
|
|
85
|
-
| 50 | Utility | `session-state` | Track decisions in state.yaml | state.yaml | ✅ Active |
|
|
85
|
+
| 50 | Utility | `session-state` | Track decisions in state.yaml; absorbs show-state, reset-state, compact-state, list-epics, check-gates | state.yaml | ✅ Active |
|
|
86
86
|
| 51 | Utility | `migrate-spec` | Migrate foreign spec formats | specs/ | ✅ Active |
|
|
87
87
|
| 52 | Utility | `visual-dashboard` | Browser dashboard | .bigpowers/dashboard/ | ✅ Active |
|
|
88
88
|
| 53 | Utility | `write-document` | BMAD technical documents | specs/<name>.md | ✅ Active |
|
package/audit-code/SKILL.md
CHANGED
|
@@ -5,11 +5,18 @@ description: Self-review checklist for the coding agent to run before dispatchin
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Audit Code
|
|
8
|
+
> **HARD GATE** — **HARD GATE** — Audit must check for: bugs (correctness), security, performance, and clarity. Do NOT skip security review if the code touches user data, auth, or external APIs.
|
|
9
|
+
|
|
8
10
|
|
|
9
11
|
Run this self-review before asking anyone else to look at the code. The goal is to catch everything that is clearly wrong or missing — so the reviewer can focus on design and architecture, not hygiene.
|
|
10
12
|
|
|
11
13
|
**Distinct from `request-review`:** This is the coding agent checking its own work. No second agent is involved. Run this first; run `request-review` after this passes.
|
|
12
14
|
|
|
15
|
+
## Modes
|
|
16
|
+
|
|
17
|
+
- Default: full checklist
|
|
18
|
+
- --quick: Run only Supply Chain and Test Coverage. Use for changes under 50 LOC.
|
|
19
|
+
|
|
13
20
|
## Checklist
|
|
14
21
|
|
|
15
22
|
### Supply Chain & Security
|
|
@@ -97,3 +104,8 @@ Report the checklist with ✓ / ✗ per item. For each ✗, describe what needs
|
|
|
97
104
|
|
|
98
105
|
If all items pass: suggest running `request-review` for an independent second opinion.
|
|
99
106
|
If any items fail: fix them before proceeding.
|
|
107
|
+
|
|
108
|
+
## Handoff
|
|
109
|
+
|
|
110
|
+
Gate: READY -> next: commit-message
|
|
111
|
+
Writes: state.yaml handoff.next_skill = commit-message
|
package/build-epic/SKILL.md
CHANGED
|
@@ -6,6 +6,8 @@ description: Eight-step epic build cycle — reads state.yaml, execution-status.
|
|
|
6
6
|
|
|
7
7
|
# Build Epic
|
|
8
8
|
|
|
9
|
+
Scope: one story. Called by orchestrate-project Phase 4. Not a replacement for orchestrate-project.
|
|
10
|
+
|
|
9
11
|
Orchestrates the **build** flow for a single epic: survey → plan tasks → kickoff → TDD → verify → audit → commit → release.
|
|
10
12
|
|
|
11
13
|
> **HARD GATE** — Set `specs/state.yaml` `active_flow: build_epic` and `active_epic: eNN` before starting.
|
|
@@ -28,10 +30,11 @@ Orchestrates the **build** flow for a single epic: survey → plan tasks → kic
|
|
|
28
30
|
## Process
|
|
29
31
|
|
|
30
32
|
1. Read `specs/state.yaml`, `specs/execution-status.yaml`, `specs/release-plan.yaml`, active `specs/epics/eNN-*.yaml`.
|
|
31
|
-
2.
|
|
32
|
-
3.
|
|
33
|
-
4.
|
|
34
|
-
5.
|
|
33
|
+
2. **BCP Tracking (Step 2):** After `plan-work` completes, read the `bcps:` count from the epic shard and carry it into `state.yaml` as `epic_cycle.story_bcps = N`.
|
|
34
|
+
3. If `epic_cycle.step` missing, set to `1`.
|
|
35
|
+
4. Run **only the current step** (resume mode) unless user asked for full auto-run.
|
|
36
|
+
5. After step verify passes, increment `epic_cycle.step` in `state.yaml` (or `bash scripts/bp-yaml-set.sh` if available).
|
|
37
|
+
6. On story complete, set `execution-status.yaml` story key to `done`; run `bash scripts/sync-status-from-epics.sh`.
|
|
35
38
|
|
|
36
39
|
## Handoff
|
|
37
40
|
|
package/commit-message/SKILL.md
CHANGED
|
@@ -5,6 +5,13 @@ description: Reviews working-tree changes, then drafts a Conventional Commits ti
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Commit Message
|
|
8
|
+
> **HARD GATE** — **HARD GATE** — Commits must follow Conventional Commits spec (type(scope): description). Do NOT use vague messages like 'fix' or 'updates.' The message must explain the 'why,' not the 'what.'
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## Modes
|
|
12
|
+
|
|
13
|
+
- Default: standard Conventional Commits message
|
|
14
|
+
- --fix-type: Forces type=fix. Use when commit type is unambiguous.
|
|
8
15
|
|
|
9
16
|
## What "last chat" means
|
|
10
17
|
|
|
@@ -38,3 +45,8 @@ If the repo uses a custom `@semantic-release/commit-analyzer` preset, note that
|
|
|
38
45
|
## Further reading
|
|
39
46
|
|
|
40
47
|
- [REFERENCE.md](REFERENCE.md) — Message shape, footers, release mapping, squashing notes.
|
|
48
|
+
|
|
49
|
+
## Handoff
|
|
50
|
+
|
|
51
|
+
Gate: READY -> next: release-branch
|
|
52
|
+
Writes: state.yaml handoff.next_skill = release-branch
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const path = require('path');
|
|
4
|
+
|
|
5
|
+
// Parse command-line arguments
|
|
6
|
+
const args = process.argv.slice(2);
|
|
7
|
+
let showHelp = false;
|
|
8
|
+
let useWeb = false;
|
|
9
|
+
let port = 7742;
|
|
10
|
+
let projectRoot = process.cwd();
|
|
11
|
+
|
|
12
|
+
for (let i = 0; i < args.length; i++) {
|
|
13
|
+
const arg = args[i];
|
|
14
|
+
if (arg === '--help' || arg === '-h') {
|
|
15
|
+
showHelp = true;
|
|
16
|
+
} else if (arg === '--web') {
|
|
17
|
+
useWeb = true;
|
|
18
|
+
} else if (arg === '--port') {
|
|
19
|
+
if (i + 1 < args.length) {
|
|
20
|
+
const portNum = parseInt(args[i + 1], 10);
|
|
21
|
+
if (!isNaN(portNum) && portNum > 0 && portNum < 65536) {
|
|
22
|
+
port = portNum;
|
|
23
|
+
i++;
|
|
24
|
+
} else {
|
|
25
|
+
console.error('Error: --port requires a valid port number (1-65535)');
|
|
26
|
+
process.exit(1);
|
|
27
|
+
}
|
|
28
|
+
} else {
|
|
29
|
+
console.error('Error: --port requires a port number');
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
} else if (arg === '--project') {
|
|
33
|
+
if (i + 1 < args.length) {
|
|
34
|
+
projectRoot = args[i + 1];
|
|
35
|
+
i++;
|
|
36
|
+
} else {
|
|
37
|
+
console.error('Error: --project requires a path');
|
|
38
|
+
process.exit(1);
|
|
39
|
+
}
|
|
40
|
+
} else {
|
|
41
|
+
console.error(`Error: unknown flag "${arg}"`);
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (showHelp) {
|
|
47
|
+
console.log(`
|
|
48
|
+
Dashboard - Visualize and manage your project
|
|
49
|
+
|
|
50
|
+
Usage: dashboard [OPTIONS]
|
|
51
|
+
|
|
52
|
+
Options:
|
|
53
|
+
--help, -h Show this help message and exit
|
|
54
|
+
--web Start the web server (default: TUI mode)
|
|
55
|
+
--port PORT Set the server port (default: 7742)
|
|
56
|
+
--project PATH Set the project root path (default: current directory)
|
|
57
|
+
|
|
58
|
+
Examples:
|
|
59
|
+
dashboard # Start in TUI mode
|
|
60
|
+
dashboard --web # Start web server on port 7742
|
|
61
|
+
dashboard --web --port 3000 # Start web server on port 3000
|
|
62
|
+
dashboard --web --project /path/to/project
|
|
63
|
+
dashboard --help # Show this message
|
|
64
|
+
`);
|
|
65
|
+
process.exit(0);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Resolve the project root to an absolute path
|
|
69
|
+
const resolvedProjectRoot = path.resolve(projectRoot);
|
|
70
|
+
|
|
71
|
+
if (useWeb) {
|
|
72
|
+
// Start the web server
|
|
73
|
+
try {
|
|
74
|
+
const { createServer } = require('../src/web/server');
|
|
75
|
+
const server = createServer(resolvedProjectRoot, port);
|
|
76
|
+
server.listen(port, () => {
|
|
77
|
+
console.log(`Dashboard: http://localhost:${port}`);
|
|
78
|
+
console.log('Press Ctrl-C to stop.');
|
|
79
|
+
});
|
|
80
|
+
} catch (error) {
|
|
81
|
+
console.error('Error starting web server:', error.message);
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
} else {
|
|
85
|
+
// Start the TUI
|
|
86
|
+
try {
|
|
87
|
+
const { start } = require('../src/tui/index');
|
|
88
|
+
start(resolvedProjectRoot);
|
|
89
|
+
} catch (error) {
|
|
90
|
+
console.error('Error starting TUI:', error.message);
|
|
91
|
+
process.exit(1);
|
|
92
|
+
}
|
|
93
|
+
}
|