@gannonh/kata 0.1.4 → 0.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.
Files changed (89) hide show
  1. package/README.md +55 -28
  2. package/agents/kata-debugger.md +20 -1
  3. package/agents/kata-entity-generator.md +237 -0
  4. package/agents/kata-executor.md +31 -0
  5. package/agents/kata-phase-researcher.md +13 -4
  6. package/agents/kata-planner.md +19 -0
  7. package/agents/kata-project-researcher.md +5 -5
  8. package/agents/kata-research-synthesizer.md +9 -0
  9. package/bin/install.js +100 -38
  10. package/commands/kata/add-phase.md +8 -195
  11. package/commands/kata/add-todo.md +8 -170
  12. package/commands/kata/audit-milestone.md +10 -248
  13. package/commands/kata/check-todo.md +20 -0
  14. package/commands/kata/complete-milestone.md +8 -124
  15. package/commands/kata/debug.md +9 -138
  16. package/commands/kata/discuss-phase.md +13 -73
  17. package/commands/kata/execute-phase.md +9 -293
  18. package/commands/kata/help.md +13 -376
  19. package/commands/kata/insert-phase.md +8 -215
  20. package/commands/kata/list-phase-assumptions.md +10 -40
  21. package/commands/kata/map-codebase.md +10 -61
  22. package/commands/kata/pause-work.md +9 -112
  23. package/commands/kata/plan-milestone-gaps.md +9 -273
  24. package/commands/kata/plan-phase.md +9 -464
  25. package/commands/kata/progress.md +10 -346
  26. package/commands/kata/quick.md +20 -0
  27. package/commands/kata/remove-phase.md +8 -326
  28. package/commands/kata/research-phase.md +10 -170
  29. package/commands/kata/resume-work.md +10 -30
  30. package/commands/kata/set-profile.md +20 -0
  31. package/commands/kata/settings.md +20 -0
  32. package/commands/kata/start-milestone.md +20 -0
  33. package/commands/kata/start-new-milestone.md +20 -0
  34. package/commands/kata/start-project.md +20 -0
  35. package/commands/kata/update-kata.md +20 -0
  36. package/commands/kata/update.md +13 -219
  37. package/commands/kata/verify-work.md +10 -209
  38. package/commands/kata/whats-new.md +13 -117
  39. package/kata/references/checkpoints.md +318 -28
  40. package/kata/references/model-profiles.md +73 -0
  41. package/kata/references/planning-config.md +94 -0
  42. package/kata/references/ui-brand.md +2 -2
  43. package/kata/references/verification-patterns.md +17 -0
  44. package/kata/templates/codebase/architecture.md +2 -2
  45. package/kata/templates/codebase/structure.md +4 -4
  46. package/kata/templates/config.json +9 -0
  47. package/kata/templates/entity.md +173 -0
  48. package/kata/templates/phase-prompt.md +18 -27
  49. package/kata/workflows/complete-milestone.md +11 -0
  50. package/kata/workflows/diagnose-issues.md +12 -1
  51. package/kata/workflows/discovery-phase.md +5 -9
  52. package/kata/workflows/discuss-phase.md +11 -0
  53. package/kata/workflows/execute-phase.md +68 -9
  54. package/kata/workflows/execute-plan.md +47 -4
  55. package/kata/workflows/map-codebase.md +35 -2
  56. package/kata/workflows/resume-project.md +4 -0
  57. package/kata/workflows/verify-phase.md +2 -3
  58. package/kata/workflows/verify-work.md +36 -3
  59. package/package.json +12 -5
  60. package/skills/kata-adding-phases/SKILL.md +209 -0
  61. package/skills/kata-adding-todos/SKILL.md +195 -0
  62. package/skills/kata-auditing-milestones/SKILL.md +279 -0
  63. package/{commands/kata/check-todos.md → skills/kata-checking-todos/SKILL.md} +16 -5
  64. package/skills/kata-completing-milestones/SKILL.md +137 -0
  65. package/skills/kata-configuring-settings/SKILL.md +139 -0
  66. package/skills/kata-debugging/SKILL.md +170 -0
  67. package/skills/kata-discussing-phases/SKILL.md +85 -0
  68. package/skills/kata-executing-phases/SKILL.md +335 -0
  69. package/skills/kata-executing-quick-tasks/SKILL.md +306 -0
  70. package/skills/kata-inserting-phases/SKILL.md +229 -0
  71. package/skills/kata-listing-phase-assumptions/SKILL.md +51 -0
  72. package/skills/kata-mapping-codebases/SKILL.md +70 -0
  73. package/skills/kata-pausing-work/SKILL.md +137 -0
  74. package/skills/kata-planning-milestone-gaps/SKILL.md +295 -0
  75. package/skills/kata-planning-phases/SKILL.md +521 -0
  76. package/skills/kata-providing-help/SKILL.md +495 -0
  77. package/skills/kata-removing-phases/SKILL.md +350 -0
  78. package/skills/kata-researching-phases/SKILL.md +202 -0
  79. package/skills/kata-resuming-work/SKILL.md +41 -0
  80. package/skills/kata-setting-profiles/SKILL.md +109 -0
  81. package/skills/kata-showing-whats-new/SKILL.md +131 -0
  82. package/skills/kata-starting-milestones/SKILL.md +721 -0
  83. package/{commands/kata/new-milestone.md → skills/kata-starting-new-milestones/SKILL.md} +256 -272
  84. package/{commands/kata/new-project.md → skills/kata-starting-projects/SKILL.md} +138 -29
  85. package/skills/kata-tracking-progress/SKILL.md +365 -0
  86. package/skills/kata-updating/SKILL.md +179 -0
  87. package/skills/kata-updating-kata/SKILL.md +179 -0
  88. package/skills/kata-verifying-work/SKILL.md +217 -0
  89. /package/hooks/{statusline.js → kata-statusline.js} +0 -0
@@ -1,12 +1,13 @@
1
1
  ---
2
- name: kata:new-project
3
- description: Initialize a new project with deep context gathering and PROJECT.md
2
+ name: kata-starting-projects
3
+ description: Use this skill when initialize a new project with deep context gathering and project.md. Triggers include "new project", "new project".
4
+ version: 0.1.0
5
+ user-invocable: false
6
+ disable-model-invocation: false
4
7
  allowed-tools:
5
8
  - Read
6
- - Bash
7
9
  - Write
8
- - Task
9
- - AskUserQuestion
10
+ - Bash
10
11
  ---
11
12
 
12
13
  <objective>
@@ -29,10 +30,10 @@ This is the most leveraged moment in any project. Deep questioning here means be
29
30
 
30
31
  <execution_context>
31
32
 
32
- @~/.claude/kata/references/questioning.md
33
- @~/.claude/kata/references/ui-brand.md
34
- @~/.claude/kata/templates/project.md
35
- @~/.claude/kata/templates/requirements.md
33
+ @~/.claude/get-shit-done/references/questioning.md
34
+ @~/.claude/get-shit-done/references/ui-brand.md
35
+ @~/.claude/get-shit-done/templates/project.md
36
+ @~/.claude/get-shit-done/templates/requirements.md
36
37
 
37
38
  </execution_context>
38
39
 
@@ -97,7 +98,7 @@ Exit command.
97
98
 
98
99
  ```
99
100
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
100
- KATA ► QUESTIONING
101
+ Kata ► QUESTIONING
101
102
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
102
103
  ```
103
104
 
@@ -237,7 +238,7 @@ EOF
237
238
 
238
239
  ## Phase 5: Workflow Preferences
239
240
 
240
- Ask all workflow preferences in a single AskUserQuestion call (3 questions):
241
+ **Round 1 Core workflow settings (4 questions):**
241
242
 
