| name | housekeeping |
| description | One periodic maintenance sweep that keeps a months-old brain from rotting. Trigger on "clean up the OS", "run housekeeping", "what maintenance is due", "tidy the OS", or /founder-os:housekeeping. Detect mode (default) is read-only: every piece of accumulated debt (stale cadence, aging rants, log bloat, stale wiki graph, broken links, decay-due flags, memory gaps, stale snapshot, skill health) on one screen, each line with its severity and exact fix command. "housekeeping fix" runs the safe reversible fixes in dependency order and hands back a punch-list of the judgment calls plus a verify table. The remediation companion to the read-only audit.
|
| why | Retrieval quality IS memory quality. A brain with stale cadence, unprocessed captures, and broken links answers from a world that no longer exists - and the operator cannot tell, because each debt item is individually invisible. One sweep makes the debt visible and clears the mechanical half. |
| enhance | Run detect weekly (a natural pair with the weekly review). Watch fix mode work a few times before trusting it on a full pile. |
| allowed-tools | ["Read","Glob","Grep","Bash","Edit","Write"] |
| mcp_requirements | [] |
Housekeeping
Runs on: local-exec - runs local scripts and edits OS files; on a read-only surface it reports what it would do.
The OS accumulates maintenance debt between sessions. The SessionStart brief and the audit detect pieces of it; nothing remediates it. This skill encodes the split, the ordering (later fixes read what earlier ones write), and the verify step.
It invents no new machinery. Every detector composes a tool that already ships: the cadence date checks, /dream, scripts/log-archive.py, /wiki-build, the lint skill, scripts/memory-diff.py, scripts/brain-snapshot.py, scripts/skill_health.py.
The maturity ladder
- Detect (default) - read-only. One report. Writes nothing. Live here first.
- Fix (
housekeeping fix) - operator-triggered, supervised. Runs the AUTO fixes in dependency order, narrating one line per step, then prints the JUDGMENT punch-list and a verify table.
- There is no unattended rung. The OS does not run while you sleep (that is the design, not a gap). If you sync your OS to a remote and run cloud routines, a weekly remote "housekeeping fix" is a natural candidate - your call, set up via the
routines skill's remote upgrade path.
Pre-flight
If core/identity.md does not exist, stop with: Founder OS not set up here. Run /founder-os:setup first. Do not fabricate a report.
If a detector's input is missing or a script errors, do not silently drop the line - mark it UNKNOWN - <detector> unavailable (<reason>). An honest partial sweep beats a confident one built on broken inputs.
The detector set
Route AUTO = reversible, on the approval-gate Auto list, fix mode may run it. Route JUDGMENT = needs the operator's call; the skill lists it and never decides it.
| # | Debt class | Detected by | Fix | Route |
|---|
| 1 | Daily anchor stale | ## Today: in cadence/daily-anchors.md before today | bump the header, roll the prior anchor to "Previous Anchor" | AUTO |
| 2 | Weekly cadence stale |