diff --git a/MEMORY.md b/MEMORY.md index 1330557..d9a3983 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -21,6 +21,7 @@ - [/distill-best-practices](memory/skill-distill-best-practices.md) — Cross-project distillation of memory files into best-practices/ topic files - [/linter](memory/skill-linter.md) — Audit and manage project formatters/linters (scan, run, cleanup modes) - [/context-load](memory/skill-context-load.md) — Reload project context after /clear or mid-session context loss +- [/housekeeping](memory/skill-housekeeping.md) — Cross-project health check: git status, unreflected logs, skill validation, pipeline recommendations ## Topic Files diff --git a/memory/skill-housekeeping.md b/memory/skill-housekeeping.md new file mode 100644 index 0000000..d71e66c --- /dev/null +++ b/memory/skill-housekeeping.md @@ -0,0 +1,50 @@ +--- +name: skill-housekeeping +description: Cross-project health check skill — runs git-status-report, unreflected-logs, validate-skill, and checks knowledge pipeline state +type: reference +--- + +# /housekeeping Skill + +## Purpose + +Cross-project health check that gathers information and suggests actions. Runs at the start of a session or periodically to understand what needs attention across all projects. + +## Usage + +``` +/housekeeping +``` + +No arguments. Information only — never takes action. + +## How It Works + +Runs five checks via bang-commands and tool calls: + +1. **`git-status-report ~/dev/claude`** — Finds dirty repos, uncommitted changes, unpushed commits +2. **`unreflected-logs ~/dev/claude`** — Finds session logs not yet processed by `/reflect-logs` +3. **`validate-skill ~/dev/claude/projects/custom-claude-skills/skills`** — Validates all SKILL.md files +4. **Knowledge pipeline state** — Reads `.distill-state.json` and compares stored SHAs against current HEADs to determine if `/reflect-logs` or `/distill-best-practices` would be productive +5. **Structured report** — Summarises findings and produces prioritised action suggestions + +## Output + +Structured report with sections: +- Git Status Summary (dirty/clean repos) +- Unreflected Logs (counts and date ranges per project) +- Skill Validation (errors/warnings per skill) +- Knowledge Pipeline Status (reflect-logs and distill recommendations) +- Suggested Actions (prioritised: should address soon / worth doing / informational) + +## Dependencies + +- `git-status-report` script (in `~/sbin`, source: `small-scripts/scripts/git-status-report`) +- `unreflected-logs` script (in `~/sbin`, source: `small-scripts/scripts/unreflected-logs`) +- `validate-skill` script (in `~/sbin`, source: `small-scripts/scripts/validate-skill`) +- `best-practices/.distill-state.json` in claude-foundations (for distill check) + +## Gotchas + +- Bang-commands use `~/` paths — works in Paul's environment but would need adjustment for other users or sandboxed environments (validator warns about this, acceptable) +- The distill state check requires comparing git SHAs, which means projects must be git repos for that check to work