@gannonh/kata 0.1.5 → 0.1.7

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
@@ -28,6 +28,27 @@ npx @gannonh/kata
28
28
 
29
29
  ---
30
30
 
31
+ ## Talk to It Like a Person
32
+
33
+ Drive your entire workflow with **natural language**. 🗣️
34
+
35
+ No memorizing commands. No syntax. Just say what you want:
36
+
37
+ | You say... | Kata does... |
38
+ | ------------------------ | -------------------------------------- |
39
+ | "Start a new project" | Launches full project initialization |
40
+ | "What's the status?" | Shows progress, next steps, blockers |
41
+ | "Plan phase 2" | Researches and creates execution plans |
42
+ | "Execute the phase" | Runs all plans with parallel agents |
43
+ | "I'm done for today" | Creates handoff for session resumption |
44
+ | "Debug this login issue" | Spawns systematic debugging workflow |
45
+
46
+ Every workflow responds to natural language. Slash commands exist for precision when you want them (`/kata:plan-phase 2`), but you never *need* them.
47
+
48
+ **This isn't autocomplete. It's intent recognition.** Kata understands what you're trying to accomplish and routes to the right workflow — research, planning, execution, verification — automatically.
49
+
50
+ ---
51
+
31
52
  ## Who This Is For
32
53
 
33
54
  Teams and individuals that want to describe what they want and have it built correctly.
@@ -137,8 +158,9 @@ If you prefer not to use that flag, add this to your project's `.claude/settings
137
158
  ### 1. Initialize Project
138
159
 
139
160
  ```
140
- /kata:new-project
161
+ "Start a new project"
141
162
  ```
163
+ <sub>or `/kata:new-project`</sub>
142
164
 
143
165
  One command, one flow. The system:
144
166
 
@@ -156,8 +178,9 @@ You approve the roadmap. Now you're ready to build.
156
178
  ### 2. Discuss Phase
157
179
 
158
180
  ```
159
- /kata:discuss-phase 1
181
+ "Let's discuss phase 1"
160
182
  ```
183
+ <sub>or `/kata:discuss-phase 1`</sub>
161
184
 
162
185
  **This is where you shape the implementation.**
163
186
 
@@ -184,8 +207,9 @@ The deeper you go here, the more the system builds what you actually want. Skip
184
207
  ### 3. Plan Phase
185
208
 
186
209
  ```
187
- /kata:plan-phase 1
210
+ "Plan phase 1"
188
211
  ```
212
+ <sub>or `/kata:plan-phase 1`</sub>
189
213
 
190
214
  The system:
191
215
 
@@ -202,8 +226,9 @@ Each plan is small enough to execute in a fresh context window. No degradation,
202
226
  ### 4. Execute Phase
203
227
 
204
228
  ```
205
- /kata:execute-phase 1
229
+ "Execute phase 1"
206
230
  ```
231
+ <sub>or `/kata:execute-phase 1`</sub>
207
232
 
208
233
  The system:
209
234
 
@@ -221,8 +246,9 @@ Walk away, come back to completed work with clean git history.
221
246
  ### 5. Verify Work
222
247
 
223
248
  ```
224
- /kata:verify-work 1
249
+ "Verify phase 1"
225
250
  ```
251
+ <sub>or `/kata:verify-work 1`</sub>
226
252
 
227
253
  **This is where you confirm it actually works.**
228
254
 
@@ -244,13 +270,13 @@ If everything passes, you move on. If something's broken, you don't manually deb
244
270
  ### 6. Repeat → Complete → Next Milestone
245
271
 
246
272
  ```
247
- /kata:discuss-phase 2
248
- /kata:plan-phase 2
249
- /kata:execute-phase 2
250
- /kata:verify-work 2
273
+ "Discuss phase 2"
274
+ "Plan phase 2"
275
+ "Execute phase 2"
276
+ "Verify phase 2"
251
277
  ...
252
- /kata:complete-milestone
253
- /kata:new-milestone
278
+ "Complete the milestone"
279
+ "Start the next milestone"
254
280
  ```
255
281
 
256
282
  Loop **discuss → plan → execute → verify** until milestone complete.
@@ -266,8 +292,9 @@ Then `/kata:new-milestone` starts the next version — same flow as `new-project
266
292
  ### Quick Mode
267
293
 
268
294
  ```
269
- /kata:quick
295
+ "Quick task: add dark mode toggle"
270
296
  ```
297
+ <sub>or `/kata:quick`</sub>
271
298
 
272
299
  **For ad-hoc tasks that don't need full planning.**
273
300
 
@@ -373,10 +400,12 @@ You're never locked in. The system adapts.
373
400
 
374
401
  ## Commands
375
402
 
403
+ > **Remember:** All commands also respond to natural language. "What's my progress?" works the same as `/kata:progress`.
404
+
376
405
  ### Core Workflow
377
406
 
378
- | Command | What it does |
379
- | --------------------------- | ------------------------------------------------------------------ |
407
+ | Command | What it does |
408
+ | ---------------------------- | ------------------------------------------------------------------ |
380
409
  | `/kata:new-project` | Full initialization: questions → research → requirements → roadmap |
381
410
  | `/kata:discuss-phase [N]` | Capture implementation decisions before planning |
382
411
  | `/kata:plan-phase [N]` | Research + plan + verify for a phase |
@@ -388,23 +417,23 @@ You're never locked in. The system adapts.
388
417
 
389
418
  ### Navigation
390
419
 
391
- | Command | What it does |
392
- | ---------------- | --------------------------------------------- |
420
+ | Command | What it does |
421
+ | ----------------- | --------------------------------------------- |
393
422
  | `/kata:progress` | Where am I? What's next? |
394
423
  | `/kata:help` | Show all commands and usage guide |
395
424
  | `/kata:whats-new` | See what changed since your installed version |
396
- | `/kata:update` | Update Kata with changelog preview |
425
+ | `/kata:update` | Update Kata with changelog preview |
397
426
 
398
427
  ### Brownfield
399
428
 
400
- | Command | What it does |
401
- | ------------------- | -------------------------------------------- |
429
+ | Command | What it does |
430
+ | -------------------- | -------------------------------------------- |
402
431
  | `/kata:map-codebase` | Analyze existing codebase before new-project |
403
432
 
404
433
  ### Phase Management
405
434
 
406
- | Command | What it does |
407
- | --------------------------------- | ---------------------------------------------- |
435
+ | Command | What it does |
436
+ | ---------------------------------- | ---------------------------------------------- |
408
437
  | `/kata:add-phase` | Append phase to roadmap |
409
438
  | `/kata:insert-phase [N]` | Insert urgent work between phases |
410
439
  | `/kata:remove-phase [N]` | Remove future phase, renumber |
@@ -413,21 +442,21 @@ You're never locked in. The system adapts.
413
442
 
414
443
  ### Session
415
444
 
416
- | Command | What it does |
417
- | ------------------ | -------------------------------------- |
445
+ | Command | What it does |
446
+ | ------------------- | -------------------------------------- |
418
447
  | `/kata:pause-work` | Create handoff when stopping mid-phase |
419
448
  | `/kata:resume-work` | Restore from last session |
420
449
 
421
450
  ### Utilities
422
451
 
423
- | Command | What it does |
424
- | ---------------------------- | ---------------------------------------------- |
452
+ | Command | What it does |
453
+ | ----------------------------- | ---------------------------------------------- |
425
454
  | `/kata:settings` | Configure model profile and workflow agents |
426
455
  | `/kata:set-profile <profile>` | Switch model profile (quality/balanced/budget) |
427
456
  | `/kata:add-todo [desc]` | Capture idea for later |
428
457
  | `/kata:check-todos` | List pending todos |
429
458
  | `/kata:debug [desc]` | Systematic debugging with persistent state |
430
- | `/kata:quick` | Execute ad-hoc task with Kata guarantees |
459
+ | `/kata:quick` | Execute ad-hoc task with Kata guarantees |
431
460
 
432
461
  <sup>¹ Contributed by reddit user OracleGreyBeard</sup>
433
462
 
@@ -531,4 +560,6 @@ MIT License. See [LICENSE](LICENSE) for details.
531
560
 
532
561
  **Claude Code is powerful. Kata makes it reliable.**
533
562
 
563
+ *Just tell it what you want.*
564
+
534
565
  </div>
package/bin/install.js CHANGED
@@ -410,17 +410,34 @@ function install(isGlobal) {
410
410
  }
411
411
  }
412
412
 
413
- // Copy hooks
413
+ // Copy hooks (recursively to handle subdirectories like dist/)
414
414
  const hooksSrc = path.join(src, 'hooks');
415
415
  if (fs.existsSync(hooksSrc)) {
416
416
  const hooksDest = path.join(claudeDir, 'hooks');
417
+ // Clean install: remove existing to prevent orphaned files
418
+ if (fs.existsSync(hooksDest)) {
419
+ fs.rmSync(hooksDest, { recursive: true });
420
+ }
417
421
  fs.mkdirSync(hooksDest, { recursive: true });
418
- const hookEntries = fs.readdirSync(hooksSrc);
419
- for (const entry of hookEntries) {
420
- const srcFile = path.join(hooksSrc, entry);
421
- const destFile = path.join(hooksDest, entry);
422
- fs.copyFileSync(srcFile, destFile);
422
+
423
+ function copyHooksRecursive(srcDir, destDir) {
424
+ const entries = fs.readdirSync(srcDir, { withFileTypes: true });
425
+ for (const entry of entries) {
426
+ // Skip dist/ directory - it's for npm publishing only
427
+ if (entry.name === 'dist') continue;
428
+
429
+ const srcPath = path.join(srcDir, entry.name);
430
+ const destPath = path.join(destDir, entry.name);
431
+ if (entry.isDirectory()) {
432
+ fs.mkdirSync(destPath, { recursive: true });
433
+ copyHooksRecursive(srcPath, destPath);
434
+ } else {
435
+ fs.copyFileSync(srcPath, destPath);
436
+ }
437
+ }
423
438
  }
439
+
440
+ copyHooksRecursive(hooksSrc, hooksDest);
424
441
  if (verifyInstalled(hooksDest, 'hooks')) {
425
442
  console.log(` ${green}✓${reset} Installed hooks`);
426
443
  } else {
@@ -1,21 +1,58 @@
1
1
  <planning_config>
2
2
 
3
- Configuration options for `.planning/` directory behavior.
3
+ Configuration options for Kata projects in `.planning/config.json`.
4
4
 
5
5
  <config_schema>
6
+
7
+ **Full schema:**
8
+
6
9
  ```json
