| name | milestone-update |
| description | Sync MILESTONES.md with completed work — scan docs, diff checkboxes, auto-update. |
Update Milestones
Sync MILESTONES.md with work completed in workflow docs. Detects checkbox changes and updates milestone items.
Boundaries
This skill MAY: read .unipi/docs/, update .unipi/docs/MILESTONES.md, ask user for conflict resolution.
This skill MAY NOT: modify workflow docs, delete files, create new milestones (use /unipi:milestone-onboard).
Phase 1: Scan
Read all workflow docs modified since last milestone update.
- Read
.unipi/docs/MILESTONES.md — if missing, suggest /unipi:milestone-onboard
- Record
updated date from MILESTONES.md frontmatter
- Scan
.unipi/docs/{specs,plans,quick-work}/ for files modified after the updated date
- If no modified files found:
"No workflow docs have been modified since the last milestone update."
- List modified files and present to user
Phase 2: Diff
Compare checkbox states between current docs and baseline.
- For each modified file:
- Extract all checkbox items (
- [ ] and - [x])
- Extract task statuses from plans (
completed:)
- Compare against MILESTONES.md items:
- Exact match (normalized): item text matches a milestone item
- No match: item not found in milestones
- Categorize:
- Newly completed: item is
[x] in doc but [ ] in milestones
- Already synced: item matches milestone state
- Unmatched: item not in milestones at all
- Present diff:
"Found 3 changes:
- ✅
Authentication system — completed in spec.md (exact match)
- ✅
API routing — completed in plan.md (exact match)
- ⚠️
New feature idea — not found in milestones (skipped)"
Phase 3: Resolve
Auto-update clear matches, ask user on conflicts.
- Exact matches: Update automatically via
updateItemStatus()
- Unmatched completions: Present to user via
ask_user:
"Found completed items not in milestones:
New feature idea (from spec.md)
What should I do?"
- Skip (don't update milestones)
- Add to a phase (specify which)
- If user wants to add: ask which phase, then add item and mark as completed
- Log all changes made
Phase 4: Write
Apply resolved changes to MILESTONES.md.
- For each resolved change:
- Call
updateItemStatus(milestonesPath, phase, text, true) for completions
- Or modify doc directly for new items
- Update
updated frontmatter date to today
- Verify file still parses correctly
Phase 5: Report
Show what changed, what was skipped, suggest next steps.
-
Display summary:
"✅ Milestones updated:
- 2 items marked complete
- 1 item skipped (not in milestones)
Progress: 5/10 items (50%)
Current phase: Phase 1: Foundation (3/5 done)
Next steps:
- Continue with remaining items
/unipi:milestone-onboard — restructure milestones"
-
If no changes were made:
"No milestone items needed updating. Everything is in sync."
Validation Checklist
Before completing, verify: