@kennethsolomon/shipkit 3.7.0 → 3.9.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 (30) hide show
  1. package/README.md +181 -257
  2. package/package.json +1 -1
  3. package/skills/sk:fast-track/SKILL.md +80 -0
  4. package/skills/sk:gates/SKILL.md +97 -0
  5. package/skills/sk:retro/SKILL.md +124 -0
  6. package/skills/sk:reverse-doc/SKILL.md +116 -0
  7. package/skills/sk:scope-check/SKILL.md +93 -0
  8. package/skills/sk:setup-claude/SKILL.md +55 -0
  9. package/skills/sk:setup-claude/scripts/apply_setup_claude.py +207 -6
  10. package/skills/sk:setup-claude/templates/.claude/agents/e2e-tester.md +46 -0
  11. package/skills/sk:setup-claude/templates/.claude/agents/linter.md +53 -0
  12. package/skills/sk:setup-claude/templates/.claude/agents/perf-auditor.md +43 -0
  13. package/skills/sk:setup-claude/templates/.claude/agents/security-auditor.md +47 -0
  14. package/skills/sk:setup-claude/templates/.claude/agents/test-runner.md +42 -0
  15. package/skills/sk:setup-claude/templates/.claude/rules/api.md.template +14 -0
  16. package/skills/sk:setup-claude/templates/.claude/rules/frontend.md.template +15 -0
  17. package/skills/sk:setup-claude/templates/.claude/rules/laravel.md.template +15 -0
  18. package/skills/sk:setup-claude/templates/.claude/rules/react.md.template +14 -0
  19. package/skills/sk:setup-claude/templates/.claude/rules/tests.md.template +16 -0
  20. package/skills/sk:setup-claude/templates/.claude/settings.json.template +76 -0
  21. package/skills/sk:setup-claude/templates/.claude/statusline.sh +50 -0
  22. package/skills/sk:setup-claude/templates/CLAUDE.md.template +18 -1
  23. package/skills/sk:setup-claude/templates/hooks/log-agent.sh +24 -0
  24. package/skills/sk:setup-claude/templates/hooks/pre-compact.sh +44 -0
  25. package/skills/sk:setup-claude/templates/hooks/session-start.sh +53 -0
  26. package/skills/sk:setup-claude/templates/hooks/session-stop.sh +33 -0
  27. package/skills/sk:setup-claude/templates/hooks/validate-commit.sh +81 -0
  28. package/skills/sk:setup-claude/templates/hooks/validate-push.sh +43 -0
  29. package/skills/sk:setup-claude/templates/tasks/cross-platform.md.template +31 -0
  30. package/skills/sk:setup-optimizer/SKILL.md +2 -1
package/README.md CHANGED
@@ -4,10 +4,8 @@
4
4
 
5
5
  **A structured, quality-gated workflow system for Claude Code.**
6
6
 
7
- Stop winging it. Ship features with TDD, auto-detecting linters, security audits,<br>
8
- and AI-powered code review — all wired into a single repeatable workflow.
9
-
10
- **Every gate must pass. Quality isn't optional — it's structural.**
7
+ Ship features with TDD, security audits, and AI-powered code review —<br>
8
+ all wired into a single repeatable workflow.
11
9
 
