Why XML?
From the README:Every plan is structured XML optimized for Claude:Claude excels at parsing and following XML-structured instructions. The format makes it impossible to miss required steps or skip verification.
- Precise instructions
- No guessing
- Verification built in
Plan File Structure
Plans live in.planning/phases/XX-name/{phase}-{plan}-PLAN.md with YAML frontmatter and XML body.
Complete Example
Frontmatter Fields
YAML frontmatter provides metadata for the orchestrator:Key Fields Explained
wave - Pre-computed execution wave:- Wave 1: Independent plans run in parallel
- Wave 2: Plans depending on Wave 1
- Wave 3+: Further dependencies
[]- No dependencies, can run in Wave 1["01-01"]- Requires plan 01-01 complete["01-01", "01-02"]- Requires both plans
true- Fully autonomous, no user interactionfalse- Has checkpoints requiring user input
- Used by verification subagent after execution
- Ensures goal achievement, not just task completion
XML Tags
<objective>
Purpose: What this plan accomplishes and why.
Structure:
<execution_context>
Purpose: Workflow and template references.
Structure:
<context>
Purpose: Project files and prior work to read.
Structure:
- This plan imports types/exports from prior plan
- Prior plan made decision affecting this plan
- Prior plan’s output is input to this plan
<tasks>
Purpose: Container for all task elements.
Structure:
<task type="auto">
Purpose: Fully autonomous task Claude executes.
Structure:
<name> Tag
Purpose: Clear, action-oriented task name.
Format: [Verb] [noun] or [Verb] [noun]: [specifics]
Good examples:
Create User modelImplement password hashingAdd error handling to login endpoint
User model(not action-oriented)Authentication(too vague)Task 1(meaningless)
<files> Tag
Purpose: Which files this task creates or modifies.
Format: Comma-separated paths relative to project root.
Examples:
<action> Tag
Purpose: Specific implementation instructions.
Include:
- What to build
- How to build it
- What to avoid and WHY
- Technology choices
- Error handling requirements
<verify> Tag
Purpose: Command or check to prove the task worked.
Format: Executable command or manual check.
Examples:
<done> Tag
Purpose: Measurable acceptance criteria.
Format: Observable outcome that proves task complete.
Examples:
Checkpoint Tasks
Purpose: Tasks requiring user interaction. Types:checkpoint:decision- User makes implementation choicecheckpoint:human-verify- User verifies visual/functional outputcheckpoint:human-action- User performs manual step
<verification>
Purpose: Final checks before declaring plan complete.
Structure:
<success_criteria>
Purpose: Overall plan success definition.
Structure:
<output>
Purpose: Where to write the completion summary.
Structure:
Real Example from README
From the “Why It Works” section:- Precise technology choice: “Use jose for JWT (not jsonwebtoken - CommonJS issues)”
- Clear verification: Exact curl command with expected output
- Measurable done criteria: Specific behaviors to test
- No ambiguity: Claude knows exactly what to build and how to verify