Agent skill

Houseclean

by SethGammon in SethGammon/Citadel

Cross-drive storage audit and cleanup. An agent skill from SethGammon/Citadel.

MITAuto-check passedDevelopment

Install Houseclean

skills CLI
$ npx skills add SethGammon/Citadel --skill houseclean -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install SethGammon/Citadel houseclean --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/SethGammon/Citadel.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/houseclean .claude/skills/houseclean && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
houseclean
GitHub stars
922
Token cost
~2.2k tokens
SKILL.md length
623 words
Files
2
Skills in repo
48
Repo updated
First seen
Licence
MIT

At a glance

Cross-drive storage audit and cleanup. An agent skill from SethGammon/Citadel.

  • Works in 7 steps: Drive Survey → C Drive Hot Spots → Orphaned Worktree Audit → …
  • Disk space is low
  • SKILL.md covers Orientation, Invocation Forms, Protocol and Fringe Cases, plus 4 more sections
  • Calls git, npm and gemini

What it does

Houseclean is an agent skill from SethGammon/Citadel. Cross-drive storage audit and cleanup. Surveys all drives, finds orphaned git worktrees, large AI tool caches (.ollama, .gemini, .cursor, npm, pip), and buildable artifacts (nodemodules, .venv). Produces a prioritized action plan with specific migration commands. Use when disk space is low or worktrees need cleanup; do NOT use for project structure issues (use /organize instead).

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `__benchmarks__/stale-worktree-cleanup.md`).

It sits in Development, covering Git worktrees and LLM inference and serving. It works with Ollama and npm. The repository describes itself as: The operating layer for Claude Code + OpenAI Codex: persistent project memory, intent routing, safety hooks, cost telemetry, and parallel agent fleets. The licence is MIT.

When your agent uses it

  • Disk space is low
  • Worktrees need cleanup
  • Do NOT use for project structure issues (use /organize instead)

Example prompts

  • “/houseclean”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Drive Survey
  2. C Drive Hot Spots
  3. Orphaned Worktree Audit
  4. AI Tool Cache Audit
  5. Project Artifact Scan
  6. Quick Wins Report
  7. Migration Reference

What it can do on your machine

Read from SKILL.md and the folder at commit e41ff1d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • npm
    • gemini

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Houseclean loads about 2.2k tokens when it runs. Until then it costs about 99 tokens; SKILL.md has 623 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~99
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from SethGammon/Citadel at commit e41ff1d, republished under its MIT licence (© SethGammon). 623 words, ~2,238 tokens.

Download SKILL.mdSave it as .claude/skills/houseclean/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
houseclean
description
Cross-drive storage audit and cleanup. Surveys all drives, finds orphaned git worktrees, large AI tool caches (.ollama, .gemini, .cursor, npm, pip), and buildable artifacts (node_modules, .venv). Produces a prioritized action plan with specific migration commands. Use when disk space is low or worktrees need cleanup; do NOT use for project structure issues (use /organize instead).
license
MIT
user-invocable
true
auto-trigger
false
trigger_keywords
houseclean, house clean, disk space, free space, c drive full, drive full, running out of space, clean up disk, orphaned worktrees, clean worktrees, disk…
last-updated
2026-04-03

/houseclean — Storage Audit and Cleanup

Use when disk space is low, AI tool caches are bloated, or worktrees need cleanup. Do NOT use for project structure issues (use /organize) or pre-merge worktree review (use /merge-review).

Orientation

Use when: cross-drive storage audit -- finds orphaned repos, stale branches, and large directories across all drives. Don't use when: auditing project infrastructure only (use /infra-audit); cleaning a specific directory (use Bash directly).

Invocation Forms

/houseclean              # Full audit — all phases
/houseclean --quick      # Drive survey + quick wins only (no deep scan)
/houseclean --worktrees  # Orphaned worktree audit only
/houseclean --ai-tools   # AI tool cache audit only
/houseclean --projects   # Project artifact scan only (node_modules, .venv, etc.)
/houseclean --migrate X  # Migration instructions for a specific tool (ollama, gemini, npm, cursor)

Protocol

Phase 1: Drive Survey

Windows (PowerShell):

powershell
Get-PSDrive -PSProvider FileSystem | Select-Object Name, Used, Free, Root | Format-Table -AutoSize

Present as a table with Drive, Total, Used, Free, Label columns.

Thresholds: C: free < 5 GB → CRITICAL. C: free < 20 GB → WARNING. Store which drives have free space — these are migration targets.

Phase 2: C Drive Hot Spots

Windows (PowerShell):

powershell
Get-ChildItem "C:\Users\$env:USERNAME" -Directory -ErrorAction SilentlyContinue |
  ForEach-Object {
    $s = (Get-ChildItem $_.FullName -Recurse -ErrorAction SilentlyContinue |
          Measure-Object -Property Length -Sum).Sum
    [PSCustomObject]@{ GB = [math]::Round($s/1GB,2); Path = $_.Name }
  } | Sort-Object GB -Descending | Select-Object -First 15 | Format-Table -AutoSize

Tag each entry:

  • AI-tool-data — .ollama, .gemini, .cursor, .windsurf, .codex, .continue
  • IDE-cache — .vscode, .idea, AppData\Local\JetBrains
  • Package-cache — AppData\Local\npm-cache, AppData\Local\pip\cache, .gradle, .m2
  • Conversation-history — .claude\projects
  • Projects — Desktop, Documents, user project directories
  • System — AppData\Local\Microsoft, AppData\Roaming
Phase 3: Orphaned Worktree Audit
bash
git rev-parse --show-toplevel
git worktree list

For each worktree (excluding main):

  1. Check if branch is merged: git branch --merged HEAD | grep "{branch-name}"
  2. Verify worktree directory exists
  3. Check uncommitted changes: git -C "{worktree-path}" status --short

Classify:

  • SAFE TO REMOVE — merged into HEAD, no uncommitted changes
  • REVIEW FIRST — not merged, has changes
  • STALE — path missing (registered but deleted)
  • ACTIVE — not merged, no changes (possibly in-flight)

Auto-remove SAFE TO REMOVE and STALE:

bash
git worktree remove "{path}" --force
git branch -d "{branch-name}"

Report what was removed. Ask before touching REVIEW FIRST or ACTIVE.

Phase 4: AI Tool Cache Audit

Check these paths (Windows). Report any > 500 MB:

~/.ollama/models          → Ollama LLM models
~/.gemini/antigravity     → Gemini CLI data/cache
~/.cursor                 → Cursor editor
~/.windsurf               → Windsurf editor
~/.codex                  → Codex CLI
~/.continue               → Continue.dev extension
~/.cache/huggingface      → HuggingFace model cache
AppData/Local/npm-cache   → npm package cache
AppData/Local/pip/cache   → pip package cache
AppData/Local/Temp        → Windows temp files

Tag recommended action:

  • SAFE TO CLEAR — rebuilds automatically (npm, pip, temp)
  • MOVE — redirectable via env var (ollama models, gemini)
  • REVIEW — needs user decision (cursor settings, IDE data)
Phase 5: Project Artifact Scan

Scan C: for rebuildable artifacts: node_modules, .venv, __pycache__, .pytest_cache, dist/, build/. Report path, size, last modified. Flag items not modified in > 30 days. Ask user before deleting any.

Phase 6: Quick Wins Report
=== QUICK WINS (safe to act on now) ===
1. npm-cache              5.7 GB   CLEAR    npm cache clean --force
2. Merged worktrees (17)   50 MB   REMOVED  (already done)

=== MOVE TO ANOTHER DRIVE ===
3. ~/.ollama/models       15.8 GB  MOVE→F:  See migration guide
4. ~/.gemini              10.2 GB  MOVE→F:  See migration guide

=== REVIEW WITH USER ===
5. ~/.claude/projects      3.1 GB  REVIEW   Old conversation history

Total recoverable on C: ~47 GB
Phase 7: Migration Reference
Ollama (models → another drive)
powershell
Get-Process ollama -ErrorAction SilentlyContinue | Stop-Process
robocopy "C:\Users\$env:USERNAME\.ollama" "F:\.ollama" /E /MOVE /LOG:ollama-move.log
[Environment]::SetEnvironmentVariable("OLLAMA_MODELS", "F:\.ollama\models", "User")
Gemini CLI

Check if GEMINI_HOME is supported: gemini --help | grep -i "home\|data\|dir"

If supported:

powershell
robocopy "C:\Users\$env:USERNAME\.gemini" "F:\.gemini" /E /MOVE
[Environment]::SetEnvironmentVariable("GEMINI_HOME", "F:\.gemini", "User")

If not supported, create a junction:

