641 lines
15 KiB
Markdown
641 lines
15 KiB
Markdown
---
|
|
name: track-milestone
|
|
description: Track and manage project milestones, deliverables, and deadlines. Use when user mentions "milestone", "deadline", "deliverable", "release", "target date", or wants to track major project achievements and dependencies between milestones.
|
|
---
|
|
|
|
# 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**:
|
|
|
|
1. **Locate project RULE.md** and **milestones.yaml**:
|
|
```bash
|
|
ls RULE.md milestones.yaml
|
|
```
|
|
|
|
2. **Read both files**:
|
|
- RULE.md: Project methodology, milestone tracking preferences
|
|
- milestones.yaml: Existing milestones and structure
|
|
|
|
3. **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"
|
|
|
|
4. **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**:
|
|
|
|
1. **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?
|
|
```
|
|
|
|
2. **Generate milestone ID**:
|
|
```
|
|
milestone-{number} or {name-slug}
|
|
Example: milestone-1 or beta-release
|
|
```
|
|
|
|
3. **Read current milestones.yaml**:
|
|
```
|
|
Read milestones.yaml
|
|
```
|
|
|
|
4. **Add new milestone entry**:
|
|
```yaml
|
|
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: ""
|
|
```
|
|
|
|
5. **Validate dependencies**:
|
|
- Check that referenced milestones exist
|
|
- Detect circular dependencies
|
|
- Warn if dependency order seems wrong
|
|
|
|
6. **Update milestones.yaml** using Edit tool:
|
|
```
|
|
Edit milestones.yaml
|
|
Add new milestone entry in appropriate location (sorted by target date)
|
|
```
|
|
|
|
7. **Update governance**:
|
|
- Update project README.md (add to timeline section)
|
|
- Add "Recent Activity" entry
|
|
- Link to related sprints if applicable
|
|
|
|
8. **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**:
|
|
|
|
1. **Identify target milestone**:
|
|
- Extract name/ID from user message
|
|
- Or ask: "Which milestone?"
|
|
|
|
2. **Read milestones.yaml**:
|
|
```
|
|
Read milestones.yaml
|
|
Find milestone entry
|
|
```
|
|
|
|
3. **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
|
|
|
|
4. **Execute update**:
|
|
|
|
**For status change**:
|
|
```yaml
|
|
status: {new_status}
|
|
```
|
|
|
|
**For completion**:
|
|
```yaml
|
|
status: completed
|
|
actual_date: {YYYY-MM-DD}
|
|
```
|
|
|
|
**For progress/notes**:
|
|
```yaml
|
|
notes: "{Updated notes about progress}"
|
|
```
|
|
|
|
**For deliverable tracking**:
|
|
```yaml
|
|
deliverables:
|
|
- [X] Deliverable 1 (completed)
|
|
- [ ] Deliverable 2 (in progress)
|
|
```
|
|
|
|
5. **Check impact**:
|
|
- **If milestone completed**: Check dependent milestones (can they start?)
|
|
- **If milestone delayed**: Check impacted milestones (cascade delays?)
|
|
|
|
6. **Update milestones.yaml** using Edit tool
|
|
|
|
7. **Generate milestone report** (if completed):
|
|
```markdown
|
|
# Milestone Completion Report: {Milestone Name}
|
|
|
|
**Completed**: {actual_date}
|
|
**Target**: {target_date} ({"On Time" | "Early" | "Delayed by X days"})
|
|
|
|
## Deliverables
|
|
- [X] Deliverable 1
|
|
- [X] 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
|
|
```
|
|
|
|
8. **Save report** (if generated):
|
|
```
|
|
Write to: reports/milestone-{id}-completion.md
|
|
```
|
|
|
|
9. **Update governance**:
|
|
- Update project README.md
|
|
- Add Recent Activity entry
|
|
- Link report to milestone in yaml
|
|
|
|
10. **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**:
|
|
|
|
1. **Read milestones.yaml**:
|
|
```
|
|
Read milestones.yaml
|
|
Parse all milestones
|
|
```
|
|
|
|
2. **Categorize milestones**:
|
|
- Completed
|
|
- In Progress
|
|
- Planned
|
|
- Delayed/At Risk
|
|
|
|
3. **Calculate metrics**:
|
|
- Total milestones
|
|
- Completion rate
|
|
- On-time rate
|
|
- Average delay (if any)
|
|
- Next milestone due date
|
|
|
|
4. **Check dependencies**:
|
|
- Any blocked milestones?
|
|
- Ready to start milestones?
|
|
|
|
5. **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
|
|
```
|
|
|
|
6. **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**:
|
|
|
|
1. **Identify milestones involved**:
|
|
- Primary milestone
|
|
- Dependent milestone(s)
|
|
|
|
2. **Read milestones.yaml**
|
|
|
|
3. **Update dependency**:
|
|
|
|
**Adding dependency**:
|
|
```yaml
|
|
milestones:
|
|
- id: milestone-2
|
|
dependencies: [milestone-1] # milestone-2 depends on milestone-1
|
|
```
|
|
|
|
**Removing dependency**:
|
|
```yaml
|
|
dependencies: [] # or remove the dependency from list
|
|
```
|
|
|
|
4. **Validate**:
|
|
- Check for circular dependencies
|
|
- Verify dependency exists
|
|
- Check timeline logic (dependent milestone should be after dependency)
|
|
|
|
5. **Update milestones.yaml**
|
|
|
|
6. **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
|
|
|
|
```yaml
|
|
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:
|
|
1. Adjusting target dates
|
|
2. Removing dependencies if possible
|
|
3. Allocating more resources
|
|
```
|
|
|
|
### Case 3: Sprint-to-milestone tracking
|
|
|
|
Link sprints to milestone progress:
|
|
|
|
```markdown
|
|
## 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:
|
|
- [X] 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:
|
|
|
|
```yaml
|
|
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:
|
|
1. Create milestones.yaml now
|
|
2. Initialize project with: "Initialize project"
|
|
3. 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
|
|
|
|
### 1. Define clear deliverables
|
|
|
|
Each milestone should have specific, measurable deliverables.
|
|
|
|
### 2. Set realistic dates
|
|
|
|
Use team velocity and sprint history to set achievable targets.
|
|
|
|
### 3. Track dependencies explicitly
|
|
|
|
Don't assume implicit dependencies - document them.
|
|
|
|
### 4. Review timeline regularly
|
|
|
|
Monthly or per-sprint review of milestone status keeps project on track.
|
|
|
|
### 5. Celebrate completions
|
|
|
|
Acknowledge milestone achievements with team.
|
|
|
|
### 6. Learn from delays
|
|
|
|
Document reasons for delays to improve future planning.
|
|
|
|
### 7. Link to work items
|
|
|
|
Connect milestones to sprints, stories, and tasks for full traceability.
|
|
|
|
### 8. 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.
|