@kennethsolomon/shipkit 3.18.0 → 3.20.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 +25 -3
- package/package.json +1 -1
- package/skills/sk:brainstorming/SKILL.md +19 -128
- package/skills/sk:debug/SKILL.md +44 -111
- package/skills/sk:e2e/SKILL.md +45 -97
- package/skills/sk:features/SKILL.md +44 -99
- package/skills/sk:frontend-design/SKILL.md +16 -32
- package/skills/sk:laravel-deploy/SKILL.md +112 -0
- package/skills/sk:laravel-init/SKILL.md +18 -0
- package/skills/sk:lint/SKILL.md +42 -62
- package/skills/sk:mvp/SKILL.md +81 -134
- package/skills/sk:perf/SKILL.md +24 -43
- package/skills/sk:review/SKILL.md +57 -93
- package/skills/sk:security-check/SKILL.md +37 -43
- package/skills/sk:seo-audit/SKILL.md +75 -96
- package/skills/sk:setup-claude/SKILL.md +148 -0
- package/skills/sk:setup-claude/references/skill-profiles.md +201 -0
- package/skills/sk:setup-claude/templates/.claude/agents/debugger.md +7 -0
- package/skills/sk:setup-claude/templates/.claude/agents/qa-engineer.md +8 -0
- package/skills/sk:setup-claude/templates/.claude/agents/tech-writer.md +7 -0
- package/skills/sk:setup-claude/templates/.claude/rules/laravel.md.template +11 -0
- package/skills/sk:setup-claude/templates/CLAUDE.md.template +102 -244
- package/skills/sk:setup-claude/templates/commands/brainstorm.md.template +1 -1
- package/skills/sk:setup-claude/templates/commands/execute-plan.md.template +1 -1
- package/skills/sk:setup-claude/templates/commands/finish-feature.md.template +1 -1
- package/skills/sk:setup-claude/templates/commands/security-check.md.template +1 -1
- package/skills/sk:setup-claude/templates/commands/write-plan.md.template +1 -1
- package/skills/sk:setup-optimizer/SKILL.md +85 -14
- package/skills/sk:skill-creator/SKILL.md +115 -226
- package/skills/sk:website/SKILL.md +81 -149
- package/skills/sk:write-tests/SKILL.md +44 -110
|
@@ -42,293 +42,151 @@
|
|
|
42
42
|
|
|
43
43
|
**Flow:** Explore → Design → Plan → Branch → Write Tests + Implement → Commit → Gates → Finalize
|
|
44
44
|
|
|
45
|
-
Progress
|
|
46
|
-
|
|
47
|
-
| # | Step | Command | Type |
|
|
48
|
-
|
|
49
|
-
| 1 | Explore | `/sk:brainstorm` | required |
|
|
50
|
-
| 2 | Design | `/sk:frontend-design` or `/sk:api-design` |
|
|
51
|
-
| 3 | Plan | `/sk:write-plan` | required |
|
|
52
|
-
| 4 | Branch | `/sk:branch` | required |
|
|
53
|
-
| 5 | Write Tests + Implement | `/sk:write-tests`
|
|
54
|
-
| 5.5 | Scope Check | `/sk:scope-check` | required |
|
|
55
|
-
| 6 | Commit | `/sk:smart-commit` | required |
|
|
56
|
-
| 7 | Gates | `/sk:gates` |
|
|
57
|
-
| 8 | Finalize | `/sk:finish-feature` | required |
|
|
58
|
-
| 8.5 | Learn | `/sk:learn` | required |
|
|
59
|
-
| 8.6 | Retro | `/sk:retro` | required |
|
|
60
|
-
|
|
61
|
-
### Step Details
|
|
62
|
-
|
|
63
|
-
1. **Explore** — run `/sk:brainstorm`. Reads `tasks/todo.md`, `tasks/lessons.md`, and `tasks/findings.md` automatically. Clarifies requirements, constraints, and approach. No code in this step.
|
|
64
|
-
2. **Design** — run `/sk:frontend-design` for UI mockup (includes `/sk:accessibility` audit) or `/sk:api-design` for API contracts. No code — design only. Auto-skipped if no frontend/API keywords in the task. Use `--pencil` for Pencil visual mockup.
|
|
65
|
-
3. **Plan** — run `/sk:write-plan` to write a decision-complete plan into `tasks/todo.md`. No code in this step. After the plan is written, auto-skip detection runs for step 2 if not already done.
|
|
66
|
-
4. **Branch** — run `/sk:branch` to create a feature branch auto-named from the current task.
|
|
67
|
-
5. **Write Tests + Implement** — run `/sk:write-tests` (TDD red phase), then `/sk:execute-plan` (TDD green phase). Includes `/sk:schema-migrate` if database keywords detected in the plan. Log progress to `tasks/progress.md`.
|
|
68
|
-
5.5. **Scope Check** — run `/sk:scope-check` to compare implementation against `tasks/todo.md`. Trim scope creep before committing.
|
|
69
|
-
6. **Commit** — run `/sk:smart-commit` to commit tests + implementation.
|
|
70
|
-
7. **Gates** — run `/sk:gates` to execute all quality gates in optimized parallel batches (lint, test, security, perf, review, e2e). This is a **hard gate** — blocks all forward progress until every check passes. Individual gate commands (`/sk:lint`, `/sk:test`, `/sk:security-check`, `/sk:perf`, `/sk:review`, `/sk:e2e`) are still available standalone.
|
|
71
|
-
8. **Finalize** — run `/sk:finish-feature` for changelog, PR creation, `/sk:update-task`, `/sk:features` sync. Ask about `/sk:release` (never auto-skipped).
|
|
72
|
-
8.5. **Learn** — run `/sk:learn` to extract reusable patterns from the session into `~/.claude/skills/learned/`.
|
|
73
|
-
8.6. **Retro** — run `/sk:retro` for a brief post-ship retrospective (velocity, blockers, next actions).
|
|
45
|
+
Progress tracked via git branch + `tasks/todo.md` checkboxes.
|
|
46
|
+
|
|
47
|
+
| # | Step | Command | Type | Notes |
|
|
48
|
+
|---|------|---------|------|-------|
|
|
49
|
+
| 1 | Explore | `/sk:brainstorm` | required | Reads todo.md, lessons.md, findings.md. No code. |
|
|
50
|
+
| 2 | Design | `/sk:frontend-design` or `/sk:api-design` | auto-skip | No code. `--pencil` for visual mockup. Auto-skip if no frontend/API keywords. |
|
|
51
|
+
| 3 | Plan | `/sk:write-plan` | required | No code. Runs auto-skip detection for step 2. |
|
|
52
|
+
| 4 | Branch | `/sk:branch` | required | Auto-named from current task. |
|
|
53
|
+
| 5 | Write Tests + Implement | `/sk:write-tests` → `/sk:execute-plan` | required | TDD red→green. `/sk:schema-migrate` if DB keywords detected. Log to progress.md. |
|
|
54
|
+
| 5.5 | Scope Check | `/sk:scope-check` | required | Compare implementation vs plan. Trim scope creep. |
|
|
55
|
+
| 6 | Commit | `/sk:smart-commit` | required | |
|
|
56
|
+
| 7 | Gates | `/sk:gates` | hard gate | Lint, test, security, perf, review, e2e in parallel. Blocks until all pass. |
|
|
57
|
+
| 8 | Finalize | `/sk:finish-feature` | required | Changelog, PR, `/sk:update-task`, `/sk:features`. Ask about `/sk:release` (never auto-skip). |
|
|
58
|
+
| 8.5 | Learn | `/sk:learn` | required | Extract patterns to `~/.claude/skills/learned/`. |
|
|
59
|
+
| 8.6 | Retro | `/sk:retro` | required | Velocity, blockers, next actions. |
|
|
74
60
|
|
|
75
61
|
### Workflow Rules
|
|
76
62
|
|
|
77
|
-
1. **Auto-advance by default.**
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
- **Step 2 (Design)**: Auto-skip if NO frontend keywords (component, view, page, CSS, template, blade, vue, react, svelte, UI, form, modal, button) AND NO API keywords (endpoint, route, controller, API)
|
|
88
|
-
- **Migrate** (inside step 5): Auto-skip if NO database keywords (migration, schema, table, column, model, database, foreign key, index, seed)
|
|
89
|
-
- **Performance** (inside gates): Auto-skip if NO frontend AND NO database keywords
|
|
90
|
-
- **Release** (inside step 8): NEVER auto-skipped — always ask
|
|
91
|
-
- Output: `Auto-skipped: [Name] ([reason])`
|
|
92
|
-
|
|
93
|
-
4. **Gates are a hard gate.** Step 7 BLOCKS all forward progress until every check passes. Gates auto-fix and re-run internally. Do NOT ask the user to re-run — fix and re-run automatically.
|
|
94
|
-
|
|
95
|
-
5. **Squash gate commits.** When a gate requires fixes, collect all fixes for that gate pass, then make ONE commit: `fix(<gate>): resolve <gate> issues`. Do not commit after each individual fix. Each gate produces at most one commit per pass.
|
|
96
|
-
|
|
97
|
-
6. **Never write code during explore, design, or plan phases.** Steps 1-3 are reading/exploring/planning/design only — no code, no file edits (except `tasks/` files).
|
|
98
|
-
|
|
99
|
-
7. **Requirements change mid-workflow?** Stop and run `/sk:change` immediately. It classifies the scope and tells you where to re-enter.
|
|
63
|
+
1. **Auto-advance by default.** Pause at: plan approval (3), PR push (8), release confirmation.
|
|
64
|
+
2. **Conditional summary** — only output when step was skipped, partial, or required fixes.
|
|
65
|
+
3. **Auto-skip** — after plan (step 3), scan todo.md for keywords:
|
|
66
|
+
- Design: skip if NO frontend keywords (component, view, page, CSS, template, blade, vue, react, svelte, UI, form, modal, button) AND NO API keywords (endpoint, route, controller, API)
|
|
67
|
+
- Migrate (in step 5): skip if NO DB keywords (migration, schema, table, column, model, database, foreign key, index, seed)
|
|
68
|
+
- Perf (in gates): skip if NO frontend AND NO DB keywords. Release: NEVER skip. Output: `Auto-skipped: [Name] ([reason])`
|
|
69
|
+
4. **Gates block** — step 7 blocks all progress until every check passes. Auto-fix and re-run internally.
|
|
70
|
+
5. **Squash gate commits** — one commit per gate pass: `fix(<gate>): resolve <gate> issues`.
|
|
71
|
+
6. **No code in steps 1-3** — explore/design/plan only. Exception: `tasks/` files.
|
|
72
|
+
7. **Requirements change?** — run `/sk:change` immediately.
|
|
100
73
|
|
|
101
74
|
### Fix & Retest Protocol
|
|
102
75
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
**b. Logic change** (new branch, modified condition, new data path, query change, new function, changed algorithm, API change) → trigger protocol:
|
|
110
|
-
1. Update or add failing unit tests for the new behavior
|
|
111
|
-
2. Re-run `/sk:test` — must pass at 100% coverage
|
|
112
|
-
3. Commit (tests + fix together in one commit)
|
|
113
|
-
4. Re-run the current gate from scratch
|
|
114
|
-
|
|
115
|
-
**Exception:** Lint formatter auto-fixes (Prettier, Pint, gofmt, cargo fmt) are never logic changes — bypass protocol automatically.
|
|
116
|
-
|
|
117
|
-
### Bug Fix Flow
|
|
118
|
-
|
|
119
|
-
Use `/sk:debug` as the entry point:
|
|
76
|
+
| Fix type | Action |
|
|
77
|
+
|----------|--------|
|
|
78
|
+
| Format/style/config/wording | Include in gate's squash commit, re-run. No test update needed. |
|
|
79
|
+
| Logic change (new branch, condition, data path, algorithm) | 1) Update/add failing tests 2) `/sk:test` at 100% coverage 3) Commit tests+fix together 4) Re-run gate from scratch |
|
|
80
|
+
| Lint auto-fixes (Prettier, Pint, gofmt, cargo fmt) | Never logic changes — bypass protocol automatically. |
|
|
120
81
|
|
|
121
|
-
|
|
122
|
-
|---|------|---------|
|
|
123
|
-
| 1 | Debug | `/sk:debug` |
|
|
124
|
-
| 2 | Branch | `/sk:branch` |
|
|
125
|
-
| 3 | Write Tests | `/sk:write-tests` (regression test) |
|
|
126
|
-
| 4 | Fix | implement the fix |
|
|
127
|
-
| 5 | Commit | `/sk:smart-commit` |
|
|
128
|
-
| 6 | Gates | `/sk:gates` |
|
|
129
|
-
| 7 | Finalize | `/sk:finish-feature` |
|
|
82
|
+
### Alternative Flows
|
|
130
83
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
| # | Step | Command |
|
|
136
|
-
|---|------|---------|
|
|
137
|
-
| 1 | Investigate | `/sk:debug` |
|
|
138
|
-
| 2 | Branch | `/sk:branch` |
|
|
139
|
-
| 3 | Fix | implement directly |
|
|
140
|
-
| 4 | Commit | `/sk:smart-commit` |
|
|
141
|
-
| 5 | Gates | `/sk:gates` |
|
|
142
|
-
| 6 | Finalize | `/sk:finish-feature` |
|
|
143
|
-
|
|
144
|
-
After merging: add a regression test and a lessons.md entry.
|
|
84
|
+
| Flow | Entry | Steps |
|
|
85
|
+
|------|-------|-------|
|
|
86
|
+
| **Bug fix** | `/sk:debug` | debug → branch → write-tests (regression) → fix → commit → gates → finalize |
|
|
87
|
+
| **Hotfix** (prod emergency) | `/sk:debug` | debug → branch → fix directly → commit → gates → finalize. Add regression test after merge. |
|
|
145
88
|
|
|
146
89
|
### Requirement Change Flow
|
|
147
90
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
| # | Step | Command |
|
|
151
|
-
|---|------|---------|
|
|
152
|
-
| 1 | Assess | `/sk:change` — classify scope (Tier 1/2/3) |
|
|
153
|
-
| 2 | Tier 1 (test update only) | update tests → re-enter at step 5 |
|
|
154
|
-
| 3 | Tier 2 (plan revision) | revise plan → re-enter at step 3 |
|
|
155
|
-
| 4 | Tier 3 (re-brainstorm) | re-enter at step 1 |
|
|
91
|
+
Run `/sk:change`: Tier 1 (test-only) → update tests → step 5. Tier 2 (plan) → revise → step 3. Tier 3 (full) → step 1.
|
|
156
92
|
|
|
157
93
|
## Sub-Agent Patterns
|
|
158
94
|
<!-- BEGIN:sub-agent-patterns -->
|
|
159
95
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
Use Agent tool with subagent_type="Explore" — launch all in a single message:
|
|
168
|
-
- Agent 1: Explore related models, migrations, and relationships
|
|
169
|
-
- Agent 2: Explore existing routes, controllers, and middleware
|
|
170
|
-
- Agent 3: Explore test patterns and existing test coverage for the area
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
This replaces sequential file reading and gives a complete picture before writing code.
|
|
174
|
-
|
|
175
|
-
### Parallel Quality Checks (/lint)
|
|
176
|
-
|
|
177
|
-
After formatters run, launch analyzers in parallel (both are read-only):
|
|
178
|
-
|
|
179
|
-
```
|
|
180
|
-
1. Formatters (sequential — modify files)
|
|
181
|
-
2. Then in parallel:
|
|
182
|
-
- Agent 1: Static analysis
|
|
183
|
-
- Agent 2: Code quality checks
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
### Code Review Parallelization
|
|
187
|
-
|
|
188
|
-
For `/review` and `/security-check`, split into parallel agents for faster feedback:
|
|
189
|
-
|
|
190
|
-
```
|
|
191
|
-
Launch in a single message:
|
|
192
|
-
- Agent 1: Security review — OWASP, injection, auth bypass
|
|
193
|
-
- Agent 2: Performance review — N+1 queries, missing indexes, cache misses
|
|
194
|
-
- Agent 3: Test coverage gaps — untested paths, missing edge cases
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
### Worktree Isolation for Risky Changes
|
|
198
|
-
|
|
199
|
-
For refactors or experimental approaches, use `isolation: "worktree"` to try the change on an isolated copy:
|
|
200
|
-
|
|
201
|
-
```
|
|
202
|
-
Agent tool with isolation: "worktree":
|
|
203
|
-
- Try the refactor in isolation
|
|
204
|
-
- If it works, apply the same changes to the main worktree
|
|
205
|
-
- If it fails, the worktree is discarded — no cleanup needed
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### Background Agents for Long-Running Tasks
|
|
209
|
-
|
|
210
|
-
Use `run_in_background: true` for tasks that don't block your next step:
|
|
211
|
-
|
|
212
|
-
```
|
|
213
|
-
- Background agent: Run full test suite while you continue implementing
|
|
214
|
-
- Background agent: Static analysis while you fix other suggestions
|
|
215
|
-
- You'll be notified when they complete
|
|
216
|
-
```
|
|
96
|
+
| Pattern | When | How |
|
|
97
|
+
|---------|------|-----|
|
|
98
|
+
| Codebase exploration | Before implementation | 3 parallel Explore agents: models/migrations, routes/controllers, test patterns |
|
|
99
|
+
| Quality checks | During `/sk:lint` | Formatters sequential, then static analysis + code quality in parallel |
|
|
100
|
+
| Code review | During `/sk:review` | 3 parallel agents: security, performance, test coverage gaps |
|
|
101
|
+
| Worktree isolation | Risky refactors | `isolation: "worktree"` — try in isolation, apply if works, discard if not |
|
|
102
|
+
| Background agents | Long-running tasks | `run_in_background: true` — tests/analysis while continuing other work |
|
|
217
103
|
<!-- END:sub-agent-patterns -->
|
|
218
104
|
|
|
219
105
|
## Cross-Platform Tracking
|
|
220
106
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
**When to log:**
|
|
224
|
-
- API contract changes (new/modified endpoints, payload shapes, auth)
|
|
225
|
-
- Data model changes (new fields, type changes, validation rules)
|
|
226
|
-
- Business logic that must behave identically on both platforms
|
|
227
|
-
- UI/UX flows that should have parity
|
|
228
|
-
- Platform-specific deviations (intentional differences)
|
|
229
|
-
|
|
230
|
-
**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.
|
|
231
|
-
|
|
232
|
-
**When to review:** At the start of every task, check `tasks/cross-platform.md` for pending items targeting this codebase.
|
|
107
|
+
Log changes affecting the companion codebase (web ↔ mobile) to `tasks/cross-platform.md`: API contracts, data models, shared business logic, UI parity. Review at task start.
|
|
233
108
|
|
|
234
109
|
## Project Memory
|
|
235
110
|
|
|
236
|
-
Read
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
- `tasks/todo.md` — current plan
|
|
240
|
-
- `tasks/tech-debt.md` — known shortcuts, deferred work, and areas to revisit
|
|
241
|
-
- `tasks/cross-platform.md` — pending changes from the other codebase
|
|
242
|
-
|
|
243
|
-
Write to these files continuously:
|
|
244
|
-
- `tasks/progress.md` — every attempt, error, and resolution
|
|
245
|
-
- `tasks/findings.md` — anything important discovered mid-task
|
|
246
|
-
- `tasks/cross-platform.md` — any change that impacts the other platform
|
|
247
|
-
|
|
248
|
-
**Never overwrite** `tasks/lessons.md`, `tasks/security-findings.md`, or `tasks/cross-platform.md`.
|
|
111
|
+
**Read at task start:** `tasks/findings.md`, `tasks/lessons.md`, `tasks/todo.md`, `tasks/tech-debt.md`, `tasks/cross-platform.md`
|
|
112
|
+
**Write continuously:** `tasks/progress.md` (attempts/errors), `tasks/findings.md` (discoveries), `tasks/cross-platform.md` (cross-platform impacts)
|
|
113
|
+
**Never overwrite:** `tasks/lessons.md`, `tasks/security-findings.md`, `tasks/cross-platform.md`
|
|
249
114
|
|
|
250
115
|
## Lessons Capture
|
|
251
116
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
Entry format:
|
|
257
|
-
```
|
|
258
|
-
### [YYYY-MM-DD] [Brief title]
|
|
259
|
-
**Mistake:** What went wrong
|
|
260
|
-
**Root cause:** Why it happened
|
|
261
|
-
**Prevention:** What to do differently
|
|
262
|
-
```
|
|
117
|
+
Explicit (`lesson:`, `remember:`, `don't do this again:`) → append to `tasks/lessons.md` immediately.
|
|
118
|
+
Implicit ("no", "don't", "instead", "wrong") → ask "Add to lessons.md?" → append on confirmation.
|
|
119
|
+
Format: `### [YYYY-MM-DD] [Title]` — **Mistake**, **Root cause**, **Prevention**.
|
|
263
120
|
|
|
264
121
|
## Testing — TDD, 100% Coverage Required
|
|
265
122
|
|
|
266
|
-
|
|
123
|
+
1. `/sk:write-tests` — failing tests from plan (RED)
|
|
124
|
+
2. `/sk:execute-plan` — implement to pass (GREEN)
|
|
125
|
+
3. `/sk:test` — verify 100% coverage (VERIFY, runs in gates)
|
|
267
126
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
1. `/sk:write-tests` — write failing tests based on the plan (RED)
|
|
271
|
-
2. `/sk:execute-plan` — implement code to make tests pass (GREEN)
|
|
272
|
-
3. `/sk:test` — verify all tests pass with 100% coverage (VERIFY — runs as part of `/sk:gates`)
|
|
273
|
-
|
|
274
|
-
Every new function, endpoint, component, and module needs tests. No code proceeds past gates without 100% coverage on new code.
|
|
127
|
+
Every new function, endpoint, component, module needs tests.
|
|
275
128
|
|
|
276
129
|
## 3-Strike Protocol
|
|
277
130
|
|
|
278
|
-
When blocked:
|
|
279
|
-
1. Log attempt + error to `tasks/progress.md`
|
|
280
|
-
2. Try a different approach
|
|
281
|
-
3. On 3rd failure — stop and ask the user what was tried
|
|
282
|
-
|
|
283
|
-
Never retry the same failing approach.
|
|
131
|
+
When blocked: 1) Log to progress.md 2) Try different approach 3) On 3rd failure — stop, ask user. Never retry same approach.
|
|
284
132
|
|
|
285
133
|
## Architectural Change Log
|
|
286
134
|
|
|
287
135
|
Create entries in: `[ARCH_CHANGELOG_DIR]`
|
|
288
136
|
|
|
289
137
|
## Commands
|
|
138
|
+
<!-- setup-claude filters this table to only installed skills per project stack -->
|
|
290
139
|
|
|
291
140
|
| Command | Purpose |
|
|
292
141
|
|---------|---------|
|
|
293
|
-
| `/sk:accessibility` | WCAG 2.1 AA audit
|
|
294
|
-
| `/sk:api-design` | Design API contracts
|
|
295
|
-
| `/sk:autopilot` | Hands-free workflow — all 8
|
|
296
|
-
| `/sk:brainstorm` | Explore requirements and design
|
|
297
|
-
| `/sk:branch` | Create feature branch
|
|
298
|
-
| `/sk:change` | Handle mid-workflow requirement changes
|
|
299
|
-
| `/sk:
|
|
300
|
-
| `/sk:context
|
|
301
|
-
| `/sk:
|
|
302
|
-
| `/sk:
|
|
303
|
-
| `/sk:
|
|
304
|
-
| `/sk:
|
|
305
|
-
| `/sk:
|
|
306
|
-
| `/sk:
|
|
307
|
-
| `/sk:
|
|
142
|
+
| `/sk:accessibility` | WCAG 2.1 AA audit |
|
|
143
|
+
| `/sk:api-design` | Design API contracts before implementation |
|
|
144
|
+
| `/sk:autopilot` | Hands-free workflow — all 8 steps, auto-skip, auto-advance, auto-commit |
|
|
145
|
+
| `/sk:brainstorm` | Explore requirements and design; extracts requirements checklist |
|
|
146
|
+
| `/sk:branch` | Create feature branch from current task |
|
|
147
|
+
| `/sk:change` | Handle mid-workflow requirement changes |
|
|
148
|
+
| `/sk:ci` | Set up GitHub Actions or GitLab CI |
|
|
149
|
+
| `/sk:context` | Load context files + session brief |
|
|
150
|
+
| `/sk:context-budget` | Audit context window token consumption |
|
|
151
|
+
| `/sk:dashboard` | Workflow Kanban board (localhost) |
|
|
152
|
+
| `/sk:debug` | Investigate and debug issues |
|
|
153
|
+
| `/sk:e2e` | E2E behavioral verification |
|
|
154
|
+
| `/sk:eval` | Run evaluations for agent reliability |
|
|
155
|
+
| `/sk:execute-plan` | Execute todo.md checkboxes in batches |
|
|
156
|
+
| `/sk:fast-track` | Abbreviated workflow for small changes |
|
|
157
|
+
| `/sk:features` | Sync feature specs with implementation |
|
|
308
158
|
| `/sk:finish-feature` | Changelog + PR creation |
|
|
309
|
-
| `/sk:frontend-design` | UI mockup before implementation.
|
|
310
|
-
| `/sk:gates` |
|
|
311
|
-
| `/sk:health` | Harness self-audit scorecard
|
|
312
|
-
| `/sk:hotfix` | Emergency fix workflow
|
|
313
|
-
| `/sk:
|
|
314
|
-
| `/sk:
|
|
315
|
-
| `/sk:
|
|
159
|
+
| `/sk:frontend-design` | UI mockup before implementation. `--pencil` for Pencil visual mockup |
|
|
160
|
+
| `/sk:gates` | All quality gates in parallel batches |
|
|
161
|
+
| `/sk:health` | Harness self-audit scorecard |
|
|
162
|
+
| `/sk:hotfix` | Emergency fix workflow |
|
|
163
|
+
| `/sk:laravel-deploy` | Deploy Laravel to Laravel Cloud |
|
|
164
|
+
| `/sk:laravel-init` | Configure existing Laravel project |
|
|
165
|
+
| `/sk:laravel-new` | Scaffold fresh Laravel app |
|
|
166
|
+
| `/sk:learn` | Extract reusable patterns from session |
|
|
167
|
+
| `/sk:lint` | Auto-detect and run all linters |
|
|
168
|
+
| `/sk:mvp` | Generate MVP with landing page + app |
|
|
169
|
+
| `/sk:perf` | Performance audit |
|
|
170
|
+
| `/sk:plugin` | Package skills as distributable plugin |
|
|
316
171
|
| `/sk:release` | Version bump + changelog + tag |
|
|
317
|
-
| `/sk:resume-session` | Resume
|
|
318
|
-
| `/sk:retro` | Post-ship retrospective
|
|
319
|
-
| `/sk:reverse-doc` | Generate
|
|
320
|
-
| `/sk:review` |
|
|
321
|
-
| `/sk:safety-guard` | Protect against destructive ops
|
|
322
|
-
| `/sk:save-session` | Save
|
|
323
|
-
| `/sk:
|
|
324
|
-
| `/sk:
|
|
325
|
-
| `/sk:
|
|
172
|
+
| `/sk:resume-session` | Resume previously saved session |
|
|
173
|
+
| `/sk:retro` | Post-ship retrospective |
|
|
174
|
+
| `/sk:reverse-doc` | Generate docs from existing code |
|
|
175
|
+
| `/sk:review` | 7-dimension self-review with `<think>` reasoning and exhaustiveness commitment |
|
|
176
|
+
| `/sk:safety-guard` | Protect against destructive ops |
|
|
177
|
+
| `/sk:save-session` | Save session state |
|
|
178
|
+
| `/sk:schema-migrate` | Multi-ORM schema change analysis |
|
|
179
|
+
| `/sk:scope-check` | Detect scope creep vs plan |
|
|
180
|
+
| `/sk:security-check` | OWASP security audit with content isolation, CVSS scoring |
|
|
181
|
+
| `/sk:seo-audit` | SEO audit (source + dev server) |
|
|
326
182
|
| `/sk:setup-optimizer` | Diagnose + update workflow + enrich CLAUDE.md |
|
|
183
|
+
| `/sk:skill-creator` | Create or modify skills |
|
|
327
184
|
| `/sk:smart-commit` | Conventional commit with approval |
|
|
328
|
-
| `/sk:start` | Smart entry point — classifies task
|
|
185
|
+
| `/sk:start` | Smart entry point — classifies task |
|
|
329
186
|
| `/sk:status` | Show workflow + task status |
|
|
330
|
-
| `/sk:team` | Parallel domain agents (
|
|
331
|
-
| `/sk:test` | Auto-detect and run all
|
|
332
|
-
| `/sk:update-task` | Mark task done
|
|
333
|
-
| `/sk:
|
|
334
|
-
| `/sk:write-
|
|
187
|
+
| `/sk:team` | Parallel domain agents (BE + FE + QA) |
|
|
188
|
+
| `/sk:test` | Auto-detect and run all test suites |
|
|
189
|
+
| `/sk:update-task` | Mark task done + log completion |
|
|
190
|
+
| `/sk:website` | Build multi-page marketing website |
|
|
191
|
+
| `/sk:write-plan` | Decision-complete plan into todo.md; auto-generates `tasks/contracts.md` for API tasks |
|
|
192
|
+
| `/sk:write-tests` | TDD: Write failing tests first |
|
|
@@ -6,7 +6,7 @@ description: "Start with design questions before writing code."
|
|
|
6
6
|
|
|
7
7
|
# /brainstorm
|
|
8
8
|
|
|
9
|
-
**Workflow:**
|
|
9
|
+
**Workflow:** **Explore** → Design → Plan → Branch → Write Tests + Implement → Commit → Gates → Finalize
|
|
10
10
|
|
|
11
11
|
Explore design and clarify requirements **before** any code is written.
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@ description: "Execute tasks/todo.md checkboxes in small batches; log to tasks/pr
|
|
|
6
6
|
|
|
7
7
|
# /execute-plan
|
|
8
8
|
|
|
9
|
-
**Workflow:**
|
|
9
|
+
**Workflow:** Explore → Design → Plan → Branch → Write Tests + **Implement** → Commit → Gates → Finalize
|
|
10
10
|
|
|
11
11
|
Execute the plan in `tasks/todo.md` in small batches with clear checkpoints.
|
|
12
12
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Finish Feature Command
|
|
4
4
|
|
|
5
|
-
**Workflow:**
|
|
5
|
+
**Workflow:** Explore → Design → Plan → Branch → Write Tests + Implement → Commit → Gates → **Finalize**
|
|
6
6
|
|
|
7
7
|
Finalize a feature/bug-fix branch: changelog, arch log, security gate, verification, and PR creation.
|
|
8
8
|
|
|
@@ -6,7 +6,7 @@ description: "Audit changed code for security best practices, production-grade q
|
|
|
6
6
|
|
|
7
7
|
# /security-check
|
|
8
8
|
|
|
9
|
-
**Workflow:**
|
|
9
|
+
**Workflow:** Explore → Design → Plan → Branch → Write Tests + Implement → Commit → **Gates** (Security) → Finalize
|
|
10
10
|
|
|
11
11
|
Audit code for security vulnerabilities, production-grade quality, and industry gold-standard compliance.
|
|
12
12
|
|
|
@@ -6,7 +6,7 @@ description: "Write a decision-complete plan into tasks/todo.md (no code yet)."
|
|
|
6
6
|
|
|
7
7
|
# /write-plan
|
|
8
8
|
|
|
9
|
-
**Workflow:**
|
|
9
|
+
**Workflow:** Explore → Design → **Plan** → Branch → Write Tests + Implement → Commit → Gates → Finalize
|
|
10
10
|
|
|
11
11
|
Create a decision-complete plan **before** writing code.
|
|
12
12
|
|
|
@@ -55,6 +55,78 @@ Before making any changes, runs a diagnostic pass on the existing CLAUDE.md:
|
|
|
55
55
|
|
|
56
56
|
Reports findings before proceeding. If issues are found, they inform subsequent steps.
|
|
57
57
|
|
|
58
|
+
### Step 0.5: Re-detect Stack + Sync Skills/Agents/Rules
|
|
59
|
+
|
|
60
|
+
After diagnosis, re-detect the project stack and sync installed skills, agents, and rules.
|
|
61
|
+
|
|
62
|
+
**Reference:** Read `~/.claude/skills/sk:setup-claude/references/skill-profiles.md` for the categorization matrix.
|
|
63
|
+
|
|
64
|
+
#### 1. Re-detect stack
|
|
65
|
+
|
|
66
|
+
Run the same detection logic as `sk:setup-claude` Phase 0.5:
|
|
67
|
+
- Scan for stack indicators (composer.json, package.json, go.mod, etc.)
|
|
68
|
+
- Sub-detect database capability (Prisma, Drizzle, Laravel migrations, etc.)
|
|
69
|
+
- Compare new detection against `.shipkit/config.json` current values
|
|
70
|
+
|
|
71
|
+
#### 2. Diff and display changes
|
|
72
|
+
|
|
73
|
+
If the detected stack or capabilities changed, display a diff:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
Stack re-detection:
|
|
77
|
+
Stack: nextjs (unchanged)
|
|
78
|
+
Capabilities: web → web, database (prisma/schema.prisma detected)
|
|
79
|
+
|
|
80
|
+
Skill changes:
|
|
81
|
+
+ sk:schema-migrate (database capability detected)
|
|
82
|
+
No removals.
|
|
83
|
+
|
|
84
|
+
Agent changes:
|
|
85
|
+
+ database-architect (database capability detected)
|
|
86
|
+
No removals.
|
|
87
|
+
|
|
88
|
+
Rule changes:
|
|
89
|
+
+ migrations.md (database paths)
|
|
90
|
+
No removals.
|
|
91
|
+
|
|
92
|
+
Apply changes? (y/n)
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
If no changes detected, report `Stack: [stack] — no changes detected` and skip to Step 1.
|
|
96
|
+
|
|
97
|
+
#### 3. Sync on confirmation
|
|
98
|
+
|
|
99
|
+
If the user confirms:
|
|
100
|
+
|
|
101
|
+
**Skills sync:**
|
|
102
|
+
- Add newly relevant skills: copy from `~/.claude/skills/` to `.claude/skills/` in the project
|
|
103
|
+
- Remove stale skills: delete from `.claude/skills/` in the project if they no longer match the detected stack
|
|
104
|
+
- Never touch skills in `config.skills.extra` (user manually added)
|
|
105
|
+
- Never touch skills in `config.skills.disabled` (user manually excluded)
|
|
106
|
+
|
|
107
|
+
**Agent sync:**
|
|
108
|
+
- Add newly relevant agents: copy from `~/.claude/agents/` to `.claude/agents/` in the project
|
|
109
|
+
- Remove stale agents: delete from `.claude/agents/` in the project if they no longer match
|
|
110
|
+
- Never remove user-customized agents (detect via content that differs from the template — check if file hash differs from template hash, or if file contains `<!-- EDITED -->` marker)
|
|
111
|
+
|
|
112
|
+
**Rule sync:**
|
|
113
|
+
- Add newly relevant rules: copy from `~/.claude/rules/` to `.claude/rules/` in the project
|
|
114
|
+
- Remove stale rules: delete from `.claude/rules/` in the project if they no longer match
|
|
115
|
+
- Never remove user-customized rules (same detection as agents)
|
|
116
|
+
|
|
117
|
+
**Config update:**
|
|
118
|
+
- Update `.shipkit/config.json` with new `stack.detected`, `stack.detected_at`, `stack.capabilities`
|
|
119
|
+
|
|
120
|
+
**CLAUDE.md commands table:**
|
|
121
|
+
- Regenerate the Commands table to list only currently installed skills
|
|
122
|
+
|
|
123
|
+
#### 4. Upgrade path handling
|
|
124
|
+
|
|
125
|
+
- If project has no `stack` field in config → treat as auto-detect (backwards compatible)
|
|
126
|
+
- If capabilities expanded (e.g., added database) → suggest new skills
|
|
127
|
+
- If capabilities reduced (e.g., removed a dependency) → suggest removing irrelevant skills
|
|
128
|
+
- Display: `Capabilities changed: [old] → [new]. [N] skills affected. Apply? (y/n)`
|
|
129
|
+
|
|
58
130
|
### Step 1: Update Workflow
|
|
59
131
|
|
|
60
132
|
If the workflow section is outdated or missing, replace it with the latest version:
|
|
@@ -200,28 +272,27 @@ After LSP check, verify the three recommended tools are configured:
|
|
|
200
272
|
|
|
201
273
|
### Step 1.8: Agents & Rules Check
|
|
202
274
|
|
|
203
|
-
After MCP check, verify the project has
|
|
275
|
+
After MCP check, verify the project has the correct agents and rules for its detected stack.
|
|
276
|
+
|
|
277
|
+
**Reference:** Read `~/.claude/skills/sk:setup-claude/references/skill-profiles.md` for agent→stack and rule→stack mappings.
|
|
204
278
|
|
|
205
279
|
**Agents check:**
|
|
206
280
|
|
|
207
281
|
1. Check if `.claude/agents/` directory exists
|
|
208
|
-
2.
|
|
209
|
-
|
|
210
|
-
-
|
|
211
|
-
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
3. For each existing agent, check if it has `memory:` and `model:` in frontmatter (older agents may be missing these)
|
|
282
|
+
2. Read detected stack from `.shipkit/config.json` (or re-detect if not present)
|
|
283
|
+
3. Using the agent→stack mapping from `skill-profiles.md`, determine which agents this project should have:
|
|
284
|
+
- Universal agents (all projects): architect, qa-engineer, debugger, code-reviewer, security-reviewer, performance-optimizer, refactor-specialist, tech-writer, devops-engineer
|
|
285
|
+
- Stack-specific: backend-dev (backend stacks), frontend-dev (web stacks), mobile-dev (mobile stacks), database-architect (database capability)
|
|
286
|
+
4. For each expected agent, check if it exists in `.claude/agents/`
|
|
287
|
+
5. For each existing agent, check if it has `memory:` and `model:` in frontmatter (older agents may be missing these)
|
|
215
288
|
|
|
216
289
|
**Rules check:**
|
|
217
290
|
|
|
218
291
|
1. Check if `.claude/rules/` directory exists
|
|
219
|
-
2.
|
|
220
|
-
|
|
221
|
-
-
|
|
222
|
-
|
|
223
|
-
- Vue/Nuxt detected → check for `vue.md`, `tests.md`, `api.md`
|
|
224
|
-
- Any stack → check for `tests.md`
|
|
292
|
+
2. Using the rule→stack mapping from `skill-profiles.md`, determine which rules this project should have:
|
|
293
|
+
- Universal rules (all projects): tests.md, api.md
|
|
294
|
+
- Stack-specific: laravel.md (Laravel), react.md (React/Next.js), vue.md (Vue/Nuxt), migrations.md (database capability)
|
|
295
|
+
3. Check for each expected rule file
|
|
225
296
|
|
|
226
297
|
**Report status and prompt:**
|
|
227
298
|
|