@kennethsolomon/shipkit 3.17.1 → 3.18.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 CHANGED
@@ -63,7 +63,7 @@ npm install -g @kennethsolomon/shipkit && shipkit # update globally
63
63
  | I want to... | Start here | Flow |
64
64
  |---|---|---|
65
65
  | **Not sure — just describe my task** | `/sk:start <description>` | Auto-classified |
66
- | **Build a new feature** | `/sk:start add <feature>` | Feature (8 steps) |
66
+ | **Build a new feature** | `/sk:start add <feature>` | Feature (8 phases + scope check, learn, retro) |
67
67
  | **Build a full-stack feature (backend + frontend + mobile)** | `/sk:start --team add <feature>` | Feature with parallel agents |
68
68
  | **Make a small change** (config, copy, dependency bump) | `/sk:start bump lodash` | Fast-track (5 steps) |
69
69
  | **Fix a bug** | `/sk:start fix <description>` | Debug (7 steps) |
@@ -129,6 +129,9 @@ qa-engineer (background) → writes 14 Playwright E2E scenarios while others im
129
129
 
130
130
  Backend and frontend work in isolated worktrees — zero conflicts. Results merge when both complete.
131
131
 
132
+ **Step 5.5 — Scope Check** (`/sk:scope-check`)
133
+ Compares everything that was implemented against `tasks/todo.md`. Flags anything that crept in beyond the plan — extra features, unrequested refactors, new files not in scope. Trims or defers the excess before committing.
134
+
132
135
  **Step 6 — Commit** (`/sk:smart-commit`)
133
136
  Presents the diff. You approve. Commits.
134
137
 
@@ -156,6 +159,18 @@ Each failure auto-fixes and re-runs. One squash commit per gate pass.
156
159
  **Step 8 — Finalize** (`/sk:finish-feature`)
157
160
  Changelog updated. PR created. Feature spec synced. Asks about release.
158
161
 
162
+ **Step 8.5 — Learn** (`/sk:learn`)
163
+ Extracts reusable patterns from this session:
164
+ > "Rate limiting must be applied to all auth endpoints — security-reviewer flagged POST /login"
165
+
166
+ Saved to `~/.claude/skills/learned/` — available in future sessions across all projects.
167
+
168
+ **Step 8.6 — Retro** (`/sk:retro`)
169
+ Brief post-ship retrospective — 3-5 bullets:
170
+ - What went well (gates caught rate-limit issue before PR)
171
+ - What slowed down (schema index discovery required re-migration)
172
+ - Next action (add rate-limit check to write-tests template)
173
+
159
174
  ---
160
175
 
161
176
  ### Scenario B — Fixing a Bug
@@ -155,6 +155,20 @@ If unresolved Critical/High findings remain, warn the user before proceeding.
155
155
 
156
156
  e) Report the PR URL to the user.
157
157
 
158
+ 8. **Capture Patterns** (`/sk:learn`)
159
+
160
+ After the PR is created, run `/sk:learn` to extract reusable patterns from this session.
161
+ Present extracted patterns and ask: "Save patterns? (all / 1,3 / none)"
162
+
163
+ 9. **Retrospective** (`/sk:retro`)
164
+
165
+ Run `/sk:retro` to capture a brief post-ship retrospective:
166
+ - What went well
167
+ - What slowed things down
168
+ - Top action items for next time
169
+
170
+ Output is appended to `tasks/progress.md`.
171
+
158
172
  ## When Done
159
173
 
160
174
  > "Feature finalized and PR created! Run `/sk:release` when ready to tag and publish."
@@ -21,21 +21,19 @@ Run these commands in order for a complete, quality-gated feature build.
21
21
 
22
22
  ## Feature Workflow
23
23
 
