agentleFS
YougLin-devYougLin-dev/Aha-Loop/.agents/skills/roadmap/SKILL.md

roadmap

Skill181 starsChanged 9 months agoMITView on GitHub

Creates and manages project roadmaps with milestones and PRD queues. Use after architecture is defined for project planning. Triggers on: create roadmap, plan milestones, organize prds.

48 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use sequence, stakeholder-update and 9 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • GTMifySkill

    sequence

    Build a multi-channel outreach cadence (email + LinkedIn + phone) for a target persona or named prospect. Use when the user says 'build a sequence', 'outreach cadence', 'multi-touch sequence', 'multi-channel cadence', 'follow-up sequence', or needs a coordinated multi-channel play. Do NOT use for single cold emails — use cold-email instead.

    Also in 3 projects that use this

  • AnthropicSkill

    stakeholder-update

    Generate a stakeholder update tailored to audience and cadence. Use when writing a weekly or monthly status for leadership, announcing a launch, escalating a risk or blocker, or translating the same progress into exec-brief, engineering-detail, or customer-facing versions.

    Also in 3 projects that use this

  • EpistatesSkill

    strategy

    Plan weekly or monthly X content strategy. Use when the user wants to plan their content calendar, set growth goals, build a content pipeline, or think strategically about their X presence.

    Also in 3 projects that use this

  • ArvorCoSkill

    specify

    Create feature specification from natural language description. Use when starting a new feature or creating a spec. Triggers on: create spec, specify feature, new feature spec.

    Also in 3 projects that use this

  • michalattSkill

    challenge

    Pressure-test plans, decisions, and directions by picking and answering the most relevant challenge questions for the current conversation

    Also in 3 projects that use this

  • anombyte93Skill

    discover

    Phase 1 of the prd-taskmaster pipeline: brainstorm-driven discovery. Delegates to superpowers:brainstorming in Interactive Mode (one adaptive question at a time), or self-brainstorms in Autonomous Mode when no user is present. Intercepts before the brainstorming chain hands off to writing-plans — this skill owns the exit. Extracts constraints, calibrates scale (Solo / Team / Enterprise), and advances the pipeline to GENERATE.

    Also in 4 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. 0 are common, 13 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 41 edited versions we read keep these.

  • 13

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    When running in workspace mode, all paths are relative to .aha-loop/ directory:

    line 12
  2. Very specific:

    Read project.vision-analysis.md and project.architecture.md

    line 24
  3. Distinctive:

    Not depend on unfinished PRDs

    line 76
  4. Distinctive:

    Core before optional: - Must-have before nice-to-have

    line 84
  5. Distinctive:

    Every project starts with M0:

    line 188
  6. Distinctive:

    Create PRD for each group

    line 214
  7. Distinctive:

    New Requirement Discovered: - Add new PRD

    line 268
  8. Distinctive:

    Milestone Complete: - Update status, move to next

    line 271
  9. Distinctive:

    After each PRD completion

    line 298
  10. Distinctive:

    After each milestone completion

    line 299
  11. Distinctive:

    When significant learnings are recorded

    line 300
  12. Distinctive:

    When errors repeatedly occur

    line 301
  13. Distinctive:

    If a PRD's dependencies aren't met:

    line 347
  14. Distinctive:

    If no PRDs available, report blocking issue

    line 349
  15. Distinctive:

    Consider if dependencies need reprioritization

    line 350

“Common” is measured: kept by at least 6 in 10 of the 41 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Roadmap Skill

Plan project execution by creating milestones and organizing PRDs into an executable queue.

Workspace Mode Note

When running in workspace mode, all paths are relative to .aha-loop/ directory:

  • Vision analysis: .aha-loop/project.vision-analysis.md
  • Architecture: .aha-loop/project.architecture.md
  • Roadmap: .aha-loop/project.roadmap.json
  • PRD files: .aha-loop/tasks/

The orchestrator will provide the actual paths in the prompt context.


The Job

  1. Read project.vision-analysis.md and project.architecture.md
  2. Decompose project into milestones
  3. Break each milestone into PRDs
  4. Order PRDs by dependencies
  5. Output project.roadmap.json
  6. Generate initial PRD files in tasks/

Milestone Strategy

Standard Milestone Structure

MilestoneFocusGoal
M0: FoundationProject scaffolding, CI/CD, toolingDevelopment environment ready
M1: MVPCore features onlyMinimal usable product
M2: EssentialImportant featuresFeature-complete for basic use
M3: EnhancedNice-to-have featuresPolished product
M4: OptimizationPerformance, UX polishProduction-ready

Milestone Sizing

Each milestone should:

  • Be completable in a reasonable timeframe
  • Have 3-7 PRDs (avoid too many or too few)
  • Deliver tangible, testable value
  • Build on previous milestones

PRD Decomposition

From Features to PRDs

For each milestone, break down features into PRDs:

Milestone: M1 - MVP
├── PRD-001: Project Scaffolding
├── PRD-002: Database Schema
├── PRD-003: Core Data Models
├── PRD-004: Basic API Endpoints
└── PRD-005: Minimal UI

PRD Sizing

Each PRD should:

  • Take 1-5 Aha Loop iterations (5-25 stories)
  • Focus on one coherent feature area
  • Be independently testable
  • Not depend on unfinished PRDs

PRD Ordering

Order PRDs by dependencies:

  1. Infrastructure first - Project setup, database, auth
  2. Backend before frontend - APIs before UI that uses them
  3. Core before optional - Must-have before nice-to-have
  4. Data before presentation - Models before views

Roadmap JSON Structure

{
  "version": 1,
  "projectName": "[From vision]",
  "status": "in_progress",
  "currentMilestone": "M1",
  "currentPRD": "PRD-002",
  "createdAt": "[timestamp]",
  "updatedAt": "[timestamp]",
  "milestones": [
    {
      "id": "M0",
      "title": "Foundation",
      "description": "Project setup and development environment",
      "status": "completed",
      "completedAt": "[timestamp]",
      "prds": [
        {
          "id": "PRD-001",
          "title": "Project Scaffolding",
          "description": "Initialize project structure, dependencies, and tooling",
          "status": "completed",
          "prdFile": "tasks/prd-scaffolding.md",
          "stories": 5,
          "completedAt": "[timestamp]"
        }
      ]
    },
    {
      "id": "M1",
      "title": "MVP",
      "description": "Minimum viable product with core functionality",
      "status": "in_progress",
      "prds": [
        {
          "id": "PRD-002",
          "title": "Database Schema",
          "description": "Design and implement database schema",
          "status": "in_progress",
          "prdFile": "tasks/prd-database.md",
          "stories": 8,
          "dependsOn": ["PRD-001"]
        },
        {
          "id": "PRD-003",
          "title": "Core API",
          "description": "Implement core API endpoints",
          "status": "pending",
          "prdFile": "tasks/prd-core-api.md",
          "stories": 12,
          "dependsOn": ["PRD-002"]
        }
      ]
    },
    {
      "id": "M2",
      "title": "Essential Features",
      "description": "Complete essential features for basic use",
      "status": "pending",
      "prds": []
    }
  ],
  "changelog": [
    {
      "timestamp": "[timestamp]",
      "action": "created",
      "description": "Initial roadmap created from vision and architecture"
    }
  ]
}

Roadmap Creation Process

Step 1: Analyze Requirements

From vision analysis, categorize features:

## Feature Categories

### M1: MVP (Must ship)
- [Feature 1]
- [Feature 2]

### M2: Essential (Should ship)
- [Feature 3]
- [Feature 4]

### M3: Enhanced (Nice to ship)
- [Feature 5]

Step 2: Create M0 Foundation

Every project starts with M0:

## M0: Foundation PRDs

### PRD-001: Project Scaffolding
- Initialize project with chosen tech stack
- Set up directory structure
- Configure linting and formatting
- Set up basic CI (if applicable)
- Create initial README

### PRD-002: Development Environment
- Database setup (if applicable)
- Environment configuration
- Development scripts
- Basic testing infrastructure

Step 3: Decompose Milestones into PRDs

For each milestone after M0:

  1. List all features for this milestone
  2. Group related features
  3. Order by dependencies
  4. Create PRD for each group
  5. Estimate stories per PRD

Step 4: Generate PRD Files

For each PRD, create a stub file in tasks/:

# PRD: [Title]

**ID:** PRD-XXX
**Milestone:** M[N]
**Status:** Pending

## Overview

[Brief description from roadmap]

## Context

[How this relates to previous PRDs and the overall project]

## Goals

- [Goal 1]
- [Goal 2]

## User Stories

[To be generated when this PRD becomes active]

## Dependencies

- PRD-XXX: [What it depends on]

## Acceptance Criteria

- [ ] [High-level criterion]
- [ ] [Another criterion]

---

*This PRD will be fully expanded when it becomes the active PRD.*

Dynamic Roadmap Updates

When to Update Roadmap

