--- name: housekeeping description: > Cross-project health check. Runs git-status-report, unreflected-logs, and validate-skill across all projects and skills. Reports findings and suggests actions including whether to run /reflect-logs or /distill-best-practices. Information only - takes no action. user_invocable: true allowed-tools: Read, Glob, Grep, Bash(git-status-report *), Bash(unreflected-logs *), Bash(validate-skill *), Bash(check-skills *), Bash(cat *), Bash(ls *), Bash(date *), Bash(git -C *), Bash(wc *) --- # /housekeeping Skill housekeeping You are running a cross-project health check. This skill is **information only** — gather data, report findings, and suggest actions. Do NOT make any changes. ## Step 1: Git Status Report Run the git-status-report script across all projects: !`git-status-report ~/dev/claude || true` ## Step 2: Unreflected Logs Check for session logs that haven't been reflected on: !`unreflected-logs ~/dev/claude || true` ## Step 3: Validate All Skills Run validate-skill against all skill directories: !`validate-skill ~/dev/claude/projects/custom-claude-skills/skills || true` ## Step 4: Check Skill Installation Verify all skills from the source repo are linked in the active Claude profile: !`check-skills ~/dev/claude/projects/custom-claude-skills/skills || true` If any skills are MISSING or STALE, include them in the report with a recommendation to run `install.sh` from the custom-claude-skills repo. ## Step 5: Check Knowledge Pipeline State ### Reflection state per project For each project that has unreflected logs (from Step 2), note the count. This determines whether `/reflect-logs` is worthwhile. ### Distill state !`cat ~/dev/claude/projects/claude-foundations/best-practices/.distill-state.json 2>/dev/null || echo "No distill state file found"` For each project listed in the distill config, compare the stored SHA in `.distill-state.json` against the current HEAD of that project's repo. If any project has new commits since the last distill, note it. Use these commands to check current HEADs (run only for projects that are git repos): !`git -C ~/dev/claude/projects/claude-foundations rev-parse --short HEAD 2>/dev/null || echo "not a git repo"` For each tracked project, use the Read tool to check `git -C rev-parse --short HEAD` and compare against the stored SHA. ## Step 6: Report Present a structured report with these sections: ### Git Status Summary For each repo reported dirty in Step 1, summarise: - Repo name - Uncommitted changes (files modified/added/deleted with rough change size) - Remote sync status (ahead/behind) For clean repos, just list them as clean in a single line. ### Unreflected Logs For each project with unreflected logs: - Project name - Number of unreflected logs - Date range of unreflected logs (oldest to newest) ### Skill Validation For each skill checked: - Skill name - Status (pass/errors/warnings) - Any specific errors or warnings found ### Skill Installation Report the check-skills output. If all skills are linked, a single "All skills linked" line suffices. Otherwise list missing/stale/orphan entries. ### Knowledge Pipeline Status - **`/reflect-logs` recommendation**: Recommend running if any project has 3+ unreflected logs, or if any unreflected logs are older than 7 days. State which project(s) to run it in. - **`/distill-best-practices` recommendation**: Recommend running if any tracked project has new commits since the last distill. State which project(s) have changed. ## Step 7: Suggested Actions Based on all findings, produce a prioritised list of suggested actions. Group by urgency: **Should address soon:** - Missing or stale skill symlinks (run `install.sh` from custom-claude-skills) - Uncommitted changes that look like completed work (not work-in-progress) - Skill validation errors - Very old unreflected logs (14+ days) **Worth doing when convenient:** - Running `/reflect-logs` for projects with accumulated logs - Running `/distill-best-practices` if memory files have changed - Skill validation warnings - Repos ahead of remote (unpushed commits) **Informational only:** - Work-in-progress changes (dirty repos that look like active development) - Clean repos with no issues Keep the report concise. Use tables where they help readability. The goal is a quick scan that tells the user what needs attention.