Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Disk

ASecurity

Use when disk space is low; find large directories, free space, decide if Claude sessions or npm cache are safe to remove, or shrink WSL.

3 stars
0 votes
0 copies
3 views
Added 9/19/2026
ai-agentsgoshellbashdatabase

Works with

claude codecursor

Security Analysis

A100/100

Pro scans all 7 files and shows the line behind each finding

Scanned 9/19/2026

$npx -y skills add tony/skills --skill disk --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Disk?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Disk
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tony-disk/badge)](https://www.skillsdirectory.com/skills/tony-disk)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: disk
description: >-
  Use when disk space is low; find large directories, free space, decide if
  Claude sessions or npm cache are safe to remove, or shrink WSL.
allowed-tools: "Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion, TodoWrite"
metadata:
  source: "plugins/disk/skills/disk/SKILL.md"
---

# Disk

Find what is consuming a machine's disk, and reclaim it without losing
anything the user cannot get back.

the `disk-usage` skill runs the survey and classification read-only.
the `disk-reclaim` skill runs the full pipeline through to execution.

The failure mode this guards against is not missing some space. It is
deleting a directory whose name suggested it was a duplicate and which
turned out to hold the only copy of something. Every destructive step
is gated on a proof, and the proofs are specified rather than left to
judgment.

## Non-negotiables

**Never halt the environment.** `wsl --shutdown`, `wsl --terminate`,
VM stop commands, and container-runtime restarts are the user's to run.
They kill unsaved work across every shell and editor on the machine.
Print the command, say what it interrupts, and stop. Approval to delete
caches is not approval to terminate the environment.

**Never delete on the strength of a name.** `*-backup-*`, `.old`,
`.bak`, and `archive-*` carry no information about whether a copy is
redundant. Run the proof.

**Agent history is protected by default.** Reclaim from transcripts and
session stores only through the owning tool's own archival path, or by
proving one copy redundant against another.

**Report guest and host separately.** Space freed inside a virtual disk
is not space freed on the machine until the disk is compacted.

## Survey

Establish the layer structure before measuring anything. Read
`references/virtual-disks.md`.

Run `df -h` and identify every distinct filesystem. When one is a
virtual disk, locate its backing file on the host and compare the
file's allocated size against the used space reported inside it. The
difference is balloon, recoverable without deleting anything.

Then measure. Prefer `dust` with an explicit depth and minimum size
where available, falling back to `du`. Survey each filesystem
separately. Resolve symlinks before recording a size, so a
dotfiles-managed directory is not counted twice under two paths.

State the constraint in one line before any detail: which layer is
actually full, and how much headroom it has. When the host is critical
and the guest is comfortable, say so first — it changes which findings
matter.

## Classify

Assign every candidate above the size threshold to exactly one tier
from `references/candidate-catalog.md`. Default
to the highest tier that plausibly applies, and classify where content
is homogeneous rather than propagating a parent's tier to its children.

For each apparent duplicate, run the path-set comparison from
`references/redundancy-proofs.md` and record the
outcome as redundant, mergeable, conflicted, or unique. A `diff`
reporting no differing files proves nothing on its own — establish the
size of the intersection.

For agent history, read
`references/agent-history.md`. Determine each
tool's discovery glob and whether it maintains a state database, and
check for native compression support before considering any
hand-rolled compression.

For directories of upstream clones kept for reading, read
`references/study-repos.md`. Report huge clones,
clones that are not shallow, and build artifacts as three separate
groups, and verify no clone holds unpushed work.

## Orchestration plan

Enter plan mode before proposing anything destructive. In Claude Code
call `EnterPlanMode`; in Cursor, Codex, or Gemini use `/plan` or
`Shift+Tab`. Where plan mode is unavailable, the phase structure above
still applies — present the plan as text and wait for approval.

The plan states, per tier: what will be reclaimed, the proof that made
it safe, the expected recovery, and which layer that recovery lands on.
It separates what the agent will run from what only the user can run,
and names what is being left alone.

Group approvals by tier. Regenerable caches take one blanket approval.
Redundant copies are listed individually with their proof outcome.
Stale-but-unique data is decided per directory. Protected history
appears as an inventory, or as a compression proposal with its access
tradeoff stated plainly.

Never present compression as free. When a tool cannot read its own
compressed history, compression converts sessions from resumable to
archive-only — offer an age cutoff so recent sessions stay live. When a
tool can compress natively, propose enabling that instead.

Exit plan mode once approved.

## Reclaim

Work the approved plan in tier order, largest first within each tier.

Merges run before the deletions that depend on them. After each merge,
re-run the path-set comparison with arguments reversed and confirm the
source now holds nothing unique. Only then may the source be removed.

Prefer a tool's own prune or archive command over `rm`. It understands
its own reference counting and leaves the store consistent.

Stop and report rather than improvising when a proof fails, a candidate
turns out to hold unique data, or a repository has unpushed work. A
surprise means the classification was wrong, not that there is an
obstacle to route around.

Verify after each tier by re-reading free space on the affected layer,
and report the measured delta rather than the predicted one. When they
disagree, say so and investigate before continuing.

Finish with the steps only the user can run — the guest shutdown and
any host-side compaction — as exact commands with their consequences
stated. Report the host recovery as pending, not achieved.

## Reporting

Follow `references/output-contract.md`.

Lead with the constraint, not the inventory. A ranked list of large
directories is not an answer to "where did my space go" when the
binding limit is a full host disk the user has not noticed.

Give exact figures with their layer attached. Distinguish what was
freed, what is already free inside the guest awaiting compaction, and
what the host stands to recover once the user acts.

Name what was deliberately left alone and why. A cleanup that silently
skips a large protected history store reads as having missed it.


## Portability notes

- Bundled files — every relative path in this skill points at a file shipped inside this skill directory. Read them from here, not from the host's plugin tree.

Attribution

tonytony
View sourceSee grades on GitHubMore from tony →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →