jettypod 4.4.78 โ 4.4.80
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/apps/dashboard/components/DragContext.tsx +92 -1
- package/apps/dashboard/components/DraggableCard.tsx +13 -6
- package/apps/dashboard/components/KanbanBoard.tsx +60 -5
- package/apps/dashboard/components/RealTimeKanbanWrapper.tsx +144 -5
- package/apps/dashboard/components/Toast.tsx +80 -0
- package/apps/dashboard/lib/undoStack.ts +141 -0
- package/apps/dashboard/tsconfig.tsbuildinfo +1 -0
- package/jettypod.js +17 -0
- package/lib/database.js +55 -0
- package/package.json +1 -1
- package/skills-templates/bug-mode/SKILL.md +75 -87
- package/skills-templates/bug-planning/SKILL.md +21 -117
- package/skills-templates/chore-planning/SKILL.md +1 -1
- package/skills-templates/feature-planning/SKILL.md +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bug-mode
|
|
3
|
-
description: Guide implementation of
|
|
3
|
+
description: Guide implementation of bug fixes with comprehensive fix, regression test creation, and verification. Receives enriched context from bug-planning and executes with iteration until verification passes.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Bug Mode Skill
|
|
@@ -33,22 +33,21 @@ Why? A bug fix should:
|
|
|
33
33
|
|
|
34
34
|
---
|
|
35
35
|
|
|
36
|
-
Guides Claude Code through comprehensive bug fix implementation. Receives context from bug-planning skill (root cause, breadcrumbs
|
|
36
|
+
Guides Claude Code through comprehensive bug fix implementation. Receives context from bug-planning skill (root cause, breadcrumbs).
|
|
37
37
|
|
|
38
38
|
## Instructions
|
|
39
39
|
|
|
40
|
-
When this skill is activated, you are implementing a bug fix
|
|
40
|
+
When this skill is activated, you are implementing a bug fix directly on the bug work item. The bug-planning skill has already:
|
|
41
41
|
- Identified root cause
|
|
42
|
-
- Created the bug work item
|
|
43
|
-
- Written a regression test (currently failing)
|
|
42
|
+
- Created the bug work item with breadcrumbs
|
|
44
43
|
- Started the worktree with `work start`
|
|
45
44
|
|
|
46
|
-
Your job:
|
|
45
|
+
Your job: Implement the fix, write a regression test, and verify everything passes.
|
|
47
46
|
|
|
48
47
|
## ๐ Critical Context
|
|
49
48
|
|
|
50
49
|
**You are working in an isolated git worktree:**
|
|
51
|
-
- `work start [
|
|
50
|
+
- `work start [bug-id]` already created a dedicated worktree
|
|
52
51
|
- All file operations must use **absolute paths** from the worktree
|
|
53
52
|
- The worktree has its own branch - changes are isolated from main
|
|
54
53
|
|
|
@@ -75,7 +74,7 @@ Your shell's working directory was likely inside a worktree that was deleted. Th
|
|
|
75
74
|
**Before proceeding, validate the worktree exists.**
|
|
76
75
|
|
|
77
76
|
```bash
|
|
78
|
-
sqlite3 .jettypod/work.db "SELECT wi.id, wi.title, wi.status, wt.worktree_path, wt.branch_name FROM work_items wi LEFT JOIN worktrees wt ON wi.id = wt.work_item_id WHERE wi.status = 'in_progress' AND wi.type = '
|
|
77
|
+
sqlite3 .jettypod/work.db "SELECT wi.id, wi.title, wi.status, wt.worktree_path, wt.branch_name FROM work_items wi LEFT JOIN worktrees wt ON wi.id = wt.work_item_id WHERE wi.status = 'in_progress' AND wi.type = 'bug'"
|
|
79
78
|
```
|
|
80
79
|
|
|
81
80
|
**Check the result:**
|
|
@@ -83,8 +82,8 @@ sqlite3 .jettypod/work.db "SELECT wi.id, wi.title, wi.status, wt.worktree_path,
|
|
|
83
82
|
| worktree_path | What it means | Action |
|
|
84
83
|
|---------------|---------------|--------|
|
|
85
84
|
| **Has a path** | โ
Worktree exists, ready to proceed | Continue to Step 0 |
|
|
86
|
-
| **NULL or empty** | โ `work start` was not called | **STOP - run `jettypod work start [
|
|
87
|
-
| **No rows returned** | โ No
|
|
85
|
+
| **NULL or empty** | โ `work start` was not called | **STOP - run `jettypod work start [bug-id]` first** |
|
|
86
|
+
| **No rows returned** | โ No bug is in progress | **STOP - verify the bug exists and run `work start`** |
|
|
88
87
|
|
|
89
88
|
---
|
|
90
89
|
|
|
@@ -95,14 +94,10 @@ sqlite3 .jettypod/work.db "SELECT wi.id, wi.title, wi.status, wt.worktree_path,
|
|
|
95
94
|
**Get the current work context:**
|
|
96
95
|
|
|
97
96
|
```bash
|
|
98
|
-
sqlite3 .jettypod/work.db "SELECT wi.id, wi.title, wi.description,
|
|
97
|
+
sqlite3 .jettypod/work.db "SELECT wi.id, wi.title, wi.description, wt.worktree_path, wt.branch_name FROM work_items wi LEFT JOIN worktrees wt ON wi.id = wt.work_item_id WHERE wi.status = 'in_progress' AND wi.type = 'bug'"
|
|
99
98
|
```
|
|
100
99
|
|
|
101
|
-
**
|
|
102
|
-
- `parent_type` should be `bug`
|
|
103
|
-
- If not, this skill may not be appropriate
|
|
104
|
-
|
|
105
|
-
**Extract breadcrumbs from chore description:**
|
|
100
|
+
**Extract breadcrumbs from bug description:**
|
|
106
101
|
The bug-planning skill embedded implementation guidance:
|
|
107
102
|
- Root cause location (file:line)
|
|
108
103
|
- Fix approach (steps)
|
|
@@ -116,8 +111,7 @@ The bug-planning skill embedded implementation guidance:
|
|
|
116
111
|
๐ BUG MODE: Fixing #[bug-id]
|
|
117
112
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
118
113
|
|
|
119
|
-
|
|
120
|
-
Bug: #[parent-id] [parent-title]
|
|
114
|
+
Bug: #[id] [title]
|
|
121
115
|
Worktree: [worktree_path]
|
|
122
116
|
Branch: [branch_name]
|
|
123
117
|
|
|
@@ -127,53 +121,14 @@ Root Cause:
|
|
|
127
121
|
Fix Approach:
|
|
128
122
|
[From breadcrumbs - steps to fix]
|
|
129
123
|
|
|
130
|
-
|
|
124
|
+
Starting implementation...
|
|
131
125
|
```
|
|
132
126
|
|
|
133
127
|
**Proceed to Step 1.**
|
|
134
128
|
|
|
135
129
|
---
|
|
136
130
|
|
|
137
|
-
### Step 1:
|
|
138
|
-
|
|
139
|
-
**Run the regression test to confirm it fails:**
|
|
140
|
-
|
|
141
|
-
```bash
|
|
142
|
-
# Find the regression test file
|
|
143
|
-
sqlite3 .jettypod/work.db "SELECT id FROM work_items WHERE id = <bug-id>"
|
|
144
|
-
# Look for features/*<bug-id>*.feature or features/*<bug-slug>*.feature
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
```bash
|
|
148
|
-
# Run the regression test
|
|
149
|
-
npx cucumber-js features/<bug-slug>.feature --format progress
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
**Confirm RED state:**
|
|
153
|
-
- The regression test should FAIL
|
|
154
|
-
- This proves the bug exists and the test catches it
|
|
155
|
-
|
|
156
|
-
**Display RED baseline:**
|
|
157
|
-
|
|
158
|
-
```
|
|
159
|
-
๐ด RED Baseline Confirmed
|
|
160
|
-
|
|
161
|
-
Regression test: features/<bug-slug>.feature
|
|
162
|
-
Status: FAILING (as expected)
|
|
163
|
-
|
|
164
|
-
Error:
|
|
165
|
-
[Error message from test]
|
|
166
|
-
|
|
167
|
-
๐ฏ Goal: Make the regression test pass with a comprehensive fix
|
|
168
|
-
|
|
169
|
-
Now implementing fix...
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
**Proceed to Step 2.**
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
### Step 2: Implement Comprehensive Fix
|
|
131
|
+
### Step 1: Implement Comprehensive Fix
|
|
177
132
|
|
|
178
133
|
**CRITICAL:** Bug fixes must be comprehensive from the start.
|
|
179
134
|
|
|
@@ -213,32 +168,71 @@ sqlite3 .jettypod/work.db "SELECT project_state FROM project_config WHERE id = 1
|
|
|
213
168
|
๐ง Change: [what you're fixing]
|
|
214
169
|
```
|
|
215
170
|
|
|
216
|
-
**After
|
|
171
|
+
**After implementation:**
|
|
217
172
|
|
|
218
|
-
```bash
|
|
219
|
-
npx cucumber-js features/<bug-slug>.feature --format progress
|
|
220
173
|
```
|
|
174
|
+
๐ Fix Implemented
|
|
221
175
|
|
|
222
|
-
|
|
176
|
+
Changes made:
|
|
177
|
+
- [Change 1]
|
|
178
|
+
- [Change 2]
|
|
179
|
+
- [Error handling added]
|
|
223
180
|
|
|
181
|
+
Now writing regression test...
|
|
224
182
|
```
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
183
|
+
|
|
184
|
+
**Proceed to Step 2.**
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
### Step 2: Write Regression Test
|
|
189
|
+
|
|
190
|
+
**Goal:** Create a test that verifies the bug is fixed and prevents regression.
|
|
191
|
+
|
|
192
|
+
**Derive feature slug** from bug title (lowercase, hyphens, no special chars).
|
|
193
|
+
|
|
194
|
+
**Write regression test in worktree:**
|
|
195
|
+
|
|
196
|
+
Feature file at `<worktree>/features/<bug-slug>.feature`:
|
|
197
|
+
|
|
198
|
+
```gherkin
|
|
199
|
+
Feature: [Bug title] - Regression Test
|
|
200
|
+
Prevents regression of bug #<bug-id>
|
|
201
|
+
|
|
202
|
+
Root cause: [Brief description]
|
|
203
|
+
|
|
204
|
+
Scenario: [Description of correct behavior]
|
|
205
|
+
Given [setup that triggers the bug condition]
|
|
206
|
+
When [action that previously caused the bug]
|
|
207
|
+
Then [expected correct behavior]
|
|
208
|
+
And [additional verifications]
|
|
229
209
|
```
|
|
230
210
|
|
|
231
|
-
|
|
211
|
+
Step definitions at `<worktree>/features/step_definitions/<bug-slug>.steps.js`
|
|
212
|
+
|
|
213
|
+
**Validate with dry-run:**
|
|
232
214
|
|
|
215
|
+
```bash
|
|
216
|
+
cd <worktree> && npx cucumber-js --dry-run features/<bug-slug>.feature
|
|
233
217
|
```
|
|
234
|
-
๐ GREEN: Regression test passing!
|
|
235
218
|
|
|
236
|
-
Fix
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
- [Error handling added]
|
|
219
|
+
Fix any undefined steps or syntax errors.
|
|
220
|
+
|
|
221
|
+
**Run the regression test:**
|
|
240
222
|
|
|
241
|
-
|
|
223
|
+
```bash
|
|
224
|
+
npx cucumber-js features/<bug-slug>.feature --format progress
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**Confirm test passes:**
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
โ
Regression Test Passing
|
|
231
|
+
|
|
232
|
+
Test: features/<bug-slug>.feature
|
|
233
|
+
Status: PASSING
|
|
234
|
+
|
|
235
|
+
The fix is verified by the regression test.
|
|
242
236
|
```
|
|
243
237
|
|
|
244
238
|
**Proceed to Step 3.**
|
|
@@ -318,7 +312,7 @@ pwd && ls .jettypod # verify
|
|
|
318
312
|
|
|
319
313
|
```bash
|
|
320
314
|
# Step 3: Clean up the worktree
|
|
321
|
-
jettypod work cleanup <
|
|
315
|
+
jettypod work cleanup <bug-id>
|
|
322
316
|
```
|
|
323
317
|
|
|
324
318
|
**Proceed to Step 5.**
|
|
@@ -327,7 +321,7 @@ jettypod work cleanup <chore-id>
|
|
|
327
321
|
|
|
328
322
|
### Step 5: Mark Bug as Done
|
|
329
323
|
|
|
330
|
-
**After the fix
|
|
324
|
+
**After the fix is merged, mark the bug as done:**
|
|
331
325
|
|
|
332
326
|
```bash
|
|
333
327
|
jettypod work status <bug-id> done
|
|
@@ -341,8 +335,7 @@ jettypod work status <bug-id> done
|
|
|
341
335
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
342
336
|
|
|
343
337
|
๐ Bug: #[bug-id] [title]
|
|
344
|
-
|
|
345
|
-
๐งช Regression test: โ
Passing
|
|
338
|
+
๐งช Regression test: โ
features/<bug-slug>.feature
|
|
346
339
|
|
|
347
340
|
What was fixed:
|
|
348
341
|
- Root cause: [brief description]
|
|
@@ -359,12 +352,11 @@ The bug is now fixed and protected by a regression test.
|
|
|
359
352
|
## Validation Checklist
|
|
360
353
|
|
|
361
354
|
Before ending bug-mode skill, ensure:
|
|
362
|
-
- [ ] Regression test was failing (RED baseline confirmed)
|
|
363
355
|
- [ ] Fix implemented comprehensively (not just happy path)
|
|
364
|
-
- [ ] Regression test
|
|
356
|
+
- [ ] Regression test written and passing
|
|
365
357
|
- [ ] No other tests broken (no regressions)
|
|
366
358
|
- [ ] Fix committed with descriptive message
|
|
367
|
-
- [ ]
|
|
359
|
+
- [ ] Bug merged to main
|
|
368
360
|
- [ ] Worktree cleaned up
|
|
369
361
|
- [ ] Bug marked as done
|
|
370
362
|
|
|
@@ -374,19 +366,15 @@ Before ending bug-mode skill, ensure:
|
|
|
374
366
|
|
|
375
367
|
**Merge fix (CRITICAL: cd to main repo separately):**
|
|
376
368
|
```bash
|
|
377
|
-
jettypod work merge # Merge current
|
|
369
|
+
jettypod work merge # Merge current bug
|
|
378
370
|
```
|
|
379
371
|
|
|
380
372
|
```bash
|
|
381
373
|
cd <main-repo> # Change to main repo
|
|
382
|
-
jettypod work cleanup <id>
|
|
374
|
+
jettypod work cleanup <bug-id> # Clean up worktree
|
|
383
375
|
```
|
|
384
376
|
|
|
385
377
|
**Mark bug complete:**
|
|
386
378
|
```bash
|
|
387
379
|
jettypod work status <bug-id> done
|
|
388
380
|
```
|
|
389
|
-
|
|
390
|
-
**โ DO NOT use these to complete chores:**
|
|
391
|
-
- `jettypod work status <chore-id> done`
|
|
392
|
-
- `jettypod work complete <id>`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: bug-planning
|
|
3
|
-
description: Guide structured bug investigation with symptom capture, hypothesis testing, and root cause identification. Creates bug work item
|
|
3
|
+
description: Guide structured bug investigation with symptom capture, hypothesis testing, and root cause identification. Creates bug work item for direct implementation. Use when user reports a bug, mentions unexpected behavior, or says "investigate bug".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Bug Planning Skill
|
|
@@ -9,13 +9,13 @@ description: Guide structured bug investigation with symptom capture, hypothesis
|
|
|
9
9
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
10
10
|
โ Bug Planning Flow โ
|
|
11
11
|
โ โ
|
|
12
|
-
โ Symptom โ Hypothesis โ Evidence โ Root Cause โ
|
|
12
|
+
โ Symptom โ Hypothesis โ Evidence โ Root Cause โ Bug Work Item โ
|
|
13
13
|
โ โ
|
|
14
|
-
โ Output: Bug work item
|
|
14
|
+
โ Output: Bug work item with root cause breadcrumbs โ
|
|
15
15
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
Guides Claude through systematic bug investigation. Produces
|
|
18
|
+
Guides Claude through systematic bug investigation. Produces a bug work item with clear breadcrumbs for implementation.
|
|
19
19
|
|
|
20
20
|
## Instructions
|
|
21
21
|
|
|
@@ -180,7 +180,7 @@ Loop back to Phase 2 with new information.
|
|
|
180
180
|
|
|
181
181
|
## Phase 4: Root Cause Confirmation
|
|
182
182
|
|
|
183
|
-
**Goal:** Confirm root cause with user before creating work
|
|
183
|
+
**Goal:** Confirm root cause with user before creating work item.
|
|
184
184
|
|
|
185
185
|
**โก ASYNC BOUNDARY - Wait for user confirmation**
|
|
186
186
|
|
|
@@ -197,7 +197,7 @@ Loop back to Phase 2 with new information.
|
|
|
197
197
|
**Proposed fix:**
|
|
198
198
|
[Brief description of how to fix it]
|
|
199
199
|
|
|
200
|
-
Does this match your understanding? Ready to create the
|
|
200
|
+
Does this match your understanding? Ready to create the bug work item?
|
|
201
201
|
```
|
|
202
202
|
|
|
203
203
|
**WAIT for user confirmation.**
|
|
@@ -208,39 +208,14 @@ If user disagrees or adds context, revise understanding and confirm again.
|
|
|
208
208
|
|
|
209
209
|
---
|
|
210
210
|
|
|
211
|
-
## Phase 5: Create Bug Work Item
|
|
211
|
+
## Phase 5: Create Bug Work Item
|
|
212
212
|
|
|
213
|
-
**Goal:** Create tracked work
|
|
213
|
+
**Goal:** Create tracked bug work item with breadcrumbs for implementation.
|
|
214
214
|
|
|
215
|
-
**
|
|
215
|
+
**Create bug work item with description:**
|
|
216
216
|
|
|
217
217
|
```bash
|
|
218
|
-
|
|
219
|
-
# Otherwise create standalone bug
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
**Create bug work item:**
|
|
223
|
-
|
|
224
|
-
```bash
|
|
225
|
-
# Standalone bug
|
|
226
|
-
jettypod work create bug "[Bug title - brief description]"
|
|
227
|
-
|
|
228
|
-
# OR with parent
|
|
229
|
-
jettypod work create bug "[Bug title]" --parent=<feature-or-epic-id>
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
**Capture the bug ID from output.**
|
|
233
|
-
|
|
234
|
-
**Create fix chore with breadcrumbs:**
|
|
235
|
-
|
|
236
|
-
```bash
|
|
237
|
-
jettypod work create chore "Fix: [brief description]" "[Full description with breadcrumbs]" --parent=<bug-id>
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
**Chore description must include:**
|
|
241
|
-
|
|
242
|
-
```
|
|
243
|
-
Root cause: [What's broken and why]
|
|
218
|
+
jettypod work create bug "[Bug title - brief description]" "Root cause: [What's broken and why]
|
|
244
219
|
Location: [file:line]
|
|
245
220
|
|
|
246
221
|
Fix approach:
|
|
@@ -254,87 +229,18 @@ Files to modify:
|
|
|
254
229
|
Verification:
|
|
255
230
|
- Regression test passes
|
|
256
231
|
- Original bug no longer reproduces
|
|
257
|
-
- [Any other checks]
|
|
232
|
+
- [Any other checks]"
|
|
258
233
|
```
|
|
259
234
|
|
|
235
|
+
**Capture the bug ID from output.**
|
|
236
|
+
|
|
260
237
|
**Proceed to Phase 6.**
|
|
261
238
|
|
|
262
239
|
---
|
|
263
240
|
|
|
264
|
-
## Phase 6:
|
|
265
|
-
|
|
266
|
-
**Goal:** Create BDD scenario that fails now, passes after fix.
|
|
267
|
-
|
|
268
|
-
**๐ซ FORBIDDEN: Writing directly to main**
|
|
269
|
-
```
|
|
270
|
-
โ Write to features/*.feature on main
|
|
271
|
-
โ Manual git commands for worktrees
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
**Create test worktree:**
|
|
275
|
-
|
|
276
|
-
```bash
|
|
277
|
-
jettypod work tests start <bug-id>
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
**Capture worktree path from output.**
|
|
281
|
-
|
|
282
|
-
**Derive feature slug** from bug title (lowercase, hyphens, no special chars).
|
|
283
|
-
|
|
284
|
-
**Write regression test in worktree:**
|
|
285
|
-
|
|
286
|
-
Feature file at `<worktree>/features/<bug-slug>.feature`:
|
|
287
|
-
|
|
288
|
-
```gherkin
|
|
289
|
-
Feature: [Bug title] - Regression Test
|
|
290
|
-
Prevents regression of bug #<bug-id>
|
|
291
|
-
|
|
292
|
-
Root cause: [Brief description]
|
|
293
|
-
|
|
294
|
-
Scenario: [Description of correct behavior]
|
|
295
|
-
Given [setup that triggers the bug condition]
|
|
296
|
-
When [action that previously caused the bug]
|
|
297
|
-
Then [expected correct behavior]
|
|
298
|
-
And [additional verifications]
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
Step definitions at `<worktree>/features/step_definitions/<bug-slug>.steps.js`
|
|
302
|
-
|
|
303
|
-
**Validate with dry-run:**
|
|
304
|
-
|
|
305
|
-
```bash
|
|
306
|
-
cd <worktree> && npx cucumber-js --dry-run features/<bug-slug>.feature
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
Fix any undefined steps or syntax errors.
|
|
310
|
-
|
|
311
|
-
**Merge tests:**
|
|
312
|
-
|
|
313
|
-
```bash
|
|
314
|
-
# Commit
|
|
315
|
-
cd <worktree> && git add features/ && git commit -m "test: Add regression test for bug #<bug-id>"
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
```bash
|
|
319
|
-
# Merge (from worktree is OK)
|
|
320
|
-
jettypod work tests merge <bug-id>
|
|
321
|
-
```
|
|
322
|
-
|
|
323
|
-
```bash
|
|
324
|
-
# cd to main repo
|
|
325
|
-
cd <main-repo-path>
|
|
326
|
-
```
|
|
327
|
-
|
|
328
|
-
```bash
|
|
329
|
-
# Cleanup worktree
|
|
330
|
-
jettypod work cleanup <bug-id>
|
|
331
|
-
```
|
|
332
|
-
|
|
333
|
-
**Proceed to Phase 7.**
|
|
334
|
-
|
|
335
|
-
---
|
|
241
|
+
## Phase 6: Hand Off to Bug Mode
|
|
336
242
|
|
|
337
|
-
|
|
243
|
+
**Goal:** Start the bug worktree and hand off to implementation.
|
|
338
244
|
|
|
339
245
|
**Display completion:**
|
|
340
246
|
|
|
@@ -344,8 +250,8 @@ jettypod work cleanup <bug-id>
|
|
|
344
250
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
345
251
|
|
|
346
252
|
๐ Bug: #<bug-id> [title]
|
|
347
|
-
|
|
348
|
-
|
|
253
|
+
๐ Root cause: [file:line]
|
|
254
|
+
๐ง Fix approach: [brief summary]
|
|
349
255
|
|
|
350
256
|
Ready to implement the fix?
|
|
351
257
|
```
|
|
@@ -355,13 +261,13 @@ Ready to implement the fix?
|
|
|
355
261
|
**If user confirms:**
|
|
356
262
|
|
|
357
263
|
```bash
|
|
358
|
-
jettypod work start <
|
|
264
|
+
jettypod work start <bug-id>
|
|
359
265
|
```
|
|
360
266
|
|
|
361
267
|
**Verify worktree created:**
|
|
362
268
|
|
|
363
269
|
```bash
|
|
364
|
-
sqlite3 .jettypod/work.db "SELECT worktree_path FROM worktrees WHERE work_item_id = <
|
|
270
|
+
sqlite3 .jettypod/work.db "SELECT worktree_path FROM worktrees WHERE work_item_id = <bug-id> AND status = 'active'"
|
|
365
271
|
```
|
|
366
272
|
|
|
367
273
|
**Then invoke bug-mode:**
|
|
@@ -380,8 +286,6 @@ Before completing bug-planning:
|
|
|
380
286
|
- [ ] Symptoms clearly documented
|
|
381
287
|
- [ ] Root cause confirmed with evidence
|
|
382
288
|
- [ ] User confirmed root cause
|
|
383
|
-
- [ ] Bug work item created
|
|
384
|
-
- [ ]
|
|
385
|
-
- [ ] Regression test written and merged
|
|
386
|
-
- [ ] Fix chore started with `work start`
|
|
289
|
+
- [ ] Bug work item created with breadcrumbs
|
|
290
|
+
- [ ] Bug worktree started with `work start`
|
|
387
291
|
- [ ] bug-mode skill invoked
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: chore-planning
|
|
3
|
-
description: Guide standalone chore planning with automatic type classification
|
|
3
|
+
description: Guide standalone chore planning with automatic type classification and routing to chore-mode. Use when the implementation approach is obvious - refactoring, bug fixes, infrastructure, or simple enhancements where there's no UX decision to make. Key question - "Does this need UX exploration?" No โ chore-planning. Yes โ feature-planning instead.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Chore Planning Skill
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: feature-planning
|
|
3
|
-
description: Guide feature planning with UX approach exploration and BDD scenario generation. Use when user
|
|
3
|
+
description: Guide feature planning with UX approach exploration and BDD scenario generation. Use when implementing NEW user-facing behavior that requires UX decisions (multiple valid approaches to discuss). NOT for simple/obvious changes like copy tweaks, styling fixes, or adding straightforward functionality. Key question - "Does this need UX exploration?" Yes โ feature-planning.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Feature Planning Skill
|