@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.
- package/README.md +55 -28
- package/agents/kata-debugger.md +20 -1
- package/agents/kata-entity-generator.md +237 -0
- package/agents/kata-executor.md +31 -0
- package/agents/kata-phase-researcher.md +13 -4
- package/agents/kata-planner.md +19 -0
- package/agents/kata-project-researcher.md +5 -5
- package/agents/kata-research-synthesizer.md +9 -0
- package/bin/install.js +100 -38
- package/commands/kata/add-phase.md +8 -195
- package/commands/kata/add-todo.md +8 -170
- package/commands/kata/audit-milestone.md +10 -248
- package/commands/kata/check-todo.md +20 -0
- package/commands/kata/complete-milestone.md +8 -124
- package/commands/kata/debug.md +9 -138
- package/commands/kata/discuss-phase.md +13 -73
- package/commands/kata/execute-phase.md +9 -293
- package/commands/kata/help.md +13 -376
- package/commands/kata/insert-phase.md +8 -215
- package/commands/kata/list-phase-assumptions.md +10 -40
- package/commands/kata/map-codebase.md +10 -61
- package/commands/kata/pause-work.md +9 -112
- package/commands/kata/plan-milestone-gaps.md +9 -273
- package/commands/kata/plan-phase.md +9 -464
- package/commands/kata/progress.md +10 -346
- package/commands/kata/quick.md +20 -0
- package/commands/kata/remove-phase.md +8 -326
- package/commands/kata/research-phase.md +10 -170
- package/commands/kata/resume-work.md +10 -30
- package/commands/kata/set-profile.md +20 -0
- package/commands/kata/settings.md +20 -0
- package/commands/kata/start-milestone.md +20 -0
- package/commands/kata/start-new-milestone.md +20 -0
- package/commands/kata/start-project.md +20 -0
- package/commands/kata/update-kata.md +20 -0
- package/commands/kata/update.md +13 -219
- package/commands/kata/verify-work.md +10 -209
- package/commands/kata/whats-new.md +13 -117
- package/kata/references/checkpoints.md +318 -28
- package/kata/references/model-profiles.md +73 -0
- package/kata/references/planning-config.md +94 -0
- package/kata/references/ui-brand.md +2 -2
- package/kata/references/verification-patterns.md +17 -0
- package/kata/templates/codebase/architecture.md +2 -2
- package/kata/templates/codebase/structure.md +4 -4
- package/kata/templates/config.json +9 -0
- package/kata/templates/entity.md +173 -0
- package/kata/templates/phase-prompt.md +18 -27
- package/kata/workflows/complete-milestone.md +11 -0
- package/kata/workflows/diagnose-issues.md +12 -1
- package/kata/workflows/discovery-phase.md +5 -9
- package/kata/workflows/discuss-phase.md +11 -0
- package/kata/workflows/execute-phase.md +68 -9
- package/kata/workflows/execute-plan.md +47 -4
- package/kata/workflows/map-codebase.md +35 -2
- package/kata/workflows/resume-project.md +4 -0
- package/kata/workflows/verify-phase.md +2 -3
- package/kata/workflows/verify-work.md +36 -3
- package/package.json +12 -5
- package/skills/kata-adding-phases/SKILL.md +209 -0
- package/skills/kata-adding-todos/SKILL.md +195 -0
- package/skills/kata-auditing-milestones/SKILL.md +279 -0
- package/{commands/kata/check-todos.md → skills/kata-checking-todos/SKILL.md} +16 -5
- package/skills/kata-completing-milestones/SKILL.md +137 -0
- package/skills/kata-configuring-settings/SKILL.md +139 -0
- package/skills/kata-debugging/SKILL.md +170 -0
- package/skills/kata-discussing-phases/SKILL.md +85 -0
- package/skills/kata-executing-phases/SKILL.md +335 -0
- package/skills/kata-executing-quick-tasks/SKILL.md +306 -0
- package/skills/kata-inserting-phases/SKILL.md +229 -0
- package/skills/kata-listing-phase-assumptions/SKILL.md +51 -0
- package/skills/kata-mapping-codebases/SKILL.md +70 -0
- package/skills/kata-pausing-work/SKILL.md +137 -0
- package/skills/kata-planning-milestone-gaps/SKILL.md +295 -0
- package/skills/kata-planning-phases/SKILL.md +521 -0
- package/skills/kata-providing-help/SKILL.md +495 -0
- package/skills/kata-removing-phases/SKILL.md +350 -0
- package/skills/kata-researching-phases/SKILL.md +202 -0
- package/skills/kata-resuming-work/SKILL.md +41 -0
- package/skills/kata-setting-profiles/SKILL.md +109 -0
- package/skills/kata-showing-whats-new/SKILL.md +131 -0
- package/skills/kata-starting-milestones/SKILL.md +721 -0
- package/{commands/kata/new-milestone.md → skills/kata-starting-new-milestones/SKILL.md} +256 -272
- package/{commands/kata/new-project.md → skills/kata-starting-projects/SKILL.md} +138 -29
- package/skills/kata-tracking-progress/SKILL.md +365 -0
- package/skills/kata-updating/SKILL.md +179 -0
- package/skills/kata-updating-kata/SKILL.md +179 -0
- package/skills/kata-verifying-work/SKILL.md +217 -0
- /package/hooks/{statusline.js → kata-statusline.js} +0 -0
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: kata
|
|
3
|
-
description:
|
|
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
|
-
-
|
|
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/
|
|
33
|
-
@~/.claude/
|
|
34
|
-
@~/.claude/
|
|
35
|
-
@~/.claude/
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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/
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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>
|