AgentSkillsCN

track-milestone

跟踪和管理项目里程碑、交付成果和截止日期。当用户提到“里程碑”、“截止日期”、“交付成果”、“发布”、“目标日期”,或想要跟踪主要项目成果及里程碑之间的依赖关系时使用。

SKILL.md
--- frontmatter
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:

    code
    Milestone name?
    Example: "Beta Release", "MVP Launch", "Security Audit Complete"
    

    Description:

    code
    Brief description of what this milestone represents?
    

    Target date:

    code
    Target completion date? (YYYY-MM-DD or relative like "end of Q2")
    

    Deliverables:

    code
    What needs to be delivered for this milestone?
    - Deliverable 1
    - Deliverable 2
    

    Owner (optional):

    code
    Who's responsible for this milestone? (@name or "Team")
    

    Dependencies (optional):

    code
    Does this milestone depend on any other milestones?
    Example: "After Alpha Release" or "After milestones 1 and 2"
    

    Related sprints/phases (optional):

    code
    Which sprints/phases contribute to this milestone?
    
  2. Generate milestone ID:

    code
    milestone-{number} or {name-slug}
    Example: milestone-1 or beta-release
    
  3. Read current milestones.yaml:

    code
    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:

    code
    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:

    code
    ✅ 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:

    code
    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):

    code
    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:

    code
    ✅ 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:

    code
    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:

    code
    📊 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):

    code
    📅 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:

    code
    ✅ 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:

code
🎯 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:

code
⚠️ 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

code
⚠️ 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

code
⚠️ 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

code
❌ 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

code
⚠️ 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.