Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/MSApps-Mobile/claude-pluginsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/plugins/msapps-mobile/claude-plugins/claude-folder-janitor)<a href="https://agentmods.dev/plugins/msapps-mobile/claude-plugins/claude-folder-janitor"><img src="https://agentmods.dev/badge/plugins/msapps-mobile/claude-plugins/claude-folder-janitor/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/plugins/msapps-mobile/claude-plugins/claude-folder-janitor"><img src="https://agentmods.dev/badge/plugins/msapps-mobile/claude-plugins/claude-folder-janitor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>Grade A, and why
claude-folder-janitor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 43 lines — stays where its author put it; the contents beside it link to each section on GitHub.
{
"name": "claude-folder-janitor",
"description": "Dry-run-first cleanup of ~/.claude: old .claude.json backups, empty session-env folders, a stale changelog cache, and the transcripts of projects whose folders no longer exist. Lists every candidate with size and reason; deletes only on /janitor apply. Never touches skills, plugins, scheduled tasks, settings or history.",
"version": "0.1.1",
"author": {
"name": "MSApps",
"url": "https://claudeservices.ai"
},
"license": "MIT",
"homepage": "https://github.com/MSApps-Mobile/claude-plugins/tree/main/plugins/claude-folder-janitor",
"repository": "https://github.com/MSApps-Mobile/claude-plugins",
"privacy_policy": "https://opsagents.agency/privacy",
"terms_of_service": "https://opsagents.agency/terms",
"keywords": [
"claude-code",
"cleanup",
"disk",
"transcripts",
"maintenance",
"sosa-agents"
],
"platforms": [
"claude-code",
"cowork"
],
"sosa": {
"compliant": true,
"level": 2,
"impact": "medium",
"methodology": "https://github.com/MSApps-Mobile/claude-plugins/blob/main/docs/SOSA.md",
"whitepaper": "https://github.com/MSApps-Mobile/claude-plugins/blob/main/docs/sosa-whitepaper.pdf",
"pillars": {
"supervised": "Dry run is the default and lists every candidate with rule, size and reason; deletion happens only on an explicit /janitor apply, which re-derives the same list and removes exactly those paths",
"orchestrated": "dry run → review → apply → summary (removed, failed, KB freed, elapsed); one eligibility function per rule decides both the listing and the deletion",
"secured": "Local filesystem only, no network, no credentials, never sudo; every path is checked to resolve inside ~/.claude under one of four rule roots and never under skills/, plugins/, scheduled-tasks/, CLAUDE.md, settings*.json or history.jsonl",
"agents": "R=claude-folder-janitor, T=bash+find+du, M=none (stateless), P=dry-run-then-apply"
What it installs
The manifest is a name and a version. 1 skill, 1 command travel with it, and installing the plugin installs all of them — 121 tokens a session between them. Each is measured on its own page, and each can be installed alone.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 10d ago First seen · 43 lines scan A b89be45a968a
claude-folder-janitor is a plugin published in the GitHub repository MSApps-Mobile/claude-plugins (10 stars, last pushed yesterday), licensed MIT. Its token cost is not measured: this kind of file is read by the harness, not the model. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-27.
claude-folder-janitor compared with plugins from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| claude-folder-janitorMSApps-Mobile/claude-plugins | Plugin | 10 | yesterday | MIT | A | — | Claude Code |
| moai-coworkermodu-ai/moai-cowork | Plugin | 315 | 28d ago | Apache-2.0 | A | — | Claude Code |
| moai-officermodu-ai/moai-cowork | Plugin | 315 | 28d ago | Apache-2.0 | A | — | Claude Code |
| agentic-osnaveedharri/benai-skills | Plugin | 78 | 28d ago | MIT | A | — | Claude Code |
| file-lifecyclechoiyounggi/groundwork | Plugin | 4 | 2d ago | MIT | A | — | Claude Code |
| ai-psychiatryihabkhaled/AI-Psychiatry | Plugin | 11 | 1mo ago | MIT | A | — | Claude Code |
| rad-google-workspaceRadOrigin-LLC/RAD-Claude-Skills | Plugin | 5 | 2mo ago | Apache-2.0 | A | — | Claude Code |