Disk Storage Analyzer
KKKKhazix/khazix-skills
Scans a Mac or Windows PC read-only to find what fills the disk, grades each item by how safe it is to clean and builds an interactive HTML report.
Teaches an agent to drive the Mole (mo) Mac cleaning CLI safely: preview first, use JSON output, and leave destructive runs to the user.
$ npx skills add tw93/Mole --skill mole -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install tw93/Mole mole --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/tw93/Mole.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/mole .claude/skills/mole && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "mole" agent skill from https://github.com/tw93/Mole/tree/main/.claude/skills/mole into .claude/skills/mole/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mole", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/tw93/Mole/tree/main/.claude/skills/moleType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add tw93/Mole --skill mole -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install tw93/Mole mole --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Mole.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/mole .agents/skills/mole && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mole" agent skill from https://github.com/tw93/Mole/tree/main/.claude/skills/mole into .agents/skills/mole/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mole", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tw93/Mole --skill mole -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install tw93/Mole mole --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Mole.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/mole .cursor/skills/mole && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "mole" agent skill from https://github.com/tw93/Mole/tree/main/.claude/skills/mole into .cursor/skills/mole/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mole", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/tw93/Mole.git --path .claude/skills/mole--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add tw93/Mole --skill mole -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install tw93/Mole mole --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Mole.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/mole .gemini/skills/mole && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "mole" agent skill from https://github.com/tw93/Mole/tree/main/.claude/skills/mole into .gemini/skills/mole/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mole", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install tw93/Mole moleInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add tw93/Mole --skill mole -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/tw93/Mole.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/mole .github/skills/mole && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "mole" agent skill from https://github.com/tw93/Mole/tree/main/.claude/skills/mole into .github/skills/mole/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mole", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add tw93/Mole --skill mole -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install tw93/Mole mole --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/tw93/Mole.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/mole .opencode/skills/mole && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "mole" agent skill from https://github.com/tw93/Mole/tree/main/.claude/skills/mole into .opencode/skills/mole/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mole", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
moleTeaches an agent to drive the Mole (mo) Mac cleaning CLI safely: preview first, use JSON output, and leave destructive runs to the user.
Mole cleans, uninstalls, analyzes, optimizes and monitors a Mac, so the skill sets strict rules for an agent using it on a live machine. Every destructive command is run with the dry-run flag first and the list is shown to the user. The user runs the real deletion unless they asked for it in the current turn. Full-screen interactive views are never parsed, flags are never invented, and keeping a cache goes through the clean whitelist option rather than raw rm.
A question-to-command table maps requests to commands: disk analysis with mo analyze in JSON mode, freeing space with mo clean, app removal with mo uninstall, slowness with mo optimize, old projects with mo purge, downloaded installers with mo installer, deletion history with mo history, and status snapshots or short time series with mo status. Five machine-readable surfaces are treated as the agent-facing interface. The skill is for using the installed CLI, not for editing or reviewing Mole's source.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a68741b. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Mole Mac Cleanup CLI Safety loads about 1.8k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 1,062 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from tw93/Mole at commit a68741b, republished under its GPL-3.0 licence (© tw93). 1,062 words, ~1,776 tokens.
.claude/skills/mole/SKILL.md (or your agent's skills folder).Mole (mo) cleans, uninstalls, analyzes, optimizes, and monitors a Mac. It is
a real deletion tool operating on someone's live machine, so the way an agent
uses it differs from the way a human does: never guess, never let a TUI decide,
and never let a destructive command run without the user having seen the list.
--dry-run. Run it, read the result, show the user what would go, and only
then offer the real run. An agent that runs mo clean before mo clean --dry-run has skipped the only step the user can veto.mo analyze and terminal-attached
mo status are full-screen Go programs whose output is drawn, not printed.
Use mo analyze --json, mo status --json, or mo status --watch instead.mo <command> --help and read it, do not
assume a --yes or --force exists.mo clean --whitelist, not a hand-rolled find. Never
work around Mole's safety layer with raw rm.| The user asks | Command |
|---|---|
| "What is eating my disk?" | mo analyze --json (whole disk) or mo analyze --json <path> |
| "Free up space" | mo clean --dry-run, review, then mo clean |
| "Remove this app completely" | mo uninstall --list to get the name, mo uninstall <app> --dry-run, then mo uninstall <app> (no app argument opens the interactive selector) |
| "My Mac feels slow" / caches look broken | mo optimize --dry-run then mo optimize |
| "Clean up my old projects" | mo purge --dry-run then mo purge |
| "Get rid of downloaded installers" | mo installer --dry-run then mo installer |
| "What did Mole delete?" | mo history --json --limit 20 |
| One CPU / memory / disk / network snapshot | mo status --json |
| A short time series for diagnosis | mo status --watch --interval 1s (NDJSON; stop after enough samples) |
These five surfaces are the agent-facing API. Everything else is for humans.
Disk usage. mo analyze --json prints one JSON object: path, overview,
total_size, total_files, large_files[], and entries[] of {name, path, size, is_dir, insight, cleanable, last_access}. size is bytes.
insight: true marks an entry Mole considers noteworthy (a large iOS backup, a
runaway cache) and is set only in overview mode. Pass a path to scope it:
mo analyze --json ~/Library; the flag must come before the path because the
Go flag parser stops at the first positional argument.
Cleanup history. mo history --json [--limit N] (N is 1-200) prints
logs (paths of the operations and deletions logs), limit, per-run activity
in sessions[], and structured deletion audit entries in deletions[].
Use the README history notes for session identity and
attribution semantics. This is how you answer "did Mole delete my file"
without guessing.
Installed apps. mo uninstall --list piped (stdout not a TTY) prints the
app inventory as JSON: name, bundle id, uninstall name, path, size. This is how
you find the exact <UNINSTALL NAME> argument without touching the selector TUI.
The dry-run path list. mo clean --dry-run prints a summary to the
terminal and writes every candidate path to ~/.config/mole/clean-list.txt.
Read that file to review the paths found by that dry-run. It is a preview
snapshot, not an executable deletion plan: a later mo clean rescans and
revalidates current candidates, so the two target sets can differ. This list is clean-only: mo purge --dry-run and mo installer --dry-run print their candidates to the
terminal and write no file.
System status. mo status --json prints one metrics snapshot. It also
switches to JSON automatically when stdout is not a TTY, but pass --json
explicitly in scripts so intent stays obvious. mo status --watch --interval 1s emits one complete JSON object per line from a warm collector. Bound the
watch duration or sample count and terminate it after collecting the evidence
the user asked for; do not leave an unbounded monitor running in the background.
mo clean also sweeps leftovers from apps the user already deleted. It does
not touch installed apps; that is mo uninstall.mo clean --external <path> cleans macOS metadata off an external volume.mo purge removes rebuildable project artifacts: local build output
(target/, build/, dist/, .next/) and dependency directories that need
a network to restore (node_modules/, Pods/, venv/, vendor/). A purge
is therefore not always recoverable offline, so say which kind the candidates
are before running it. mo purge --paths configures which directories are
scanned; --include-empty shows zero-size candidates. A non-interactive real
run requires explicit --yes; dry-run does not. Use --yes only after the
user has authorized removal. Artifacts with authored content stay protected,
and an inconclusive content probe keeps the candidate and reports an incomplete run.mo optimize refreshes caches and system services. It is the one destructive
command whose effects are not "files disappear", so say what it will do
before running it.mo update self-updates; mo update --nightly installs unreleased main.
Do not run either on a user's behalf without being asked.--debug on any command prints the detailed operation log. Reach for it when
a command silently did nothing; do not leave it on in normal use.mo clean deletions are permanent by default. Cache cleanup removes files
rather than moving them to the Trash, so there is usually nothing to restore.
That is why preview matters; a dry-run provides no backup or undo. mo uninstall is
the exception: it routes the app and its leftovers through the Trash, so an
uninstalled app is recoverable until the Trash is emptied.
What you do have is a record. mo history --json returns every logged deletion
in its deletions[] array; the raw log at the path in logs (one tab-separated
line per deletion: timestamp, mode, size, status, path) is the fallback for
entries older than --limit. So when a user asks "did Mole take my file", answer
from that record instead of guessing. Then add the path to the whitelist (mo clean --whitelist) so the next run leaves it alone.
© tw93, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/mole of tw93/Mole.
Open the folder on GitHubat commit a68741b
Mole Mac Cleanup CLI Safety next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Mole Mac Cleanup CLI Safety this skilltw93/Mole | 69k | — | ~1.8k | Automated safety check: Pass | GPL-3.0 | |
| Disk Storage AnalyzerKKKKhazix/khazix-skills | 21k | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| Jev Desktop Computer Usekerpopule/hermes-jev-skills | 1k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Dutis macOS Handler Managertsonglew/dutis | 251 | — | ~1.2k | Automated safety check: Pass | None | |
| Jarvis Setupethanplusai/jarvis | 838 | — | ~2.5k | Automated safety check: Notes | Custom licence | |
| cmux Cloud Machinesmanaflow-ai/cmux | 28k | — | ~864 | Automated safety check: Pass | Custom licence |
KKKKhazix/khazix-skills
Scans a Mac or Windows PC read-only to find what fills the disk, grades each item by how safe it is to clean and builds an interactive HTML report.
kerpopule/hermes-jev-skills
Drives desktop GUI apps and OS dialogs by letting Jev pick the next action from a menu of safe actions the agent built, with a Mac Co-Agent shortcut.
tsonglew/dutis
Inspects, plans, changes and rolls back macOS default app handlers for file types, MIME types and URL schemes through Dutis, with approval before any write.
ethanplusai/jarvis
A skill your agent uses when helping someone install, configure, or debug a fresh clone of JARVIS (this repo) — especially "the mic doesn't work", "JARVIS says his language systems are down", any…
manaflow-ai/cmux
Operates cmux Cloud machines from the cmux CLI, running durable remote commands or detached agents and presenting their workspaces, with authorization limits on destructive steps.
realspqrk/autorename-pdf
[Dev] Rename PDF files using AI (Python, requires venv). An agent skill from realspqrk/autorename-pdf.
tw93/Mole
A catalog of recurring bug shapes in the Mole Mac cleaner, used to review safety-sensitive diffs for deletion safety, unbounded commands, shell traps and weak tests.
tw93/Mole
Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.
tw93/Mole
Publishes curated, bilingual release notes for an existing Mole version tag with gh release edit, including contributor thanks and reactions, after the release workflow finishes.
Works with
Categories
Teaches an agent to drive the Mole (mo) Mac cleaning CLI safely: preview first, use JSON output, and leave destructive runs to the user. Mole cleans, uninstalls, analyzes, optimizes and monitors a Mac, so the skill sets strict rules for an agent using it on a live machine. Every destructive command is run with the dry-run flag first and the list is shown to the user.
Mole Mac Cleanup CLI Safety fits situations like: finding out what is using disk space on a Mac; freeing space or removing an app completely, with a preview before anything is deleted; checking what Mole deleted on an earlier run; collecting CPU, memory, disk and network status as JSON.
Run `npx skills add tw93/Mole --skill mole -a claude-code`. Or copy the skill folder (.claude/skills/mole in tw93/Mole) into .claude/skills/mole in your project. Claude Code loads it when a task matches its description.
Run `npx skills add tw93/Mole --skill mole -a codex`. Or copy the skill folder (.claude/skills/mole in tw93/Mole) into .agents/skills/mole in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tw93/Mole --skill mole -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mole, .gemini/skills/mole, .github/skills/mole and .opencode/skills/mole in your project.
SKILL.md names no scripts, command-line tools or credentials: Mole Mac Cleanup CLI Safety is instructions for the agent only. Our summary lists: The Mole CLI (mo) installed on a Mac.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Mole Mac Cleanup CLI Safety is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Mole Mac Cleanup CLI Safety: Disk Storage Analyzer (KKKKhazix/khazix-skills, 21k stars), Jev Desktop Computer Use (kerpopule/hermes-jev-skills, 1k stars), Dutis macOS Handler Manager (tsonglew/dutis, 251 stars) and Jarvis Setup (ethanplusai/jarvis, 838 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
tw93 (a GitHub user) maintains it in tw93/Mole, which has 69,469 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 7, 2026.
Source: tw93/Mole on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.