Skills diskclean

AI-assisted disk space scanner and cleaner. Finds reclaimable space (node_modules, build caches, package caches, downloads, Docker, Xcode, logs) and intelligently cleans safe items with strict guardrails.

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/0xj7r/diskclean" ~/.claude/skills/clawdbot-skills-diskclean && rm -rf "$T"
manifest: skills/0xj7r/diskclean/SKILL.md
source content

Disk Cleaner - AI-Assisted Disk Space Management

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.

Setup

# Make executable (if not already)
chmod +x diskclean.sh

# Optional: symlink to PATH
ln -sf "$(pwd)/diskclean.sh" /usr/local/bin/diskclean

Commands

# 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

How to Use This Skill

When the user asks to scan or clean disk space:

  1. Run a scan first: Always start with
    diskclean.sh scan
  2. Summarize findings conversationally: Group items by category, show top offenders by size, report total reclaimable space
  3. Explain the tiers clearly:
    • Safe tier (auto-deletable): Items matching a strict whitelist AND older than the age gate (7-14 days). These are regenerable artifacts like
      node_modules
      ,
      __pycache__
      , build caches, package manager caches.
    • Suggest tier (needs approval): Everything else:Docker, downloads, venvs, trash. Present these as recommendations and ask the user what they want to do.
  4. 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
  5. 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)

Presentation Format

When presenting scan results, use this structure:

## 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 |
|----------|------|-----|------|
| ... | ... | ... | ... |

Safety Rules

  • Never delete anything outside $HOME
  • Never delete .git directories
  • Never delete source code, documents, photos, or config files
  • Never run
    clean --confirm
    without showing the user
    clean --dry
    output first
  • Never delete suggest-tier items without explicit user approval per item or category
  • Always verify a path exists before attempting deletion

How It Works

Tiered Safety Model

Safe tier = whitelisted category + age gate met. Auto-deletable with

--confirm
.

Suggest tier = everything else. Requires explicit user approval.

Categories Scanned

CategoryWhatSafe TierAge Gate
node_modulesNode.js dependencies (with package.json sibling)Yes7 days
python_cache
__pycache__
,
.pytest_cache
Yes7 days
python_venv
.venv/
,
venv/
No:
build_output
build/
,
dist/
,
.next/
,
target/
Yes7 days
go_cacheGo module + build cacheYes14 days
homebrew_cacheHomebrew download cacheYes14 days
npm_yarn_pnpm_cachenpm/yarn/pnpm cachesYes14 days
pip_cachepip download cacheYes14 days
xcode_derivedXcode DerivedDataYes7 days
dockerDocker images, volumes, build cacheNo:
large_downloadFiles >100MB in DownloadsNo:
installer_archive.dmg/.pkg/.zip/.iso in DownloadsNo:
logsmacOS logs (>50MB)Yes30 days
crash_reportsDiagnostic reports (>10MB)Yes30 days
ds_store.DS_Store filesYes0 days
trash~/.Trash contentsNo:

Guardrails

  • Only scans under
    $HOME
    (plus
    /tmp
    user files)
  • node_modules
    only deleted if a
    package.json
    exists alongside (proof it's regenerable)
  • Dry-run is the default:must pass
    --confirm
    to actually delete
  • Every deletion is logged to
    ~/.openclaw/diskclean/deletion-log.jsonl
  • All scan reports stored in
    ~/.openclaw/diskclean/scans/

Data Storage

  • Scan reports:
    ~/.openclaw/diskclean/scans/scan-YYYYMMDD-HHMMSS.json
  • Latest scan:
    ~/.openclaw/diskclean/latest-scan.json
  • Deletion log:
    ~/.openclaw/diskclean/deletion-log.jsonl