24
- | Command | Purpose |
25
- |---------|---------|
26
- | `/sk:brainstorm` | Explore requirements and design — **no code yet** |
27
- | `/sk:write-plan` | Write a decision-complete plan to `tasks/todo.md` |
28
- | `/sk:branch` | Create a feature branch from the current task |
29
- | `/sk:schema-migrate` | Analyze schema changes *(skip if no DB changes)* |
30
- | `/sk:write-tests` | TDD red: write failing tests first |
31
- | `/sk:execute-plan` | TDD green: implement until tests pass |
32
- | `/sk:smart-commit` | Conventional commit with approval |
33
- | `/sk:lint` | **GATE** — all linters must pass |
34
- | `/sk:test` | **GATE** 100% coverage on new code |
35
- | `/sk:security-check` | **GATE** 0 security issues |
36
- | `/sk:review` | **GATE** — blast-radius-aware self-review across 7 dimensions + cross-file impact |
37
- | `/sk:update-task` | Mark task done, log completion |
38
- | `/sk:finish-feature` | Changelog + PR creation |
24
+ | # | Command | Purpose |
25
+ |---|---------|---------|
26
+ | 1 | `/sk:brainstorm` | Explore requirements — **no code yet** |
27
+ | 2 | `/sk:frontend-design` or `/sk:api-design` | Design UI or API contracts *(auto-skip if no frontend/API keywords)* |
28
+ | 3 | `/sk:write-plan` | Write a decision-complete plan to `tasks/todo.md` |
29
+ | 4 | `/sk:branch` | Create a feature branch from the current task |
30
+ | 5 | `/sk:write-tests` + `/sk:execute-plan` | TDD red + green (includes `/sk:schema-migrate` if DB keywords detected) |
31
+ | 5.5 | `/sk:scope-check` | Trim scope creep compare implementation to plan |
32
+ | 6 | `/sk:smart-commit` | Conventional commit with approval |
33
+ | 7 | `/sk:gates` | **All quality gates** — lint, test, security, perf, review, e2e *(hard gate)* |
34
+ | 8 | `/sk:finish-feature` | Changelog + PR creation |
35
+ | 8.5 | `/sk:learn` | Extract reusable patterns from this session |
36
+ | 8.6 | `/sk:retro` | Post-ship retrospective velocity, blockers, next actions |
39
37
 
40
38
  ## Requirement Change Flow
41
39
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kennethsolomon/shipkit",
3
- "version": "3.17.1",
3
+ "version": "3.18.0",
4
4
  "description": "A structured workflow toolkit for Claude Code.",
