Free disk space on macOS by cleaning dev caches (npm, pip, uv, Homebrew), removing stale node_modules from old projects, and optionally removing LM Studio or Ollama models after confirmation. Use this skill whenever the user mentions disk space, storage full, Mac running out of space, cleaning up node_modules, LM Studio models, Ollama models, or wants to free space on their Mac — even if they don't say "cleanup" explicitly.
72
90%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
Two-part workflow: safe cache cleanup, then stale node_modules removal.
Run scripts/clean_caches.sh. This clears:
~/.npm)~/Library/Caches/pip)~/.cache/uv)Report MB freed per tool.
These models are large files that can't be re-downloaded automatically — always confirm before deleting.
List installed models with sizes:
find ~/.lmstudio/models -name "*.gguf" -o -name "*.safetensors" 2>/dev/null \
| xargs du -sh 2>/dev/null | sort -rhShow the list to the user and ask which models to remove. Delete by removing the model's parent folder (e.g. ~/.lmstudio/models/publisher/model-name/) so stale metadata doesn't linger.
List installed models:
ollama list 2>/dev/nullFor each model the user wants to remove:
ollama rm <model-name>This is the correct removal method — do not delete ~/.ollama/models/blobs/ directly, as Ollama manages content-addressed storage there and manual deletion can corrupt the store.
Always show a summary of what will be deleted and its total size, then ask: "OK to delete these models?" before proceeding. Never delete models without an explicit yes.
Run scripts/find_node_modules.sh (optionally pass a root dir, defaults to $HOME).
Output is tab-separated: size_mb last_modified_date path
Use the parent directory's last-modified date to judge staleness:
| Age | Action |
|---|---|
| Last modified > 6 months ago | Safe to remove — offer to clean automatically |
| Last modified 1–6 months ago | Ask the user before removing |
| Last modified < 1 month ago | Leave alone (skip) |
Path contains /Downloads/ | Always remove — these are stale copies |
Path contains /old/ or /archive/ | Always remove |
| Path is the current working directory | Always skip |
These are already excluded by the script, but double-check you never delete from:
~/.nvm/ — node version manager (removing breaks node)~/.vscode/extensions/ — VS Code manages these~/.copilot/, ~/.cache/opencode/ — tool-managed~/.lmstudio/ outside of models/ — app config, not models~/.ollama/models/blobs/ — use ollama rm instead of direct deletionFor the stale candidates, show the user the list with sizes before deleting. Then:
rm -rf "/path/to/node_modules"Report total MB freed. Remind the user that npm install restores any removed node_modules.
After cleanup, run:
df -h / | awk 'NR==2 {print "Free: "$4" / "$2" ("$5" used)"}'Report the before/after free space.
~/Library/Application Support/ — app data, not cache.venv/, venv/) — don't delete these without asking3fe35d2
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.