ai-prune
Skill6 starsChanged 6 days agoMITView on GitHub
If a slash or dollar invocation already added these instructions to the conversation, follow them directly. In that case, do not invoke this skill again through a skill tool. Review everything under .ai/ and .cache/. Decide which entries are clearly outdated relative to the repository's current state. Archive the matching .ai/ entries. Move the matching .cache/ entries to the macOS Trash. Prefer to keep entries. Change only entries with concrete evidence that they are outdated. This skill runs only on…
1 other project uses a version of this.
Adopted by
Most recently taken up by
- PaulRBerg/agent-skillsword for word, first seen Oct 24, 2026
Other versions1 project uses a version of this.
Word for word · 1
- PaulRBerg/agent-skills★ 104100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository44 other files it gives its agents.
- AGENTS.mdAGENTS.md
- agents-brainSkill
- agents-docsSkill
- agents-introspectionSkill
- agents-systemSkill
- apple-device-integrationSkill
- brainstorm-with-meSkill
- chromium-browserSkill
- cli-castSkill
- cli-coingeckoSkill
- cli-ghSkill
- cli-justSkill
- codebase-designSkill
- code-polishSkill
- commitSkill
- copy-transcript-pathSkill
- effect-tsSkill
- evm-atlasSkill
- fresh-eyes-sweepSkill
- frontend-designSkill
- grill-meSkill
- html-playgroundSkill
- interview-meSkill
- large-file-refactorSkill
- naming-refactorSkill
- node-deps-bumperSkill
- orchestrationSkill
- pdfSkill
- release-bumperSkill
- repo-fanoutSkill
- repo-harmonizationSkill
- repo-renameSkill
- retroSkill
- skill-harmonizationSkill
- social-mediaSkill
- spreadsheetsSkill
- tailwind-cssSkill
- task-handoffSkill
- todo-archiveSkill
- tool-finderSkill
- vitestSkill
- wrap-upSkill
- writing-editorSkill
- yeetSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
If a slash or dollar invocation already added these instructions to the conversation, follow them directly.
- Very specific: line 52
Keep -I because these trees are usually Git-ignored.
- Distinctive: line 55
Do not run per-file commands over the inventory.
- Distinctive: line 67
Keep and list as uncertain anything without such evidence, anything still referenced by live docs, scripts, or configuration, and anything …
- Very specific: line 78
Remove directories under .ai/ that became empty, except the protected ones.
- Very specific: line 80
Verify by listing .ai/archive/$today/ and re-running the inventory from step 2.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
AI Prune
If a slash or dollar invocation already added these instructions to the conversation, follow them directly. In that case, do not invoke this skill again through a skill tool.
Review everything under .ai/ and .cache/. Decide which entries are clearly outdated relative to the repository's
current state. Archive the matching .ai/ entries. Move the matching .cache/ entries to the macOS Trash. Prefer to
keep entries. Change only entries with concrete evidence that they are outdated.
This skill runs only on macOS. If uname -s is not Darwin or /usr/bin/trash is missing, stop and report.
Arguments
path(optional): Repository root or any path inside the repository. Default to the current directory.--dry-run(optional): Report the planned moves and deletions without changing the filesystem.
Never Touch
.ai/todos/and.ai/archive/(including everything beneath them).TODO.mdandPROMPT.mdfiles anywhere: they are user-owned notes. Do not read or move them.- Live agent state: coordination ledgers, leases, locks, inboxes, and notification queues (for example
.ai/coord/,.cache/job-leases/). If another agent may currently write to a directory, treat it as live, not outdated. - Tool-managed caches that the repository's configuration still uses (prettier, ruff, pytest, uv, vitest, coverage, bundler and package-manager caches). Tools regenerate them on demand. They are never "outdated".
- Anything modified within the last 24 hours, unless it is unambiguously a leftover of finished work.
Workflow
Resolve the root. For a supplied file, use its containing directory. For a supplied directory, use that directory. Inside Git, resolve the Git root with
git -C "$start_dir" rev-parse --show-toplevel. Outside Git, use the directory itself.Store the root as
repo_root. Computetoday=$(date +%Y-%m-%d). If neither.ai/nor.cache/exists, stop.Inventory both trees with modification times, excluding the protected paths:
fd -H -I -l -t f -E todos -E archive -E TODO.md -E PROMPT.md . "$repo_root/.ai" fd -H -I -l -t f . "$repo_root/.cache"Keep
-Ibecause these trees are usually Git-ignored. Without it, nested ignore patterns (for example a globalPLAN.mdrule) silently omit entries from the inventory.Do not run per-file commands over the inventory. Read the listing. Open only files whose relevance is unclear.
Establish the present state of the repository:
git log --oneline -30, the current tree,README.md,AGENTS.mdorCLAUDE.md, and the task runner or tool configuration. Then assess each entry. Assess a whole directory only when the same decision applies to all its contents. Treat an entry as clearly outdated only when evidence such as the following applies:- A plan, handoff, thread, or report whose work is visibly complete in the Git history or the current tree.
- Notes that reference files, symbols, branches, PRs, or tools that no longer exist.
- Debriefs, evidence captures, renders, logs, or temporary directories (random suffixes,
.tmp, dated run folders) from a task that has finished. - Caches or outputs for tooling the repository no longer configures.
Keep and list as uncertain anything without such evidence, anything still referenced by live docs, scripts, or configuration, and anything protected above.
- Apply the decisions unless
--dry-runwas given:.ai/entries: move each to.ai/archive/$today/<path relative to .ai>so the archive mirrors the original layout. Create parent directories withmkdir -p. A same-day re-run merges into the existing dated folder. If the destination path already exists, leave the source in place and report the collision. Do not overwrite the destination..cache/entries: move to the Trash with/usr/bin/trash -s <path>...in one call for all entries.-sfails on the first path that cannot be moved. Never userm. Finder can restore trashed entries. Still classify any borderline entry as "kept".- Remove directories under
.ai/that became empty, except the protected ones.
- Verify by listing
.ai/archive/$today/and re-running the inventory from step 2. Every path you acted on must be absent from its source. These directories are usually Git-ignored. Verify on the filesystem rather than withgit diff.
Completion
Report one outcome line, then a table with columns Path, Action (archived, trashed, kept), and Reason.
Include kept entries only when you considered them and judged them uncertain. Do not list protected or obviously live
paths. Keep paths, commands, and diagnostics undecorated.
- Success:
🗂️ Archived <n> → .ai/archive/<today> · Trashed <m> from .cache · Kept <k> uncertain - No-op:
✅ Nothing outdated under .ai or .cache · Kept <k> uncertain - Dry run:
🔎 Would archive <n> → .ai/archive/<today> · Would trash <m> from .cache · Kept <k> uncertain
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

