Track Milestone Skill
When to use this Skill
Activate when the user:
-
Mentions creating, updating, or checking milestones
-
Uses keywords: "milestone", "deadline", "deliverable", "release", "target", "due date"
-
Wants to track major project achievements
-
References project timeline or roadmap
-
Needs to manage milestone dependencies
-
Wants to see progress toward goals
Workflow
Phase 1: Context Discovery & Intent Recognition
Objective: Understand project structure and user's specific milestone intent.
Steps:
Locate project RULE.md and milestones.yaml:
ls RULE.md milestones.yaml
Read both files:
-
RULE.md: Project methodology, milestone tracking preferences
-
milestones.yaml: Existing milestones and structure
Detect user intent:
-
Create milestone: "create milestone", "add milestone", "new milestone"
-
Update milestone: "update milestone", "milestone progress", "mark complete"
-
Check status: "milestone status", "show milestones", "timeline"
-
Manage dependencies: "milestone depends on", "blocking milestone"
Route to appropriate workflow:
-
Create → Workflow A
-
Update → Workflow B
-
Status → Workflow C
-
Dependencies → Workflow D
Workflow A: Create Milestone
Objective: Add a new milestone to the project timeline.
Steps:
Gather milestone details:
Name:
Milestone name? Example: "Beta Release", "MVP Launch", "Security Audit Complete"
Description:
Brief description of what this milestone represents?
Target date:
Target completion date? (YYYY-MM-DD or relative like "end of Q2")
Deliverables:
What needs to be delivered for this milestone?
- Deliverable 1
- Deliverable 2
Owner (optional):
Who's responsible for this milestone? (@name or "Team")
Dependencies (optional):
Does this milestone depend on any other milestones? Example: "After Alpha Release" or "After milestones 1 and 2"
Related sprints/phases (optional):
Which sprints/phases contribute to this milestone?
Generate milestone ID:
milestone-{number} or {name-slug} Example: milestone-1 or beta-release
Read current milestones.yaml:
Read milestones.yaml
Add new milestone entry:
milestones:
-
id: {milestone-id} name: "{Milestone Name}" description: "{Description}" target_date: YYYY-MM-DD actual_date: null status: planned dependencies: [{dependent-milestone-ids}] deliverables:
- Deliverable 1
- Deliverable 2 owner: "@{name}" related_sprints: [{sprint-numbers}] completion_criteria:
- Criterion 1
- Criterion 2 notes: ""
Validate dependencies:
-
Check that referenced milestones exist
-
Detect circular dependencies
-
Warn if dependency order seems wrong
Update milestones.yaml using Edit tool:
Edit milestones.yaml Add new milestone entry in appropriate location (sorted by target date)
Update governance:
-
Update project README.md (add to timeline section)
-
Add "Recent Activity" entry
-
Link to related sprints if applicable
Report creation:
✅ Milestone Created!
🎯 {Milestone Name} 📅 Target: {target_date} 📦 Deliverables: {count} 👤 Owner: @{name}
[If dependencies:] 🔗 Dependencies:
- {Dependent milestone names}
[If related sprints:] 🏃 Related Sprints: {sprint numbers}
📄 Added to: milestones.yaml
💡 Track progress with: "Update milestone {name}" "Milestone status"
Workflow B: Update Milestone
Objective: Update milestone status, progress, or completion.
Steps:
Identify target milestone:
-
Extract name/ID from user message
-
Or ask: "Which milestone?"
Read milestones.yaml:
Read milestones.yaml Find milestone entry
Determine update type:
-
Status change: planned → in_progress → completed → delayed
-
Progress update: Update notes or deliverables status
-
Date change: Update target or actual date
-
Completion: Mark as completed with date
Execute update:
For status change:
status: {new_status}
For completion:
status: completed actual_date: {YYYY-MM-DD}
For progress/notes:
notes: "{Updated notes about progress}"
For deliverable tracking:
deliverables:
-
Deliverable 1 (completed)
-
Deliverable 2 (in progress)
Check impact:
-
If milestone completed: Check dependent milestones (can they start?)
-
If milestone delayed: Check impacted milestones (cascade delays?)
Update milestones.yaml using Edit tool
Generate milestone report (if completed):
Milestone Completion Report: {Milestone Name}
Completed: {actual_date} Target: {target_date} ({"On Time" | "Early" | "Delayed by X days"})
Deliverables
- Deliverable 1
- Deliverable 2
Contributing Sprints
- Sprint {X}
- Sprint {Y}
Metrics
- Duration: {calculation}
- Team: {involved team members}
- Key Achievements: {summary}
Impact
- Enabled milestones: {dependent milestones}
- Next milestone: {next in timeline}
Lessons Learned
{Notes from milestone execution}
Generated: {YYYY-MM-DD} by ProjectMaster
Save report (if generated):
Write to: reports/milestone-{id}-completion.md
Update governance:
-
Update project README.md
-
Add Recent Activity entry
-
Link report to milestone in yaml
Report update:
✅ Milestone Updated!
🎯 {Milestone Name} 📊 Status: {old_status} → {new_status}
[If completed:] 🎉 Milestone Completed! 📅 Completed: {actual_date} ({on_time_status}) 📦 Deliverables: All {count} delivered 📄 Report: reports/milestone-{id}-completion.md
🔓 Unblocked Milestones:
- {Dependent milestone names}
💡 Next Milestone: {Next in timeline}
[If delayed:] ⚠️ Milestone Delayed 📅 Was: {original_target} → Now: {new_target} ⚠️ Impacted Milestones:
- {Affected milestones}
📄 Updated: milestones.yaml
Workflow C: Status Report
Objective: Show project milestone status and timeline.
Steps:
Read milestones.yaml:
Read milestones.yaml Parse all milestones
Categorize milestones:
-
Completed
-
In Progress
-
Planned
-
Delayed/At Risk
Calculate metrics:
-
Total milestones
-
Completion rate
-
On-time rate
-
Average delay (if any)
-
Next milestone due date
Check dependencies:
-
Any blocked milestones?
-
Ready to start milestones?
Generate status report:
📊 Project Milestone Status
Project: {Project Name} Total Milestones: {count} Completed: {X}/{total} ({percentage}%) On Track: {Y} At Risk: {Z}
🎉 Completed Milestones: ✅ {Milestone 1} - {actual_date} ({"On Time" | "Early" | "Delayed"}) ✅ {Milestone 2} - {actual_date} ...
🔄 In Progress:
- {Milestone Name} - Target: {target_date} ({days_remaining} days) Status: {On Track | At Risk} Progress: {notes or deliverables status}
📅 Upcoming:
- {Milestone Name} - Target: {target_date} ({days_until} days) [If blocked:] ⚠️ Blocked by: {dependency names}
⚠️ Delayed:
- {Milestone Name} - Was: {original} Now: {revised} Delay: {days} days Impact: {affected milestones}
📈 Timeline Health: {Overall Assessment} [If at risk:] ⚠️ {count} milestones at risk of delay
🎯 Next Milestone: {Name} - {target_date} ({days_remaining} days)
📄 Full timeline: milestones.yaml
Include visual timeline (text-based):
📅 Timeline:
Q1 2025 ├── [✅] Alpha Release (2025-02-15) ← Completed └── [🔄] Beta Release (2025-03-31) ← In Progress
Q2 2025 ├── [📅] Public Launch (2025-04-30) └── [⏸️] Feature Freeze (2025-05-15) ← Blocked by Beta
Q3 2025 └── [📅] 1.0 Release (2025-07-31)
Workflow D: Manage Dependencies
Objective: Define or update milestone dependencies.
Steps:
Identify milestones involved:
-
Primary milestone
-
Dependent milestone(s)
Read milestones.yaml
Update dependency:
Adding dependency:
milestones:
- id: milestone-2 dependencies: [milestone-1] # milestone-2 depends on milestone-1
Removing dependency:
dependencies: [] # or remove the dependency from list
Validate:
-
Check for circular dependencies
-
Verify dependency exists
-
Check timeline logic (dependent milestone should be after dependency)
Update milestones.yaml
Report:
✅ Dependency Updated!
🎯 {Milestone Name} 🔗 Now depends on:
- {Dependency 1}
- {Dependency 2}
⚠️ {Milestone Name} cannot start until dependencies complete.
[If circular dependency detected:] ❌ Error: Circular dependency detected! {Milestone A} → {Milestone B} → {Milestone A} Please review dependencies.
[If timeline conflict:] ⚠️ Warning: {Milestone Name} target ({date1}) is before dependency {Dependency Name} target ({date2}). Consider adjusting dates.
Special Cases
Case 1: Milestone with multiple dependencies
milestones:
- id: public-launch name: "Public Launch" dependencies: [beta-complete, security-audit, marketing-ready] status: planned
Report readiness:
🎯 Public Launch Readiness:
Dependencies: ✅ Beta Complete (2025-03-15) ← Done ✅ Security Audit (2025-03-20) ← Done 🔄 Marketing Ready (2025-04-01) ← In Progress (90%)
Status: Waiting on 1 dependency Can start: After 2025-04-01
Case 2: Milestone delayed - cascade impact
If milestone delayed, check cascade:
⚠️ Milestone Delay Impact Analysis
{Delayed Milestone} delayed from {old_date} to {new_date}
Directly Impacted:
- {Milestone A} (depends on this) - May delay
- {Milestone B} (depends on this) - May delay
Cascade Impact:
- {Milestone C} (depends on Milestone A) - Potential delay
- {Milestone D} (depends on Milestone B) - Potential delay
Recommendation: Review timeline for {count} affected milestones. Consider:
- Adjusting target dates
- Removing dependencies if possible
- Allocating more resources
Case 3: Sprint-to-milestone tracking
Link sprints to milestone progress:
Milestone: Beta Release
Target: 2025-03-31 Status: In Progress (75%)
Contributing Sprints:
- Sprint 3: User Authentication ✅ Complete
- Sprint 4: Profile Management ✅ Complete
- Sprint 5: Settings & Preferences 🔄 In Progress (Day 8/14)
- Sprint 6: Final Polish 📅 Planned
Deliverables Status:
- Core Features (Sprints 3-4)
- [🔄] Additional Features (Sprint 5) - 80% complete
- Bug Fixes & Polish (Sprint 6)
Progress: 75% (3 of 4 sprints complete) On Track: Yes, 2 weeks remaining
Case 4: Milestone-based releases
For release milestones, include version info:
milestones:
- id: v1-0-release
name: "Version 1.0 Release"
type: release
version: "1.0.0"
target_date: 2025-07-31
release_notes: "reports/v1.0-release-notes.md"
deliverables:
- All MVP features complete
- Security audit passed
- Documentation published
- Marketing materials ready
Error Handling
Error: milestones.yaml not found
⚠️ No milestones.yaml found.
This project hasn't initialized milestone tracking.
Options:
- Create milestones.yaml now
- Initialize project with: "Initialize project"
- Cancel
What would you like to do?
If user chooses 1, create template milestones.yaml.
Error: Invalid date format
⚠️ Invalid date format: "{input}"
Please use YYYY-MM-DD format. Example: 2025-12-31
Or relative dates:
- "end of Q2" → 2025-06-30
- "next month" → 2025-12-01
Error: Circular dependency
❌ Cannot create dependency: Circular reference detected!
Dependency chain: {Milestone A} → {Milestone B} → {Milestone C} → {Milestone A}
Please remove one dependency to break the cycle.
Error: Milestone not found
⚠️ Milestone "{name}" not found in milestones.yaml.
Available milestones:
- {Milestone 1}
- {Milestone 2}
- {Milestone 3}
Did you mean one of these?
Integration with Other Skills
With manage-sprint Skill
Sprints contribute to milestones:
-
Link sprints to milestones in metadata
-
Update milestone progress when sprint completes
-
Show milestone context in sprint planning
With track-meeting Skill
Milestone reviews create meetings:
-
Milestone completion meeting
-
Milestone checkpoint meeting
-
Link meeting notes to milestone
With AkashicRecords
Milestone artifacts:
-
Decision records leading to milestone
-
Documentation created for milestone
-
Knowledge captured during milestone work
Best Practices
- Define clear deliverables
Each milestone should have specific, measurable deliverables.
- Set realistic dates
Use team velocity and sprint history to set achievable targets.
- Track dependencies explicitly
Don't assume implicit dependencies - document them.
- Review timeline regularly
Monthly or per-sprint review of milestone status keeps project on track.
- Celebrate completions
Acknowledge milestone achievements with team.
- Learn from delays
Document reasons for delays to improve future planning.
- Link to work items
Connect milestones to sprints, stories, and tasks for full traceability.
- Update proactively
Update milestone status before it becomes "delayed".
Notes
-
Milestones provide high-level project visibility for stakeholders.
-
Dependency tracking prevents surprises and enables proactive planning.
-
Milestone completion reports create valuable project history.
-
Integration with sprints connects strategy (milestones) with execution (sprints).
-
The milestones.yaml becomes the project timeline source of truth.
Well-managed milestones turn long-term goals into achievable checkpoints. This Skill makes milestone tracking systematic and insightful.