242
243
  ```
243
244
  questions: [
@@ -268,11 +269,96 @@ questions: [
268
269
  { label: "Parallel (Recommended)", description: "Independent plans run simultaneously" },
269
270
  { label: "Sequential", description: "One plan at a time" }
270
271
  ]
272
+ },
273
+ {
274
+ header: "Git Tracking",
275
+ question: "Commit planning docs to git?",
276
+ multiSelect: false,
277
+ options: [
278
+ { label: "Yes (Recommended)", description: "Planning docs tracked in version control" },
279
+ { label: "No", description: "Keep .planning/ local-only (add to .gitignore)" }
280
+ ]
271
281
  }
272
282
  ]
273
283
  ```
274
284
 
275
- Create `.planning/config.json` with chosen mode, depth, and parallelization.
285
+ **Round 2 Workflow agents:**
286
+
287
+ These spawn additional agents during planning/execution. They add tokens and time but improve quality.
288
+
289
+ | Agent | When it runs | What it does |
290
+ |-------|--------------|--------------|
291
+ | **Researcher** | Before planning each phase | Investigates domain, finds patterns, surfaces gotchas |
292
+ | **Plan Checker** | After plan is created | Verifies plan actually achieves the phase goal |
293
+ | **Verifier** | After phase execution | Confirms must-haves were delivered |
294
+
295
+ All recommended for important projects. Skip for quick experiments.
296
+
297
+ ```
298
+ questions: [
299
+ {
300
+ header: "Research",
301
+ question: "Research before planning each phase? (adds tokens/time)",
302
+ multiSelect: false,
303
+ options: [
304
+ { label: "Yes (Recommended)", description: "Investigate domain, find patterns, surface gotchas" },
305
+ { label: "No", description: "Plan directly from requirements" }
306
+ ]
307
+ },
308
+ {
309
+ header: "Plan Check",
310
+ question: "Verify plans will achieve their goals? (adds tokens/time)",
311
+ multiSelect: false,
312
+ options: [
313
+ { label: "Yes (Recommended)", description: "Catch gaps before execution starts" },
314
+ { label: "No", description: "Execute plans without verification" }
315
+ ]
316
+ },
317
+ {
318
+ header: "Verifier",
319
+ question: "Verify work satisfies requirements after each phase? (adds tokens/time)",
320
+ multiSelect: false,
321
+ options: [
322
+ { label: "Yes (Recommended)", description: "Confirm deliverables match phase goals" },
323
+ { label: "No", description: "Trust execution, skip verification" }
324
+ ]
325
+ },
326
+ {
327
+ header: "Model Profile",
328
+ question: "Which AI models for planning agents?",
329
+ multiSelect: false,
330
+ options: [
331
+ { label: "Balanced (Recommended)", description: "Sonnet for most agents — good quality/cost ratio" },
332
+ { label: "Quality", description: "Opus for research/roadmap — higher cost, deeper analysis" },
333
+ { label: "Budget", description: "Haiku where possible — fastest, lowest cost" }
334
+ ]
335
+ }
336
+ ]
337
+ ```
338
+
339
+ Create `.planning/config.json` with all settings:
340
+
341
+ ```json
342
+ {
343
+ "mode": "yolo|interactive",
344
+ "depth": "quick|standard|comprehensive",
345
+ "parallelization": true|false,
346
+ "commit_docs": true|false,
347
+ "model_profile": "quality|balanced|budget",
348
+ "workflow": {
349
+ "research": true|false,
350
+ "plan_check": true|false,
351
+ "verifier": true|false
352
+ }
353
+ }
354
+ ```
355
+
356
+ **If commit_docs = No:**
357
+ - Set `commit_docs: false` in config.json
358
+ - Add `.planning/` to `.gitignore` (create if needed)
359
+
360
+ **If commit_docs = Yes:**
361
+ - No additional gitignore entries needed
276
362
 
277
363
  **Commit config.json:**
278
364
 
@@ -284,10 +370,33 @@ chore: add project config
284
370
  Mode: [chosen mode]
285
371
  Depth: [chosen depth]
286
372
  Parallelization: [enabled/disabled]
373
+ Workflow agents: research=[on/off], plan_check=[on/off], verifier=[on/off]
287
374
  EOF
288
375
  )"
289
376
  ```
290
377
 
378
+ **Note:** Run `/kata:settings` anytime to update these preferences.
379
+
380
+ ## Phase 5.5: Resolve Model Profile
381
+
382
+ Read model profile for agent spawning:
383
+
384
+ ```bash
385
+ MODEL_PROFILE=$(cat .planning/config.json 2>/dev/null | grep -o '"model_profile"[[:space:]]*:[[:space:]]*"[^"]*"' | grep -o '"[^"]*"$' | tr -d '"' || echo "balanced")
386
+ ```
387
+
388
+ Default to "balanced" if not set.
389
+
390
+ **Model lookup table:**
391
+
392
+ | Agent | quality | balanced | budget |
393
+ |-------|---------|----------|--------|
394
+ | kata-project-researcher | opus | sonnet | haiku |
395
+ | kata-research-synthesizer | sonnet | sonnet | haiku |
396
+ | kata-roadmapper | opus | sonnet | sonnet |
397
+
398
+ Store resolved models for use in Task calls below.
399
+
291
400
  ## Phase 6: Research Decision
292
401
 
293
402
  Use AskUserQuestion:
@@ -302,7 +411,7 @@ Use AskUserQuestion:
302
411
  Display stage banner:
303
412
  ```
304
413
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
305
- KATA ► RESEARCHING
414
+ Kata ► RESEARCHING
306
415
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
307
416
 
308
417
  Researching [domain] ecosystem...
@@ -366,9 +475,9 @@ Your STACK.md feeds into roadmap creation. Be prescriptive:
366
475
 
367
476
  <output>
368
477
  Write to: .planning/research/STACK.md
369
- Use template: ~/.claude/kata/templates/research-project/STACK.md
478
+ Use template: ~/.claude/get-shit-done/templates/research-project/STACK.md
370
479
  </output>
371
- ", subagent_type="kata-project-researcher", description="Stack research")
480
+ ", subagent_type="kata-project-researcher", model="{researcher_model}", description="Stack research")
372
481
 
373
482
  Task(prompt="
374
483
  <research_type>
@@ -405,9 +514,9 @@ Your FEATURES.md feeds into requirements definition. Categorize clearly:
405
514
 
406
515
  <output>
407
516
  Write to: .planning/research/FEATURES.md
408
- Use template: ~/.claude/kata/templates/research-project/FEATURES.md
517
+ Use template: ~/.claude/get-shit-done/templates/research-project/FEATURES.md
409
518
  </output>
410
- ", subagent_type="kata-project-researcher", description="Features research")
519
+ ", subagent_type="kata-project-researcher", model="{researcher_model}", description="Features research")
411
520
 
412
521
  Task(prompt="
413
522
  <research_type>
@@ -444,9 +553,9 @@ Your ARCHITECTURE.md informs phase structure in roadmap. Include:
444
553
 
445
554
  <output>
446
555
  Write to: .planning/research/ARCHITECTURE.md
447
- Use template: ~/.claude/kata/templates/research-project/ARCHITECTURE.md
556
+ Use template: ~/.claude/get-shit-done/templates/research-project/ARCHITECTURE.md
448
557
  </output>
449
- ", subagent_type="kata-project-researcher", description="Architecture research")
558
+ ", subagent_type="kata-project-researcher", model="{researcher_model}", description="Architecture research")
450
559
 
451
560
  Task(prompt="
452
561
  <research_type>
@@ -483,9 +592,9 @@ Your PITFALLS.md prevents mistakes in roadmap/planning. For each pitfall:
483
592
 
484
593
  <output>
485
594
  Write to: .planning/research/PITFALLS.md
486
- Use template: ~/.claude/kata/templates/research-project/PITFALLS.md
595
+ Use template: ~/.claude/get-shit-done/templates/research-project/PITFALLS.md
487
596
  </output>
488
- ", subagent_type="kata-project-researcher", description="Pitfalls research")
597
+ ", subagent_type="kata-project-researcher", model="{researcher_model}", description="Pitfalls research")
489
598
  ```
490
599
 
491
600
  After all 4 agents complete, spawn synthesizer to create SUMMARY.md:
@@ -506,16 +615,16 @@ Read these files:
506
615
 
507
616
  <output>
508
617
  Write to: .planning/research/SUMMARY.md
509
- Use template: ~/.claude/kata/templates/research-project/SUMMARY.md
618
+ Use template: ~/.claude/get-shit-done/templates/research-project/SUMMARY.md
510
619
  Commit after writing.
511
620
  </output>
512
- ", subagent_type="kata-research-synthesizer", description="Synthesize research")
621
+ ", subagent_type="kata-research-synthesizer", model="{synthesizer_model}", description="Synthesize research")
513
622
  ```
514
623
 
515
624
  Display research complete banner and key findings:
516
625
  ```
517
626
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
518
- KATA ► RESEARCH COMPLETE ✓
627
+ Kata ► RESEARCH COMPLETE ✓
519
628
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
520
629
 
521
630
  ## Key Findings
@@ -534,7 +643,7 @@ Files: `.planning/research/`
534
643
  Display stage banner:
535
644
  ```
536
645
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
537
- KATA ► DEFINING REQUIREMENTS
646
+ Kata ► DEFINING REQUIREMENTS
538
647
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
539
648
  ```
540
649
 
@@ -677,7 +786,7 @@ EOF
677
786
  Display stage banner:
678
787
  ```
679
788
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
680
- KATA ► CREATING ROADMAP
789
+ Kata ► CREATING ROADMAP
681
790
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
682
791
 
683
792
  ◆ Spawning roadmapper...
@@ -714,7 +823,7 @@ Create roadmap:
714
823
 
715
824
  Write files first, then return. This ensures artifacts persist even if context is lost.
716
825
  </instructions>
717
- ", subagent_type="kata-roadmapper", description="Create roadmap")
826
+ ", subagent_type="kata-roadmapper", model="{roadmapper_model}", description="Create roadmap")
718
827
  ```
719
828
 
720
829
  **Handle roadmapper return:**
@@ -790,7 +899,7 @@ Use AskUserQuestion:
790
899
  Update the roadmap based on feedback. Edit files in place.
791
900
  Return ROADMAP REVISED with changes made.
792
901
  </revision>
793
- ", subagent_type="kata-roadmapper", description="Revise roadmap")
902
+ ", subagent_type="kata-roadmapper", model="{roadmapper_model}", description="Revise roadmap")
794
903
  ```
795
904
  - Present revised roadmap
796
905
  - Loop until user approves
@@ -820,7 +929,7 @@ Present completion with next steps:
820
929
 
821
930
  ```
822
931
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
823
- KATA ► PROJECT INITIALIZED ✓
932
+ Kata ► PROJECT INITIALIZED ✓
824
933
  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
825
934
 
826
935
  **[Project Name]**
@@ -0,0 +1,365 @@
1
+ ---
2
+ name: kata-tracking-progress
3
+ description: Use this skill when check project progress, show context, and route to next action (execute or plan). Triggers include "progress".
4
+ version: 0.1.0
5
+ user-invocable: false
6
+ disable-model-invocation: false
7
+ allowed-tools:
8
+ - Read
9
+ - Write
10
+ - Bash
11
+ ---
12
+
13
+ <objective>
14
+ Check project progress, summarize recent work and what's ahead, then intelligently route to the next action - either executing an existing plan or creating the next one.
15
+
16
+ Provides situational awareness before continuing work.
17
+ </objective>
18
+
19
+
20
+ <process>
21
+
22
+ <step name="verify">
23
+ **Verify planning structure exists:**
24
+
25
+ Use Bash (not Glob) to check—Glob respects .gitignore but .planning/ is often gitignored:
26
+
27
+ ```bash
28
+ test -d .planning && echo "exists" || echo "missing"
29
+ ```
30
+
31
+ If no `.planning/` directory:
32
+
33
+ ```
34
+ No planning structure found.
35
+
36
+ Run /kata:new-project to start a new project.
37
+ ```
38
+
39
+ Exit.
40
+
41
+ If missing STATE.md: suggest `/kata:new-project`.
42
+
43
+ **If ROADMAP.md missing but PROJECT.md exists:**
44
+
45
+ This means a milestone was completed and archived. Go to **Route F** (between milestones).
46
+
47
+ If missing both ROADMAP.md and PROJECT.md: suggest `/kata:new-project`.
48
+ </step>
49
+
50
+ <step name="load">
51
+ **Load full project context:**
52
+
53
+ - Read `.planning/STATE.md` for living memory (position, decisions, issues)
54
+ - Read `.planning/ROADMAP.md` for phase structure and objectives
55
+ - Read `.planning/PROJECT.md` for current state (What This Is, Core Value, Requirements)
56
+ - Read `.planning/config.json` for settings (model_profile, workflow toggles)
57
+ </step>
58
+
59
+ <step name="recent">
60
+ **Gather recent work context:**
61
+
62
+ - Find the 2-3 most recent SUMMARY.md files
63
+ - Extract from each: what was accomplished, key decisions, any issues logged
64
+ - This shows "what we've been working on"
65
+ </step>
66
+
67
+ <step name="position">
68
+ **Parse current position:**
69
+
70
+ - From STATE.md: current phase, plan number, status
71
+ - Calculate: total plans, completed plans, remaining plans
72
+ - Note any blockers or concerns
73
+ - Check for CONTEXT.md: For phases without PLAN.md files, check if `{phase}-CONTEXT.md` exists in phase directory
74
+ - Count pending todos: `ls .planning/todos/pending/*.md 2>/dev/null | wc -l`
75
+ - Check for active debug sessions: `ls .planning/debug/*.md 2>/dev/null | grep -v resolved | wc -l`
76
+ </step>
77
+
78
+ <step name="report">
79
+ **Present rich status report:**
80
+
81
+ ```
82
+ # [Project Name]
83
+
84
+ **Progress:** [████████░░] 8/10 plans complete
85
+ **Profile:** [quality/balanced/budget]
86
+
87
+ ## Recent Work
88
+ - [Phase X, Plan Y]: [what was accomplished - 1 line]
89
+ - [Phase X, Plan Z]: [what was accomplished - 1 line]
90
+
91
+ ## Current Position
92
+ Phase [N] of [total]: [phase-name]
93
+ Plan [M] of [phase-total]: [status]
94
+ CONTEXT: [✓ if CONTEXT.md exists | - if not]
95
+
96
+ ## Key Decisions Made
97
+ - [decision 1 from STATE.md]
98
+ - [decision 2]
99
+
100
+ ## Blockers/Concerns
101
+ - [any blockers or concerns from STATE.md]
102
+
103
+ ## Pending Todos
104
+ - [count] pending — /kata:check-todos to review
105
+
106
+ ## Active Debug Sessions
107
+ - [count] active — /kata:debug to continue
108
+ (Only show this section if count > 0)
109
+
110
+ ## What's Next
111
+ [Next phase/plan objective from ROADMAP]
112
+ ```
113
+
114
+ </step>
115
+
116
+ <step name="route">
117
+ **Determine next action based on verified counts.**
118
+
119
+ **Step 1: Count plans, summaries, and issues in current phase**
120
+
121
+ List files in the current phase directory:
122
+
123
+ ```bash
124
+ ls -1 .planning/phases/[current-phase-dir]/*-PLAN.md 2>/dev/null | wc -l
125
+ ls -1 .planning/phases/[current-phase-dir]/*-SUMMARY.md 2>/dev/null | wc -l
126
+ ls -1 .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null | wc -l
127
+ ```
128
+
129
+ State: "This phase has {X} plans, {Y} summaries."
130
+
131
+ **Step 1.5: Check for unaddressed UAT gaps**
132
+
133
+ Check for UAT.md files with status "diagnosed" (has gaps needing fixes).
134
+
135
+ ```bash
136
+ # Check for diagnosed UAT with gaps
137
+ grep -l "status: diagnosed" .planning/phases/[current-phase-dir]/*-UAT.md 2>/dev/null
138
+ ```
139
+
140
+ Track:
141
+ - `uat_with_gaps`: UAT.md files with status "diagnosed" (gaps need fixing)
142
+
143
+ **Step 2: Route based on counts**
144
+
145
+ | Condition | Meaning | Action |
146
+ |-----------|---------|--------|
147
+ | uat_with_gaps > 0 | UAT gaps need fix plans | Go to **Route E** |
148
+ | summaries < plans | Unexecuted plans exist | Go to **Route A** |
149
+ | summaries = plans AND plans > 0 | Phase complete | Go to Step 3 |
150
+ | plans = 0 | Phase not yet planned | Go to **Route B** |
151
+
152
+ ---
153
+
154
+ **Route A: Unexecuted plan exists**
155
+
156
+ Find the first PLAN.md without matching SUMMARY.md.
157
+ Read its `<objective>` section.
158
+
159
+ ```
160
+ ---
161
+
162
+ ## ▶ Next Up
163
+
164
+ **{phase}-{plan}: [Plan Name]** — [objective summary from PLAN.md]
165
+
166
+ `/kata:execute-phase {phase}`
167
+
168
+ <sub>`/clear` first → fresh context window</sub>
169
+
170
+ ---
171
+ ```
172
+
173
+ ---
174
+
175
+ **Route B: Phase needs planning**
176
+
177
+ Check if `{phase}-CONTEXT.md` exists in phase directory.
178
+
179
+ **If CONTEXT.md exists:**
180
+
181
+ ```
182
+ ---
183
+
184
+ ## ▶ Next Up
185
+
186
+ **Phase {N}: {Name}** — {Goal from ROADMAP.md}
187
+ <sub>✓ Context gathered, ready to plan</sub>
188
+
189
+ `/kata:plan-phase {phase-number}`
190
+
191
+ <sub>`/clear` first → fresh context window</sub>
192
+
193
+ ---
194
+ ```
195
+
196
+ **If CONTEXT.md does NOT exist:**
197
+
198
+ ```
199
+ ---
200
+
201
+ ## ▶ Next Up
202
+
203
+ **Phase {N}: {Name}** — {Goal from ROADMAP.md}
204
+
205
+ `/kata:discuss-phase {phase}` — gather context and clarify approach
206
+
207
+ <sub>`/clear` first → fresh context window</sub>
208
+
209
+ ---
210
+
211
+ **Also available:**
212
+ - `/kata:plan-phase {phase}` — skip discussion, plan directly
213
+ - `/kata:list-phase-assumptions {phase}` — see Claude's assumptions
214
+
215
+ ---
216
+ ```
217
+
218
+ ---
219
+
220
+ **Route E: UAT gaps need fix plans**
221
+
222
+ UAT.md exists with gaps (diagnosed issues). User needs to plan fixes.
223
+
224
+ ```
225
+ ---
226
+
227
+ ## ⚠ UAT Gaps Found
228
+
229
+ **{phase}-UAT.md** has {N} gaps requiring fixes.
230
+
231
+ `/kata:plan-phase {phase} --gaps`
232
+
233
+ <sub>`/clear` first → fresh context window</sub>
234
+
235
+ ---
236
+
237
+ **Also available:**
238
+ - `/kata:execute-phase {phase}` — execute phase plans
239
+ - `/kata:verify-work {phase}` — run more UAT testing
240
+
241
+ ---
242
+ ```
243
+
244
+ ---
245
+
246
+ **Step 3: Check milestone status (only when phase complete)**
247
+
248
+ Read ROADMAP.md and identify:
249
+ 1. Current phase number
250
+ 2. All phase numbers in the current milestone section
251
+
252
+ Count total phases and identify the highest phase number.
253
+
254
+ State: "Current phase is {X}. Milestone has {N} phases (highest: {Y})."
255
+
256
+ **Route based on milestone status:**
257
+
258
+ | Condition | Meaning | Action |
259
+ |-----------|---------|--------|
260
+ | current phase < highest phase | More phases remain | Go to **Route C** |
261
+ | current phase = highest phase | Milestone complete | Go to **Route D** |
262
+
263
+ ---
264
+
265
+ **Route C: Phase complete, more phases remain**
266
+
267
+ Read ROADMAP.md to get the next phase's name and goal.
268
+
269
+ ```
270
+ ---
271
+
272
+ ## ✓ Phase {Z} Complete
273
+
274
+ ## ▶ Next Up
275
+
276
+ **Phase {Z+1}: {Name}** — {Goal from ROADMAP.md}
277
+
278
+ `/kata:discuss-phase {Z+1}` — gather context and clarify approach
279
+
280
+ <sub>`/clear` first → fresh context window</sub>
281
+
282
+ ---
283
+
284
+ **Also available:**
285
+ - `/kata:plan-phase {Z+1}` — skip discussion, plan directly
286
+ - `/kata:verify-work {Z}` — user acceptance test before continuing
287
+
288
+ ---
289
+ ```
290
+
291
+ ---
292
+
293
+ **Route D: Milestone complete**
294
+
295
+ ```
296
+ ---
297
+
298
+ ## 🎉 Milestone Complete
299
+
300
+ All {N} phases finished!
301
+
302
+ ## ▶ Next Up
303
+
304
+ **Complete Milestone** — archive and prepare for next
305
+
306
+ `/kata:complete-milestone`
307
+
308
+ <sub>`/clear` first → fresh context window</sub>
309
+
310
+ ---
311
+
312
+ **Also available:**
313
+ - `/kata:verify-work` — user acceptance test before completing milestone
314
+
315
+ ---
316
+ ```
317
+
318
+ ---
319
+
320
+ **Route F: Between milestones (ROADMAP.md missing, PROJECT.md exists)**
321
+
322
+ A milestone was completed and archived. Ready to start the next milestone cycle.
323
+
324
+ Read MILESTONES.md to find the last completed milestone version.
325
+
326
+ ```
327
+ ---
328
+
329
+ ## ✓ Milestone v{X.Y} Complete
330
+
331
+ Ready to plan the next milestone.
332
+
333
+ ## ▶ Next Up
334
+
335
+ **Start Next Milestone** — questioning → research → requirements → roadmap
336
+
337
+ `/kata:new-milestone`
338
+
339
+ <sub>`/clear` first → fresh context window</sub>
340
+
341
+ ---
342
+ ```
343
+
344
+ </step>
345
+
346
+ <step name="edge_cases">
347
+ **Handle edge cases:**
348
+
349
+ - Phase complete but next phase not planned → offer `/kata:plan-phase [next]`
350
+ - All work complete → offer milestone completion
351
+ - Blockers present → highlight before offering to continue
352
+ - Handoff file exists → mention it, offer `/kata:resume-work`
353
+ </step>
354
+
355
+ </process>
356
+
357
+ <success_criteria>
358
+
359
+ - [ ] Rich context provided (recent work, decisions, issues)
360
+ - [ ] Current position clear with visual progress
361
+ - [ ] What's next clearly explained
362
+ - [ ] Smart routing: /kata:execute-phase if plans exist, /kata:plan-phase if not
363
+ - [ ] User confirms before any action
364
+ - [ ] Seamless handoff to appropriate kata command
365
+ </success_criteria>