5
5
  "keywords": [
6
6
  "claude",
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  name: sk:autopilot
3
- description: Hands-free workflow — runs all 8 steps with auto-skip, auto-advance, auto-commit. Stops only for direction approval, 3-strike failures, and PR push.
3
+ description: Hands-free workflow — runs all 8 phases (including scope check, learn, retro) with auto-skip, auto-advance, auto-commit. Stops only for direction approval, 3-strike failures, and PR push.
4
4
  allowed-tools: Read, Write, Bash, Glob, Grep, Agent, Skill
5
5
  ---
6
6
 
7
7
  # Autopilot Mode
8
8
 
9
- Hands-free workflow that executes all 8 steps of the ShipIt workflow with minimal interruptions. Same quality gates, same fix loops, same 100% coverage — just fewer stops.
9
+ Hands-free workflow that executes all 8 phases (including scope check, learn, and retro) of the ShipIt workflow with minimal interruptions. Same quality gates, same fix loops, same 100% coverage — just fewer stops.
10
10
 
11
11
  ## When to Use
12
12
 
@@ -22,7 +22,7 @@ Hands-free workflow that executes all 8 steps of the ShipIt workflow with minima
22
22
 
23
23
  ## Quality Guarantee
24
24
 
25
- Autopilot runs the EXACT same 8 steps as manual mode:
25
+ Autopilot runs the EXACT same workflow as manual mode (8 phases: explore, design, plan, branch, implement + scope check, commit, gates, ship + learn + retro):
26
26
  - ALL quality gates enforced (lint, test, security, perf, review, e2e)
27
27
  - ALL fix-rerun loops active
28
28
  - 100% test coverage required on new code
@@ -64,6 +64,13 @@ Create feature branch auto-named from the task. Do NOT ask for confirmation.
64
64
  - Run `/sk:execute-plan` (TDD green phase)
65
65
  - Auto-advance when done
66
66
 
67
+ ### 5.5. Scope Check (auto-advance)
68
+
69
+ Run `/sk:scope-check` to compare the implementation against `tasks/todo.md`.
70
+
71
+ - If scope creep detected: log findings, trim the excess, re-commit
72
+ - If on-scope: auto-advance silently
73
+
67
74
  ### 6. Commit (auto-commit)
68
75
 
69
76
  Auto-commit with conventional commit format. Do NOT ask for commit message approval.
@@ -96,6 +103,20 @@ After confirmation:
96
103
  - Sync features (`/sk:features`)
97
104
  - Ask about release (never auto-skipped)
98
105
 
106
+ ### 8.5. Learn (auto-advance)
107
+
108
+ Run `/sk:learn` to extract reusable patterns from this session.
109
+
110
+ - Patterns are saved to `~/.claude/skills/learned/` automatically
111
+ - Auto-advance after saving — no confirmation needed in autopilot
112
+
113
+ ### 8.6. Retro (auto-advance)
114
+
115
+ Run `/sk:retro` to capture velocity, blockers, and action items for this feature.
116
+
117
+ - Output is brief — 3-5 bullets covering what went well, what slowed down, and next actions
118
+ - Appended to `tasks/progress.md`
119
+
99
120
  ## 3-Strike Protocol
100
121
 
101
122
  If any step fails 3 times:
@@ -111,6 +132,7 @@ If any step fails 3 times:
111
132
  | Direction approval | After brainstorm (step 1) | User must approve the approach |
112
133
  | 3-strike failure | Any step fails 3x | Needs human judgment |
113
134
  | PR push | Before creating PR (step 8) | Visible to others — always confirm |
135
+ | Release | After step 8.6 | Never auto-skipped — always ask |
114
136
 
115
137
  Everything else auto-advances.
116
138
 
@@ -10,7 +10,7 @@ Run all quality gates (lint, test, security, perf, review, e2e) in optimized bat
10
10
 
11
11
  ## When to Use
12
12
 
13
- Run `/sk:gates` after committing implementation code (step 11). This single command handles steps 12-17 of the workflow.
13
+ Run `/sk:gates` after `/sk:smart-commit` completes (step 6). This single command covers all quality gates (step 7 of the workflow).
14
14
 
15
15
  ## Execution Strategy
16
16
 
@@ -23,6 +23,7 @@ Launch 3 agents simultaneously:
23
23
  1. **Linter agent** — runs all formatters, analyzers, dep audits
24
24
  2. **`security-reviewer` agent** — OWASP audit on changed files (read-only; reports findings, does not fix)
25
25
  3. **`performance-optimizer` agent** — bundle, N+1, Core Web Vitals, memory (worktree isolation — finds AND fixes critical/high issues)
26
+ **Auto-skip:** If NO frontend keywords (component, view, page, CSS, UI, form, modal, button, react, vue, svelte, blade) AND NO database keywords (migration, schema, table, column, model, database, foreign key, index, seed) appear in `tasks/todo.md`, skip this agent and log: `Auto-skipped: Performance (no frontend or database keywords in plan)`.
26
27
 
27
28
  These 3 have no dependencies on each other. Run them in parallel using the Agent tool.
28
29
 
@@ -51,9 +51,12 @@ Progress is tracked via git branch + `tasks/todo.md` checkboxes.
51
51
  | 3 | Plan | `/sk:write-plan` | required |
52
52
  | 4 | Branch | `/sk:branch` | required |
53
53
  | 5 | Write Tests + Implement | `/sk:write-tests` then `/sk:execute-plan` | required |
54
+ | 5.5 | Scope Check | `/sk:scope-check` | required |
54
55
  | 6 | Commit | `/sk:smart-commit` | required |
55
56
  | 7 | Gates | `/sk:gates` | required (hard gate) |
56
57
  | 8 | Finalize | `/sk:finish-feature` | required |
58
+ | 8.5 | Learn | `/sk:learn` | required |
59
+ | 8.6 | Retro | `/sk:retro` | required |
57
60
 
58
61
  ### Step Details
59
62
 
@@ -62,9 +65,12 @@ Progress is tracked via git branch + `tasks/todo.md` checkboxes.
62
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.
63
66
  4. **Branch** — run `/sk:branch` to create a feature branch auto-named from the current task.
64
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.
65
69
  6. **Commit** — run `/sk:smart-commit` to commit tests + implementation.
66
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.
67
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).
68
74
 
69
75
  ### Workflow Rules
70
76
 
@@ -286,7 +292,7 @@ Create entries in: `[ARCH_CHANGELOG_DIR]`
286
292
  |---------|---------|
287
293
  | `/sk:accessibility` | WCAG 2.1 AA audit — runs after design, before implementation |
288
294
  | `/sk:api-design` | Design API contracts (endpoints, payloads, auth, errors) before implementation |
289
- | `/sk:autopilot` | Hands-free workflow — all 8 steps, auto-skip, auto-advance, auto-commit |
295
+ | `/sk:autopilot` | Hands-free workflow — all 8 phases (scope check, learn, retro included), auto-skip, auto-advance, auto-commit |
290
296
  | `/sk:brainstorm` | Explore requirements and design (includes search-first research) |
291
297
  | `/sk:branch` | Create feature branch auto-named from current task |
292
298
  | `/sk:change` | Handle mid-workflow requirement changes — re-enter at correct step |
@@ -44,7 +44,7 @@ Before making any changes, runs a diagnostic pass on the existing CLAUDE.md:
44
44
  - **Stale content** — detects outdated info (stale model/route counts, removed dependencies, old command names like `/laravel-lint` instead of `/sk:lint`)
45
45
  - **Inconsistencies** — compares documented vs actual project state (directories, scripts, workflows)