7
- "planning": {
8
- "commit_docs": true,
9
- "search_gitignored": false
10
+ {
11
+ "mode": "yolo|interactive",
12
+ "depth": "quick|standard|comprehensive",
13
+ "parallelization": true|false,
14
+ "model_profile": "quality|balanced|budget",
15
+ "commit_docs": true|false,
16
+ "pr_workflow": true|false,
17
+ "workflow": {
18
+ "research": true|false,
19
+ "plan_check": true|false,
20
+ "verifier": true|false
21
+ }
10
22
  }
11
23
  ```
12
24
 
13
25
  | Option | Default | Description |
14
26
  |--------|---------|-------------|
27
+ | `mode` | `yolo` | `yolo` = auto-approve, `interactive` = confirm at each step |
28
+ | `depth` | `standard` | `quick` (3-5 phases), `standard` (5-8), `comprehensive` (8-12) |
29
+ | `parallelization` | `true` | Run independent plans simultaneously |
30
+ | `model_profile` | `balanced` | Which AI models for agents (see model-profiles.md) |
15
31
  | `commit_docs` | `true` | Whether to commit planning artifacts to git |
16
- | `search_gitignored` | `false` | Add `--no-ignore` to broad rg searches |
32
+ | `pr_workflow` | `false` | Use PR-based release workflow vs direct commits |
33
+ | `workflow.research` | `true` | Spawn researcher before planning each phase |
34
+ | `workflow.plan_check` | `true` | Verify plans achieve phase goals before execution |
35
+ | `workflow.verifier` | `true` | Confirm deliverables after phase execution |
36
+
17
37
  </config_schema>
18
38
 
39
+ <reading_config>
40
+
41
+ **Standard pattern for reading config values:**
42
+
43
+ ```bash
44
+ # Read a string value with default
45
+ MODEL_PROFILE=$(cat .planning/config.json 2>/dev/null | grep -o '"model_profile"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
46
+
47
+ # Read a boolean value with default
48
+ PR_WORKFLOW=$(cat .planning/config.json 2>/dev/null | grep -o '"pr_workflow"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "false")
49
+
50
+ # Read nested boolean (workflow.*)
51
+ RESEARCH=$(cat .planning/config.json 2>/dev/null | grep -o '"research"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "true")
52
+ ```
53
+
54
+ </reading_config>
55
+
19
56
  <commit_docs_behavior>
20
57
 
21
58
  **When `commit_docs: true` (default):**
@@ -38,7 +75,7 @@ COMMIT_DOCS=$(cat .planning/config.json 2>/dev/null | grep -o '"commit_docs"[[:s
38
75
  git check-ignore -q .planning 2>/dev/null && COMMIT_DOCS=false
39
76
  ```
40
77
 
41
- **Auto-detection:** If `.planning/` is gitignored, `commit_docs` is automatically `false` regardless of config.json. This prevents git errors when users have `.planning/` in `.gitignore`.
78
+ **Auto-detection:** If `.planning/` is gitignored, `commit_docs` is automatically `false` regardless of config.json. This prevents git errors.
42
79
 
43
80
  **Conditional git operations:**
44
81
 
@@ -51,30 +88,73 @@ fi
51
88
 
52
89
  </commit_docs_behavior>
53
90
 
54
- <search_behavior>
91
+ <pr_workflow_behavior>
92
+
93
+ **When `pr_workflow: false` (default):**
94
+ - Commit directly to main branch
95
+ - Create git tags locally after milestone completion
96
+ - Push tags to remote when ready
97
+
98
+ **When `pr_workflow: true`:**
99
+ - Work on feature branches
100
+ - Create PRs for phase completion
101
+ - Create git tags via GitHub Release after merge
102
+ - Enables GitHub Actions for CI/CD (e.g., npm publish)
103
+
104
+ **Checking the config:**
105
+
106
+ ```bash
107
+ PR_WORKFLOW=$(cat .planning/config.json 2>/dev/null | grep -o '"pr_workflow"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "false")
108
+ ```
109
+
110
+ **Usage in kata-completing-milestones:**
111
+
112
+ ```bash
113
+ if [ "$PR_WORKFLOW" = "true" ]; then
114
+ # Skip git tag, defer to GitHub Release
115
+ echo "Tag will be created via GitHub Release after merge"
116
+ else
117
+ # Create tag locally
118
+ git tag -a v1.0.0 -m "Release v1.0.0"
119
+ fi
120
+ ```
121
+
122
+ </pr_workflow_behavior>
123
+
124
+ <workflow_agents>
125
+
126
+ These settings control optional agent spawning during Kata workflows:
55
127
 
56
- **When `search_gitignored: false` (default):**
57
- - Standard rg behavior (respects .gitignore)
58
- - Direct path searches work: `rg "pattern" .planning/` finds files
59
- - Broad searches skip gitignored: `rg "pattern"` skips `.planning/`
128
+ **`workflow.research`** Spawn kata-phase-researcher before kata-planner
129
+ - Investigates domain, finds patterns, surfaces gotchas
130
+ - Adds tokens/time but improves plan quality
60
131
 
61
- **When `search_gitignored: true`:**
62
- - Add `--no-ignore` to broad rg searches that should include `.planning/`
63
- - Only needed when searching entire repo and expecting `.planning/` matches
132
+ **`workflow.plan_check`** Spawn kata-plan-checker after kata-planner
133
+ - Verifies plan actually achieves the phase goal
134
+ - Catches gaps before execution starts
64
135
 
65
- **Note:** Most Kata operations use direct file reads or explicit paths, which work regardless of gitignore status.
136
+ **`workflow.verifier`** Spawn kata-verifier after kata-executor
137
+ - Confirms must-haves were delivered
138
+ - Validates phase success criteria
66
139
 
67
- </search_behavior>
140
+ **Checking workflow config:**
141
+
142
+ ```bash
143
+ RESEARCH=$(cat .planning/config.json 2>/dev/null | grep -o '"research"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "true")
144
+ PLAN_CHECK=$(cat .planning/config.json 2>/dev/null | grep -o '"plan_check"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "true")
145
+ VERIFIER=$(cat .planning/config.json 2>/dev/null | grep -o '"verifier"[[:space:]]*:[[:space:]]*[^,}]*' | grep -o 'true\|false' || echo "true")
146
+ ```
147
+
148
+ </workflow_agents>
68
149
 
69
150
  <setup_uncommitted_mode>
70
151
 
71
- To use uncommitted mode:
152
+ To use uncommitted mode (keep planning private):
72
153
 
73
154
  1. **Set config:**
74
155
  ```json
75
- "planning": {
76
- "commit_docs": false,
77
- "search_gitignored": true
156
+ {
157
+ "commit_docs": false
78
158
  }
79
159
  ```
80
160
 
@@ -91,4 +171,16 @@ To use uncommitted mode:
91
171
 
92
172
  </setup_uncommitted_mode>
93
173
 
174
+ <updating_settings>
175
+
176
+ Run `/kata:settings` to update config preferences interactively.
177
+
178
+ The settings skill will:
179
+ 1. Detect any missing config keys from schema evolution
180
+ 2. Prompt for preferences on new options
181
+ 3. Preserve existing values for unchanged settings
182
+ 4. Update `.planning/config.json` with merged config
183
+
184
+ </updating_settings>
185
+
94
186
  </planning_config>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gannonh/kata",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "type": "module",
5
5
  "description": "Spec-driven development framework for Claude Code.",
6
6
  "scripts": {
@@ -20,8 +20,8 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
20
20
  <execution_context>
21
21
  **Load these files NOW (before proceeding):**
22
22
 
23
- - @~/.claude/get-shit-done/workflows/complete-milestone.md (main workflow)
24
- - @~/.claude/get-shit-done/templates/milestone-archive.md (archive template)
23
+ - @~/.claude/kata/workflows/complete-milestone.md (main workflow)
24
+ - @~/.claude/kata/templates/milestone-archive.md (archive template)
25
25
  </execution_context>
26
26
 
27
27
  <context>
@@ -145,7 +145,56 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
145
145
 
146
146
  **If `PR_WORKFLOW=true`:**
147
147
 
148
- Skip git tag creation. Display:
148
+ Skip git tag creation. Offer to create PR:
149
+
150
+ Use AskUserQuestion:
151
+ - header: "Create PR"
152
+ - question: "Would you like me to create a PR for this milestone?"
153
+ - options:
154
+ - "Yes, create PR" — Create PR to merge to main
155
+ - "No, I'll do it manually" — Show instructions only
156
+
157
+ **If "Yes, create PR":**
158
+
159
+ ```bash
160
+ # Get current branch
161
+ CURRENT_BRANCH=$(git branch --show-current)
162
+
163
+ # Push branch if not already pushed
164
+ git push -u origin "$CURRENT_BRANCH" 2>/dev/null || true
165
+
166
+ # Create PR
167
+ gh pr create \
168
+ --title "v{{version}}: [Milestone Name]" \
169
+ --body "$(cat <<'EOF'
170
+ ## Summary
171
+
172
+ Completes milestone v{{version}}.
173
+
174
+ **Key accomplishments:**
175
+ - [accomplishment 1]
176
+ - [accomplishment 2]
177
+ - [accomplishment 3]
178
+
179
+ ## After Merge
180
+
181
+ Create GitHub Release with tag `v{{version}}` to trigger npm publish (if configured).
182
+ EOF
183
+ )"
184
+ ```
185
+
186
+ Display PR URL and next steps:
187
+ ```
188
+ ✓ PR created: [PR URL]
189
+
190
+ After merge:
191
+ → Create GitHub Release with tag v{{version}}
192
+ → GitHub Actions will publish to npm (if configured)
193
+ ```
194
+
195
+ **If "No, I'll do it manually":**
196
+
197
+ Display:
149
198
  ```
150
199
  ⚡ PR workflow mode — tag will be created via GitHub Release after merge
151
200
 
@@ -173,7 +222,7 @@ Output: Milestone archived (roadmap + requirements), PROJECT.md evolved, git tag
173
222
  - `.planning/REQUIREMENTS.md` deleted (fresh for next milestone)
174
223
  - ROADMAP.md collapsed to one-line entry
175
224
  - PROJECT.md updated with current state
176
- - Git tag v{{version}} created (if pr_workflow=false) OR deferred to GitHub Release (if pr_workflow=true)
225
+ - Git tag v{{version}} created (if pr_workflow=false) OR PR created/instructions given (if pr_workflow=true)
177
226
  - Commit successful
178
227
  - User knows next steps (including need for fresh requirements)
179
228
  </success_criteria>
@@ -14,6 +14,8 @@ allowed-tools:
14
14
  Allow users to toggle workflow agents on/off and select model profile via interactive settings.
15
15
 
16
16
  Updates `.planning/config.json` with workflow preferences and model profile selection.
17
+
18
+ **Handles missing config keys:** If config.json is missing any expected keys (e.g., `pr_workflow`, `commit_docs`), prompts user for preferences and adds them.
17
19
  </objective>
18
20
 
19
21
  <process>
@@ -26,20 +28,40 @@ ls .planning/config.json 2>/dev/null
26
28
 
27
29
  **If not found:** Error - run `/kata:new-project` first.
28
30
 
29
- ## 2. Read Current Config
31
+ ## 2. Read Current Config and Detect Missing Keys
30
32
 
31
33
  ```bash
32
34
  cat .planning/config.json
33
35
  ```
34
36
 
35
- Parse current values (default to `true` if not present):
36
- - `workflow.research` — spawn researcher during plan-phase
37
- - `workflow.plan_check` — spawn plan checker during plan-phase
38
- - `workflow.verifier` — spawn verifier during execute-phase
37
+ Parse current values with defaults:
38
+ - `mode` — yolo or interactive (default: `yolo`)
39
+ - `depth` — quick, standard, or comprehensive (default: `standard`)
40
+ - `parallelization` — run agents in parallel (default: `true`)
39
41
  - `model_profile` — which model each agent uses (default: `balanced`)
42
+ - `commit_docs` — commit planning artifacts to git (default: `true`)
40
43
  - `pr_workflow` — use PR-based release workflow (default: `false`)
44
+ - `workflow.research` — spawn researcher during plan-phase (default: `true`)
45
+ - `workflow.plan_check` — spawn plan checker during plan-phase (default: `true`)
46
+ - `workflow.verifier` — spawn verifier during execute-phase (default: `true`)
47
+
48
+ **Detect missing keys:**
49
+
50
+ Check if these keys exist in config.json:
51
+ - `commit_docs`
52
+ - `pr_workflow`
53
+
54
+ If any are missing, note them for step 3.
41
55
 
42
- ## 3. Present Settings
56
+ ## 3. Present Settings (Including New Options)
57
+
58
+ **If missing keys were detected:**
59
+
60
+ Display notification:
61
+ ```
62
+ ⚠️ New config options available: {list missing keys}
63
+ Adding these to your settings...
64
+ ```
43
65
 
44
66
  Use AskUserQuestion with current values shown:
45
67
 
@@ -55,6 +77,24 @@ AskUserQuestion([
55
77
  { label: "Budget", description: "Sonnet for writing, Haiku for research/verification (lowest cost)" }
56
78
  ]
57
79
  },
80
+ {
81
+ question: "Commit planning docs to git?",
82
+ header: "Commit Docs",
83
+ multiSelect: false,
84
+ options: [
85
+ { label: "Yes (Recommended)", description: "Track planning artifacts in git history" },
86
+ { label: "No", description: "Keep planning private (add .planning/ to .gitignore)" }
87
+ ]
88
+ },
89
+ {
90
+ question: "Use PR-based release workflow?",
91
+ header: "PR Workflow",
92
+ multiSelect: false,
93
+ options: [
94
+ { label: "Yes", description: "Protect main, create PRs, tag via GitHub Release" },
95
+ { label: "No (Recommended)", description: "Commit directly to main, create tags locally" }
96
+ ]
97
+ },
58
98
  {
59
99
  question: "Spawn Plan Researcher? (researches domain before planning)",
60
100
  header: "Research",
@@ -81,40 +121,38 @@ AskUserQuestion([
81
121
  { label: "Yes", description: "Verify must-haves after execution" },
82
122
  { label: "No", description: "Skip post-execution verification" }
83
123
  ]
84
- },
85
- {
86
- question: "Use PR-based release workflow?",
87
- header: "PR Workflow",
88
- multiSelect: false,
89
- options: [
90
- { label: "Yes", description: "Protect main, create PRs, tag via GitHub Release" },
91
- { label: "No", description: "Commit directly to main, create tags locally" }
92
- ]
93
124
  }
94
125
  ])
95
126
  ```
96
127
 
97
- **Pre-select based on current config values.**
128
+ **Pre-select based on current config values (use defaults for missing keys).**
98
129
 
99
130
  ## 4. Update Config
100
131
 
101
- Merge new settings into existing config.json:
132
+ Merge new settings into existing config.json (preserving existing keys like `mode`, `depth`, `parallelization`):
102
133
 
103
134
  ```json
104
135
  {
105
- ...existing_config,
106
- "model_profile": "quality" | "balanced" | "budget",
107
- "pr_workflow": true/false,
136
+ "mode": "yolo|interactive",
137
+ "depth": "quick|standard|comprehensive",
138
+ "parallelization": true|false,
139
+ "model_profile": "quality|balanced|budget",
140
+ "commit_docs": true|false,
141
+ "pr_workflow": true|false,
108
142
  "workflow": {
109
- "research": true/false,
110
- "plan_check": true/false,
111
- "verifier": true/false
143
+ "research": true|false,
144
+ "plan_check": true|false,
145
+ "verifier": true|false
112
146
  }
113
147
  }
114
148
  ```
115
149
 
116
150
  Write updated config to `.planning/config.json`.
117
151
 
152
+ **If `commit_docs` changed to `false`:**
153
+ - Add `.planning/` to `.gitignore` (create if needed)
154
+ - Note: User should run `git rm -r --cached .planning/` if already tracked
155
+
118
156
  ## 5. Confirm Changes
119
157
 
120
158
  Display:
@@ -127,6 +165,7 @@ Display:
127
165
  | Setting | Value |
128
166
  |----------------------|-------|
129
167
  | Model Profile | {quality/balanced/budget} |
168
+ | Commit Docs | {On/Off} |
130
169
  | PR Workflow | {On/Off} |
131
170
  | Plan Researcher | {On/Off} |
132
171
  | Plan Checker | {On/Off} |
@@ -145,7 +184,8 @@ Quick commands:
145
184
 
146
185
  <success_criteria>
147
186
  - [ ] Current config read
148
- - [ ] User presented with 5 settings (profile + pr_workflow + 3 toggles)
149
- - [ ] Config updated with model_profile, pr_workflow, and workflow section
187
+ - [ ] Missing keys detected and user notified
188
+ - [ ] User presented with 6 settings (profile + commit_docs + pr_workflow + 3 toggles)
189
+ - [ ] Config updated with complete schema
150
190
  - [ ] Changes confirmed to user
151
191
  </success_criteria>
@@ -23,8 +23,8 @@ Extract implementation decisions that downstream agents need — researcher and
23
23
  </objective>
24
24
 
25
25
  <execution_context>
26
- @~/.claude/get-shit-done/workflows/discuss-phase.md
27
- @~/.claude/get-shit-done/templates/context.md
26
+ @~/.claude/kata/workflows/discuss-phase.md
27
+ @~/.claude/kata/templates/context.md
28
28
  </execution_context>
29
29
 
30
30
  <context>
@@ -19,8 +19,8 @@ Context budget: ~15% orchestrator, 100% fresh per subagent.
19
19
  </objective>
20
20
 
21
21
  <execution_context>
22
- @~/.claude/get-shit-done/references/ui-brand.md
23
- @~/.claude/get-shit-done/workflows/execute-phase.md
22
+ @~/.claude/kata/references/ui-brand.md
23
+ @~/.claude/kata/workflows/execute-phase.md
24
24
  </execution_context>
25
25
 
26
26
  <context>
@@ -278,7 +278,7 @@ Plans with `autonomous: false` have checkpoints. The execute-phase.md workflow h
278
278
  - Orchestrator presents to user, collects response
279
279
  - Spawns fresh continuation agent (not resume)
280
280
 
281
- See `@~/.claude/get-shit-done/workflows/execute-phase.md` step `checkpoint_handling` for complete details.
281
+ See `@~/.claude/kata/workflows/execute-phase.md` step `checkpoint_handling` for complete details.
282
282
  </checkpoint_handling>
283
283
 
284
284
  <deviation_rules>
@@ -18,7 +18,7 @@ Output: Conversational output only (no file creation) - ends with "What do you t
18
18
  </objective>
19
19
 
20
20
  <execution_context>
21
- @~/.claude/get-shit-done/workflows/list-phase-assumptions.md
21
+ @~/.claude/kata/workflows/list-phase-assumptions.md
22
22
  </execution_context>
23
23
 
24
24
  <context>
@@ -19,7 +19,7 @@ Output: .planning/codebase/ folder with 7 structured documents about the codebas
19
19
  </objective>
20
20
 
21
21
  <execution_context>
22
- @~/.claude/get-shit-done/workflows/map-codebase.md
22
+ @~/.claude/kata/workflows/map-codebase.md
23
23
  </execution_context>
24
24
 
25
25
  <context>
@@ -11,7 +11,7 @@ allowed-tools:
11
11
  ---
12
12
 
13
13
  <execution_context>
14
- @~/.claude/get-shit-done/references/ui-brand.md
14
+ @~/.claude/kata/references/ui-brand.md
15
15
  </execution_context>
16
16
 
17
17
  <objective>
@@ -43,7 +43,7 @@ Kata evolves fast. Check for updates periodically:
43
43
  Shows what changed since your installed version. Update with:
44
44
 
45
45
  ```bash
46
- npx get-shit-done-cc@latest
46
+ npx kata-cc@latest
47
47
  ```
48
48
 
49
49
  ## Core Workflow
@@ -355,7 +355,7 @@ Update Kata to latest version with changelog preview.
355
355
 
356
356
  - Shows what changed before updating
357
357
  - Confirms before running install
358
- - Better than raw `npx get-shit-done-cc`
358
+ - Better than raw `npx kata-cc`
359
359
 
360
360
  Usage: `/kata:update`
361
361
 
@@ -23,11 +23,11 @@ Routes to the resume-project workflow which handles:
23
23
  </objective>
24
24
 
25
25
  <execution_context>
26
- @~/.claude/get-shit-done/workflows/resume-project.md
26
+ @~/.claude/kata/workflows/resume-project.md
27
27
  </execution_context>
28
28
 
29
29
  <process>
30
- **Follow the resume-project workflow** from `@~/.claude/get-shit-done/workflows/resume-project.md`.
30
+ **Follow the resume-project workflow** from `@~/.claude/kata/workflows/resume-project.md`.
31
31
 
32
32
  The workflow handles all resumption logic including:
33
33
 
@@ -22,7 +22,7 @@ Shows version comparison, changelog entries for missed versions, and update inst
22
22
  Read installed version from VERSION file:
23
23
 
24
24
  ```bash
25
- cat ~/.claude/get-shit-done/VERSION 2>/dev/null
25
+ cat ~/.claude/kata/VERSION 2>/dev/null
26
26
  ```
27
27
 
28
28
  **If VERSION file missing:**
@@ -33,7 +33,7 @@ cat ~/.claude/get-shit-done/VERSION 2>/dev/null
33
33
 
34
34
  Your installation doesn't include version tracking.
35
35
 
36
- **To fix:** `npx get-shit-done-cc --global`
36
+ **To fix:** `npx @gannonh/kata --global`
37
37
 
38
38
  This will reinstall with version tracking enabled.
39
39
  ```
@@ -45,13 +45,13 @@ STOP here if no VERSION file.
45
45
  Fetch latest CHANGELOG.md from GitHub:
46
46
 
47
47
  Use WebFetch tool with:
48
- - URL: `https://raw.githubusercontent.com/glittercowboy/get-shit-done/main/CHANGELOG.md`
48
+ - URL: `https://raw.githubusercontent.com/gannnonh/kata/main/CHANGELOG.md`
49
49
  - Prompt: "Extract all version entries with their dates and changes. Return in Keep-a-Changelog format."
50
50
 
51
51
  **If fetch fails:**
52
52
  Fall back to local changelog:
53
53
  ```bash
54
- cat ~/.claude/get-shit-done/CHANGELOG.md 2>/dev/null
54
+ cat ~/.claude/kata/CHANGELOG.md 2>/dev/null
55
55
  ```
56
56
 
57
57
  Note to user: "Couldn't check for updates (offline or GitHub unavailable). Showing local changelog."
@@ -82,7 +82,7 @@ Format output clearly:
82
82
 
83
83
  You're on the latest version.
84
84
 
85
- [View full changelog](https://github.com/glittercowboy/get-shit-done/blob/main/CHANGELOG.md)
85
+ [View full changelog](https://github.com/gannnonh/kata/blob/main/CHANGELOG.md)
86
86
  ```
87
87
 
88
88
  **If updates available:**
@@ -112,9 +112,9 @@ You're on the latest version.
112
112
 
113
113
  ---
114
114
 
115
- [View full changelog](https://github.com/glittercowboy/get-shit-done/blob/main/CHANGELOG.md)
115
+ [View full changelog](https://github.com/gannnonh/kata/blob/main/CHANGELOG.md)
116
116
 
117
- **To update:** `npx get-shit-done-cc --global`
117
+ **To update:** `npx @gannonh/kata --global`
118
118
  ```
119
119
 
120
120
  **Breaking changes:** Surface prominently with **BREAKING:** prefix in the output.
@@ -28,10 +28,10 @@ This is the brownfield equivalent of new-project. The project exists, PROJECT.md
28
28
  </objective>
29
29
 
30
30
  <execution_context>
31
- @~/.claude/get-shit-done/references/questioning.md
32
- @~/.claude/get-shit-done/references/ui-brand.md
33
- @~/.claude/get-shit-done/templates/project.md
34
- @~/.claude/get-shit-done/templates/requirements.md
31
+ @~/.claude/kata/references/questioning.md
32
+ @~/.claude/kata/references/ui-brand.md
33
+ @~/.claude/kata/templates/project.md
34
+ @~/.claude/kata/templates/requirements.md
35
35
  </execution_context>
36
36
 
37
37
  <context>
@@ -218,7 +218,7 @@ Your STACK.md feeds into roadmap creation. Be prescriptive:
218
218
 
219
219
  <output>
220
220
  Write to: .planning/research/STACK.md
221
- Use template: ~/.claude/get-shit-done/templates/research-project/STACK.md
221
+ Use template: ~/.claude/kata/templates/research-project/STACK.md
222
222
  </output>
223
223
  ", subagent_type="kata-project-researcher", model="{researcher_model}", description="Stack research")
224
224
 
@@ -259,7 +259,7 @@ Your FEATURES.md feeds into requirements definition. Categorize clearly:
259
259
 
260
260
  <output>
261
261
  Write to: .planning/research/FEATURES.md
262
- Use template: ~/.claude/get-shit-done/templates/research-project/FEATURES.md
262
+ Use template: ~/.claude/kata/templates/research-project/FEATURES.md
263
263
  </output>
264
264
  ", subagent_type="kata-project-researcher", model="{researcher_model}", description="Features research")
265
265
 
@@ -301,7 +301,7 @@ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
301
301
 
302
302
  <output>
303
303
  Write to: .planning/research/ARCHITECTURE.md
304
- Use template: ~/.claude/get-shit-done/templates/research-project/ARCHITECTURE.md
304
+ Use template: ~/.claude/kata/templates/research-project/ARCHITECTURE.md
305
305
  </output>
306
306
  ", subagent_type="kata-project-researcher", model="{researcher_model}", description="Architecture research")
307
307
 
@@ -339,7 +339,7 @@ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
339
339
 
340
340
  <output>
341
341
  Write to: .planning/research/PITFALLS.md
342
- Use template: ~/.claude/get-shit-done/templates/research-project/PITFALLS.md
342
+ Use template: ~/.claude/kata/templates/research-project/PITFALLS.md
343
343
  </output>
344
344
  ", subagent_type="kata-project-researcher", model="{researcher_model}", description="Pitfalls research")
345
345
  ```
@@ -362,7 +362,7 @@ Read these files:
362
362
 
363
363
  <output>
364
364
  Write to: .planning/research/SUMMARY.md
365
- Use template: ~/.claude/get-shit-done/templates/research-project/SUMMARY.md
365
+ Use template: ~/.claude/kata/templates/research-project/SUMMARY.md
366
366
  Commit after writing.
367
367
  </output>
368
368
  ", subagent_type="kata-research-synthesizer", model="{synthesizer_model}", description="Synthesize research")
@@ -32,10 +32,10 @@ This is the most leveraged moment in any project. Deep questioning here means be
32
32
 
33
33
  <execution_context>
34
34
 
35
- @~/.claude/get-shit-done/references/questioning.md
36
- @~/.claude/get-shit-done/references/ui-brand.md
37
- @~/.claude/get-shit-done/templates/project.md
38
- @~/.claude/get-shit-done/templates/requirements.md
35
+ @~/.claude/kata/references/questioning.md
36
+ @~/.claude/kata/references/ui-brand.md
37
+ @~/.claude/kata/templates/project.md
38
+ @~/.claude/kata/templates/requirements.md
39
39
 
40
40
  </execution_context>
41
41
 
@@ -286,8 +286,8 @@ questions: [
286
286
  question: "Use PR-based release workflow?",
287
287
  multiSelect: false,
288
288
  options: [
289
- { label: "Yes (Recommended)", description: "Protect main, create PRs, tag via GitHub Release" },
290
- { label: "No", description: "Commit directly to main, create tags locally" }
289
+ { label: "Yes", description: "Protect main, create PRs, tag via GitHub Release" },
290
+ { label: "No (Recommended)", description: "Commit directly to main, create tags locally" }
291
291
  ]
292
292
  }
293
293
  ]
@@ -389,6 +389,137 @@ EOF
389
389
 
390
390
  **Note:** Run `/kata:settings` anytime to update these preferences.
391
391
 
392
+ **If pr_workflow = Yes:**
393
+
394
+ Ask about GitHub Actions release workflow:
395
+
396
+ ```
397
+ AskUserQuestion([
398
+ {
399
+ header: "GitHub Actions",
400
+ question: "Scaffold a GitHub Actions workflow to auto-publish on release?",
401
+ multiSelect: false,
402
+ options: [
403
+ { label: "Yes (Recommended)", description: "Create .github/workflows/release.yml for npm publish" },
404
+ { label: "No", description: "I'll set up CI/CD myself" }
405
+ ]
406
+ }
407
+ ])
408
+ ```
409
+
410
+ **If "Yes":**
411
+
412
+ Create `.github/workflows/release.yml`:
413
+
414
+ ```bash
415
+ mkdir -p .github/workflows
416
+ ```
417
+
418
+ Write the workflow file:
419
+
420
+ ```yaml
421
+ name: Publish to npm
422
+
423
+ on:
424
+ push:
425
+ branches:
426
+ - main
427
+
428
+ jobs:
429
+ publish:
430
+ runs-on: ubuntu-latest
431
+ permissions:
432
+ contents: write
433
+ steps:
434
+ - name: Checkout
435
+ uses: actions/checkout@v4
436
+
437
+ - name: Setup Node.js
438
+ uses: actions/setup-node@v4
439
+ with:
440
+ node-version: '20'
441
+ registry-url: 'https://registry.npmjs.org'
442
+
443
+ - name: Get package info
444
+ id: package
445
+ run: |
446
+ LOCAL_VERSION=$(node -p "require('./package.json').version")
447
+ PACKAGE_NAME=$(node -p "require('./package.json').name")
448
+ echo "local_version=$LOCAL_VERSION" >> $GITHUB_OUTPUT
449
+ echo "package_name=$PACKAGE_NAME" >> $GITHUB_OUTPUT
450
+
451
+ # Get published version (returns empty if not published)
452
+ PUBLISHED_VERSION=$(npm view "$PACKAGE_NAME" version 2>/dev/null || echo "")
453
+ echo "published_version=$PUBLISHED_VERSION" >> $GITHUB_OUTPUT
454
+
455
+ echo "Local version: $LOCAL_VERSION"
456
+ echo "Published version: $PUBLISHED_VERSION"
457
+
458
+ - name: Check if should publish
459
+ id: check
460
+ run: |
461
+ LOCAL="${{ steps.package.outputs.local_version }}"
462
+ PUBLISHED="${{ steps.package.outputs.published_version }}"
463
+
464
+ if [ -z "$PUBLISHED" ]; then
465
+ echo "Package not yet published, will publish"
466
+ echo "should_publish=true" >> $GITHUB_OUTPUT
467
+ elif [ "$LOCAL" != "$PUBLISHED" ]; then
468
+ echo "Version changed ($PUBLISHED -> $LOCAL), will publish"
469
+ echo "should_publish=true" >> $GITHUB_OUTPUT
470
+ else
471
+ echo "Version unchanged ($LOCAL), skipping publish"
472
+ echo "should_publish=false" >> $GITHUB_OUTPUT
473
+ fi
474
+
475
+ - name: Publish to npm
476
+ if: steps.check.outputs.should_publish == 'true'
477
+ run: npm publish --access public
478
+ env:
479
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
480
+
481
+ - name: Create GitHub Release
482
+ if: steps.check.outputs.should_publish == 'true'
483
+ uses: softprops/action-gh-release@v2
484
+ with:
485
+ tag_name: v${{ steps.package.outputs.local_version }}
486
+ name: v${{ steps.package.outputs.local_version }}
487
+ generate_release_notes: true
488
+ make_latest: true
489
+ ```
490
+
491
+ Commit the workflow:
492
+
493
+ ```bash
494
+ git add .github/workflows/release.yml
495
+ git commit -m "$(cat <<'EOF'
496
+ ci: add npm publish workflow
497
+
498
+ Publishes to npm and creates GitHub Release when:
499
+ - Push to main
500
+ - package.json version differs from published version
501
+
502
+ Requires NPM_TOKEN secret in repository settings.
503
+ EOF
504
+ )"
505
+ ```
506
+
507
+ Display setup instructions:
508
+
509
+ ```
510
+ ✓ Created .github/workflows/release.yml
511
+
512
+ ## Setup Required
513
+
514
+ Add NPM_TOKEN secret to your GitHub repository:
515
+ 1. Go to repo Settings → Secrets and variables → Actions
516
+ 2. Click "New repository secret"
517
+ 3. Name: NPM_TOKEN
518
+ 4. Value: Your npm access token (from npmjs.com → Access Tokens)
519
+
520
+ The workflow will auto-publish when you merge PRs that bump package.json version.
521
+ ```
522
+
392
523
  ## Phase 5.5: Resolve Model Profile
393
524
 
394
525
  Read model profile for agent spawning:
@@ -487,7 +618,7 @@ Your STACK.md feeds into roadmap creation. Be prescriptive:
487
618
 
488
619
  <output>
489
620
  Write to: .planning/research/STACK.md
490
- Use template: ~/.claude/get-shit-done/templates/research-project/STACK.md
621
+ Use template: ~/.claude/kata/templates/research-project/STACK.md
491
622
  </output>
492
623
  ", subagent_type="kata-project-researcher", model="{researcher_model}", description="Stack research")
493
624
 
@@ -526,7 +657,7 @@ Your FEATURES.md feeds into requirements definition. Categorize clearly:
526
657
 
527
658
  <output>
528
659
  Write to: .planning/research/FEATURES.md
529
- Use template: ~/.claude/get-shit-done/templates/research-project/FEATURES.md
660
+ Use template: ~/.claude/kata/templates/research-project/FEATURES.md
530
661
  </output>
531
662
  ", subagent_type="kata-project-researcher", model="{researcher_model}", description="Features research")
532
663
 
@@ -565,7 +696,7 @@ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
565
696
 
566
697
  <output>
567
698
  Write to: .planning/research/ARCHITECTURE.md
568
- Use template: ~/.claude/get-shit-done/templates/research-project/ARCHITECTURE.md
699
+ Use template: ~/.claude/kata/templates/research-project/ARCHITECTURE.md
569
700
  </output>
570
701
  ", subagent_type="kata-project-researcher", model="{researcher_model}", description="Architecture research")
571
702
 
@@ -604,7 +735,7 @@ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
604
735
 
605
736
  <output>
606
737
  Write to: .planning/research/PITFALLS.md
607
- Use template: ~/.claude/get-shit-done/templates/research-project/PITFALLS.md
738
+ Use template: ~/.claude/kata/templates/research-project/PITFALLS.md
608
739
  </output>
609
740
  ", subagent_type="kata-project-researcher", model="{researcher_model}", description="Pitfalls research")
610
741
  ```
@@ -627,7 +758,7 @@ Read these files:
627
758
 
628
759
  <output>
629
760
  Write to: .planning/research/SUMMARY.md
630
- Use template: ~/.claude/get-shit-done/templates/research-project/SUMMARY.md
761
+ Use template: ~/.claude/kata/templates/research-project/SUMMARY.md
631
762
  Commit after writing.
632
763
  </output>
633
764
  ", subagent_type="kata-research-synthesizer", model="{synthesizer_model}", description="Synthesize research")
@@ -13,7 +13,7 @@ allowed-tools:
13
13
  <objective>
14
14
  Check for Kata updates, install if available, and display what changed.
15
15
 
16
- Provides a better update experience than raw `npx get-shit-done-cc` by showing version diff and changelog entries.
16
+ Provides a better update experience than raw `npx @gannonh/kata` by showing version diff and changelog entries.
17
17
  </objective>
18
18
 
19
19
  <process>
@@ -22,7 +22,7 @@ Provides a better update experience than raw `npx get-shit-done-cc` by showing v
22
22
  Read installed version:
23
23
 
24
24
  ```bash
25
- cat ~/.claude/get-shit-done/VERSION 2>/dev/null
25
+ cat ~/.claude/kata/VERSION 2>/dev/null
26
26
  ```
27
27
 
28
28
  **If VERSION file missing:**
@@ -43,14 +43,14 @@ Proceed to install step (treat as version 0.0.0 for comparison).
43
43
  Check npm for latest version:
44
44
 
45
45
  ```bash
46
- npm view get-shit-done-cc version 2>/dev/null
46
+ npm view kata-cc version 2>/dev/null
47
47
  ```
48
48
 
49
49
  **If npm check fails:**
50
50
  ```
51
51
  Couldn't check for updates (offline or npm unavailable).
52
52
 
53
- To update manually: `npx get-shit-done-cc --global`
53
+ To update manually: `npx kata-cc --global`
54
54
  ```
55
55
 
56
56
  STOP here if npm unavailable.
@@ -114,7 +114,7 @@ STOP here if ahead.
114
114
 
115
115
  ⚠️ **Note:** The installer performs a clean install of Kata folders:
116
116
  - `~/.claude/commands/kata/` will be wiped and replaced
117
- - `~/.claude/get-shit-done/` will be wiped and replaced
117
+ - `~/.claude/kata/` will be wiped and replaced
118
118
  - `~/.claude/agents/kata-*` files will be replaced
119
119
 
120
120
  Your custom files in other locations are preserved:
@@ -139,7 +139,7 @@ Use AskUserQuestion:
139
139
  Run the update:
140
140
 
141
141
  ```bash
142
- npx get-shit-done-cc --global
142
+ npx kata-cc --global
143
143
  ```
144
144
 
145
145
  Capture output. If install fails, show error and STOP.
@@ -161,7 +161,7 @@ Format completion message (changelog was already shown in confirmation step):
161
161
 
162
162
  ⚠️ Restart Claude Code to pick up the new commands.
163
163
 
164
- [View full changelog](https://github.com/glittercowboy/get-shit-done/blob/main/CHANGELOG.md)
164
+ [View full changelog](https://github.com/glittercowboy/kata/blob/main/CHANGELOG.md)
165
165
  ```
166
166
  </step>
167
167
 
@@ -19,8 +19,8 @@ Output: {phase}-UAT.md tracking all test results. If issues found: diagnosed gap
19
19
  </objective>
20
20
 
21
21
  <execution_context>
22
- @~/.claude/get-shit-done/workflows/verify-work.md
23
- @~/.claude/get-shit-done/templates/UAT.md
22
+ @~/.claude/kata/workflows/verify-work.md
23
+ @~/.claude/kata/templates/UAT.md
24
24
  </execution_context>
25
25
 
26
26
  <context>