Planning

Pipeline

After intake confirmation, the agent runs a 5-stage pipeline with a human-in-the-loop checkpoint after each stage:

graph LR
    A[📝 Project Intake] --> B[🔍 Project Analyzer]
    B --> C[🧩 Feature Generator]
    C --> D[📖 Story Writer]
    D --> E[✅ Task Decomposer]
    E --> F[📅 Sprint Planner]
    C -.-> |accept/edit/reject| C
    D -.-> |accept/edit/reject| D
    E -.-> |accept/edit/reject| E
    F -.-> |accept/edit/reject| F
StageWhat it does
Project AnalyzerSynthesizes all 30 intake answers into a structured ProjectAnalysis — name, type, goals, tech stack, constraints, risks, out-of-scope
Feature GeneratorDecomposes the analysis into high-level features with priorities (Critical/High/Medium/Low)
Story WriterBreaks features into user stories with persona/goal/benefit format, Given/When/Then acceptance criteria, Fibonacci story points (1–8, auto-split if >8), discipline tagging, and Definition of Done flags
Task DecomposerBreaks stories into concrete tasks with labels (Code/Documentation/Infrastructure/Testing), test plans, and AI coding prompts. Auto-generates documentation sub-tasks for stories with Documentation in their DoD
Sprint PlannerAllocates stories to sprints respecting per-sprint net velocity (deducted for bank holidays, PTO, unplanned absence, onboarding, KTLO). Handles capacity overflow with 3 options: extend sprints, increase team, or keep as-is

At each checkpoint, you can:

  • [1] Accept — proceed to the next stage
  • [2] Edit — modify specific artifacts inline
  • [3] Reject — re-generate with your feedback

Task enrichment

Every task generated by the Task Decomposer includes:

FieldDescription
LabelAuto-tagged: Code, Documentation, Infrastructure, or Testing — colour-coded in all views
Test planAuto-generated for Code and Infrastructure tasks — lists what to test (unit, integration, edge cases)
AI promptARC-structured instruction for Cursor/Claude Code/Copilot, including project name, tech stack, and specific guidance

Stories with "Documentation" marked as applicable in their DoD get a consolidated documentation sub-task referencing Confluence/README URLs from intake.

Small project handling

For projects with ≤2 sprints and ≤3 goals, the analyzer sets skip_epics. Instead of multi-epic decomposition, a single sentinel epic is created using the project name as its title. The rest of the pipeline (stories, tasks, sprints) proceeds normally.

Prompt quality rating

After intake, the analysis review screen shows a deterministic quality rating:

  • Letter grade (A/B/C/D) with percentage score
  • Breakdown: answered, extracted, defaulted, skipped, probed counts
  • Actionable suggestions: "Add a SCRUM.md file", "Answer Q11 (tech stack) for better stories", etc.
  • Low-confidence areas: defaulted essential questions flagged for downstream spike recommendations

Roadmap intake

Describing a project by hand is not the only way into the pipeline. The Roadmap intake card points yeaboi at wherever your quarterly roadmap already lives — a Confluence page, a Notion page, or a local .md, .txt, .rst, .pdf, .docx or .pptx file — and one LLM call extracts the concrete candidate projects out of it.

Each candidate comes back ranked, and classified as a Small or Large planning effort. Picking one launches a planning session pre-seeded with that project's description, so the roadmap document becomes the intake rather than something you re-type into it.

Roadmap intake is a source picker inside Planning rather than a mode of its own: there is no separate card on the menu and no headless subcommand for it yet — it is reached from the intake step of a planning session.