@kennethsolomon/shipkit 3.8.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.
- package/README.md +181 -262
- package/package.json +1 -1
- package/skills/sk:setup-claude/SKILL.md +2 -0
- package/skills/sk:setup-claude/scripts/apply_setup_claude.py +1 -0
- package/skills/sk:setup-claude/templates/CLAUDE.md.template +18 -1
- package/skills/sk:setup-claude/templates/tasks/cross-platform.md.template +31 -0
- 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
|
-
|
|
8
|
-
|
|
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
|
[](https://www.npmjs.com/package/@kennethsolomon/shipkit)
|
|
13
11
|
[](LICENSE)
|
|
@@ -17,339 +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
|
-

|
|
27
|
-
|
|
28
18
|
</div>
|
|
29
19
|
|
|
30
20
|
---
|
|
31
21
|
|
|
32
|
-
|
|
22
|
+
## What is ShipKit?
|
|
33
23
|
|
|
34
|
-
|
|
24
|
+
ShipKit turns Claude Code into a disciplined development partner. Instead of "write some code," every feature goes through:
|
|
35
25
|
|
|
36
|
-
|
|
26
|
+
**Plan** → **Build (TDD)** → **Quality Gates** → **Ship**
|
|
37
27
|
|
|
38
|
-
|
|
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
|
-
|
|
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
|
|
37
|
+
# 1. Install
|
|
48
38
|
npm install -g @kennethsolomon/shipkit && shipkit
|
|
49
39
|
|
|
50
|
-
# 2. Bootstrap your project (run
|
|
40
|
+
# 2. Bootstrap your project (run once)
|
|
51
41
|
/sk:setup-claude
|
|
52
42
|
|
|
53
|
-
# 3. Start
|
|
43
|
+
# 3. Start building
|
|
54
44
|
/sk:brainstorm
|
|
55
45
|
```
|
|
56
46
|
|
|
57
|
-
`/sk:setup-claude` creates
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
61
|
+
---
|
|
68
62
|
|
|
69
|
-
|
|
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
|
-
|
|
89
|
+
### Fast-Track Flow — skip planning, keep all gates
|
|
74
90
|
|
|
75
|
-
|
|
91
|
+
> Start with: `/sk:fast-track`
|
|
76
92
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
110
|
+
> Start with: `/sk:debug`
|
|
125
111
|
|
|
126
|
-
|
|
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
|
-
|
|
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
|
-
|
|
128
|
+
> Start with: `/sk:hotfix`
|
|
147
129
|
|
|
148
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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`
|
|
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
|
-
##
|
|
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
|
-
| `/sk:reverse-doc` | Generate architecture/design docs from existing code |
|
|
181
|
-
|
|
182
|
-
### Development
|
|
183
|
-
|
|
184
|
-
| Command | Description |
|
|
185
|
-
|---------|-------------|
|
|
186
|
-
| `/sk:branch` | Create a feature branch from the current task |
|
|
187
|
-
| `/sk:schema-migrate` | Analyze pending schema changes (Prisma, Drizzle, Eloquent, SQLAlchemy, ActiveRecord) |
|
|
188
|
-
| `/sk:write-tests` | TDD: write failing tests before implementation |
|
|
189
|
-
| `/sk:execute-plan` | Implement the plan in small batches |
|
|
190
|
-
| `/sk:change` | Handle a mid-workflow requirement change — assess scope and re-enter at the right step |
|
|
191
|
-
| `/sk:debug` | Structured bug investigation: reproduce → isolate → fix |
|
|
192
|
-
| `/sk:hotfix` | Emergency fix workflow — skips design and TDD |
|
|
193
|
-
| `/sk:fast-track` | Abbreviated workflow for small changes — skip planning, keep all gates |
|
|
194
|
-
|
|
195
|
-
### Prototyping
|
|
196
|
-
|
|
197
|
-
| Command | Description |
|
|
198
|
-
|---------|-------------|
|
|
199
|
-
| `/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. |
|
|
200
|
-
|
|
201
|
-
### Quality Gates
|
|
202
|
-
|
|
203
|
-
| Command | Description |
|
|
204
|
-
|---------|-------------|
|
|
205
|
-
| `/sk:lint` | Auto-detect and run all linters (Pint, ESLint, PHPStan, Prettier…) |
|
|
206
|
-
| `/sk:test` | Auto-detect and run all test suites, verify 100% coverage on new code |
|
|
207
|
-
| `/sk:security-check` | OWASP security audit across changed code |
|
|
208
|
-
| `/sk:perf` | Performance audit: bundle size, N+1 queries, Core Web Vitals |
|
|
209
|
-
| `/sk:seo-audit` | SEO audit — dual-mode (source templates + dev server), ask-before-fix, checklist output to `tasks/seo-findings.md` |
|
|
210
|
-
| `/sk:review` | Blast-radius-aware self-review across 7 dimensions + cross-file impact analysis |
|
|
211
|
-
| `/sk:gates` | Run all quality gates in optimized parallel batches |
|
|
212
|
-
| `/sk:scope-check` | Compare implementation against plan, detect scope creep |
|
|
213
|
-
|
|
214
|
-
### Shipping
|
|
215
|
-
|
|
216
|
-
| Command | Description |
|
|
217
|
-
|---------|-------------|
|
|
218
|
-
| `/sk:smart-commit` | Generate conventional commit messages with approval |
|
|
219
|
-
| `/sk:update-task` | Mark current task done, log completion |
|
|
220
|
-
| `/sk:finish-feature` | Write changelog entry + create PR |
|
|
221
|
-
| `/sk:release` | Version bump + CHANGELOG + git tag + push |
|
|
222
|
-
| `/sk:features` | Sync docs/features/ specs with the codebase |
|
|
223
|
-
| `/sk:retro` | Post-ship retrospective: velocity, blockers, action items |
|
|
224
|
-
|
|
225
|
-
### Laravel
|
|
226
|
-
|
|
227
|
-
| Command | Description |
|
|
228
|
-
|---------|-------------|
|
|
229
|
-
| `/sk:laravel-new` | Scaffold a fresh Laravel app with production-ready conventions |
|
|
230
|
-
| `/sk:laravel-init` | Configure an existing Laravel project |
|
|
231
|
-
|
|
232
|
-
### Configuration
|
|
233
|
-
|
|
234
|
-
| Command | Description |
|
|
235
|
-
|---------|-------------|
|
|
236
|
-
| `/sk:config` | View and edit project config (`.shipkit/config.json`) |
|
|
237
|
-
| `/sk:set-profile` | Switch model routing profile for this project |
|
|
238
|
-
|
|
239
|
-
### Meta
|
|
240
|
-
|
|
241
|
-
| Command | Description |
|
|
242
|
-
|---------|-------------|
|
|
243
|
-
| `/sk:help` | Show all commands and workflow overview |
|
|
244
|
-
| `/sk:status` | Show workflow and task status at a glance |
|
|
245
|
-
| `/sk:dashboard` | Read-only workflow Kanban board — localhost server, multi-worktree |
|
|
246
|
-
| `/sk:context` | Load all context files + output session brief for fast session start |
|
|
247
|
-
| `/sk:skill-creator` | Create or improve ShipKit skills |
|
|
159
|
+
## Quality Gates (`/sk:gates`)
|
|
248
160
|
|
|
249
|
-
|
|
161
|
+
One command runs all 6 gates in parallel batches:
|
|
250
162
|
|
|
251
|
-
|
|
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 |
|
|
252
169
|
|
|
253
|
-
|
|
170
|
+
Each gate auto-fixes, auto-commits, and re-runs until clean. If a gate fails 3 times, it stops and asks for help.
|
|
254
171
|
|
|
255
|
-
|
|
256
|
-
/sk:set-profile balanced # default
|
|
257
|
-
/sk:set-profile quality # most projects
|
|
258
|
-
/sk:set-profile full-sail # high-stakes / client work
|
|
259
|
-
/sk:set-profile budget # side projects / exploration
|
|
260
|
-
```
|
|
172
|
+
Pre-existing issues are logged to `tasks/tech-debt.md` — not fixed inline.
|
|
261
173
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
| `quality` | Opus for planning + review, Sonnet for implementation | Most professional projects |
|
|
266
|
-
| `balanced` | Sonnet across the board *(default)* | Day-to-day development |
|
|
267
|
-
| `budget` | Haiku where possible, Sonnet for gates | Side projects, prototyping |
|
|
268
|
-
|
|
269
|
-
| Skill group | full-sail | quality | balanced | budget |
|
|
270
|
-
|-------------|-----------|---------|----------|--------|
|
|
271
|
-
| brainstorm, write-plan, debug, execute-plan, review | opus | opus | sonnet | sonnet |
|
|
272
|
-
| write-tests, frontend-design, api-design, security-check | opus | sonnet | sonnet | sonnet |
|
|
273
|
-
| change | opus | sonnet | sonnet | sonnet |
|
|
274
|
-
| perf, schema-migrate, accessibility | opus | sonnet | sonnet | haiku |
|
|
275
|
-
| lint, test | sonnet | sonnet | haiku | haiku |
|
|
276
|
-
| smart-commit, branch, update-task | haiku | haiku | haiku | haiku |
|
|
277
|
-
|
|
278
|
-
`opus` = inherit (uses your current session model). Config lives in `.shipkit/config.json` — per project, gitignored by default.
|
|
279
|
-
|
|
280
|
-
### Config Reference
|
|
281
|
-
|
|
282
|
-
```json
|
|
283
|
-
{
|
|
284
|
-
"profile": "balanced",
|
|
285
|
-
"auto_commit": true,
|
|
286
|
-
"skip_gates": [],
|
|
287
|
-
"coverage_threshold": 100,
|
|
288
|
-
"branch_pattern": "feature/{slug}",
|
|
289
|
-
"model_overrides": { "sk:review": "opus" }
|
|
290
|
-
}
|
|
291
|
-
```
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## On-Demand Tools
|
|
292
177
|
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
|
296
|
-
|
|
297
|
-
| `
|
|
298
|
-
| `
|
|
299
|
-
| `
|
|
300
|
-
| `
|
|
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 |
|
|
301
189
|
|
|
302
190
|
---
|
|
303
191
|
|
|
304
192
|
## Stack Support
|
|
305
193
|
|
|
306
|
-
ShipKit auto-detects your stack — no configuration needed.
|
|
307
|
-
|
|
308
194
|
| Area | Supported |
|
|
309
195
|
|------|-----------|
|
|
310
|
-
| **Linters** | Pint, ESLint, PHPStan, Rector, Prettier, Biome, Stylelint |
|
|
311
|
-
| **Test runners** | Pest, PHPUnit, Jest, Vitest, Playwright |
|
|
312
|
-
| **Schema / ORM** | Prisma, Drizzle, Eloquent, SQLAlchemy + Alembic, ActiveRecord |
|
|
313
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 |
|
|
314
200
|
| **Release** | npm, Composer, iOS (App Store), Android (Play Store) |
|
|
315
201
|
|
|
316
202
|
---
|
|
317
203
|
|
|
318
|
-
##
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
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>
|
|
340
253
|
|
|
341
254
|
---
|
|
342
255
|
|
|
343
|
-
##
|
|
256
|
+
## Learn More
|
|
344
257
|
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
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) |
|
|
348
265
|
|
|
349
266
|
---
|
|
350
267
|
|
|
351
268
|
<div align="center">
|
|
352
269
|
|
|
270
|
+
MIT License — Built by [Kenneth Solomon](https://github.com/kennethsolomon)
|
|
271
|
+
|
|
353
272
|
**Claude Code is powerful. ShipKit makes it reliable.**
|
|
354
273
|
|
|
355
274
|
</div>
|
package/package.json
CHANGED
|
@@ -27,6 +27,7 @@ After bootstrapping a project, the recommended workflow becomes:
|
|
|
27
27
|
- `tasks/progress.md` — chronological work log + test results
|
|
28
28
|
- `tasks/lessons.md` — durable “don’t repeat mistakes” log (**never overwrite**)
|
|
29
29
|
- `tasks/security-findings.md` — security audit results from `/sk:security-check` (**never overwrite**)
|
|
30
|
+
- `tasks/cross-platform.md` — changes that need replication in companion codebase (web <-> mobile) (**never overwrite**)
|
|
30
31
|
|
|
31
32
|
### Project Commands (in `.claude/commands/`)
|
|
32
33
|
- `brainstorm.md` — invokes the global `brainstorming` skill
|
|
@@ -88,6 +89,7 @@ Never overwrite `tasks/lessons.md` — always append.
|
|
|
88
89
|
- `tasks/progress.md`
|
|
89
90
|
- `tasks/lessons.md`
|
|
90
91
|
- `tasks/security-findings.md`
|
|
92
|
+
- `tasks/cross-platform.md`
|
|
91
93
|
- `CHANGELOG.md`
|
|
92
94
|
- custom `CLAUDE.md` (anything not marked `<!-- Generated by /sk:setup-claude -->`)
|
|
93
95
|
|
|
@@ -443,6 +443,7 @@ def apply(
|
|
|
443
443
|
add("templates/tasks/lessons.md.template", "tasks/lessons.md", "missing")
|
|
444
444
|
add("templates/tasks/security-findings.md.template", "tasks/security-findings.md", "missing")
|
|
445
445
|
add("templates/tasks/workflow-status.md.template", "tasks/workflow-status.md", "missing")
|
|
446
|
+
add("templates/tasks/cross-platform.md.template", "tasks/cross-platform.md", "missing")
|
|
446
447
|
|
|
447
448
|
# commands (update if generated)
|
|
448
449
|
add("templates/commands/brainstorm.md.template", ".claude/commands/brainstorm.md", "generated")
|
|
@@ -272,6 +272,21 @@ Use `run_in_background: true` for tasks that don't block your next step:
|
|
|
272
272
|
```
|
|
273
273
|
<!-- END:sub-agent-patterns -->
|
|
274
274
|
|
|
275
|
+
## Cross-Platform Tracking
|
|
276
|
+
|
|
277
|
+
This project may have a companion codebase (web <-> mobile). During implementation, **log every change that affects the other platform** to `tasks/cross-platform.md`.
|
|
278
|
+
|
|
279
|
+
**When to log:**
|
|
280
|
+
- API contract changes (new/modified endpoints, payload shapes, auth)
|
|
281
|
+
- Data model changes (new fields, type changes, validation rules)
|
|
282
|
+
- Business logic that must behave identically on both platforms
|
|
283
|
+
- UI/UX flows that should have parity
|
|
284
|
+
- Platform-specific deviations (intentional differences)
|
|
285
|
+
|
|
286
|
+
**How to log:** Append a new section using the template in `tasks/cross-platform.md`. Include enough context that a developer in the other codebase can implement without guessing.
|
|
287
|
+
|
|
288
|
+
**When to review:** At the start of every task, check `tasks/cross-platform.md` for pending items targeting this codebase.
|
|
289
|
+
|
|
275
290
|
## Project Memory
|
|
276
291
|
|
|
277
292
|
Read these files at the start of every task:
|
|
@@ -279,12 +294,14 @@ Read these files at the start of every task:
|
|
|
279
294
|
- `tasks/lessons.md` — past mistakes and how to avoid them
|
|
280
295
|
- `tasks/todo.md` — current plan
|
|
281
296
|
- `tasks/tech-debt.md` — known shortcuts, deferred work, and areas to revisit
|
|
297
|
+
- `tasks/cross-platform.md` — pending changes from the other codebase
|
|
282
298
|
|
|
283
299
|
Write to these files continuously:
|
|
284
300
|
- `tasks/progress.md` — every attempt, error, and resolution
|
|
285
301
|
- `tasks/findings.md` — anything important discovered mid-task
|
|
302
|
+
- `tasks/cross-platform.md` — any change that impacts the other platform
|
|
286
303
|
|
|
287
|
-
**Never overwrite** `tasks/lessons.md` or `tasks/
|
|
304
|
+
**Never overwrite** `tasks/lessons.md`, `tasks/security-findings.md`, or `tasks/cross-platform.md`.
|
|
288
305
|
|
|
289
306
|
## Lessons Capture
|
|
290
307
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Cross-Platform Changes
|
|
2
|
+
|
|
3
|
+
Track changes that need to be replicated in the other codebase (web <-> mobile).
|
|
4
|
+
|
|
5
|
+
<!--
|
|
6
|
+
Format: One section per feature/task.
|
|
7
|
+
Each entry should have enough context for a developer (or Claude session)
|
|
8
|
+
in the other codebase to implement without guessing.
|
|
9
|
+
-->
|
|
10
|
+
|
|
11
|
+
<!-- TEMPLATE — copy this block for each new feature:
|
|
12
|
+
|
|
13
|
+
## [Feature Name] (YYYY-MM-DD)
|
|
14
|
+
Source: [web|mobile] — the codebase where this was implemented first
|
|
15
|
+
|
|
16
|
+
### API Changes
|
|
17
|
+
- [ ] Description of endpoint/payload/auth changes
|
|
18
|
+
|
|
19
|
+
### Data Model Changes
|
|
20
|
+
- [ ] New fields, renamed fields, type changes, validation rules
|
|
21
|
+
|
|
22
|
+
### Behavior Changes
|
|
23
|
+
- [ ] Business logic that must match across platforms
|
|
24
|
+
|
|
25
|
+
### UI/UX Parity
|
|
26
|
+
- [ ] Screens, flows, or interactions that should match
|
|
27
|
+
|
|
28
|
+
### Platform-Specific Notes
|
|
29
|
+
- [ ] Anything that differs intentionally between web and mobile
|
|
30
|
+
|
|
31
|
+
-->
|
|
@@ -39,7 +39,7 @@ The single command to keep your CLAUDE.md current. Diagnoses problems, updates t
|
|
|
39
39
|
|
|
40
40
|
Before making any changes, runs a diagnostic pass on the existing CLAUDE.md:
|
|
41
41
|
|
|
42
|
-
- **Missing sections** — checks for essential sections (Workflow, Sub-Agent Patterns, Project Memory, Lessons Capture, Testing, Commands, etc.)
|
|
42
|
+
- **Missing sections** — checks for essential sections (Workflow, Sub-Agent Patterns, Cross-Platform Tracking, Project Memory, Lessons Capture, Testing, Commands, etc.)
|
|
43
43
|
- **Stale content** — detects outdated info (stale model/route counts, removed dependencies, old command names like `/laravel-lint` instead of `/sk:lint`)
|
|
44
44
|
- **Inconsistencies** — compares documented vs actual project state (directories, scripts, workflows)
|
|
45
45
|
- **Section completeness** — flags sections that exist but are empty or have only placeholder text
|
|
@@ -63,6 +63,7 @@ Read → Explore → Design → Accessibility → Plan → Branch → Migrate
|
|
|
63
63
|
- Step completion summary rule (NON-NEGOTIABLE)
|
|
64
64
|
- Bug fix flow section
|
|
65
65
|
- Sub-Agent Patterns section (if missing)
|
|
66
|
+
- Cross-Platform Tracking section (if missing)
|
|
66
67
|
- Project Memory section (if missing)
|
|
67
68
|
- Lessons Capture section (if missing)
|
|
68
69
|
- Testing TDD section (if missing)
|