powershell
robocopy "C:\Users\$env:USERNAME\.gemini" "F:\.gemini" /E /MOVE
cmd /c mklink /J "C:\Users\$env:USERNAME\.gemini" "F:\.gemini"
npm cache
bash
npm cache clean --force
npm config set cache "F:/npm-cache"
Cursor/Windsurf/Codex (junction method)
powershell
robocopy "C:\Users\$env:USERNAME\.cursor" "F:\.cursor" /E /MOVE
cmd /c mklink /J "C:\Users\$env:USERNAME\.cursor" "F:\.cursor"
git worktrees

Move the main repo to another drive:

powershell
robocopy "C:\Users\$env:USERNAME\Desktop\ProjectName" "F:\Projects\ProjectName" /E /MOVE

After moving, record in .claude/harness.json (Citadel's shared config path for all runtimes, including Codex):

json
{ "storage": { "projects_root": "F:/Projects" } }
Claude conversation history (.claude/projects)

Cannot be relocated. Archive inactive subdirectories to a backup drive, or test symlinking.


Show full SKILL.md (242 more words)Show less

Fringe Cases

macOS/Linux: Use du -sh, df -h. Paths shift to ~/. Worktree removed but branch exists: git branch -d {branch} after git worktree remove. Ollama in use: Stop before moving model files. Junction already exists: cmd /c rmdir "C:\...\tool-dir" (no contents deleted), then recreate. No other drives: Clear caches first (npm, pip, temp), then rebuildable artifacts, then unused Ollama models.


Citadel Infrastructure Integration

After running /houseclean, update .claude/harness.json storage section with projects_root, ai_tools paths, and last_audit date. Future runs verify migrations are still in place.


Contextual Gates

Disclosure: "Auditing all drives. Will present deletion suggestions — nothing deleted without your confirmation." Reversibility: amber — deletes files and directories if user confirms; undo requires git or manual recovery for non-git files Trust gates:

  • Any: view audit findings and suggestions
  • Familiar (5+ sessions): confirms deletions before executing; novices should review suggestions carefully before confirming

Quality Gates

  • Never delete data without confirming branch is merged into HEAD
  • Always verify uncommitted changes before removing a worktree
  • Always stop Ollama before moving model files
  • Show exact commands — no vague instructions
  • Re-run drive survey to confirm C: free space increased
  • Update harness.json storage section for any migrations completed
  • If total freed is 0 GB, surface why and what the user must do manually

Exit Protocol

  1. Show total space freed this session
  2. Show space still recoverable with user action
  3. Show current C: free space
  4. Suggest: "/houseclean runs well as a monthly check — use /schedule to add it"
---HANDOFF---
- Freed: {X} GB (caches cleared, worktrees removed)
- Pending user action: {Y} GB (AI tools to move, projects to migrate)
- C: free space now: {Z} GB
- harness.json storage section: updated / not updated
- Reversibility: amber — deleted files require git or manual recovery; moved files can be moved back manually
---

© SethGammon, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/houseclean of SethGammon/Citadel.

  • SKILL.md
  • __benchmarks__/stale-worktree-cleanup.md

Open the folder on GitHubat commit e41ff1d

Compare with similar skills

Houseclean next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Houseclean compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Houseclean this skillSethGammon/Citadel922—~2.2kAutomated safety check: PassMIT
Check Deps SyncHyk260/PureChat546—~594Automated safety check: PassMIT
Dev BumpNetis/heron102—~983Automated safety check: PassApache-2.0
Openclone CLIteam-attention/openclone130—~712Automated safety check: PassCustom licence
Page AgentTommy-yw/RunbookHermes5463 repos~2.3kAutomated safety check: NotesMIT
Create SkillHyk260/PureChat5461 repos~823Automated safety check: PassMIT

Similar skills

  • Check Deps Sync

    Hyk260/PureChat

    Check if package.json files are in sync with pnpm-lock.yaml.

    546 GitHub stars~594 tokensUpdated 20 days ago
    DevOps & CloudAuto-check passed
  • Dev Bump

    Netis/heron

    Bump Heron version via the VERSION-file SSOT. An agent skill from Netis/heron.

    102 GitHub stars~983 tokensUpdated 3 days ago
    AI & LLM EngineeringAuto-check passed
  • Openclone CLI

    team-attention/openclone

    A skill your agent uses when the user wants to consult an AI persona "clone" for advice, strategy, analysis, or domain expertise—especially in startup, VC, tech, growth, HR, or business contexts.

    130 GitHub stars~712 tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Page Agent

    Tommy-yw/RunbookHermes

    Embed alibaba/page-agent into your own web application — a pure-JavaScript in-page GUI agent that ships as a single <script tag or npm package and lets end-users of your site drive the UI with…

    546 GitHub starsUsed in 3 repos~2.3k tokens
    Productivity & AutomationAuto-check: notes
  • Create Skill

    Hyk260/PureChat

    Create a new skill in the current repository. An agent skill from Hyk260/PureChat.

    546 GitHub starsUsed in 1 repo~823 tokens
    DevelopmentAuto-check passed
  • Dev Instance

    yc-software/qm

    Run the current worktree as a production-shaped local dev instance with web, Slack, or both, on a real LLM + Postgres.

    15k GitHub stars~3.7k tokensUpdated today
    DevelopmentAuto-check: notes

More from SethGammon/Citadel

All 48 skills in this repo
  • Create Skill

    SethGammon/Citadel

    Creates new skills from the user's repeating patterns. An agent skill from SethGammon/Citadel.

    922 GitHub stars~1.9k tokensUpdated 5 days ago
    Auto-check passed
  • Loop

    SethGammon/Citadel

    Bounded foreground repetition for the current session. An agent skill from SethGammon/Citadel.

    922 GitHub stars~1.4k tokensUpdated 5 days ago
    Auto-check passed
  • Triage

    SethGammon/Citadel

    GitHub issue and PR investigator. An agent skill from SethGammon/Citadel.

    922 GitHub stars~2.7k tokensUpdated 5 days ago
    Auto-check passed
  • Watch

    SethGammon/Citadel

    File sentinel that monitors the working directory for changes and marker comments, then auto-triggers appropriate skills.

    922 GitHub stars~2.9k tokensUpdated 5 days ago
    Auto-check passed
  • Archon

    SethGammon/Citadel

    Autonomous multi-session campaign agent. An agent skill from SethGammon/Citadel.

    922 GitHub stars~5.4k tokensUpdated 5 days ago
    Auto-check passed
  • Fleet

    SethGammon/Citadel

    Parallel campaign orchestrator. An agent skill from SethGammon/Citadel.

    922 GitHub stars~6.3k tokensUpdated 5 days ago
    Auto-check passed

Works with

Questions about Houseclean

What does Houseclean do?

Cross-drive storage audit and cleanup. An agent skill from SethGammon/Citadel. Houseclean is an agent skill from SethGammon/Citadel. Cross-drive storage audit and cleanup.

When should I use Houseclean?

Houseclean fits situations like: disk space is low; worktrees need cleanup; do NOT use for project structure issues (use /organize instead).

How do I install Houseclean in Claude Code?

Run `npx skills add SethGammon/Citadel --skill houseclean -a claude-code`. Or copy the skill folder (skills/houseclean in SethGammon/Citadel) into .claude/skills/houseclean in your project. Claude Code loads it when a task matches its description.

How do I install Houseclean in Codex?

Run `npx skills add SethGammon/Citadel --skill houseclean -a codex`. Or copy the skill folder (skills/houseclean in SethGammon/Citadel) into .agents/skills/houseclean in your project. Codex loads it when a task matches its description.

Can I use Houseclean in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add SethGammon/Citadel --skill houseclean -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/houseclean, .gemini/skills/houseclean, .github/skills/houseclean and .opencode/skills/houseclean in your project.

What does Houseclean need to run?

Going by SKILL.md and its folder, Houseclean needs the command-line tools its instructions call (git, npm and gemini).

Does Houseclean access the network?

SKILL.md contains no URLs. Its commands use git and npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Houseclean safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Houseclean use?

Houseclean is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Houseclean use?

About 2.2k tokens (SKILL.md is roughly 9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Houseclean?

Skills that share tags, products or a category with Houseclean: Check Deps Sync (Hyk260/PureChat, 546 stars), Dev Bump (Netis/heron, 102 stars), Openclone CLI (team-attention/openclone, 130 stars) and Page Agent (Tommy-yw/RunbookHermes, 546 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Houseclean?

SethGammon (a GitHub user) maintains it in SethGammon/Citadel, which has 922 GitHub stars. The repository holds 48 skills in this directory. The repository was last updated on October 1, 2026.

Source: SethGammon/Citadel on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.