12
10
  [![npm](https://img.shields.io/npm/v/@kennethsolomon%2Fshipkit)](https://www.npmjs.com/package/@kennethsolomon/shipkit)
13
11
  [![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
@@ -17,334 +15,260 @@ and AI-powered code review — all wired into a single repeatable workflow.
17
15
  npm install -g @kennethsolomon/shipkit && shipkit
18
16
  ```
19
17
 
20
- Works on Mac, Linux, and Windows.
21
-
22
- </div>
23
-
24
- <div align="center">
25
-
26
- ![ShipKit terminal demo](assets/shipkit-terminal.png)
27
-
28
18
  </div>
29
19
 
30
20
  ---
31
21
 
32
- <div align="center">
22
+ ## What is ShipKit?
33
23
 
34
- *"Ran `/sk:review` on what I thought was done. It found 3 things I would have caught in production. Now it's in every merge."*
24
+ ShipKit turns Claude Code into a disciplined development partner. Instead of "write some code," every feature goes through:
35
25
 
36
- *"Every other Claude workflow I tried was either too rigid or too vague. ShipKit is the first one that actually ships."*
26
+ **Plan** **Build (TDD)** **Quality Gates** **Ship**
37
27
 
38
- *"The gates feel annoying until the day they catch something real. Now I don't merge without them."*
28
+ Each gate must pass before the next step. Lint fails? Fix it. Tests don't cover new code? Write them. Security issues? They block the PR. Quality is structural, not optional.
39
29
 
40
- </div>
30
+ ShipKit auto-detects your stack — linters, test runners, frameworks, package managers. No configuration needed.
41
31
 
42
32
  ---
43
33
 
44
34
  ## Quick Start
45
35
 
46
36
  ```bash
47
- # 1. Install ShipKit globally
37
+ # 1. Install
48
38
  npm install -g @kennethsolomon/shipkit && shipkit
49
39
 
50
- # 2. Bootstrap your project (run inside your project directory)
40
+ # 2. Bootstrap your project (run once)
51
41
  /sk:setup-claude
52
42
 
53
- # 3. Start your first feature
43
+ # 3. Start building
54
44
  /sk:brainstorm
55
45
  ```
56
46
 
57
- `/sk:setup-claude` creates `tasks/todo.md`, `tasks/lessons.md`, and a project-specific `CLAUDE.md` with the full workflow baked in. Run it once per project.
47
+ That's it. `/sk:setup-claude` creates your project scaffolding: planning files, lifecycle hooks, path-scoped coding rules, and a persistent statusline all auto-configured for your stack.
58
48
 
59
49
  ---
60
50
 
61
- ## How It Works
62
-
63
- ShipKit installs slash commands and skills into `~/.claude/`. Each command is a focused instruction set that Claude follows — no magic, just structured prompts that enforce quality gates.
51
+ ## Pick Your Flow
64
52
 
65
- The workflow is linear: **Read Explore Design Accessibility → Plan → Branch → Migrate → Write Tests → Implement → Lint → Verify Tests → Security → Performance → Review → E2E Tests → Finish → Sync Features**
53
+ | I want to... | Run this | What happens |
54
+ |--------------|----------|-------------|
55
+ | **Build a new feature** | `/sk:brainstorm` | Full workflow: plan → TDD → 6 quality gates → PR |
56
+ | **Make a small change** | `/sk:fast-track` | Skip planning, keep all quality gates |
57
+ | **Fix a bug** | `/sk:debug` | Investigate → regression test → fix → gates → PR |
58
+ | **Fix a production emergency** | `/sk:hotfix` | Skip TDD, but quality gates still enforced |
59
+ | **Handle a requirement change** | `/sk:change` | Assess scope, re-enter workflow at the right step |
66
60
 
67
- Every gate must pass before the next step. If lint fails, fix it. If tests don't cover new code, write them. Security issues block the PR. This isn't optional — it's the whole point.
61
+ ---
68
62
 
69
- **Requirements change mid-workflow?** Run `/sk:change`. It assesses the scope and tells you exactly where to re-enter — no guessing, no skipping steps.
63
+ ## Workflows
64
+
65
+ ### Feature Flow — full planning + TDD + all gates
66
+
67
+ > Start with: `/sk:brainstorm`
68
+
69
+ | Step | Command | What it does | Phase |
70
+ |------|---------|-------------|-------|
71
+ | 1 | `/sk:brainstorm` | Explore requirements, propose approaches | Think |
72
+ | 2 | `/sk:frontend-design` | *Optional* — UI mockup (`--pencil` for visual) | Think |
73
+ | 3 | `/sk:api-design` | *Optional* — API contracts | Think |
74
+ | 4 | `/sk:accessibility` | *Optional* — WCAG 2.1 AA audit on design | Think |
75
+ | 5 | `/sk:write-plan` | Write decision-complete plan | Think |
76
+ | 6 | `/sk:branch` | Create feature branch | Build |
77
+ | 7 | `/sk:schema-migrate` | *Optional* — auto-skips if no migrations | Build |
78
+ | 8 | `/sk:write-tests` | TDD red — write failing tests | Build |
79
+ | 9 | `/sk:execute-plan` | TDD green — make tests pass | Build |
80
+ | 10 | `/sk:smart-commit` | Conventional commit | Build |
81
+ | 11 | `/sk:gates` | All 6 quality gates (parallel) | Verify |
82
+ | 12 | `/sk:update-task` | Mark done | Ship |
83
+ | 13 | `/sk:finish-feature` | Changelog + PR | Ship |
84
+ | 14 | `/sk:features` | Sync feature specs | Ship |
85
+ | 15 | `/sk:release` | *Optional* — version bump + tag | Ship |
70
86
 
71
87
  ---
72
88
 
73
- ## Workflow
89
+ ### Fast-Track Flow — skip planning, keep all gates
74
90
 
75
- ### Feature Flow
91
+ > Start with: `/sk:fast-track`
76
92
 
77
- ```
78
- Brainstorm → Plan → Branch → [Schema] → Write Tests → Implement → Commit
79
- Lint Test Security ✓ → Review ✓ → E2E ✓ → Update Task → Finish → Sync Features
80
- ```
93
+ | Step | Command | What it does | Phase |
94
+ |------|---------|-------------|-------|
95
+ | ~~1~~ | ~~/sk:brainstorm~~ | **Skipped** | |
96
+ | ~~2~~ | ~~/sk:write-plan~~ | **Skipped** | — |
97
+ | ~~3~~ | ~~/sk:write-tests~~ | **Skipped** | — |
98
+ | 4 | `/sk:branch` | Create feature branch | Build |
99
+ | 5 | implement directly | No TDD — write code | Build |
100
+ | 6 | `/sk:smart-commit` | Conventional commit | Build |
101
+ | 7 | `/sk:gates` | All 6 quality gates (parallel) | Verify |
102
+ | 8 | `/sk:finish-feature` | Changelog + PR | Ship |
81
103
 
82
- | # | Command | Purpose |
83
- |---|---------|---------|
84
- | 1 | read `tasks/todo.md` | Pick the next task |
85
- | 2 | read `tasks/lessons.md` | Review past corrections |
86
- | 3 | `/sk:brainstorm` | Clarify requirements — no code |
87
- | 4 | `/sk:frontend-design` or `/sk:api-design` | Design spec *(skip if not needed)*. Frontend: add `--pencil` for Pencil visual mockup. API: REST/GraphQL contracts. |
88
- | 5 | `/sk:accessibility` | WCAG 2.1 AA audit on design *(skip if no frontend)* |
89
- | 6 | `/sk:write-plan` | Write plan to `tasks/todo.md` |
90
- | 7 | `/sk:branch` | Create branch from current task |
91
- | 8 | `/sk:schema-migrate` | Schema change analysis *(skip if no DB changes)* |
92
- | 9 | `/sk:write-tests` | TDD red: write failing tests first |
93
- | 10 | `/sk:execute-plan` | TDD green: make tests pass |
94
- | 11 | `/sk:smart-commit` | Conventional commit |
95
- | 12 | **`/sk:lint`** | **GATE** — Lint + Dep Audit — all linters must pass |
96
- | 13 | **`/sk:test`** | **GATE** — 100% coverage on new code |
97
- | 14 | **`/sk:security-check`** | **GATE** — 0 issues |
98
- | 15 | **`/sk:perf`** | **GATE** *(optional)* — critical/high findings = 0 |
99
- | 16 | **`/sk:review`** | **GATE** — Review + Simplify + Blast Radius — 0 issues including nitpicks |
100
- | 17 | **`/sk:e2e`** | **GATE** — E2E Tests — prefers Playwright CLI when config detected, falls back to agent-browser; all scenarios must pass |
101
- | 18 | `/sk:update-task` | Mark done, log completion |
102
- | 19 | `/sk:finish-feature` | Changelog + PR |
103
- | 20 | `/sk:features` | Sync Features — update docs/features/ specs *(required)* |
104
- | 21 | `/sk:release` | Version bump + tag *(optional)* |
105
-
106
- > **Fix & Retest Protocol:** All code-producing gates (Lint, Test, Security, Performance, Review, E2E) apply the Fix & Retest Protocol: logic changes require updating unit tests before committing the fix. Fix immediately, then re-run — never ask the user to re-run.
107
-
108
- ### Bug Fix Flow
104
+ Guard rails: warns if diff > 300 lines or > 5 new files.
109
105
 
110
- ```
111
- Debug → Plan → Branch → Write Tests → Implement → Lint ✓ → Test ✓ → Security ✓ → Review ✓ → Finish
112
- ```
106
+ ---
113
107
 
114
- | # | Command | Purpose |
115
- |---|---------|---------|
116
- | 1 | `/sk:debug` | Root-cause analysis |
117
- | 2 | `/sk:write-plan` | Fix plan |
118
- | 3 | `/sk:branch` | Create branch |
119
- | 4 | `/sk:write-tests` | Reproduce the bug in a test |
120
- | 5 | `/sk:execute-plan` | Fix — make the test pass |
121
- | 6–10 | `/sk:lint` → `/sk:test` → `/sk:security-check` → `/sk:review` → `/sk:e2e` | Quality gates |
122
- | 11 | `/sk:finish-feature` | Changelog + PR |
108
+ ### Bug Fix Flow investigate first, then fix
123
109
 
124
- ### Hotfix Flow
110
+ > Start with: `/sk:debug`
125
111
 
126
- For production issues that need to ship immediately. Skips brainstorm, design, and TDD. **Quality gates are non-negotiable even in a hotfix.**
112
+ | Step | Command | What it does | Phase |
113
+ |------|---------|-------------|-------|
114
+ | ~~1~~ | ~~/sk:brainstorm~~ | **Skipped** | — |
115
+ | ~~2~~ | ~~/sk:write-plan~~ | **Skipped** | — |
116
+ | 3 | `/sk:debug` | Reproduce, isolate, hypothesize, verify | Think |
117
+ | 4 | `/sk:branch` | Create fix branch | Build |
118
+ | 5 | `/sk:write-tests` | Regression test that reproduces the bug | Build |
119
+ | 6 | implement the fix | Make regression test pass | Build |
120
+ | 7 | `/sk:smart-commit` | Commit fix + test | Build |
121
+ | 8 | `/sk:gates` | All 6 quality gates (parallel) | Verify |
122
+ | 9 | `/sk:finish-feature` | Changelog + PR | Ship |
127
123
 
128
- ```
129
- Debug → Branch → Fix → Smoke Test → Lint ✓ → Test ✓ → Security ✓ → Review ✓ → Finish
130
- ```
124
+ ---
131
125
 
132
- | # | Command | Purpose |
133
- |---|---------|---------|
134
- | 1 | `/sk:debug` | Root-cause analysis — understand before touching code |
135
- | 2 | `/sk:branch` | Auto-named from the bug description |
136
- | 3 | implement directly | No write-tests phase — go straight to the fix |
137
- | 4 | run existing tests | Existing tests MUST still pass |
138
- | 5 | `/sk:smart-commit` | Commit the fix |
139
- | 6 | **`/sk:lint`** | **GATE** |
140
- | 7 | **`/sk:test`** | **GATE** |
141
- | 8 | **`/sk:security-check`** | **GATE** |
142
- | 9 | **`/sk:review`** | **GATE** |
143
- | 10 | `/sk:update-task` | Mark done |
144
- | 11 | `/sk:finish-feature` | Changelog + PR — mark as hotfix |
126
+ ### Hotfix Flow production emergency
145
127
 
146
- After merging: add a regression test and a lesson to `tasks/lessons.md`.
128
+ > Start with: `/sk:hotfix`
147
129
 
148
- ### Requirement Change Flow
130
+ | Step | Command | What it does | Phase |
131
+ |------|---------|-------------|-------|
132
+ | ~~1~~ | ~~/sk:brainstorm~~ | **Skipped** | — |
133
+ | ~~2~~ | ~~/sk:write-plan~~ | **Skipped** | — |
134
+ | ~~3~~ | ~~/sk:write-tests~~ | **Skipped** | — |
135
+ | 4 | `/sk:debug` | Root-cause analysis | Think |
136
+ | 5 | `/sk:branch` | Create hotfix branch | Build |
137
+ | 6 | implement directly | Fix the issue | Build |
138
+ | 7 | run existing tests | Must still pass | Build |
139
+ | 8 | `/sk:smart-commit` | Commit the fix | Build |
140
+ | 9 | `/sk:gates` | All 6 quality gates (parallel) | Verify |
141
+ | 10 | `/sk:finish-feature` | Changelog + PR (marked as hotfix) | Ship |
149
142
 
150
- Requirements change mid-workflow all the time. Run `/sk:change` whenever something shifts it classifies the scope and routes you back to the right step automatically.
143
+ After merging: add regression test + lesson to `tasks/lessons.md`.
151
144
 
152
- ```
153
- Requirement changes → /sk:change → re-enter at correct step
154
- ```
145
+ ---
155
146
 
156
- | Tier | What changed | Re-entry point |
157
- |------|-------------|----------------|
158
- | **Tier 1** — Behavior Tweak | Logic changes, scope stays the same *(e.g. delete all → delete users only)* | `/sk:write-tests` |
159
- | **Tier 2** — New Requirements | New scope, new constraints, new acceptance criteria | `/sk:write-plan` |
160
- | **Tier 3** — Scope Shift | Fundamental rethinking of approach or architecture | `/sk:brainstorm` |
147
+ ### Requirement Change mid-workflow pivot
161
148
 
162
- `/sk:change` logs the change to `tasks/todo.md` and `tasks/progress.md`, marks invalidated tasks, and tells you exactly what to carry forward.
149
+ > Run: `/sk:change` it classifies scope and re-enters at the right step
150
+
151
+ | Tier | What changed | Example | Re-entry point |
152
+ |------|-------------|---------|----------------|
153
+ | **Tier 1** | Behavior tweak (same scope) | "Delete all" → "Delete users only" | `/sk:write-tests` |
154
+ | **Tier 2** | New requirements (new scope) | "Also add export to CSV" | `/sk:write-plan` |
155
+ | **Tier 3** | Scope shift (rethink) | "Different approach entirely" | `/sk:brainstorm` |
163
156
 
164
157
  ---
165
158
 
166
- ## Commands
167
-
168
- ### Planning & Design
169
-
170
- | Command | Description |
171
- |---------|-------------|
172
- | `/sk:brainstorm` | Explore requirements and design before writing any code |
173
- | `/sk:frontend-design` | Create UI design specs and mockups. After the design summary, it asks if you want a Pencil visual mockup. Use `--pencil` flag to jump directly to the Pencil phase *(requires Pencil app + MCP)* |
174
- | `/sk:api-design` | Design REST or GraphQL API contracts |
175
- | `/sk:accessibility` | WCAG 2.1 AA audit on design or existing frontend |
176
- | `/sk:write-plan` | Write a decision-complete plan to `tasks/todo.md` |
177
- | `/sk:plan` | Create or refresh task planning files |
178
- | `/sk:setup-claude` | Bootstrap project scaffolding (CLAUDE.md + tasks/) |
179
- | `/sk:setup-optimizer` | Enrich CLAUDE.md by scanning the codebase |
180
-
181
- ### Development
182
-
183
- | Command | Description |
184
- |---------|-------------|
185
- | `/sk:branch` | Create a feature branch from the current task |
186
- | `/sk:schema-migrate` | Analyze pending schema changes (Prisma, Drizzle, Eloquent, SQLAlchemy, ActiveRecord) |
187
- | `/sk:write-tests` | TDD: write failing tests before implementation |
188
- | `/sk:execute-plan` | Implement the plan in small batches |
189
- | `/sk:change` | Handle a mid-workflow requirement change — assess scope and re-enter at the right step |
190
- | `/sk:debug` | Structured bug investigation: reproduce → isolate → fix |
191
- | `/sk:hotfix` | Emergency fix workflow — skips design and TDD |
192
-
193
- ### Prototyping
194
-
195
- | Command | Description |
196
- |---------|-------------|
197
- | `/sk:mvp` | Generate a complete MVP from a single idea prompt — landing page with waitlist + working app with fake data. Supports Next.js, Nuxt, Laravel, React+Vite. Optional Pencil MCP design phase and Playwright MCP visual validation. |
198
-
199
- ### Quality Gates
200
-
201
- | Command | Description |
202
- |---------|-------------|
203
- | `/sk:lint` | Auto-detect and run all linters (Pint, ESLint, PHPStan, Prettier…) |
204
- | `/sk:test` | Auto-detect and run all test suites, verify 100% coverage on new code |
205
- | `/sk:security-check` | OWASP security audit across changed code |
206
- | `/sk:perf` | Performance audit: bundle size, N+1 queries, Core Web Vitals |
207
- | `/sk:seo-audit` | SEO audit — dual-mode (source templates + dev server), ask-before-fix, checklist output to `tasks/seo-findings.md` |
208
- | `/sk:review` | Blast-radius-aware self-review across 7 dimensions + cross-file impact analysis |
209
-
210
- ### Shipping
211
-
212
- | Command | Description |
213
- |---------|-------------|
214
- | `/sk:smart-commit` | Generate conventional commit messages with approval |
215
- | `/sk:update-task` | Mark current task done, log completion |
216
- | `/sk:finish-feature` | Write changelog entry + create PR |
217
- | `/sk:release` | Version bump + CHANGELOG + git tag + push |
218
- | `/sk:features` | Sync docs/features/ specs with the codebase |
219
-
220
- ### Laravel
221
-
222
- | Command | Description |
223
- |---------|-------------|
224
- | `/sk:laravel-new` | Scaffold a fresh Laravel app with production-ready conventions |
225
- | `/sk:laravel-init` | Configure an existing Laravel project |
226
-
227
- ### Configuration
228
-
229
- | Command | Description |
230
- |---------|-------------|
231
- | `/sk:config` | View and edit project config (`.shipkit/config.json`) |
232
- | `/sk:set-profile` | Switch model routing profile for this project |
233
-
234
- ### Meta
235
-
236
- | Command | Description |
237
- |---------|-------------|
238
- | `/sk:help` | Show all commands and workflow overview |
239
- | `/sk:status` | Show workflow and task status at a glance |
240
- | `/sk:dashboard` | Read-only workflow Kanban board — localhost server, multi-worktree |
241
- | `/sk:context` | Load all context files + output session brief for fast session start |
242
- | `/sk:skill-creator` | Create or improve ShipKit skills |
159
+ ## Quality Gates (`/sk:gates`)
243
160
 
244
- ---
161
+ One command runs all 6 gates in parallel batches:
245
162
 
246
- ## Model Routing Profiles
163
+ | Batch | Gates | Why this order |
164
+ |-------|-------|---------------|
165
+ | **1** (parallel) | lint + security + perf | Independent — run simultaneously |
166
+ | **2** | tests | Needs lint fixes first |
167
+ | **3** | code review | Needs deep understanding |
168
+ | **4** | E2E Tests | Needs review fixes |
247
169
 
248
- ShipKit routes each skill to the right model automatically. Set it once per project:
170
+ Each gate auto-fixes, auto-commits, and re-runs until clean. If a gate fails 3 times, it stops and asks for help.
249
171
 
250
- ```bash
251
- /sk:set-profile balanced # default
252
- /sk:set-profile quality # most projects
253
- /sk:set-profile full-sail # high-stakes / client work
254
- /sk:set-profile budget # side projects / exploration
255
- ```
172
+ Pre-existing issues are logged to `tasks/tech-debt.md` — not fixed inline.
256
173
 
257
- | Profile | Philosophy | Best for |
258
- |---------|-----------|---------|
259
- | `full-sail` | Opus on everything that matters | High-stakes work, client projects |
260
- | `quality` | Opus for planning + review, Sonnet for implementation | Most professional projects |
261
- | `balanced` | Sonnet across the board *(default)* | Day-to-day development |
262
- | `budget` | Haiku where possible, Sonnet for gates | Side projects, prototyping |
263
-
264
- | Skill group | full-sail | quality | balanced | budget |
265
- |-------------|-----------|---------|----------|--------|
266
- | brainstorm, write-plan, debug, execute-plan, review | opus | opus | sonnet | sonnet |
267
- | write-tests, frontend-design, api-design, security-check | opus | sonnet | sonnet | sonnet |
268
- | change | opus | sonnet | sonnet | sonnet |
269
- | perf, schema-migrate, accessibility | opus | sonnet | sonnet | haiku |
270
- | lint, test | sonnet | sonnet | haiku | haiku |
271
- | smart-commit, branch, update-task | haiku | haiku | haiku | haiku |
272
-
273
- `opus` = inherit (uses your current session model). Config lives in `.shipkit/config.json` — per project, gitignored by default.
274
-
275
- ### Config Reference
276
-
277
- ```json
278
- {
279
- "profile": "balanced",
280
- "auto_commit": true,
281
- "skip_gates": [],
282
- "coverage_threshold": 100,
283
- "branch_pattern": "feature/{slug}",
284
- "model_overrides": { "sk:review": "opus" }
285
- }
286
- ```
174
+ ---
175
+
176
+ ## On-Demand Tools
287
177
 
288
- | Setting | Default | Description |
289
- |---------|---------|-------------|
290
- | `profile` | `balanced` | Model routing profile |
291
- | `auto_commit` | `true` | Auto-commit after each gate passes |
292
- | `skip_gates` | `[]` | Gates to skip e.g. `["perf","accessibility"]` for backend-only projects |
293
- | `coverage_threshold` | `100` | Minimum test coverage % on new code |
294
- | `branch_pattern` | `feature/{slug}` | Branch naming convention |
295
- | `model_overrides` | `{}` | Per-skill model overrides that take precedence over profile |
178
+ Use these anytime they're not part of any workflow.
179
+
180
+ | Command | When to use |
181
+ |---------|------------|
182
+ | `/sk:scope-check` | Mid-implementation detect scope creep (On Track / Minor / Significant / Out of Control) |
183
+ | `/sk:retro` | After shipping analyze velocity, blockers, patterns, generate action items |
184
+ | `/sk:reverse-doc` | Inherited codebase — generate architecture/design docs from existing code |
185
+ | `/sk:status` | Quick view of workflow and task status |
186
+ | `/sk:dashboard` | Visual Kanban board across all git worktrees |
187
+ | `/sk:mvp` | Generate a complete MVP app from a single idea prompt |
188
+ | `/sk:seo-audit` | SEO audit for web projects |
296
189
 
297
190
  ---
298
191
 
299
192
  ## Stack Support
300
193
 
301
- ShipKit auto-detects your stack — no configuration needed.
302
-
303
194
  | Area | Supported |
304
195
  |------|-----------|
305
- | **Linters** | Pint, ESLint, PHPStan, Rector, Prettier, Biome, Stylelint |
306
- | **Test runners** | Pest, PHPUnit, Jest, Vitest, Playwright |
307
- | **Schema / ORM** | Prisma, Drizzle, Eloquent, SQLAlchemy + Alembic, ActiveRecord |
308
196
  | **Frameworks** | Laravel, Next.js, Nuxt, React, Vue, Node.js |
197
+ | **Linters** | Pint, ESLint, PHPStan, Rector, Prettier, Biome |
198
+ | **Test runners** | Pest, PHPUnit, Jest, Vitest, Playwright |
199
+ | **Schema / ORM** | Prisma, Drizzle, Eloquent, SQLAlchemy, ActiveRecord |
309
200
  | **Release** | npm, Composer, iOS (App Store), Android (Play Store) |
310
201
 
311
202
  ---
312
203
 
313
- ## Security
314
-
315
- ShipKit instructs Claude to audit your code — but Claude also has access to your filesystem. Protect sensitive files by adding a deny list to `.claude/settings.json` in your project:
316
-
317
- ```json
318
- {
319
- "permissions": {
320
- "deny": [
321
- "Read(.env)",
322
- "Read(.env.*)",
323
- "Read(**/*.pem)",
324
- "Read(**/*.key)",
325
- "Read(**/*.p12)",
326
- "Read(**/credentials*)"
327
- ]
328
- }
329
- }
330
- ```
331
-
332
- This prevents Claude from reading secrets even if a prompt tries to access them. Pair this with your `.gitignore` — never commit `.env` files.
333
-
334
- If you discover a security issue in ShipKit itself, please open a [GitHub issue](https://github.com/kennethsolomon/shipkit/issues) or email directly rather than posting publicly.
204
+ ## All Commands
205
+
206
+ <details>
207
+ <summary><strong>35 commands</strong> — click to expand</summary>
208
+
209
+ | Command | Purpose |
210
+ |---------|---------|
211
+ | `/sk:accessibility` | WCAG 2.1 AA audit |
212
+ | `/sk:api-design` | Design API contracts before implementation |
213
+ | `/sk:brainstorm` | Explore requirements and design |
214
+ | `/sk:branch` | Create feature branch from current task |
215
+ | `/sk:change` | Handle mid-workflow requirement changes |
216
+ | `/sk:config` | View/edit project config |
217
+ | `/sk:context` | Load project context (automatic via hooks) |
218
+ | `/sk:dashboard` | Live Kanban board — sk:dashboard across worktrees |
219
+ | `/sk:debug` | Structured bug investigation |
220
+ | `/sk:e2e` | E2E Tests — behavioral verification |
221
+ | `/sk:execute-plan` | Execute plan checkboxes in batches |
222
+ | `/sk:fast-track` | Small changes — skip planning, keep gates |
223
+ | `/sk:features` | Sync feature specs with codebase |
224
+ | `/sk:finish-feature` | Changelog + PR |
225
+ | `/sk:frontend-design` | UI mockup + optional Pencil visual design |
226
+ | `/sk:gates` | All quality gates in parallel batches |
227
+ | `/sk:help` | Show all commands |
228
+ | `/sk:hotfix` | Emergency fix workflow |
229
+ | `/sk:laravel-init` | Configure existing Laravel project |
230
+ | `/sk:laravel-new` | Scaffold fresh Laravel app |
231
+ | `/sk:lint` | Auto-detect and run all linters |
232
+ | `/sk:mvp` | Generate MVP app from a prompt |
233
+ | `/sk:perf` | Performance audit |
234
+ | `/sk:plan` | Create/refresh planning files |
235
+ | `/sk:release` | Version bump + tag (`--android` / `--ios` for store audit) |
236
+ | `/sk:retro` | Post-ship retrospective |
237
+ | `/sk:reverse-doc` | Generate docs from existing code |
238
+ | `/sk:review` | 7-dimension code review |
239
+ | `/sk:schema-migrate` | Database schema change analysis |
240
+ | `/sk:scope-check` | Detect scope creep mid-implementation |
241
+ | `/sk:security-check` | OWASP security audit |
242
+ | `/sk:seo-audit` | sk:seo-audit for web projects |
243
+ | `/sk:set-profile` | Switch model routing profile |
244
+ | `/sk:setup-claude` | Bootstrap project scaffolding |
245
+ | `/sk:smart-commit` | Conventional commit with approval |
246
+ | `/sk:status` | Show workflow + task status |
247
+ | `/sk:test` | Run all test suites |
248
+ | `/sk:update-task` | Mark task done |
249
+ | `/sk:write-plan` | Write plan to `tasks/todo.md` |
250
+ | `/sk:write-tests` | TDD: write failing tests first |
251
+
252
+ </details>
335
253
 
336
254
  ---
337
255
 
338
- ## License
256
+ ## Learn More
339
257
 
340
- MIT see [LICENSE](LICENSE) for details.
341
-
342
- Built by [Kenneth Solomon](https://github.com/kennethsolomon).
258
+ | Topic | Where |
259
+ |-------|-------|
260
+ | Detailed workflow steps (21-step table) | [DOCUMENTATION.md](.claude/docs/DOCUMENTATION.md) |
261
+ | Feature specifications | [docs/FEATURES.md](docs/FEATURES.md) |
262
+ | Model routing profiles & config | [DOCUMENTATION.md — Config](.claude/docs/DOCUMENTATION.md#config-reference) |
263
+ | Infrastructure (hooks, agents, rules) | [DOCUMENTATION.md — Setup](.claude/docs/DOCUMENTATION.md#what-gets-created) |
264
+ | Security & permissions | [DOCUMENTATION.md — Security](.claude/docs/DOCUMENTATION.md#security) |
343
265
 
344
266
  ---
345
267
 
346
268
  <div align="center">
347
269
 
270
+ MIT License — Built by [Kenneth Solomon](https://github.com/kennethsolomon)
271
+
348
272
  **Claude Code is powerful. ShipKit makes it reliable.**
349
273
 
350
274
  </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kennethsolomon/shipkit",
3
- "version": "3.7.0",
3
+ "version": "3.9.0",
4
4
  "description": "A structured workflow toolkit for Claude Code.",
5
5
  "keywords": [
6
6
  "claude",
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: sk:fast-track
3
+ description: Abbreviated workflow for small, clear changes — skip planning ceremony, keep all quality gates
4
+ user_invocable: true
5
+ allowed_tools: Read, Write, Bash, Glob, Grep, Agent, Skill
6
+ ---
7
+
8
+ # Fast-Track Flow
9
+
10
+ Abbreviated workflow for small, well-understood changes. Skips brainstorm, design, plan, and write-tests phases but still enforces all quality gates.
11
+
12
+ ## When to Use
13
+
14
+ - Config changes, dependency bumps, copy/wording changes
15
+ - Small refactors with obvious scope
16
+ - Adding a missing test for existing code
17
+ - Fixing a typo or updating documentation
18
+ - Any change where the "what" is already clear and doesn't need design exploration
19
+
20
+ ## When NOT to Use
21
+
22
+ - New features (use full workflow)
23
+ - Changes affecting multiple systems (use full workflow)
24
+ - Anything requiring design decisions (use `/sk:brainstorm` first)
25
+ - Bug fixes (use `/sk:debug` flow)
26
+
27
+ ## Guard Rails
28
+
29
+ Before proceeding, check the scope of planned changes:
30
+
31
+ 1. **Diff size check**: After implementation, run `git diff --stat HEAD`. If the diff exceeds **300 lines** changed:
32
+ > "This change is [N] lines — larger than the 300-line fast-track threshold. Consider the full workflow for better test coverage. Continue anyway? (y/n)"
33
+
34
+ 2. **New file count**: If more than **5 new files** are created:
35
+ > "You've created [N] new files. Consider running `/sk:write-tests` first. Continue anyway? (y/n)"
36
+
37
+ 3. **Migration check**: If any migration files are detected in changes, warn:
38
+ > "Migration files detected. Consider running `/sk:schema-migrate` for analysis."
39
+
40
+ ## Steps
41
+
42
+ ### 1. Context (quick)
43
+ - Read `tasks/todo.md` — pick the task or accept user's description
44
+ - Read `tasks/lessons.md` — apply active lessons as constraints
45
+
46
+ ### 2. Branch
47
+ - Run `/sk:branch` to create a feature branch
48
+
49
+ ### 3. Implement
50
+ - Write the code directly — no brainstorm, design, plan, or TDD phases
51
+ - Focus on the minimal change needed
52
+
53
+ ### 4. Commit
54
+ - Run `/sk:smart-commit` to stage and commit with conventional commit message
55
+
56
+ ### 5. Gates
57
+ - Run `/sk:gates` — all quality gates in optimized parallel batches
58
+ - This is the same gate process as the full workflow — no shortcuts on quality
59
+ - Lint, test, security, perf, review, E2E all run
60
+
61
+ ### 6. Finalize
62
+ - Run `/sk:finish-feature` for changelog + PR
63
+
64
+ ## Workflow Status
65
+
66
+ Fast-track updates `tasks/workflow-status.md` with abbreviated steps:
67
+ - Steps 1-2 (read): done
68
+ - Steps 3-6 (explore, design, accessibility, plan): skipped (fast-track)
69
+ - Steps 7-11 (branch, implement, commit): done
70
+ - Steps 12-17 (gates): handled by `/sk:gates`
71
+ - Steps 18-21 (update, finalize, sync, release): done as applicable
72
+
73
+ ## Model Routing
74
+
75
+ | Profile | Model |
76
+ |---------|-------|
77
+ | `full-sail` | opus (inherit) |
78
+ | `quality` | sonnet |
79
+ | `balanced` | sonnet |
80
+ | `budget` | haiku |