You have access to diskclean.sh, a disk scanning and cleaning tool. Install it by copying diskclean.sh to a location on your PATH, or run it directly from this skill's directory.
bash
# Make executable (if not already)
chmod +x diskclean.sh
# Optional: symlink to PATH
ln -sf "$(pwd)/diskclean.sh" /usr/local/bin/diskclean
bash
# Full scan:returns JSON with all reclaimable items
./diskclean.sh scan
# Preview safe-tier auto-deletions (dry run, default)
./diskclean.sh clean --dry
# Execute safe-tier deletions
./diskclean.sh clean --confirm
# Show last scan results
./diskclean.sh report
# Show scan history over time
./diskclean.sh history
Run a scan first: Always start with diskclean.sh scan
Summarize findings conversationally: Group items by category, show top offenders by size, report total reclaimable space
Explain the tiers clearly:
node_modules, __pycache__, build caches, package manager caches.For safe-tier cleanup: Run diskclean.sh clean --dry first to show what would be deleted, then diskclean.sh clean --confirm only after user approves
For suggest-tier items: Present them individually or grouped by category. If the user approves specific items, delete them manually with rm -rf (after confirming the path is under $HOME)
When presenting scan results, use this structure:
text
## Disk Scan Results
**Total reclaimable: X.X GB**
- Safe tier (auto-cleanable): X.X GB
- Needs your review: X.X GB
### Safe to Auto-Clean
| Category | Size | Age | Path |
|----------|------|-----|------|
| ... | ... | ... | ... |
### Needs Your Review
| Category | Size | Age | Path |
|----------|------|-----|------|
| ... | ... | ... | ... |
clean --confirm without showing the user clean --dry output firstSafe tier = whitelisted category + age gate met. Auto-deletable with --confirm.
Suggest tier = everything else. Requires explicit user approval.
CategoryWhatSafe TierAge Gatenode_modulesNode.js dependencies (with package.json sibling)Yes7 dayspython_cache__pycache__, .pytest_cacheYes7 dayspython_venv.venv/, venv/No:build_outputbuild/, dist/, .next/, target/Yes7 daysgo_cacheGo module + build cacheYes14 dayshomebrew_cacheHomebrew download cacheYes14 daysnpm_yarn_pnpm_cachenpm/yarn/pnpm cachesYes14 dayspip_cachepip download cacheYes14 daysxcode_derivedXcode DerivedDataYes7 daysdockerDocker images, volumes, build cacheNo:large_downloadFiles >100MB in DownloadsNo:installer_archive.dmg/.pkg/.zip/.iso in DownloadsNo:logsmacOS logs (>50MB)Yes30 dayscrash_reportsDiagnostic reports (>10MB)Yes30 daysds_store.DS_Store filesYes0 daystrash~/.Trash contentsNo:
$HOME (plus /tmp user files)node_modules only deleted if a package.json exists alongside (proof it's regenerable)--confirm to actually delete~/.openclaw/diskclean/deletion-log.jsonl~/.openclaw/diskclean/scans/~/.openclaw/diskclean/scans/scan-YYYYMMDD-HHMMSS.json~/.openclaw/diskclean/latest-scan.json~/.openclaw/diskclean/deletion-log.jsonl