@kennethsolomon/shipkit 3.3.0 → 3.5.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/README.md +3 -2
- package/commands/sk/help.md +2 -2
- package/package.json +1 -1
- package/skills/sk:dashboard/SKILL.md +71 -0
- package/skills/sk:dashboard/dashboard.html +939 -0
- package/skills/sk:dashboard/server.js +203 -0
- package/skills/sk:review/SKILL.md +118 -11
package/README.md
CHANGED
|
@@ -100,7 +100,7 @@ Brainstorm → Plan → Branch → [Schema] → Write Tests → Implement → Co
|
|
|
100
100
|
| 17 | `/sk:smart-commit` | Auto-skip if already clean |
|
|
101
101
|
| 18 | **`/sk:perf`** | **GATE** *(optional)* — critical/high findings = 0 |
|
|
102
102
|
| 19 | `/sk:smart-commit` | Auto-skip if already clean |
|
|
103
|
-
| 20 | **`/sk:review`** | **GATE** — Review + Simplify — 0 issues including nitpicks |
|
|
103
|
+
| 20 | **`/sk:review`** | **GATE** — Review + Simplify + Blast Radius — 0 issues including nitpicks |
|
|
104
104
|
| 21 | `/sk:smart-commit` | Auto-skip if already clean |
|
|
105
105
|
| 22 | **`/sk:e2e`** | **GATE** — E2E Tests — prefers Playwright CLI when config detected, falls back to agent-browser; all scenarios must pass |
|
|
106
106
|
| 23 | `/sk:smart-commit` | Auto-skip if already clean |
|
|
@@ -211,7 +211,7 @@ Requirement changes → /sk:change → re-enter at correct step
|
|
|
211
211
|
| `/sk:security-check` | OWASP security audit across changed code |
|
|
212
212
|
| `/sk:perf` | Performance audit: bundle size, N+1 queries, Core Web Vitals |
|
|
213
213
|
| `/sk:seo-audit` | SEO audit — dual-mode (source templates + dev server), ask-before-fix, checklist output to `tasks/seo-findings.md` |
|
|
214
|
-
| `/sk:review` |
|
|
214
|
+
| `/sk:review` | Blast-radius-aware self-review across 7 dimensions + cross-file impact analysis |
|
|
215
215
|
|
|
216
216
|
### Shipping
|
|
217
217
|
|
|
@@ -243,6 +243,7 @@ Requirement changes → /sk:change → re-enter at correct step
|
|
|
243
243
|
|---------|-------------|
|
|
244
244
|
| `/sk:help` | Show all commands and workflow overview |
|
|
245
245
|
| `/sk:status` | Show workflow and task status at a glance |
|
|
246
|
+
| `/sk:dashboard` | Read-only workflow Kanban board — localhost server, multi-worktree |
|
|
246
247
|
| `/sk:skill-creator` | Create or improve ShipKit skills |
|
|
247
248
|
|
|
248
249
|
---
|
package/commands/sk/help.md
CHANGED
|
@@ -33,7 +33,7 @@ Run these commands in order for a complete, quality-gated feature build.
|
|
|
33
33
|
| `/sk:lint` | **GATE** — all linters must pass |
|
|
34
34
|
| `/sk:test` | **GATE** — 100% coverage on new code |
|
|
35
35
|
| `/sk:security-check` | **GATE** — 0 security issues |
|
|
36
|
-
| `/sk:review` | **GATE** — self-review across 7 dimensions |
|
|
36
|
+
| `/sk:review` | **GATE** — blast-radius-aware self-review across 7 dimensions + cross-file impact |
|
|
37
37
|
| `/sk:update-task` | Mark task done, log completion |
|
|
38
38
|
| `/sk:finish-feature` | Changelog + PR creation |
|
|
39
39
|
|
|
@@ -80,7 +80,7 @@ Requirements change mid-workflow? Run `/sk:change` — it classifies the scope a
|
|
|
80
80
|
| `/sk:perf` | Performance audit |
|
|
81
81
|
| `/sk:plan` | Create/refresh task planning files |
|
|
82
82
|
| `/sk:release` | Automate releases: bump version, update CHANGELOG, create tag, push to GitHub. Use --android and/or --ios flags for App Store / Play Store readiness audit |
|
|
83
|
-
| `/sk:review` |
|
|
83
|
+
| `/sk:review` | Blast-radius-aware self-review of branch changes |
|
|
84
84
|
| `/sk:schema-migrate` | Multi-ORM schema change analysis |
|
|
85
85
|
| `/sk:security-check` | OWASP security audit |
|
|
86
86
|
| `/sk:setup-claude` | Bootstrap project scaffolding |
|
package/package.json
CHANGED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sk:dashboard
|
|
3
|
+
description: Read-only workflow Kanban board — localhost server showing workflow status across git worktrees
|
|
4
|
+
license: Complete terms in LICENSE.txt
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# /sk:dashboard
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
Read-only Kanban board that visualizes workflow progress across all git worktrees in a project. Runs as a standalone localhost server — no workflow integration required. Use it anytime you want a visual overview of where each worktree stands in the workflow.
|
|
12
|
+
|
|
13
|
+
## How to Start
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
node skills/sk:dashboard/server.js
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Opens on `http://localhost:3333`. Stop with `Ctrl+C`.
|
|
20
|
+
|
|
21
|
+
Override the port:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
node skills/sk:dashboard/server.js --port 4000
|
|
25
|
+
# or
|
|
26
|
+
PORT=4000 node skills/sk:dashboard/server.js
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## What It Shows
|
|
30
|
+
|
|
31
|
+
- **Swimlanes per worktree** — one row per worktree discovered via `git worktree list`
|
|
32
|
+
- **Phase timeline** — workflow steps laid out as columns (Read, Explore, Plan, Branch, Tests, Implement, Lint, Verify, Security, Review, E2E, Finalize)
|
|
33
|
+
- **Status indicators** — done, skipped, partial, in-progress, not yet
|
|
34
|
+
- **Progress bars** — percentage of steps completed per worktree
|
|
35
|
+
- **Current task** — the active task name from `tasks/todo.md`
|
|
36
|
+
|
|
37
|
+
## Architecture
|
|
38
|
+
|
|
39
|
+
Zero-dependency Node.js server. Uses only built-in modules (`http`, `fs`, `path`, `child_process`).
|
|
40
|
+
|
|
41
|
+
- `server.js` serves the dashboard HTML and exposes `/api/status`
|
|
42
|
+
- `/api/status` reads `tasks/workflow-status.md` and `tasks/todo.md` from each worktree, parses step statuses, and returns JSON
|
|
43
|
+
- `dashboard.html` is a single-file UI (HTML + embedded CSS + JS) that polls `/api/status` every 3 seconds
|
|
44
|
+
- Worktree discovery via `git worktree list`
|
|
45
|
+
|
|
46
|
+
## Key Details
|
|
47
|
+
|
|
48
|
+
- Read-only — does not modify any files
|
|
49
|
+
- Auto-discovers worktrees via `git worktree list`
|
|
50
|
+
- Graceful degradation: missing files show empty state, offline falls back to system fonts
|
|
51
|
+
- Default port 3333, configurable via `--port` flag or `PORT` env var
|
|
52
|
+
- Uses only Node.js built-in modules (http, fs, path, child_process)
|
|
53
|
+
|
|
54
|
+
## Files
|
|
55
|
+
|
|
56
|
+
- `server.js` — Node.js HTTP server (~150 lines)
|
|
57
|
+
- `dashboard.html` — Single-file Kanban UI (HTML + embedded CSS + JS)
|
|
58
|
+
|
|
59
|
+
## Model Routing
|
|
60
|
+
|
|
61
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
62
|
+
|
|
63
|
+
- If `model_overrides["sk:dashboard"]` is set, use that model — it takes precedence.
|
|
64
|
+
- Otherwise use the `profile` field. Default: `balanced`.
|
|
65
|
+
|
|
66
|
+
| Profile | Model |
|
|
67
|
+
|---------|-------|
|
|
68
|
+
| `full-sail` | sonnet |
|
|
69
|
+
| `quality` | sonnet |
|
|
70
|
+
| `balanced` | sonnet |
|
|
71
|
+
| `budget` | haiku |
|