The roadmap should be updated when:

  1. PRD Completed - Mark as complete, update timestamps
  2. New Requirement Discovered - Add new PRD
  3. Scope Change - Modify or remove PRDs
  4. Better Approach Found - Restructure PRDs
  5. Milestone Complete - Update status, move to next

Update Process

{
  "changelog": [
    {
      "timestamp": "2026-01-29T12:00:00Z",
      "action": "prd_completed",
      "prdId": "PRD-002",
      "description": "Database schema implemented"
    },
    {
      "timestamp": "2026-01-29T14:00:00Z",
      "action": "prd_added",
      "prdId": "PRD-007",
      "description": "Added caching layer PRD based on performance research"
    }
  ]
}

Automatic Triggers

The orchestrator should trigger roadmap review:

  • After each PRD completion
  • After each milestone completion
  • When significant learnings are recorded
  • When errors repeatedly occur

Integration with Orchestrator

Orchestrator Reads

# Get current PRD
jq '.currentPRD' project.roadmap.json

# Get PRD file path
jq -r '.milestones[].prds[] | select(.id == "PRD-002") | .prdFile' project.roadmap.json

Orchestrator Updates

After PRD completion:

# Update PRD status
jq '.milestones[].prds[] |= if .id == "PRD-002" then .status = "completed" else . end' project.roadmap.json

PRD Queue Management

Getting Next PRD

# Pseudocode for finding next PRD
def get_next_prd(roadmap):
    for milestone in roadmap.milestones:
        if milestone.status == "completed":
            continue
        for prd in milestone.prds:
            if prd.status == "pending":
                if all_dependencies_complete(prd):
                    return prd
    return None  # All complete or blocked

Handling Blocked PRDs

If a PRD's dependencies aren't met:

  1. Skip to next available PRD
  2. If no PRDs available, report blocking issue
  3. Consider if dependencies need reprioritization

Example Roadmap

Project: Personal Finance Tracker (from vision example)

{
  "version": 1,
  "projectName": "Finance Tracker",
  "status": "in_progress",
  "currentMilestone": "M0",
  "currentPRD": "PRD-001",
  "milestones": [
    {
      "id": "M0",
      "title": "Foundation",
      "status": "in_progress",
      "prds": [
        {
          "id": "PRD-001",
          "title": "SvelteKit Project Setup",
          "description": "Initialize SvelteKit project with TypeScript, Tailwind, PWA support",
          "status": "in_progress",
          "prdFile": "tasks/prd-project-setup.md",
          "stories": 6
        }
      ]
    },
    {
      "id": "M1",
      "title": "MVP - Core Expense Tracking",
      "status": "pending",
      "prds": [
        {
          "id": "PRD-002",
          "title": "Data Layer",
          "description": "Implement IndexedDB with Dexie for expense storage",
          "status": "pending",
          "prdFile": "tasks/prd-data-layer.md",
          "stories": 8,
          "dependsOn": ["PRD-001"]
        },
        {
          "id": "PRD-003",
          "title": "Quick Expense Entry",
          "description": "Fast expense input form (< 5 seconds goal)",
          "status": "pending",
          "prdFile": "tasks/prd-expense-entry.md",
          "stories": 10,
          "dependsOn": ["PRD-002"]
        },
        {
          "id": "PRD-004",
          "title": "Expense List View",
          "description": "View and manage recorded expenses",
          "status": "pending",
          "prdFile": "tasks/prd-expense-list.md",
          "stories": 8,
          "dependsOn": ["PRD-002"]
        }
      ]
    },
    {
      "id": "M2",
      "title": "Reports & PWA",
      "status": "pending",
      "prds": [
        {
          "id": "PRD-005",
          "title": "Monthly Reports",
          "description": "Auto-generated monthly expense reports",
          "status": "pending",
          "prdFile": "tasks/prd-reports.md",
          "stories": 10,
          "dependsOn": ["PRD-003", "PRD-004"]
        },
        {
          "id": "PRD-006",
          "title": "PWA Offline Support",
          "description": "Full offline capability with service worker",
          "status": "pending",
          "prdFile": "tasks/prd-pwa.md",
          "stories": 8,
          "dependsOn": ["PRD-002"]
        }
      ]
    }
  ]
}

Checklist

Before completing roadmap:

  • All milestones defined with clear goals
  • PRDs created for at least M0 and M1
  • Dependencies between PRDs mapped
  • PRD stub files created in tasks/
  • Roadmap JSON validates
  • Current milestone and PRD set correctly
  • Changelog initialized
  • Saved to project.roadmap.json

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.