[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71RR5CRA4JH4KCCCV2ZEG8A":3,"skill-same:01M71RR5CRA4JH4KCCCV2ZEG8A":71},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":54,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M71RR5CRA4JH4KCCCV2ZEG8A","agent-cleaner-skills",null,"Identify unused Claude Code skills, subagents, and MCP servers and disable them to reduce system-prompt context bloat. Use when the user asks to clean up \u002F slim \u002F 瘦身 their installed skills, subagents, or MCP servers, audit which are unused, or recover context budget.","legendtkl\u002Fagent-cleaner","legendtkl","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F2370761?v=4","01M71RR3WRQC40G964Q2GVDMND","01M71RR3XD9TJ7YJEPRSX523JG",3,"MIT","https:\u002F\u002Fgithub.com\u002Flegendtkl\u002Fagent-cleaner\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code\u002Fskills\u002Fagent-cleaner-skills\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"agent cleaner skills","up","when","unused","servers","bloat","reduce","which","slim","clean","MCP","use","context budget","prompt","system","Budget","audit","mcp servers","code","claude code skills","2026-11-10 13:02:02",false,"---\nname: agent-cleaner-skills\ndescription: Identify unused Claude Code skills, subagents, and MCP servers and disable them to reduce system-prompt context bloat. Use when the user asks to clean up \u002F slim \u002F 瘦身 their installed skills, subagents, or MCP servers, audit which are unused, or recover context budget.\n---\n\n# agent-cleaner — skills, subagents, and MCP server slimming\n\nWhen the user wants to slim Claude Code skills, subagents, or MCP servers,\nfollow the same flow: enumerate → suggest → confirm → disable. The CLI exposes\nthree parallel command trees: `skills`, `subagents`, and `mcp`.\n\n## 1. Locate the bundled CLI\n\nThe CLI is at `${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs`. If `CLAUDE_PLUGIN_ROOT` is unset, compute it as the directory two levels above this `SKILL.md`. Always invoke via `node \u003Cabs-path>` — never rely on PATH.\n\n## 2. Listing and suggesting\n\n```bash\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" skills suggest --json\n```\n\nThe output is a JSON array of suggestions, each with `id`, `name`, `source`, `reason` (`never-used` | `stale`), `confidence` (`high` | `medium` | `low`), `details`.\n\nIf the user wants to see all skills (not just suggestions), use `skills list --json` instead.\n\n## 3. Confirm with the user\n\nShow the suggestion list as a compact table (id + reason + confidence). **Never disable without explicit user confirmation.** The user may want to keep some \"stale\" skills.\n\nIf the user wants to adjust the staleness threshold, mention they can pass `--unused-for=60d` (or `2w`, `3m`, `1y`) on the command line, or persist a default in `~\u002F.agent-cleaner\u002Fconfig.json`:\n\n```json\n{ \"unusedForDays\": 60 }\n```\n\n## 4. Disable\n\nEither pass specific ids:\n\n```bash\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" skills disable user:lark-mail plugin:foo@bar:thing --yes\n```\n\nOr apply all current suggestions in one shot:\n\n```bash\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" skills disable --all-suggested --yes\n```\n\nAfter disable succeeds, tell the user: **\"Disabled N skills. Restart Claude Code for the change to take effect — the disabled skill descriptions will no longer appear in your system prompt.\"**\n\n## 5. Other operations\n\n- `skills enable \u003Cid...>` — undo a disable.\n- `skills status [--json]` — list currently-disabled skills, and detect\u002Fauto-reapply any that an upstream plugin upgrade or `npx skills update` may have restored.\n- `skills list --json` — full inventory with `lastUsed` and `callCount`.\n\n## 6. Subagents and MCP servers\n\nThe same verbs apply with `subagents` or `mcp` instead of `skills`:\n\n```bash\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" subagents suggest --json\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" subagents disable subagent:user:reviewer --yes\n\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" mcp suggest --json\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" mcp disable mcp:user:linear --yes\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" mcp disable --all-suggested --yes\n```\n\nMCP servers are enumerated from `~\u002F.claude.json` `.mcpServers` (user scope) and\neach installed plugin's `.mcp.json`. Usage is detected from\n`mcp__\u003Cserver>__\u003Ctool>` tool calls in transcripts.\n\n## Constraints\n\n- **Built-in skills cannot be disabled** (`init`, `review`, `security-review`, `update-config`, etc.). They live inside the Claude Code binary; the CLI will return `BuiltinSkillCannotDisableError` if you try.\n- **Disable is reversible.** Skills and subagents rename `*.md` ↔ `*.md.agent-cleaner-disabled`; MCP servers are spliced out of their JSON config and the original block is stashed in state. `enable` reverses both kinds.\n- The CLI maintains its own state at `~\u002F.agent-cleaner\u002Fstate-claude-code.json`. Don't edit it by hand.\n","# agent-cleaner — skills, subagents, and MCP server slimming\n\nWhen the user wants to slim Claude Code skills, subagents, or MCP servers,\nfollow the same flow: enumerate → suggest → confirm → disable. The CLI exposes\nthree parallel command trees: `skills`, `subagents`, and `mcp`.\n\n## 1. Locate the bundled CLI\n\nThe CLI is at `${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs`. If `CLAUDE_PLUGIN_ROOT` is unset, compute it as the directory two levels above this `SKILL.md`. Always invoke via `node \u003Cabs-path>` — never rely on PATH.\n\n## 2. Listing and suggesting\n\n```bash\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" skills suggest --json\n```\n\nThe output is a JSON array of suggestions, each with `id`, `name`, `source`, `reason` (`never-used` | `stale`), `confidence` (`high` | `medium` | `low`), `details`.\n\nIf the user wants to see all skills (not just suggestions), use `skills list --json` instead.\n\n## 3. Confirm with the user\n\nShow the suggestion list as a compact table (id + reason + confidence). **Never disable without explicit user confirmation.** The user may want to keep some \"stale\" skills.\n\nIf the user wants to adjust the staleness threshold, mention they can pass `--unused-for=60d` (or `2w`, `3m`, `1y`) on the command line, or persist a default in `~\u002F.agent-cleaner\u002Fconfig.json`:\n\n```json\n{ \"unusedForDays\": 60 }\n```\n\n## 4. Disable\n\nEither pass specific ids:\n\n```bash\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" skills disable user:lark-mail plugin:foo@bar:thing --yes\n```\n\nOr apply all current suggestions in one shot:\n\n```bash\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" skills disable --all-suggested --yes\n```\n\nAfter disable succeeds, tell the user: **\"Disabled N skills. Restart Claude Code for the change to take effect — the disabled skill descriptions will no longer appear in your system prompt.\"**\n\n## 5. Other operations\n\n- `skills enable \u003Cid...>` — undo a disable.\n- `skills status [--json]` — list currently-disabled skills, and detect\u002Fauto-reapply any that an upstream plugin upgrade or `npx skills update` may have restored.\n- `skills list --json` — full inventory with `lastUsed` and `callCount`.\n\n## 6. Subagents and MCP servers\n\nThe same verbs apply with `subagents` or `mcp` instead of `skills`:\n\n```bash\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" subagents suggest --json\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" subagents disable subagent:user:reviewer --yes\n\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" mcp suggest --json\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" mcp disable mcp:user:linear --yes\nnode \"${CLAUDE_PLUGIN_ROOT}\u002Flib\u002Fagent-cleaner.mjs\" mcp disable --all-suggested --yes\n```\n\nMCP servers are enumerated from `~\u002F.claude.json` `.mcpServers` (user scope) and\neach installed plugin's `.mcp.json`. Usage is detected from\n`mcp__\u003Cserver>__\u003Ctool>` tool calls in transcripts.\n\n## Constraints\n\n- **Built-in skills cannot be disabled** (`init`, `review`, `security-review`, `update-config`, etc.). They live inside the Claude Code binary; the CLI will return `BuiltinSkillCannotDisableError` if you try.\n- **Disable is reversible.** Skills and subagents rename `*.md` ↔ `*.md.agent-cleaner-disabled`; MCP servers are spliced out of their JSON config and the original block is stashed in state. `enable` reverses both kinds.\n- The CLI maintains its own state at `~\u002F.agent-cleaner\u002Fstate-claude-code.json`. Don't edit it by hand.\n",{"name":5,"description":7},"main","f7ac29364416fd62f3ec6bf2d4ec34101710a5cf","plugins\u002Fclaude-code\u002Fskills\u002Fagent-cleaner-skills",0,"https:\u002F\u002Fgithub.com\u002Flegendtkl\u002Fagent-cleaner","https:\u002F\u002Fgithub.com\u002Flegendtkl","http:\u002F\u002Fwww.legendtkl.com","No secret before debugging.\r\n","2026-05-11 11:17:22",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add legendtkl\u002Fagent-cleaner --skill agent-cleaner-skills",{"tool":63,"command":64},"bunx","bunx skills add legendtkl\u002Fagent-cleaner --skill agent-cleaner-skills",{"tool":66,"command":67},"pnpm","pnpm dlx skills add legendtkl\u002Fagent-cleaner --skill agent-cleaner-skills","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flegendtkl\u002Fagent-cleaner\u002Fblob\u002Fmain\u002Fplugins\u002Fclaude-code\u002Fskills\u002Fagent-cleaner-skills\u002FSKILL.md",true,[],[72,81,91],{"skillNo":73,"name":74,"nameZh":6,"description":75,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":76,"categories":77,"keywords":78,"publishedAt":43},"01M71RRATE35P90NDC2P4DN0YZ","foo","A test skill named foo","https:\u002F\u002Fgithub.com\u002Flegendtkl\u002Fagent-cleaner\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Ffoo\u002FSKILL.md",[],[74,79,80],"Test Skill","test",{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":43},"01M71RR9W7N4DFXFVDS6SX92ED","bar","飞书 — bar with quoted Chinese","https:\u002F\u002Fgithub.com\u002Flegendtkl\u002Fagent-cleaner\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskills\u002Fbar\u002FSKILL.md",[],[83,88,89,90],"quoted","with","chinese",{"skillNo":92,"name":5,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":97,"publishedAt":43},"01M71RR7GMR3Y9G7JTAD87B4PV","Identify unused Codex skills and MCP servers and disable them to reduce system-prompt context bloat. Use when the user asks to clean up \u002F slim \u002F 瘦身 their Codex skills or MCP servers, audit which are unused, or recover context budget.","https:\u002F\u002Fgithub.com\u002Flegendtkl\u002Fagent-cleaner\u002Fblob\u002Fmain\u002Fplugins\u002Fcodex\u002Fskills\u002Fagent-cleaner-skills\u002FSKILL.md",[96],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},[23,29,25,26,27,98,28,33,30,31,32,24,34,35,36,37,38,39,40,99],"codex skills","codex"]