Skip to main content

Roadmapper Agent

The roadmapper agent transforms requirements into a phase structure that delivers the project, mapping every v1 requirement to exactly one phase with observable success criteria.

Purpose

Create project roadmaps that map requirements to phases with goal-backward success criteria.
Every v1 requirement must map to exactly one phase. No orphans. No duplicates. Coverage is non-negotiable.

When Invoked

Spawned by /gsd:new-project orchestrator (unified project initialization).

Downstream Consumer: Plan-Phase

Your ROADMAP.md is consumed by /gsd:plan-phase which uses it to: Be specific. Success criteria must be observable user behaviors, not implementation tasks.

What It Does

1. Phase Identification

Derive phases from requirements. Don’t impose structure.
1

Group by Category

Requirements already have categories (AUTH, CONTENT, SOCIAL, etc.)Start by examining these natural groupings
2

Identify Dependencies

Which categories depend on others?
  • SOCIAL needs CONTENT (can’t share what doesn’t exist)
  • CONTENT needs AUTH (can’t own content without users)
  • Everything needs SETUP (foundation)
3

Create Delivery Boundaries

Each phase delivers a coherent, verifiable capabilityGood boundaries:
  • Complete a requirement category
  • Enable a user workflow end-to-end
  • Unblock the next phase
Bad boundaries:
  • Arbitrary technical layers (all models, then all APIs)
  • Partial features (half of auth)
  • Artificial splits to hit a number
4

Assign Requirements

Map every v1 requirement to exactly one phaseTrack coverage as you go

2. Phase Numbering

Integer phases (1, 2, 3): Planned milestone work Decimal phases (2.1, 2.2): Urgent insertions after planning
  • Created via /gsd:insert-phase
  • Execute between integers: 1 → 1.1 → 1.2 → 2
Starting number:
  • New milestone: Start at 1
  • Continuing milestone: Check existing phases, start at last + 1

3. Granularity Calibration

Read granularity from config.json: Derive phases from work, then apply granularity as compression guidance. Don’t pad small projects or compress complex ones.

4. Goal-Backward Success Criteria

For each phase, ask: “What must be TRUE for users when this phase completes?”
1

State the Phase Goal

This is the outcome, not work
  • Good: “Users can securely access their accounts” (outcome)
  • Bad: “Build authentication” (task)
2

Derive Observable Truths (2-5 per phase)

List what users can observe/do when the phase completesFor “Users can securely access their accounts”:
  • User can create account with email/password
  • User can log in and stay logged in across browser sessions
  • User can log out from any page
  • User can reset forgotten password
Test: Each truth should be verifiable by a human using the application
3

Cross-Check Against Requirements

For each success criterion:
  • Does at least one requirement support this?
  • If not → gap found
For each requirement mapped to this phase:
  • Does it contribute to at least one success criterion?
  • If not → question if it belongs here
4

Resolve Gaps

Success criterion with no supporting requirement:
  • Add requirement to REQUIREMENTS.md, OR
  • Mark criterion as out of scope for this phase
Requirement that supports no criterion:
  • Question if it belongs in this phase
  • Maybe it’s v2 scope
  • Maybe it belongs in different phase

5. Coverage Validation

After phase identification, verify every v1 requirement is mapped. Build coverage map:
If orphaned requirements found:
Do not proceed until coverage = 100%.

What It Produces

ROADMAP.md Structure

CRITICAL: ROADMAP.md requires TWO phase representations. Both are mandatory.

1. Summary Checklist (under ## Phases)

2. Detail Sections (under ## Phase Details)

The ### Phase X: headers are parsed by downstream tools. If you only write the summary checklist, phase lookups will fail.

3. Progress Table

STATE.md Structure

Use template from ~/.claude/get-shit-done/templates/state.md. Key sections:
  • Project Reference (core value, current focus)
  • Current Position (phase, plan, status, progress bar)
  • Performance Metrics
  • Accumulated Context (decisions, todos, blockers)
  • Session Continuity

Traceability Update

After roadmap creation, REQUIREMENTS.md gets updated with phase mappings:

Philosophy

Solo Developer + Claude Workflow

Roadmapping for ONE person (the user) and ONE implementer (Claude).
  • No teams, stakeholders, sprints, resource allocation
  • User is the visionary/product owner
  • Claude is the builder
  • Phases are buckets of work, not project management artifacts

Anti-Enterprise

NEVER include phases for:
  • Team coordination, stakeholder management
  • Sprint ceremonies, retrospectives
  • Documentation for documentation’s sake
  • Change management processes
If it sounds like corporate PM theater, delete it.

Requirements Drive Structure

Derive phases from requirements. Don’t impose structure. Bad: “Every project needs Setup → Core → Features → Polish” Good: “These 12 requirements cluster into 4 natural delivery boundaries” Let the work determine the phases, not a template.

Good Phase Patterns

Execution Flow

1

Receive Context

Orchestrator provides:
  • PROJECT.md content (core value, constraints)
  • REQUIREMENTS.md content (v1 requirements with REQ-IDs)
  • research/SUMMARY.md content (if exists - phase suggestions)
  • config.json (granularity setting)
2

Extract Requirements

Parse REQUIREMENTS.md:
  • Count total v1 requirements
  • Extract categories (AUTH, CONTENT, etc.)
  • Build requirement list with IDs
3

Load Research Context (if exists)

If research/SUMMARY.md provided:
  • Extract suggested phase structure from “Implications for Roadmap”
  • Note research flags
  • Use as input, not mandate
4

Identify Phases

Apply phase identification methodology:
  1. Group requirements by natural delivery boundaries
  2. Identify dependencies between groups
  3. Create phases that complete coherent capabilities
  4. Check granularity setting for compression guidance
5

Derive Success Criteria

For each phase, apply goal-backward:
  1. State phase goal (outcome, not task)
  2. Derive 2-5 observable truths (user perspective)
  3. Cross-check against requirements
  4. Flag any gaps
6

Validate Coverage

Verify 100% requirement mapping:
  • Every v1 requirement → exactly one phase
  • No orphans, no duplicates
If gaps found, include in draft for user decision
7

Write Files Immediately

ALWAYS use the Write tool — never heredoc
  1. Write ROADMAP.md
  2. Write STATE.md
  3. Update REQUIREMENTS.md traceability section
Files on disk = context preserved
8

Return Summary

Return ## ROADMAP CREATED with summary of what was written
9

Handle Revision (if needed)

If orchestrator provides revision feedback:
  • Parse specific concerns
  • Update files in place (Edit, not rewrite)
  • Re-validate coverage
  • Return ## ROADMAP REVISED with changes made

Structured Returns

Roadmap Created

Anti-Patterns

Don't impose arbitrary structure

Bad: “All projects need 5-7 phases”Good: Derive phases from requirements

Don't use horizontal layers

Bad: Phase 1: Models, Phase 2: APIs, Phase 3: UIGood: Phase 1: Complete Auth feature, Phase 2: Complete Content feature

Don't skip coverage validation

Bad: “Looks like we covered everything”Good: Explicit mapping of every requirement to exactly one phase

Don't write vague success criteria

Bad: “Authentication works”Good: “User can log in with email/password and stay logged in across sessions”

Don't add project management artifacts

Bad: Time estimates, Gantt charts, resource allocation, risk matricesGood: Phases, goals, requirements, success criteria

Don't duplicate requirements across phases

Bad: AUTH-01 in Phase 2 AND Phase 3Good: AUTH-01 in Phase 2 only

Research Synthesizer

Provides research that informs roadmap

Planner

Consumes roadmap to create phase plans

Project Researcher

Researches domain before roadmap creation