Health Check
Find the projects that went quiet.
When to use
- The user asks how their projects are doing, what's stalled, or what to work on
- Start of a weekly review
- Any time the user says something like "what have I forgotten about"
How to run
python3 health_check.py <projects-dir>
Common options: --stale 14 --zombie 60 --json --today YYYY-MM-DD
If the user hasn't said where their project notes live, ask once. Do not guess and scan their whole home directory.
How to read the result
| Flag | Means |
|---|---|
| ZOMBIE | status says live, untouched 60+ days — the real finding |
| STALE | nothing in 14+ days |
| EMPTY | file created, never filled in |
| EXPIRED GOAL | quarterly target names a quarter that already ended |
A [git] or [mtime] tag after a date means there was no date in the file's
frontmatter and it fell back. Say so when you report it — a project can look
stale purely because nobody committed the note.
How to report it
Lead with the uncomfortable number, then the zombies, then one recommendation.
11 of 12 active projects haven't moved in 2+ weeks.
Two are still marked `active` after 84 and 79 days.
auto-store 84d "30-day push to 10 orders", declared 84 days ago
value-investing 79d dashboard created, never filled in
Suggest marking both `paused` today, or giving each one a next action.
Report the real number even when it's embarrassing. A health check that finds "11 of 12 stale" and softens it to "a few need attention" has destroyed its own reason to exist.
Boundaries
- Read-only. Never edit the project files. It reports; the user decides.
- Never touch a file just to reset its staleness clock. That makes every
future report a lie. If a project is dead, the honest move is
status: paused. - Don't propose fixes for every flagged project. Name the worst two or three.
- Don't run it unprompted more than once a week.