Create or update a project roadmap with major milestones. Generates the configured roadmap artifact (default .ai-factory/ROADMAP.md) — a strategic checklist of high-level goals. Use when user says "roadmap", "project plan", "milestones", or "what to build next".
68
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Create and maintain a high-level project roadmap with major milestones.
FIRST: Read .ai-factory/config.yaml if it exists to resolve:
paths.description, paths.architecture, paths.rules_file, paths.roadmap, paths.research, and paths.rules; derive research_bundles_dir = <parent directory of paths.research>/research/language.ui for prompts, language.artifacts for generated contentIf config.yaml doesn't exist, use defaults:
.ai-factory/ for all artifactsen (English)Read .ai-factory/DESCRIPTION.md (use path from config) if it exists to understand:
Read the resolved architecture artifact if it exists (paths.architecture, default: .ai-factory/ARCHITECTURE.md) to understand:
Optionally read one relevant research source: the configured paths.research
file or a clearly topic-matching active direct child bundle. Recognize one as
active only when its INDEX.md contains <!-- aif:research-mode:ultra --> exactly once,
declares Status: active, and links its RESEARCH.md from ## Artifact Index.
Use its Active Summary for
strategic context; read optional C4/ADR/dependency artifacts only for rationale.
Do not merge unrelated topics or treat implementation-level notes as milestones.
Read .ai-factory/skill-context/aif-roadmap/SKILL.md — MANDATORY if the file exists.
This file contains project-specific rules accumulated by /aif-evolve from patches,
codebase conventions, and tech-stack analysis. These rules are tailored to the current project.
How to apply skill-context rules:
Enforcement: After generating any output artifact, verify it against all skill-context rules. If any rule is violated — fix the output before presenting it to the user.
If argument is check → Mode 3: Check Progress (requires the resolved roadmap path)
Otherwise check if the resolved roadmap path exists (paths.roadmap, default: .ai-factory/ROADMAP.md):
1.1: Gather Input
If user provided arguments (vision/description):
If no arguments:
AskUserQuestion: What are the major goals for this project?
Options:
1. Let me describe the vision
2. Analyze codebase and suggest milestones
3. Both — I'll describe, you'll add what's missingBased on choice:
AskUserQuestion: Any priorities or deadlines?
Options:
1. Yes, let me specify
2. No, just order by logical sequence
3. Skip — I'll reprioritize later1.2: Explore Codebase
Scan the project to understand what's already built:
Glob for project structure (key directories, modules)Grep for implemented features (routes, models, services)git log --oneline -201.3: Generate ROADMAP.md
Create the resolved roadmap artifact (default: .ai-factory/ROADMAP.md) with this format:
# Project Roadmap
> <project vision — one-liner from DESCRIPTION.md or user input>
## Milestones
- [ ] **Milestone Name** — short description of what this achieves
- [ ] **Milestone Name** — short description of what this achieves
- [x] **Milestone Name** — short description (already done based on codebase analysis)
## Completed
| Milestone | Date |
|-----------|------|
| Milestone Name | YYYY-MM-DD |Rules for milestones:
/aif-plan)[x] and add them to the Completed table1.4: Confirm with user
Show the generated roadmap and ask:
AskUserQuestion: Here's the proposed roadmap. What would you like to do?
Options:
1. Looks good — save it
2. Add more milestones
3. Remove/modify some milestones
4. Rewrite — let me give better inputApply changes if requested, then save to the resolved roadmap path.
2.1: Read Current State
.ai-factory/DESCRIPTION.md (use path from config) for context2.2: Determine Action
If user provided arguments (new milestones/changes):
If no arguments:
AskUserQuestion: What would you like to do with the roadmap?
Options:
1. Review progress — check what's done, mark completed milestones
2. Add new milestones
3. Reprioritize — reorder existing milestones
4. Rewrite — major revision of the roadmap2.3: Review Progress (if chosen)
These milestones appear to be done:
- **Milestone Name** — [evidence: files exist, routes implemented, etc.]
Mark them as completed?If confirmed:
- [ ] to - [x] in the Milestones section2.4: Add New Milestones (if chosen)
2.5: Reprioritize (if chosen)
2.6: Save Changes
Update the resolved roadmap path with all modifications.
Show summary:
## Roadmap Updated
Total milestones: N
Completed: X/N
Next up: **Milestone Name**
To start working on the next milestone:
/aif-plan <milestone description> → creates a plan and optional branch/worktree flow
/aif-implement → executes the plan/aif-roadmap check)Automated scan — analyze the codebase and mark completed milestones without interactive questions.
Requires the resolved roadmap path to exist. If it doesn't — tell the user to run /aif-roadmap first.
3.1: Read roadmap and project context
.ai-factory/DESCRIPTION.md (use path from config) for tech stack context3.2: Analyze each unchecked milestone
For every - [ ] milestone:
Glob and Grep to search for that evidencegit log --oneline --all -30 for related commits3.3: Report findings
## Roadmap Progress Check
✅ Done (ready to mark):
- **User Authentication** — found: src/auth/, JWT middleware, login/register routes
- **Database Setup** — found: migrations/, models/, seed scripts
🔨 In Progress:
- **Payment Integration** — found: src/payments/ exists but Stripe webhook handler missing
⏳ Not Started:
- **Admin Dashboard**
- **Email Notifications**
Mark completed milestones? (2 milestones)3.4: Apply changes (if confirmed)
[x]Show updated summary:
Completed: X/N milestones
Next up: **Milestone Name**# Project Roadmap
> <project vision — one-liner>
## Milestones
- [ ] **Name** — short description
- [ ] **Name** — short description
- [x] **Name** — short description
## Completed
| Milestone | Date |
|-----------|------|
| Name | YYYY-MM-DD |/aif-plan to start a feature and /aif-implement to execute/aif-implement may only mark milestones completed when implementation evidence is clear4b943ec
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.