@kennethsolomon/shipkit 3.5.0 → 3.6.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
|
@@ -244,6 +244,7 @@ Requirement changes → /sk:change → re-enter at correct step
|
|
|
244
244
|
| `/sk:help` | Show all commands and workflow overview |
|
|
245
245
|
| `/sk:status` | Show workflow and task status at a glance |
|
|
246
246
|
| `/sk:dashboard` | Read-only workflow Kanban board — localhost server, multi-worktree |
|
|
247
|
+
| `/sk:context` | Load all context files + output session brief for fast session start |
|
|
247
248
|
| `/sk:skill-creator` | Create or improve ShipKit skills |
|
|
248
249
|
|
|
249
250
|
---
|
package/package.json
CHANGED
|
@@ -32,6 +32,7 @@ You MUST create a task for each of these items and complete them in order:
|
|
|
32
32
|
- Key decisions made
|
|
33
33
|
- Chosen approach + rationale
|
|
34
34
|
- Open questions (if any remain)
|
|
35
|
+
Additionally, **append** an ADR entry to `docs/decisions.md` (see "Decisions Log" section below).
|
|
35
36
|
(Optionally also write a full design doc to docs/plans/YYYY-MM-DD-<topic>-design.md)
|
|
36
37
|
6. **Transition to implementation** — invoke writing-plans skill to create implementation plan
|
|
37
38
|
|
|
@@ -89,13 +90,49 @@ digraph brainstorming {
|
|
|
89
90
|
|
|
90
91
|
**Documentation:**
|
|
91
92
|
- Write the findings to `tasks/findings.md` (required — captures problem, decisions, approach, rationale)
|
|
93
|
+
- Append an ADR entry to `docs/decisions.md` (required — see "Decisions Log" section below)
|
|
92
94
|
- Optionally: Create a full design doc at `docs/plans/YYYY-MM-DD-<topic>-design.md` for complex projects
|
|
93
|
-
- Commit the findings and any design document to git
|
|
95
|
+
- Commit the findings, decisions log entry, and any design document to git
|
|
94
96
|
|
|
95
97
|
**Implementation:**
|
|
96
98
|
- Invoke the writing-plans skill to create a detailed implementation plan
|
|
97
99
|
- Do NOT invoke any other skill. writing-plans is the next step.
|
|
98
100
|
|
|
101
|
+
## Decisions Log
|
|
102
|
+
|
|
103
|
+
After writing findings to `tasks/findings.md`, also **append** an Architecture Decision Record (ADR) entry to `docs/decisions.md`. This file is **cumulative and append-only** — never overwrite or remove existing entries.
|
|
104
|
+
|
|
105
|
+
### If `docs/decisions.md` does not exist
|
|
106
|
+
|
|
107
|
+
Create it with this header before the first entry:
|
|
108
|
+
|
|
109
|
+
```markdown
|
|
110
|
+
# Architecture Decision Records
|
|
111
|
+
|
|
112
|
+
A cumulative log of key design decisions made across features. Append-only — never overwrite.
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### ADR Entry Format
|
|
116
|
+
|
|
117
|
+
Append this template for each brainstorm decision:
|
|
118
|
+
|
|
119
|
+
```markdown
|
|
120
|
+
## [YYYY-MM-DD] [Feature/Task Name]
|
|
121
|
+
|
|
122
|
+
**Context:** [problem being solved — 1-2 sentences]
|
|
123
|
+
**Decision:** [chosen approach — 1 sentence]
|
|
124
|
+
**Rationale:** [why this approach over alternatives]
|
|
125
|
+
**Consequences:** [trade-offs accepted]
|
|
126
|
+
**Status:** accepted
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Rules
|
|
130
|
+
|
|
131
|
+
- **Append-only** — never edit or delete existing entries in `docs/decisions.md`
|
|
132
|
+
- **One entry per brainstorm** — each completed brainstorm adds exactly one ADR entry
|
|
133
|
+
- **Use absolute dates** — always `YYYY-MM-DD`, never relative dates
|
|
134
|
+
- Entries accumulate across features — this is a project-level historical record
|
|
135
|
+
|
|
99
136
|
## Key Principles
|
|
100
137
|
|
|
101
138
|
- **One question at a time** - Don't overwhelm with multiple questions
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sk:context
|
|
3
|
+
description: "Session initializer — loads all project context files and outputs a formatted session brief. Run this at the start of every conversation to orient the AI and yourself."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /sk:context — Session Brief + Context Loader
|
|
7
|
+
|
|
8
|
+
Load all project context files into the conversation and output a formatted session brief. Designed to be run at the **start of every session** for instant orientation.
|
|
9
|
+
|
|
10
|
+
## What It Does
|
|
11
|
+
|
|
12
|
+
1. **Reads** all context files (listed below) to load project state into the conversation
|
|
13
|
+
2. **Outputs** a formatted SESSION BRIEF the user can read at a glance
|
|
14
|
+
3. **Applies** all active lessons from `tasks/lessons.md` as standing constraints for the session
|
|
15
|
+
|
|
16
|
+
## Hard Rules
|
|
17
|
+
|
|
18
|
+
- **Read-only.** This skill does not modify any files.
|
|
19
|
+
- **Graceful fallback.** Missing files are noted in the brief, not treated as errors.
|
|
20
|
+
- **No questions.** This skill runs silently — it does not ask the user anything.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Files to Read (in order)
|
|
25
|
+
|
|
26
|
+
| # | File | What to Extract |
|
|
27
|
+
|---|------|-----------------|
|
|
28
|
+
| 1 | `tasks/todo.md` | Task name (from `# TODO —` heading), milestone progress, count of `- [x]` (done) vs `- [ ]` (pending) checkboxes |
|
|
29
|
+
| 2 | `tasks/workflow-status.md` | Current step (row with `>> next <<`), step name, command to run |
|
|
30
|
+
| 3 | `tasks/progress.md` | Last 5 entries only (most recent work). If file is large, read only the last 50 lines. |
|
|
31
|
+
| 4 | `tasks/findings.md` | Current decisions, chosen approach, open questions |
|
|
32
|
+
| 5 | `tasks/lessons.md` | All active lessons — read in full, apply as constraints for this session |
|
|
33
|
+
| 6 | `docs/decisions.md` | If exists: last 3 ADR entries. If missing: note "no decisions log yet" |
|
|
34
|
+
| 7 | `docs/vision.md` | If exists: product name + value proposition. If missing: note "no vision.md found" |
|
|
35
|
+
|
|
36
|
+
### Reading Strategy
|
|
37
|
+
|
|
38
|
+
- Read files 1-5 first (these are the core context).
|
|
39
|
+
- Files 6-7 are optional — check if they exist before reading.
|
|
40
|
+
- For `tasks/progress.md`: only read the last 50 lines to avoid loading a huge file.
|
|
41
|
+
- If `tasks/todo.md` is missing: the project has no active task.
|
|
42
|
+
- If `tasks/workflow-status.md` is missing: the workflow hasn't started.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Output Format
|
|
47
|
+
|
|
48
|
+
After reading all files, output this session brief:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
╔══════════════════════════════════════════╗
|
|
52
|
+
║ SESSION BRIEF ║
|
|
53
|
+
╚══════════════════════════════════════════╝
|
|
54
|
+
Branch: [current git branch]
|
|
55
|
+
Task: [task name from todo.md, or "No active task"]
|
|
56
|
+
Step: [step #] [step name] → run `/sk:[command]`
|
|
57
|
+
Last done: [last progress.md entry summary, 1 line]
|
|
58
|
+
Pending: [N] checkboxes remaining in todo.md
|
|
59
|
+
Lessons: [count] active — [most critical 1-liner from lessons.md]
|
|
60
|
+
Open Qs: [open questions from findings.md, or "none"]
|
|
61
|
+
Product: [value prop from vision.md, or "no vision.md found"]
|
|
62
|
+
════════════════════════════════════════════
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Field Rules
|
|
66
|
+
|
|
67
|
+
- **Branch:** Run `git branch --show-current` to get the current branch name.
|
|
68
|
+
- **Task:** Extract from the first `# TODO —` line in `tasks/todo.md`. If the file doesn't exist or all checkboxes are done, show "No active task — ready to start fresh".
|
|
69
|
+
- **Step:** Find the row containing `>> next <<` in `tasks/workflow-status.md`. Extract step number, name, and command. If no `>> next <<` found, show "Workflow complete" or "Not started".
|
|
70
|
+
- **Last done:** The most recent entry from `tasks/progress.md`. Summarize in one line.
|
|
71
|
+
- **Pending:** Count `- [ ]` lines in `tasks/todo.md`. Stop counting at the first `## Verification`, `## Acceptance Criteria`, or `## Risks` heading (these are meta-sections, not tasks).
|
|
72
|
+
- **Lessons:** Count `### [` headings in `tasks/lessons.md` (each lesson starts with `### [YYYY-MM-DD]`). Show the count + the **Prevention:** line from the most recent lesson.
|
|
73
|
+
- **Open Qs:** Check for an "## Open Questions" section in `tasks/findings.md`. List them or say "none".
|
|
74
|
+
- **Product:** From `docs/vision.md`, extract the value proposition. If file doesn't exist, say "no vision.md found".
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## After the Brief
|
|
79
|
+
|
|
80
|
+
After outputting the session brief:
|
|
81
|
+
|
|
82
|
+
1. **State the active lessons** that apply as constraints. List each prevention rule as a bullet.
|
|
83
|
+
2. **State what's next** — tell the user the next step and the command to run.
|
|
84
|
+
3. If the user has a specific request, proceed with it (the context is now loaded).
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Edge Cases
|
|
89
|
+
|
|
90
|
+
| Scenario | Behavior |
|
|
91
|
+
|----------|----------|
|
|
92
|
+
| No `tasks/todo.md` | Show "No active task — ready to start fresh" |
|
|
93
|
+
| No `tasks/workflow-status.md` | Show "Workflow not started" for Step field |
|
|
94
|
+
| No `tasks/progress.md` | Show "No progress logged yet" for Last done |
|
|
95
|
+
| No `tasks/findings.md` | Show "none" for Open Qs |
|
|
96
|
+
| No `tasks/lessons.md` | Show "0 active" for Lessons |
|
|
97
|
+
| No `docs/decisions.md` | Show "no decisions log yet" — do not error |
|
|
98
|
+
| No `docs/vision.md` | Show "no vision.md found" — do not error |
|
|
99
|
+
| All checkboxes done in todo.md | Show "Task complete — 0 pending" |
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Model Routing
|
|
104
|
+
|
|
105
|
+
Read `.shipkit/config.json` from the project root if it exists.
|
|
106
|
+
|
|
107
|
+
- If `model_overrides["sk:context"]` is set, use that model — it takes precedence.
|
|
108
|
+
- Otherwise use the `profile` field. Default: `balanced`.
|
|
109
|
+
|
|
110
|
+
| Profile | Model |
|
|
111
|
+
|---------|-------|
|
|
112
|
+
| `full-sail` | sonnet |
|
|
113
|
+
| `quality` | sonnet |
|
|
114
|
+
| `balanced` | sonnet |
|
|
115
|
+
| `budget` | haiku |
|
|
116
|
+
|
|
117
|
+
> This skill is lightweight (read-only file operations + brief output). Sonnet is sufficient for all quality profiles. Haiku for budget.
|
package/skills/sk:mvp/SKILL.md
CHANGED
|
@@ -215,7 +215,84 @@ Maximum 3 loop iterations. If issues persist after 3 loops, present remaining is
|
|
|
215
215
|
|
|
216
216
|
---
|
|
217
217
|
|
|
218
|
-
## Step 9 —
|
|
218
|
+
## Step 9 — Generate Project Context Docs
|
|
219
|
+
|
|
220
|
+
Generate 3 lightweight documentation files in `docs/` from information already gathered in Steps 1-2. No new questions — use the product name, value prop, audience, features, and tech stack already captured.
|
|
221
|
+
|
|
222
|
+
### Files to Generate
|
|
223
|
+
|
|
224
|
+
**`docs/vision.md`**
|
|
225
|
+
```markdown
|
|
226
|
+
# [Product Name]
|
|
227
|
+
|
|
228
|
+
## Value Proposition
|
|
229
|
+
[One-line value prop from Step 1]
|
|
230
|
+
|
|
231
|
+
## Target Audience
|
|
232
|
+
[Target audience from Step 1]
|
|
233
|
+
|
|
234
|
+
## Key Features
|
|
235
|
+
[Bullet list of 3-5 features from Step 1]
|
|
236
|
+
|
|
237
|
+
## North Star Metric
|
|
238
|
+
[Suggest one metric that measures core value — e.g., "weekly active waitlist signups" or "daily feature usage"]
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**`docs/prd.md`**
|
|
242
|
+
```markdown
|
|
243
|
+
# PRD — [Product Name]
|
|
244
|
+
|
|
245
|
+
## Overview
|
|
246
|
+
[1-2 sentence product description]
|
|
247
|
+
|
|
248
|
+
## User Stories
|
|
249
|
+
[For each key feature from Step 1, write a user story: "As a [audience], I want to [feature] so that [benefit]"]
|
|
250
|
+
|
|
251
|
+
## Feature Acceptance Criteria
|
|
252
|
+
[For each feature, list 2-3 concrete acceptance criteria]
|
|
253
|
+
|
|
254
|
+
## Out of Scope (MVP)
|
|
255
|
+
- Real authentication
|
|
256
|
+
- Real database
|
|
257
|
+
- Third-party integrations
|
|
258
|
+
- Deployment
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
**`docs/tech-design.md`**
|
|
262
|
+
```markdown
|
|
263
|
+
# Tech Design — [Product Name]
|
|
264
|
+
|
|
265
|
+
## Stack
|
|
266
|
+
- **Framework:** [chosen stack from Step 2]
|
|
267
|
+
- **Styling:** Tailwind CSS
|
|
268
|
+
- **Fonts:** [chosen fonts]
|
|
269
|
+
|
|
270
|
+
## Project Structure
|
|
271
|
+
[List the key directories and files generated during scaffolding]
|
|
272
|
+
|
|
273
|
+
## Component Map
|
|
274
|
+
### Landing Page
|
|
275
|
+
[List all 9 sections and their components]
|
|
276
|
+
|
|
277
|
+
### App Pages
|
|
278
|
+
[List each page and its key components]
|
|
279
|
+
|
|
280
|
+
## Data Model
|
|
281
|
+
### Waitlist
|
|
282
|
+
- email: string (validated)
|
|
283
|
+
- timestamp: ISO 8601 string
|
|
284
|
+
|
|
285
|
+
### Fake Data Entities
|
|
286
|
+
[List the fake data structures used in the app]
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
After generating the docs, output:
|
|
290
|
+
> **Context docs generated:** `docs/vision.md`, `docs/prd.md`, `docs/tech-design.md`
|
|
291
|
+
> These persist context for future sessions. Run `/sk:context` to load `docs/vision.md` into the session brief, or read the others directly.
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Step 10 — Present the Output
|
|
219
296
|
|
|
220
297
|
Summarize what was generated:
|
|
221
298
|
|
|
@@ -363,4 +363,5 @@ Create entries in: `[ARCH_CHANGELOG_DIR]`
|
|
|
363
363
|
| `/sk:features` | Sync feature specs with shipped implementation |
|
|
364
364
|
| `/sk:release` | Version bump + changelog + tag |
|
|
365
365
|
| `/sk:status` | Show workflow + task status |
|
|
366
|
+
| `/sk:context` | Load all context files + output session brief for fast session start |
|
|
366
367
|
| `/sk:setup-optimizer` | Diagnose + update workflow + enrich CLAUDE.md |
|