Skip to content
K

Review & Health

As a project grows, it becomes harder to notice things slipping — specs that stall, issues that pile up, tasks that go untouched. Monday Morning’s health scan reads your .mm/ folder and produces a structured report of severity-ranked findings with specific actions you can take.

Health lives under /mm:review, the single review command with four scopes:

/mm:review # Code review of your current changes (default)
/mm:review --project # This project's status review
/mm:review --all # Review all registered projects
/mm:review --health # Health scan: stale/stuck/aged findings

The health mode accepts --stale-days N to override the stale threshold, --verbose for a per-spec detail table, and --auto-issue to file findings as issues.

The analyzer runs six checks over your specs, issues, and features:

FindingTriggerSeverity
Stale specOpen tasks but no activity for more than 14 daysWarning; critical past 30 days
Stuck taskTasks sitting in “In Progress” for more than 7 daysWarning
Nearly doneSpec is over 80% complete but not finishedInfo — a nudge to close it out
Empty specA spec with no tasks definedWarning
Aged issueAn issue open for more than 30 daysWarning; critical past 90 days
Stalled featureA feature with linked specs but no recent progressWarning

The day thresholds above are the defaults (--stale-days adjusts the stale window). Each finding carries a message, the entity it refers to, and a concrete recommendation.

There is no single health score — the report is a findings list, sorted critical first, with a factual summary:

Project Health Report — Monday Morning
SUMMARY
Specs: 12 total, 5 active, 2 stale
Completion: 64% overall
Issues: 4 open
Findings: 1 critical, 3 warnings, 1 info
CRITICAL
[stale-spec] Spec 'payment-integration' has 6 open tasks but no activity for 34 days
→ Review and either resume work or archive this spec
WARNINGS
[stuck-task] 2 task(s) have been in progress for 9 days in spec 'auth-flow'
→ Move back to backlog if blocked, or complete it

Everything is computed from the raw data in your .mm/ folder — the system counts tasks, checks dates, and applies thresholds. There’s no subjective judgment, and no opaque number to argue with.

When the scan surfaces problems, /mm:health-fix runs an autonomous audit-fix-verify loop: it scans project health, applies fixes drawn from a closed vocabulary of safe operations, then re-audits to verify the findings actually improved.

/mm:health-fix [--dry-run] [--stale-days N]
  • --dry-run — show the fix plan without applying any changes
  • --stale-days N — override the default stale threshold (default: 14)

Because the fix vocabulary is closed, the loop can run unattended without inventing risky changes — anything outside the vocabulary stays a finding for a human.

There’s no automatic schedule. Run /mm:review --health when:

  • You’re starting a new week and want to assess project state
  • A milestone is approaching and you want to check for risks
  • The project feels “off” and you want a structured diagnostic
  • You’re onboarding to a project and want a quick assessment

Health scans pair well with the morning brief — run /mm:recap for your daily context, and /mm:review --health for a periodic deeper assessment.

It reads file state only. It does not:

  • Measure code quality or test coverage (that’s the code-review scope of /mm:review)
  • Track time spent on tasks
  • Integrate with external project management tools
  • Judge whether your spec requirements are well-written

It’s a structural health check — are things moving, are things stuck, are things accumulating — not a qualitative review.