Goal
SkillDev toolsAnalyze disk usage to find the largest space consumers and reclaim options
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Goal skill
What this skill tells your AI
The instructions your AI receives, as published by causify-ai/helpers in .claude/skills/system.analyze_disk_space_use/SKILL.md and read by ahel’s review.
- Find what is consuming the most disk space, identify what is safely reclaimable (unused container/VM images, caches, logs) versus what needs manual review, and report the findings
- Never delete, move, or modify anything: analysis only
Workflow
Step 1: Check Overall Disk Usage
- Run
df -hto see total/used/available space per volume - On macOS, the volume that actually holds user data is
/System/Volumes/Data, not/: use itsCapacity/Availcolumns to judge how urgent the situation is
Step 2: Survey The Home Directory
- List top-level home directory usage, largest first:
> du -sh ~/* 2>/dev/null | sort -rh - Recurse one level at a time into whichever directory dominates (on
macOS this is typically
~/Library), always sorting by size, until you reach the actual large items instead of just a big parent directory name:> /usr/bin/du -sh ~/Library/* 2>/dev/null | sort -rh | head -30 - Track every directory measured along the way: it feeds the top-10 list in Step 6
Step 3: Check Container And VM Engines First
- On a dev machine these are usually the single biggest consumer, because they cache every pulled/built image and rarely self-prune
- For every engine that is installed, check its own usage report before
digging into raw directory sizes:
- Docker: if
dockerexists, rundocker system df -vfor a per-image/per-volume breakdown; images withCONTAINERS= 0 are unused and reclaimable - Apple
containerCLI (native macOS containers): ifcontainerexists, runcontainer system df; its data lives under~/Library/Application Support/com.apple.containerand Docker's VM disk lives under~/Library/Containers/com.docker.docker - Other engines present (
podman,colima,lima,nerdctl): use their equivalentsystem df/ usage-report command
- Docker: if
- A builder container (e.g. Docker's
buildxstate volume, Apple'sbuildkitbuilder container) can be reported as "active" and excluded fromRECLAIMABLEby the tool even when it has grown very large- Size it directly with
/usr/bin/du -sh <path>and report it as a manual candidate, along with the reset command that would reclaim it (docker buildx prune --all, orcontainer builder stop && container builder delete)
- Size it directly with
Step 4: Check Common Cache/Log Locations
- macOS:
~/Library/Caches~/Library/Logs- Per-app
Cache/Code Cachefolders under~/Library/Application Support/<App> ~/.Trashtmutil listlocalsnapshots /: flag any entry that is not a normalcom.apple.os.update-*system snapshot
- Linux: use the equivalents instead:
~/.cache,/var/cache,/var/log, and package-manager caches (apt,dnf,pacman)
Step 5: Spot-Check Dev Artifacts
- Look for large, likely-stale developer artifacts:
venv/.venvdirectories,node_modules, old or duplicate repo clones, and suspiciously named directories (backups,ancient_*,old_*) - Report these as "needs manual review", not as auto-recommended deletions: they can hold unique, irreplaceable data
Step 6: Rank Findings And Write The Report
- For every candidate record: path, size, and whether it is safely reclaimable (rebuildable / re-pullable / re-cacheable) or needs manual review (may hold unique data)
- Fill in the template
.claude/skills/system.analyze_disk_space_use/report.template.md, formatted per.claude/skills/markdown.rules.md - List the top 10 directories measured in Steps 2-3 by size, largest
first; prefer the most specific directory that explains the bytes over
a vague ancestor (e.g. list the Docker VM disk itself, not just
~/Library) - Every reclaim command in the report must come from the tool's own
output (e.g.
docker system df), never be guessed, and must be paired with the size it frees - Because the report describes commands, lead with a summary table of
every command and its estimated savings, then give the full nested
breakdown per
.claude/skills/markdown.rules.md"List of Items" convention: one bold-labeled bullet per reclaimable item, with the command and size nested underneath it - Rank the breakdown by impact (space freed) first, then by risk
Constraints
- Only run read-only commands:
df,du,*system df,*ls,tmutil listlocalsnapshots,find(without-delete) - Never run a destructive command:
docker system prune,docker image rm,container image rm,rm -rf,container builder delete, etc.: only list them in the report as candidates for the user to run themselves - If a read-only command errors with an unexpected
usage:message, suspect a shell-hook rewrite and retry with the command's full binary path (e.g./usr/bin/du) - Do not enumerate every file: stop recursing into a directory once its largest child no longer meaningfully explains the space gap
Verification
- The report accounts for most of the gap between disk size and free space (the sum of reported items roughly explains where the used space went)
- Confirm no file was created, deleted, or modified other than the report itself
Signals
- GitHub stars
- 145
- Forks
- 159
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
system-analyze-disk-space-use- Source
- github.com/causify-ai/helpers