@kennethsolomon/shipkit 3.0.7 → 3.2.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 +31 -24
- package/commands/sk/security-check.md +30 -15
- package/package.json +1 -1
- package/skills/sk:accessibility/SKILL.md +13 -8
- package/skills/sk:e2e/SKILL.md +147 -0
- package/skills/sk:lint/SKILL.md +49 -4
- package/skills/sk:perf/SKILL.md +33 -11
- package/skills/sk:review/SKILL.md +33 -2
- package/skills/sk:seo-audit/SKILL.md +283 -0
- package/skills/sk:setup-claude/templates/CLAUDE.md.template +149 -84
- package/skills/sk:setup-claude/templates/commands/brainstorm.md.template +4 -4
- package/skills/sk:setup-claude/templates/commands/execute-plan.md.template +2 -2
- package/skills/sk:setup-claude/templates/commands/finish-feature.md.template +8 -8
- package/skills/sk:setup-claude/templates/commands/security-check.md.template +3 -3
- package/skills/sk:setup-claude/templates/commands/write-plan.md.template +1 -1
- package/skills/sk:setup-claude/templates/tasks/workflow-status.md.template +25 -22
- package/skills/sk:setup-optimizer/SKILL.md +7 -5
- package/skills/sk:test/SKILL.md +17 -0
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
# Finish Feature Command
|
|
4
4
|
|
|
5
|
-
**Workflow:** Read → Explore → Design → Accessibility → Plan → Branch → Migrate → Write Tests → Implement → Lint → Verify Tests → Security → Performance → Review → **
|
|
5
|
+
**Workflow:** Read → Explore → Design → Accessibility → Plan → Branch → Migrate → Write Tests → Implement → Lint → Verify Tests → Security → Performance → Review → E2E Tests → **Finish** → Sync Features
|
|
6
6
|
|
|
7
7
|
Finalize a feature/bug-fix branch: changelog, arch log, security gate, verification, and PR creation.
|
|
8
8
|
|
|
9
|
-
This is the **last step before `/release`**. It auto-commits documentation changes (changelog, arch log) so you don't need to loop back to `/commit` for docs-only work.
|
|
9
|
+
This is the **last step before `/sk:release`**. It auto-commits documentation changes (changelog, arch log) so you don't need to loop back to `/sk:smart-commit` for docs-only work.
|
|
10
10
|
|
|
11
11
|
## Before You Start
|
|
12
12
|
|
|
@@ -16,7 +16,7 @@ before marking the feature done. This is the last gate before merge — catch re
|
|
|
16
16
|
mistakes here rather than in review.
|
|
17
17
|
|
|
18
18
|
If `tasks/security-findings.md` exists, read it. Check that any Critical or High
|
|
19
|
-
severity findings from the most recent `/security-check` audit have been addressed.
|
|
19
|
+
severity findings from the most recent `/sk:security-check` audit have been addressed.
|
|
20
20
|
If unresolved Critical/High findings remain, warn the user before proceeding.
|
|
21
21
|
|
|
22
22
|
## Steps
|
|
@@ -69,7 +69,7 @@ If unresolved Critical/High findings remain, warn the user before proceeding.
|
|
|
69
69
|
- Migration/Compatibility: Any breaking changes?
|
|
70
70
|
- Verify the auto-filled sections (Summary, Type, What Changed, Impact)
|
|
71
71
|
|
|
72
|
-
c) **Auto-commit the arch log** (no need to go back to `/commit`):
|
|
72
|
+
c) **Auto-commit the arch log** (no need to go back to `/sk:smart-commit`):
|
|
73
73
|
```bash
|
|
74
74
|
git add .claude/docs/architectural_change_log/
|
|
75
75
|
git commit -m "docs: add architectural changelog entry"
|
|
@@ -79,7 +79,7 @@ If unresolved Critical/High findings remain, warn the user before proceeding.
|
|
|
79
79
|
|
|
80
80
|
5. **Verification** (with Test Checklist for Reviewers)
|
|
81
81
|
|
|
82
|
-
Tests should have been created during `/execute-plan`. Verify:
|
|
82
|
+
Tests should have been created during `/sk:execute-plan`. Verify:
|
|
83
83
|
|
|
84
84
|
a) **Automated Tests**
|
|
85
85
|
- Execute: `[TEST_COMMAND]`
|
|
@@ -108,7 +108,7 @@ If unresolved Critical/High findings remain, warn the user before proceeding.
|
|
|
108
108
|
- Follows [LANGUAGE] conventions and style guide (see `CLAUDE.md`)
|
|
109
109
|
|
|
110
110
|
6. **Security Gate**
|
|
111
|
-
- Read `tasks/security-findings.md`. If it doesn't exist or has no audit for this branch, recommend: "Run `/security-check` before creating a PR."
|
|
111
|
+
- Read `tasks/security-findings.md`. If it doesn't exist or has no audit for this branch, recommend: "Run `/sk:security-check` before creating a PR."
|
|
112
112
|
- If the most recent audit has unresolved Critical or High findings, list them and ask the user to confirm they've been addressed before proceeding.
|
|
113
113
|
|
|
114
114
|
7. **Create Pull Request**
|
|
@@ -126,7 +126,7 @@ If unresolved Critical/High findings remain, warn the user before proceeding.
|
|
|
126
126
|
|
|
127
127
|
c) **Generate PR title and body:**
|
|
128
128
|
- Title: Short, imperative, under 70 characters
|
|
129
|
-
- Body: Summary of changes, review findings (if any from `/review`), test status
|
|
129
|
+
- Body: Summary of changes, review findings (if any from `/sk:review`), test status
|
|
130
130
|
|
|
131
131
|
d) **Create PR:**
|
|
132
132
|
```bash
|
|
@@ -152,4 +152,4 @@ EOF
|
|
|
152
152
|
|
|
153
153
|
## When Done
|
|
154
154
|
|
|
155
|
-
> "Feature finalized and PR created! Run `/release` when ready to tag and publish."
|
|
155
|
+
> "Feature finalized and PR created! Run `/sk:release` when ready to tag and publish."
|
|
@@ -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:** Read → Explore → Design → Accessibility → Plan → Branch → Migrate → Write Tests → Implement → Lint → Verify Tests → **Security** → Performance → Review →
|
|
9
|
+
**Workflow:** Read → Explore → Design → Accessibility → Plan → Branch → Migrate → Write Tests → Implement → Lint → Verify Tests → **Security** → Performance → Review → E2E Tests → Finish → Sync Features
|
|
10
10
|
|
|
11
11
|
Audit code for security vulnerabilities, production-grade quality, and industry gold-standard compliance.
|
|
12
12
|
|
|
@@ -164,9 +164,9 @@ Tell the user:
|
|
|
164
164
|
> "Security audit complete. Findings saved to `tasks/security-findings.md`.
|
|
165
165
|
> - **Critical:** N | **High:** N | **Medium:** N | **Low:** N
|
|
166
166
|
>
|
|
167
|
-
> Review the findings, then run `/finish-feature` when ready to finalize."
|
|
167
|
+
> Review the findings, then run `/sk:finish-feature` when ready to finalize."
|
|
168
168
|
|
|
169
169
|
If there are Critical or High findings:
|
|
170
|
-
> "There are critical/high findings that should be addressed before merging. Fix them, then re-run `/security-check` to verify."
|
|
170
|
+
> "There are critical/high findings that should be addressed before merging. Fix them, then re-run `/sk:security-check` to verify."
|
|
171
171
|
|
|
172
172
|
**Do not auto-fix.** The user decides what to address.
|
|
@@ -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:** Read → Explore → Design → Accessibility → **Plan** → Branch → Migrate → Write Tests → Implement → Lint → Verify Tests → Security → Performance → Review →
|
|
9
|
+
**Workflow:** Read → Explore → Design → Accessibility → **Plan** → Branch → Migrate → Write Tests → Implement → Lint → Verify Tests → Security → Performance → Review → E2E Tests → Finish → Sync Features
|
|
10
10
|
|
|
11
11
|
Create a decision-complete plan **before** writing code.
|
|
12
12
|
|
|
@@ -7,25 +7,28 @@
|
|
|
7
7
|
|---|------|--------|-------|
|
|
8
8
|
| 1 | Read Todo | >> next << | |
|
|
9
9
|
| 2 | Read Lessons | not yet | |
|
|
10
|
-
| 3 | Explore (`/brainstorm`) | not yet | |
|
|
11
|
-
| 4 | Design (`/frontend-design` or `/api-design`) | not yet | optional |
|
|
12
|
-
| 5 | Accessibility (`/accessibility`) | not yet | optional |
|
|
13
|
-
| 6 | Plan (`/write-plan`) | not yet | |
|
|
14
|
-
| 7 | Branch (`/branch`) | not yet | |
|
|
15
|
-
| 8 | Migrate (`/schema-migrate`) | not yet | optional |
|
|
16
|
-
| 9 | Write Tests (`/write-tests`) | not yet | |
|
|
17
|
-
| 10 | Implement (`/execute-plan`) | not yet | |
|
|
18
|
-
| 11 | Commit (`/smart-commit`) | not yet | |
|
|
19
|
-
| 12 | **Lint** (`/lint`) | not yet | HARD GATE — loop until clean |
|
|
20
|
-
| 13 | Commit (`/smart-commit`) | not yet | conditional |
|
|
21
|
-
| 14 | **Verify Tests** (`/test`) | not yet | HARD GATE — 100% coverage |
|
|
22
|
-
| 15 | Commit (`/smart-commit`) | not yet | conditional |
|
|
23
|
-
| 16 | **Security** (`/security-check`) | not yet | HARD GATE — 0 issues |
|
|
24
|
-
| 17 | Commit (`/smart-commit`) | not yet | conditional |
|
|
25
|
-
| 18 | Performance (`/perf`) | not yet | optional gate |
|
|
26
|
-
| 19 | Commit (`/smart-commit`) | not yet | conditional |
|
|
27
|
-
| 20 | **Review** (`/review`) | not yet | HARD GATE — 0 issues |
|
|
28
|
-
| 21 | Commit (`/smart-commit`) | not yet | conditional |
|
|
29
|
-
| 22 |
|
|
30
|
-
| 23 |
|
|
31
|
-
| 24 |
|
|
10
|
+
| 3 | Explore (`/sk:brainstorm`) | not yet | |
|
|
11
|
+
| 4 | Design (`/sk:frontend-design` or `/sk:api-design`) | not yet | optional |
|
|
12
|
+
| 5 | Accessibility (`/sk:accessibility`) | not yet | optional |
|
|
13
|
+
| 6 | Plan (`/sk:write-plan`) | not yet | |
|
|
14
|
+
| 7 | Branch (`/sk:branch`) | not yet | |
|
|
15
|
+
| 8 | Migrate (`/sk:schema-migrate`) | not yet | optional |
|
|
16
|
+
| 9 | Write Tests (`/sk:write-tests`) | not yet | |
|
|
17
|
+
| 10 | Implement (`/sk:execute-plan`) | not yet | |
|
|
18
|
+
| 11 | Commit (`/sk:smart-commit`) | not yet | |
|
|
19
|
+
| 12 | **Lint + Dep Audit** (`/sk:lint`) | not yet | HARD GATE — loop until clean |
|
|
20
|
+
| 13 | Commit (`/sk:smart-commit`) | not yet | conditional |
|
|
21
|
+
| 14 | **Verify Tests** (`/sk:test`) | not yet | HARD GATE — 100% coverage |
|
|
22
|
+
| 15 | Commit (`/sk:smart-commit`) | not yet | conditional |
|
|
23
|
+
| 16 | **Security** (`/sk:security-check`) | not yet | HARD GATE — 0 issues |
|
|
24
|
+
| 17 | Commit (`/sk:smart-commit`) | not yet | conditional |
|
|
25
|
+
| 18 | Performance (`/sk:perf`) | not yet | optional gate |
|
|
26
|
+
| 19 | Commit (`/sk:smart-commit`) | not yet | conditional |
|
|
27
|
+
| 20 | **Review + Simplify** (`/sk:review`) | not yet | HARD GATE — 0 issues |
|
|
28
|
+
| 21 | Commit (`/sk:smart-commit`) | not yet | conditional |
|
|
29
|
+
| 22 | **E2E** (`/sk:e2e`) | not yet | HARD GATE — all E2E scenarios must pass |
|
|
30
|
+
| 23 | Commit (`/sk:smart-commit`) | not yet | conditional — skip if E2E was clean |
|
|
31
|
+
| 24 | Update (`/sk:update-task`) | not yet | |
|
|
32
|
+
| 25 | Finalize (`/sk:finish-feature`) | not yet | |
|
|
33
|
+
| 26 | Sync Features (`/sk:features`) | not yet | required — sync feature specs after ship |
|
|
34
|
+
| 27 | Release (`/sk:release`) | not yet | optional |
|
|
@@ -43,7 +43,7 @@ Before making any changes, runs a diagnostic pass on the existing CLAUDE.md:
|
|
|
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
|
|
46
|
-
- **Outdated workflow** — checks if the workflow matches the current
|
|
46
|
+
- **Outdated workflow** — checks if the workflow matches the current 27-step TDD flow with hard gates
|
|
47
47
|
|
|
48
48
|
Reports findings before proceeding. If issues are found, they inform subsequent steps.
|
|
49
49
|
|
|
@@ -51,15 +51,15 @@ Reports findings before proceeding. If issues are found, they inform subsequent
|
|
|
51
51
|
|
|
52
52
|
If the workflow section is outdated or missing, replace it with the latest version:
|
|
53
53
|
|
|
54
|
-
**Current workflow (
|
|
54
|
+
**Current workflow (27 steps, TDD with hard gates):**
|
|
55
55
|
```
|
|
56
|
-
Read → Explore → Design → Accessibility → Plan → Branch → Migrate → Write Tests → Implement → Lint → Verify Tests → Security → Performance → Review → Finish
|
|
56
|
+
Read → Explore → Design → Accessibility → Plan → Branch → Migrate → Write Tests → Implement → Lint → Verify Tests → Security → Performance → Review → E2E Tests → Finish → Sync Features
|
|
57
57
|
```
|
|
58
58
|
|
|
59
59
|
**What gets updated:**
|
|
60
|
-
- Workflow table (
|
|
60
|
+
- Workflow table (27 steps with correct commands: `/sk:write-tests`, `/sk:lint`, `/sk:test`, `/sk:accessibility`, `/sk:perf`, `/sk:e2e`)
|
|
61
61
|
- Step details (TDD red/green/verify descriptions)
|
|
62
|
-
- Tracker rules (hard gates at 12, 14, 16, 20; optional steps 4, 5,
|
|
62
|
+
- Tracker rules (hard gates at 12, 14, 16, 20, 22; optional steps 4, 5, 8, 18, 27)
|
|
63
63
|
- Step completion summary rule (NON-NEGOTIABLE)
|
|
64
64
|
- Bug fix flow section
|
|
65
65
|
- Sub-Agent Patterns section (if missing)
|
|
@@ -67,6 +67,8 @@ Read → Explore → Design → Accessibility → Plan → Branch → Migrate
|
|
|
67
67
|
- Lessons Capture section (if missing)
|
|
68
68
|
- Testing TDD section (if missing)
|
|
69
69
|
- 3-Strike Protocol (if missing)
|
|
70
|
+
- Fix & Retest Protocol section (if missing)
|
|
71
|
+
- Requirement Change Flow section (if missing)
|
|
70
72
|
|
|
71
73
|
**What gets preserved:**
|
|
72
74
|
- Everything marked with `<!-- LOCK -->` is never touched
|
package/skills/sk:test/SKILL.md
CHANGED
|
@@ -154,6 +154,23 @@ All detected suites pass with 100% coverage on new code. Both lines of the repor
|
|
|
154
154
|
|
|
155
155
|
---
|
|
156
156
|
|
|
157
|
+
## Fix & Retest Protocol
|
|
158
|
+
|
|
159
|
+
When a test failure requires an implementation fix, classify the fix before committing:
|
|
160
|
+
|
|
161
|
+
**a. Bug fix — same behavior contract** (the code was wrong, the test expectation was right) → fix the implementation, re-run `/sk:test`. No test update needed.
|
|
162
|
+
|
|
163
|
+
**b. Logic change** (new behavior, changed data contract, modified function signature, new code path) → trigger protocol:
|
|
164
|
+
1. Update or add failing unit tests to reflect the new behavior (RED first)
|
|
165
|
+
2. Fix the implementation to make the updated tests pass (GREEN)
|
|
166
|
+
3. Re-run `/sk:test` — must pass at 100% coverage
|
|
167
|
+
4. Commit (tests + fix together in one commit)
|
|
168
|
+
5. Re-run the gate that triggered this fix (Security, Performance, Review, or E2E)
|
|
169
|
+
|
|
170
|
+
**Why this matters:** quality gates (Security, Performance, Review, E2E) run after tests pass. If those gates require logic fixes, tests can become stale. This protocol ensures tests always reflect the actual implementation.
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
157
174
|
## Model Routing
|
|
158
175
|
|
|
159
176
|
Read `.shipkit/config.json` from the project root if it exists.
|