46
46
  - **Section completeness** — flags sections that exist but are empty or have only placeholder text
47
- - **Outdated workflow** — checks if the workflow matches the current 8-step flow with `/sk:gates` as single gate step
47
+ - **Outdated workflow** — checks if the workflow matches the current 11-step flow (1, 2, 3, 4, 5, 5.5, 6, 7, 8, 8.5, 8.6) with `/sk:gates` as single gate step
48
48
  - **Missing commands** — checks for `sk:start`, `sk:autopilot`, `sk:team`, `sk:learn`, `sk:context-budget`, `sk:health`, `sk:save-session`, `sk:resume-session`, `sk:safety-guard`, `sk:eval`, `sk:ci`, `sk:plugin` in the Commands table
49
49
  - **Missing agents** — checks if `.claude/agents/` exists and contains the 13 core agents: `backend-dev`, `frontend-dev`, `mobile-dev`, `qa-engineer`, `code-reviewer`, `security-reviewer`, `performance-optimizer`, `architect`, `database-architect`, `devops-engineer`, `debugger`, `refactor-specialist`, `tech-writer`
50
50
  - **Missing rules** — checks if `.claude/rules/` exists and contains the project-relevant rule files based on detected stack (laravel.md, react.md, vue.md, tests.md, api.md, migrations.md)
@@ -59,13 +59,13 @@ Reports findings before proceeding. If issues are found, they inform subsequent
59
59
 
60
60
  If the workflow section is outdated or missing, replace it with the latest version:
61
61
 
62
- **Current workflow (8 steps, TDD with `/sk:gates` as single gate step):**
62
+ **Current workflow (11 steps, TDD with `/sk:gates` as single gate step):**
63
63
  ```
64
- Explore → Design → Plan → Branch → Write Tests + Implement → Commit → Gates → Finalize
64
+ Explore → Design → Plan → Branch → Write Tests + Implement → Scope Check → Commit → Gates → Finalize + Learn + Retro
65
65
  ```
66
66
 
67
67
  **What gets updated:**
68
- - Workflow table (8 steps — `/sk:brainstorm`, `/sk:frontend-design` or `/sk:api-design`, `/sk:write-plan`, `/sk:branch`, `/sk:write-tests` + `/sk:execute-plan`, `/sk:smart-commit`, `/sk:gates`, `/sk:finish-feature`)
68
+ - Workflow table (11 steps — `/sk:brainstorm`, `/sk:frontend-design` or `/sk:api-design`, `/sk:write-plan`, `/sk:branch`, `/sk:write-tests` + `/sk:execute-plan`, `/sk:scope-check`, `/sk:smart-commit`, `/sk:gates`, `/sk:finish-feature`, `/sk:learn`, `/sk:retro`)
69
69
  - Step details (TDD red/green/verify descriptions)
70
70
  - Workflow rules (auto-advance, conditional summary, auto-skip, squash gate commits)
71
71
  - Bug fix flow section (7 steps)
@@ -32,7 +32,7 @@ Read the task description from arguments. Scan for signal keywords to determine
32
32
  | bug, fix, broken, error, regression, failing, crash, wrong | `debug` (7 steps) |
33
33
  | urgent, prod down, hotfix, emergency, critical, production, incident | `hotfix` (6 steps) |
34
34
  | config, bump, typo, copy, rename, dependency, upgrade, version, docs | `fast-track` (5 steps) |
35
- | *(default — no special signals)* | `feature` (8 steps) |
35
+ | *(default — no special signals)* | `feature` (8 phases + scope check, learn, retro) |
36
36
 
37
37
  **Scope detection:**
38
38
 
@@ -84,7 +84,7 @@ Present the classification and recommendation:
84
84
  ```
85
85
  Detected: [Full-stack feature / Backend bug fix / Frontend hotfix / Small config change / etc.]
86
86
  Recommended:
87
- Flow: [feature (8 steps) / debug (7 steps) / hotfix (6 steps) / fast-track (5 steps)]
87
+ Flow: [feature (8 phases) / debug (7 steps) / hotfix (6 steps) / fast-track (5 steps)]
88
88
  Mode: [autopilot / manual]
89
89
  Agents: [team (backend + frontend + QA) / solo]
90
90
 
@@ -106,7 +106,7 @@ If both agents used worktree isolation and made changes:
106
106
 
107
107
  ### 5. Collect QA Agent Results
108
108
 
109
- Collect the QA Agent's E2E scenarios. These will be used in the E2E gate (step 17).
109
+ Collect the QA Agent's E2E scenarios. These will be used in the E2E gate (step 7 / Batch 4).
110
110
 
111
111
  ### 6. Report Results
112
112