kata-insert-phase
Uses decimal numbering (72.1, 72.2, etc.) to preserve the logical sequence of planned phases while accommodating urgent insertions.
Purpose: Handle urgent work discovered during execution without renumbering entire roadmap.
<execution_context> @.planning/ROADMAP.md @.planning/STATE.md </execution_context>
Example: /kata-insert-phase 72 Fix critical auth bug
→ after = 72
→ description = "Fix critical auth bug"
Validation:
if [ $# -lt 2 ]; then
echo "ERROR: Both phase number and description required"
echo "Usage: /kata-insert-phase <after> <description>"
echo "Example: /kata-insert-phase 72 Fix critical auth bug"
exit 1
fi
Parse first argument as integer:
after_phase=$1
shift
description="$*"
# Validate after_phase is an integer
if ! [[ "$after_phase" =~ ^[0-9]+$ ]]; then
echo "ERROR: Phase number must be an integer"
exit 1
fi
If ROADMAP.md exists, check format and auto-migrate if old:
if [ -f .planning/ROADMAP.md ]; then
node scripts/kata-lib.cjs check-roadmap 2>/dev/null
FORMAT_EXIT=$?
if [ $FORMAT_EXIT -eq 1 ]; then
echo "Old roadmap format detected. Running auto-migration..."
fi
fi
If exit code 1 (old format):
Invoke kata-doctor in auto mode:
Skill("kata-doctor", "--auto")
Continue after migration completes.
If exit code 0 or 2: Continue silently.
if [ -f .planning/ROADMAP.md ]; then
ROADMAP=".planning/ROADMAP.md"
else
echo "ERROR: No roadmap found (.planning/ROADMAP.md)"
exit 1
fi
Read roadmap content for parsing.
-
Search for "### Phase {after_phase}:" heading
-
If not found:
ERROR: Phase {after_phase} not found in roadmap Available phases: [list phase numbers]Exit.
-
Verify phase is in current milestone (not completed/archived)
- Search for all "### Phase {after_phase}.N:" headings
- Extract decimal suffixes (e.g., for Phase 72: find 72.1, 72.2, 72.3)
- Find the highest decimal suffix
- Calculate next decimal: max + 1
Examples:
- Phase 72 with no decimals → next is 72.1
- Phase 72 with 72.1 → next is 72.2
- Phase 72 with 72.1, 72.2 → next is 72.3
Store as: decimal_phase="$(printf "%02d" $after_phase).${next_decimal}"
slug=$(echo "$description" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/^-//;s/-$//')
Phase directory name: {decimal-phase}-{slug}
Example: 06.1-fix-critical-auth-bug (phase 6 insertion)
phase_dir=".planning/phases/pending/${decimal_phase}-${slug}"
mkdir -p "$phase_dir"
Confirm: "Created directory: $phase_dir"
-
Find insertion point: immediately after Phase {after_phase}'s content (before next phase heading or "---")
-
Insert new phase heading with (INSERTED) marker:
### Phase {decimal_phase}: {Description} (INSERTED) **Goal:** [Urgent work - to be planned] **Depends on:** Phase {after_phase} **Plans:** 0 plans Plans: - [ ] TBD (run /kata-plan-phase {decimal_phase} to break down) **Details:** [To be added during planning] -
Write updated roadmap back to file
The "(INSERTED)" marker helps identify decimal phases as urgent insertions.
Preserve all other content exactly (formatting, spacing, other phases).
- Read
.planning/STATE.md - Under "## Accumulated Context" → "### Roadmap Evolution" add entry:
- Phase {decimal_phase} inserted after Phase {after_phase}: {description} (URGENT)
If "Roadmap Evolution" section doesn't exist, create it.
Add note about insertion reason if appropriate.
Phase {decimal_phase} inserted after Phase {after_phase}:
- Description: {description}
- Directory: .planning/phases/{decimal-phase}-{slug}/
- Status: Not planned yet
- Marker: (INSERTED) - indicates urgent work
Roadmap updated: {roadmap-path}
Project state updated: .planning/STATE.md
---
## ▶ Next Up
**Phase {decimal_phase}: {description}** — urgent insertion
`/kata-plan-phase {decimal_phase}`
<sub>`/clear` first → fresh context window</sub>
---
**Also available:**
- Review insertion impact: Check if Phase {next_integer} dependencies still make sense
- Review roadmap
---
<anti_patterns>
- Don't use this for planned work at end of milestone (use /kata-add-phase)
- Don't insert before Phase 1 (decimal 0.1 makes no sense)
- Don't renumber existing phases
- Don't modify the target phase content
- Don't create plans yet (that's /kata-plan-phase)
- Don't commit changes (user decides when to commit) </anti_patterns>
<success_criteria> Phase insertion is complete when:
- Phase directory created:
.planning/phases/pending/{N.M}-{slug}/ - Roadmap updated with new phase entry (includes "(INSERTED)" marker)
- Phase inserted in correct position (after target phase, before next integer phase)
- STATE.md updated with roadmap evolution note
- Decimal number calculated correctly (based on existing decimals)
- User informed of next steps and dependency implications </success_criteria>
More from gannonh/kata-orchestrator
kata-pause-work
Create a context handoff file, pausing work mid-phase, stopping work temporarily, or creating a checkpoint for session resumption. Triggers include "pause work", "stop work", "create handoff", "save progress", and "pause session".
2kata-brainstorm
Run structured brainstorming sessions using paired explorer/challenger agent teams. Explorers generate ideas, challengers play devil's advocate, and 2-3 rounds of debate produce pressure-tested proposals. Use when brainstorming product ideas, exploring feature directions, evaluating strategic options, generating milestone candidates, or when the user says "brainstorm", "explore ideas", "what should we build next", "generate options", or "run an ideation session".
1kata-map-codebase
Analyze an existing codebase with parallel mapper agents, creating codebase documentation, understanding brownfield projects, or mapping code structure. Triggers include "map codebase", "analyze codebase", "create project context", "document codebase", "understand code", and "codebase map".
1kata-customize
Manage template overrides for customizing Kata output formats. List available templates, copy defaults for local editing, edit overrides, validate template schemas. Triggers include "customize template", "override template", "edit template", "template overrides", "list templates", "show templates", "template customization", "manage templates", "what templates can I customize", "template schema", "custonmize Kata", "custom config".
1kata-whats-new
Show what's new in Kata since the installed version, displaying changelog entries, checking for Kata updates, or reviewing recent changes. Triggers include "what's new", "whats new", "show changes", "changelog", "recent changes", and "what changed".
1kata-new-project
Initialize a new project with deep context gathering and project.md. Triggers include "new project", "start project", "initialize project", "create project", "begin project", "setup project".
1