home / skills / legacybridge-tech / claude-plugins / track-milestone

track-milestone skill

/projectmaster/skills/track-milestone

npx playbooks add skill legacybridge-tech/claude-plugins --skill track-milestone

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
14.8 KB
---
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.