🧪 Skills
Storage Cleanup
One-command disk cleanup for macOS and Linux — trash, caches, temp files, old kernels, snap revisions, Homebrew, Docker, and Xcode artifacts. Use when user a...
v1.0.0
Description
name: storage-cleanup description: One-command disk cleanup for macOS and Linux — trash, caches, temp files, old kernels, snap revisions, Homebrew, Docker, and Xcode artifacts. Use when user asks to free storage, clean up disk, reclaim space, reduce disk usage, or encounters low disk / "disk full" warnings. Safe by default with dry-run mode. No dependencies beyond bash and awk.
Storage Cleanup
Reclaim tens of gigabytes in one command. No config files, no dependencies, no damage.
Why This Skill
Systems accumulate junk silently — IDE caches, old snap revisions, stale pip builds, forgotten trash, outdated kernels. Manually hunting them down wastes time and risks deleting the wrong thing.
This skill:
- Scans 12+ cleanup targets across both macOS and Linux in a single pass
- Safe by default —
--dry-runshows exactly what would be cleaned before touching anything - Zero dependencies — pure bash + awk, works on any stock macOS or Linux install
- Cross-platform — auto-detects OS and runs only what applies (no errors on missing tools)
- Selective — skip any category with
--skip-kernels,--skip-docker,--skip-brew,--skip-snap - Reports savings — shows before/after disk usage and exact bytes freed
Quick Start
# Preview what would be cleaned (safe, changes nothing)
bash scripts/cleanup.sh --dry-run
# Clean everything
bash scripts/cleanup.sh --yes
# Clean but keep Docker and old kernels
bash scripts/cleanup.sh --yes --skip-docker --skip-kernels
What Gets Cleaned
Both Platforms
| Target | Typical Size | Notes |
|---|---|---|
| Trash | 1–50 GB | macOS ~/.Trash, Linux ~/.local/share/Trash |
Stale /tmp |
1–10 GB | pip/npm/rust build dirs older than 60 min |
| pip cache | 50–500 MB | pip cache purge |
| Go build cache | 100 MB–2 GB | go clean -cache |
| pnpm / yarn / node caches | 50–500 MB | Safe to regenerate |
| JetBrains IDE cache | 1–10 GB | IntelliJ, PyCharm, WebStorm, etc. |
| Whisper model cache | 1–5 GB | Redownloads on demand |
| Chrome / Firefox cache | 200 MB–2 GB | Browsing cache only |
| Playwright browsers | 200 MB–1 GB | Redownloads on demand |
| Docker dangling images | 0–10 GB | Only unreferenced images + build cache |
Linux Only
| Target | Typical Size | Notes |
|---|---|---|
| Apt cache | 200 MB–2 GB | apt clean |
| Journal logs | 500 MB–4 GB | Vacuumed to 200 MB |
| Disabled snap revisions | 500 MB–5 GB | Old versions kept by snapd |
| Old kernels | 200–800 MB | Keeps current running kernel |
macOS Only
| Target | Typical Size | Notes |
|---|---|---|
| Homebrew old versions | 500 MB–5 GB | brew cleanup --prune=7 |
| Xcode DerivedData | 2–30 GB | Build artifacts, safe to clear |
| Xcode Archives | 1–20 GB | Old build archives |
| iOS DeviceSupport | 2–15 GB | Old device symbols |
| CoreSimulator caches | 500 MB–5 GB | Simulator disk images |
| Old user logs | 100 MB–1 GB | Logs older than 30 days |
Options
| Flag | Effect |
|---|---|
--dry-run |
Preview cleanup without deleting anything |
--yes / -y |
Run without confirmation prompts |
--skip-kernels |
Don't remove old kernels (Linux) |
--skip-snap |
Don't remove disabled snap revisions (Linux) |
--skip-docker |
Don't prune Docker |
--skip-brew |
Don't clean Homebrew |
Manual Extras
Targets the script doesn't touch (check manually if needed):
- Ollama models:
ollama list→ollama rm <unused> - npm global cache:
npm cache clean --force - Conda envs:
conda env list→conda remove -n <env> --all - Compressed logs:
sudo find /var/log -name "*.gz" -delete - Flatpak (Linux):
flatpak uninstall --unused - Time Machine snapshots (macOS):
tmutil listlocalsnapshots /→tmutil deletelocalsnapshots <date>
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!