// Manages product roadmap via GitHub Issues (brainstorm, prioritize, track). Auto-validates features against project vision (from overview.md) before adding to roadmap. Use when running /roadmap command or mentions 'roadmap', 'add feature', 'brainstorm ideas', or 'prioritize features'.
| name | roadmap-integration |
| description | Manages product roadmap via GitHub Issues (brainstorm, prioritize, track). Auto-validates features against project vision (from overview.md) before adding to roadmap. Use when running /roadmap command or mentions 'roadmap', 'add feature', 'brainstorm ideas', or 'prioritize features'. |
<quick_start> <roadmap_workflow> Vision-aligned feature management:
Quick actions:
/roadmap add "student progress widget"
/roadmap brainstorm "CFI productivity tools"
/roadmap move auth-refactor Next
/roadmap search export
Example workflow:
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
š VISION ALIGNMENT CHECK
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Project Vision:
AKTR helps flight instructors track student progress against ACS standards.
Proposed Feature:
Add student progress widget showing mastery percentage by ACS area
ā
Feature aligns with project vision
Target User Check:
Does this feature serve: CFIs, Flight students, School admins
Confirm primary user (or 'skip'): Flight students
ā
Vision alignment complete
ā
Created issue #123: student-progress-widget in Backlog
Area: app | Role: student
š Roadmap Summary:
Backlog: 12 | Next: 3 | In Progress: 2 | Shipped: 45
Top 3 in Backlog (oldest/highest priority):
1. #98 cfi-batch-export (Created: 2025-11-01)
2. #87 study-plan-generator (Created: 2025-11-05)
3. #123 student-progress-widget (Created: 2025-11-13)
š” Next: /feature cfi-batch-export
</roadmap_workflow>
<trigger_conditions> Auto-invoke when:
/roadmap command executedPrerequisites:
Verify GitHub authentication and repository access.
Actions:
Script location: See references/github-setup.md for platform-specific bash/powershell scripts
Validation:
AUTH_METHOD=$(check_github_auth) # Returns: gh-cli, token, or none
REPO=$(get_repo_info) # Returns: owner/repo-name
if [ "$AUTH_METHOD" = "none" ]; then
echo "ā GitHub authentication required"
echo "Options: gh auth login OR export GITHUB_TOKEN=ghp_..."
exit 1
fi
Output:
ā
GitHub authenticated (gh-cli)
ā
Repository: owner/repo-name
**2. Load Project Documentation Context**
Load project vision, scope boundaries, and target users from overview.md.
When to execute:
Actions:
PROJECT_OVERVIEW="docs/project/overview.md"
HAS_PROJECT_DOCS=false
if [ -f "$PROJECT_OVERVIEW" ]; then
HAS_PROJECT_DOCS=true
# Extract: Vision, Out-of-Scope, Target Users
# (see detailed extraction logic in references)
else
echo "ā¹ļø No project documentation found"
echo " Run /init-project to create (optional)"
fi
Extracted context:
See: references/vision-validation.md for extraction logic and validation rules
Token budget: ~5-8K tokens (overview.md typically 2-3 pages)
**3. Parse User Intent**Identify action type and extract parameters.
Action types:
add - Add new feature (vision-validated, prioritized by creation order)brainstorm - Generate feature ideas via web researchmove - Change feature status (Backlog ā Next ā In Progress)delete - Remove feature from roadmapsearch - Find features by keyword/area/role/sprintship - Mark feature as shippedParse logic:
| User Input | Action | Parameters |
|---|---|---|
| "Add student progress widget" | add | title: "student progress widget" |
| "Brainstorm ideas for CFI tools" | brainstorm | topic: "CFI tools" |
| "Move auth-refactor to Next" | move | slug: "auth-refactor", target: "Next" |
| "Delete deprecated-feature" | delete | slug: "deprecated-feature" |
| "Search for export features" | search | keywords: "export" |
Validate feature against project vision before creating GitHub Issue.
Executes for: ADD and BRAINSTORM actions only
Validation checks:
Decision tree:
Feature proposed
ā
overview.md present? ā No ā Skip validation, proceed to creation
ā Yes
Extract: Vision, Out-of-Scope, Target Users
ā
Out-of-scope check ā Match ā Prompt: Skip/Update/Override
ā No match
Vision alignment ā Misaligned ā Prompt: Add anyway/Revise/Skip
ā Aligned
Target user check ā Select primary user ā Add role label
ā
ā
Validation passed ā Proceed to GitHub Issue creation
Blocking gates:
Overrides:
See: references/vision-validation.md for complete validation logic, prompts, and output examples
**5. GitHub Issue Creation**Create GitHub Issue with metadata after vision validation passes.
Actions:
Issue structure:
---
metadata:
area: app
role: student
slug: student-progress-widget
---
## Problem
[User pain point or need]
## Proposed Solution
[High-level approach]
## Requirements
- [ ] Requirement 1
- [ ] Requirement 2
---
ā ļø **Alignment Note**: Validated against project vision (overview.md)
Prioritization:
Labels auto-applied:
area:$AREA - System area (backend, frontend, api, etc.)role:$ROLE - Target user roletype:feature - Issue typestatus:backlog - Initial statusSee: references/issue-creation.md for bash/powershell scripts and examples
**6. Return Roadmap Summary**Display current roadmap state and suggest next action.
Actions:
Summary format:
ā
Created issue #123: student-progress-widget in Backlog
Area: app | Role: student
š Roadmap Summary:
Backlog: 12 | Next: 3 | In Progress: 2 | Shipped: 45
Top 3 in Backlog (oldest/highest priority):
1. #98 cfi-batch-export (Created: 2025-11-01)
2. #87 study-plan-generator (Created: 2025-11-05)
3. #123 student-progress-widget (Created: 2025-11-13)
š” Next: /feature cfi-batch-export
Priority guidance:
<anti_patterns> Avoid these roadmap management mistakes:
**ā Adding features without vision validation** ```bash # BAD: Skip vision check, add any feature HAS_PROJECT_DOCS=false # Force skip even if docs exist /roadmap add "social media integration" ``` **ā Always run vision validation when overview.md exists** ```bash # GOOD: Load project docs, validate alignment if [ -f "docs/project/overview.md" ]; then HAS_PROJECT_DOCS=true # Extract vision context, run validation fi ``` **Impact:** Roadmap fills with out-of-scope features, dilutes project focus **Prevention:** Never set `HAS_PROJECT_DOCS=false` if docs exist **ā Overriding out-of-scope exclusions without updating docs** ```bash # BAD: Add out-of-scope feature, provide vague justification Feature: "flight scheduling" Matches exclusion: "Flight scheduling or aircraft management" Justification: "it would be nice to have" ``` **ā Update overview.md if scope legitimately changed** ```bash # GOOD: Update source docs first # Edit docs/project/overview.md: # - Remove "Flight scheduling" from Out-of-Scope section # - Document scope expansion in Vision section # Then add feature normally ``` **Impact:** Overview.md becomes outdated, vision validation unreliable **Prevention:** Treat overview.md as source of truth, update before overriding **ā Manually creating GitHub Issues without metadata** ```bash # BAD: Create issue via gh CLI directly gh issue create --title "new feature" --body "description" # Missing: area, role, slug, YAML frontmatter ``` **ā Always use create_roadmap_issue() function** ```bash # GOOD: Use roadmap manager function create_roadmap_issue \ "$TITLE" \ "$BODY" \ "$AREA" \ "$ROLE" \ "$SLUG" \ "type:feature,status:backlog" # Auto-adds metadata, labels, frontmatter ``` **Impact:** Cannot filter/search issues, roadmap state tracking breaks **Prevention:** Never create roadmap issues manually, always use manager functions **ā Creating features with duplicate slugs** ```bash # BAD: Don't check for existing slug SLUG="user-auth" create_roadmap_issue ... # Issue #50 already has slug "user-auth" ``` **ā Check for duplicates before creation** ```bash # GOOD: Validate slug uniqueness EXISTING_ISSUE=$(get_issue_by_slug "$SLUG") if [ -n "$EXISTING_ISSUE" ]; then echo "ā ļø Slug '$SLUG' already exists (Issue #$EXISTING_ISSUE)" SLUG="${SLUG}-v2" # Append version suffix fi ``` **Impact:** Multiple issues with same slug, /feature command ambiguous **Prevention:** Always call get_issue_by_slug() before creation **ā Vague feature descriptions that fail vision check** ```bash # BAD: Ambiguous description FEATURE="Make it better for users" # Vision validator cannot assess alignment ``` **ā Use Problem + Solution + Requirements format** ```bash # GOOD: Structured description PROBLEM="Students struggle to track mastery across ACS areas" SOLUTION="Add progress widget showing mastery percentage by area" REQUIREMENTS=" - [ ] Display mastery % per ACS area - [ ] Color-code by proficiency level - [ ] Export progress report" ``` **Impact:** Vision alignment validation fails, feature rejected **Prevention:** Prompt user for Problem/Solution/Requirements if description unclear **ā Not updating issue labels when feature progresses** ```bash # BAD: Create spec but don't update GitHub Issue /feature user-auth # Creates spec # Issue #50 still has status:backlog (should be status:in-progress) ``` **ā Update labels when feature state changes** ```bash # GOOD: Mark in progress when spec created mark_issue_in_progress "user-auth" # Updates to status:in-progress # Later: mark_issue_shipped when deployed ``` **Impact:** Roadmap summary shows stale counts, misleading prioritization **Prevention:** Hook /feature, /ship commands to update issue labels<success_criteria> Roadmap management successful when:
Quality gates passed:
Integration working:
<reference_guides> For detailed scripts, validation logic, and integration patterns:
Scripts:
.spec-flow/scripts/bash/github-roadmap-manager.sh.spec-flow/scripts/powershell/github-roadmap-manager.ps1Command: .claude/commands/project/roadmap.md
</reference_guides>
Execution time: