Agent skill

Skill Cleaner

by iurysza in iurysza/module-graph

Audits installed Agent Skills for duplicates, unused candidates, loaded roots, oversized descriptions, and prompt cost.

MITAuto-check passedDevelopment

Install Skill Cleaner

skills CLI
$ npx skills add iurysza/module-graph --skill skill-cleaner -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install iurysza/module-graph skill-cleaner --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/iurysza/module-graph.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/skill-cleaner .claude/skills/skill-cleaner && rm -rf skills-src

Use ~/.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/

Facts

Skill name
skill-cleaner
GitHub stars
419
Token cost
~1k tokens
SKILL.md length
448 words
Files
2 (incl. scripts)
Skills in repo
16
Repo updated
First seen
Licence
MIT

At a glance

Audits installed Agent Skills for duplicates, unused candidates, loaded roots, oversized descriptions, and prompt cost.

  • Debugging skill collections
  • SKILL.md covers Workflow, Analyzer Notes and Privacy and Output Policy
  • Runs JavaScript scripts from its folder; calls node

What it does

Skill Cleaner is an agent skill from iurysza/module-graph. Audits installed Agent Skills for duplicates, unused candidates, loaded roots, oversized descriptions, and prompt cost. Use when cleaning or debugging skill collections.

Its SKILL.md is about 1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts. Compatibility notes: Requires Node.js 18 or newer. Usage-history analysis supports Codex and OpenClaw logs.

It sits in Development. The repository describes itself as: A Gradle Plugin for visualizing your project's structure, powered by mermaidjs. The licence is MIT.

When your agent uses it

  • Debugging skill collections

Example prompts

  • “Use the skill-cleaner skill to audit installed Agent Skills for duplicates, unused candidates, loaded roots, oversized descriptions, and prompt cost”
  • “/skill-cleaner”

Requirements

  • Node.js
  • Compatibility (from SKILL.md): Requires Node.js 18 or newer. Usage-history analysis supports Codex and OpenClaw logs.

What it can do on your machine

Read from SKILL.md and the folder at commit 15b0135. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/ (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires Node.js 18 or newer. Usage-history analysis supports Codex and OpenClaw logs.

    From compatibility in the SKILL.md frontmatter.

Context cost

Skill Cleaner loads about 1k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 448 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~46
When it runs · the whole SKILL.md, loaded when a task matches
~1k

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.

Safety

Auto-check passed

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); the scripts in this folder are not scanned.

SKILL.md

The full file from iurysza/module-graph at commit 15b0135, republished under its MIT licence (© iurysza). 448 words, ~1,042 tokens.

Download SKILL.mdSave it as .claude/skills/skill-cleaner/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
skill-cleaner
description
Audits installed Agent Skills for duplicates, unused candidates, loaded roots, oversized descriptions, and prompt cost. Use when cleaning or debugging skill collections.
compatibility
Requires Node.js 18 or newer. Usage-history analysis supports Codex and OpenClaw logs.
metadata.category
agent-workspace

Skill Cleaner

Use this when trimming skill prompt budget, finding duplicate skills, auditing enabled/disabled skill roots, or deciding which skills/plugins to remove.

Workflow

  1. Resolve this skill's directory from the loaded SKILL.md, then run its bundled analyzer:
bash
node ./scripts/skill-cleaner.mjs --no-logs

Useful variants:

bash
node ./scripts/skill-cleaner.mjs --months 3
node ./scripts/skill-cleaner.mjs --months 6 --max-log-mb 800 --deep-logs
node ./scripts/skill-cleaner.mjs --context-tokens 200000 --budget-percent 2 --no-logs
node ./scripts/skill-cleaner.mjs --root /path/to/another/skills-directory --no-logs
node ./scripts/skill-cleaner.mjs --json --no-logs
  1. Read the report in this order:
  • Skill Budget: GPT-5.5 context size, 2% skills budget, Codex-budgeted usage, and pre-budget full-list pressure.
  • Description candidates: long descriptions where relaxed grammar saves prompt budget.
  • Duplicates: same skill name or near-identical description/body across Codex, plugin cache, repo siblings, and personal skill roots.
  • Unused candidates: no recent $skill mention, SKILL.md read, or explicit skill-use trace in recent Codex/OpenClaw logs.
  • Root summary: where skills came from and whether config marks them disabled.
  1. Before deleting or editing:
  • Verify the kept copy exists and is loaded.
  • Treat cross-runtime duplicates as informational: separate runtimes may legitimately need separate copies.
  • Never delete managed plugin-cache files directly; use the runtime's plugin manager.
  • Delete a suggested duplicate only after verifying the kept path exists and the same runtime loads it.
  • Keep repo-local OpenClaw maintainer skills when they encode repo policy or live operations.
  • Preserve trigger nouns in descriptions: product, tool, action, object.

Analyzer Notes

  • The script mirrors Codex's model-visible line shape: - name: description (file: path).
  • It applies Codex-like frontmatter rules: YAML frontmatter only, default name from parent dir, single-line sanitized name and description.
  • It follows Codex core-skills/src/render.rs: 2% of raw context_window, token cost ceil(utf8_bytes / 4), then full descriptions -> equal description truncation -> omitted minimum lines.
  • It reads ~/.codex/models_cache.json for the selected model's context_window; fallback is 200,000 tokens and 2%. Pass --context-tokens for an exact budget.
  • It scans common global roots for .agents, Pi, Codex, Claude Code, OpenCode, and OpenClaw, plus skill roots in the current project and its ancestors.
  • Extra folders are included only with repeatable --root <path> flags.
  • It realpath-dedupes roots, so agent-specific symlinks to a shared skill directory do not create false duplicates.
  • For duplicate names, it reports description/body similarity and suggests deletion candidates only when bodies are near copies. Keep priority defaults to direct Codex system skills, then direct Codex skills, then plugin skills, then personal/repo copies.
  • It scans ~/.codex/history.jsonl and recent ~/.codex/sessions/**/*.jsonl by default. Add --deep-logs for archived sessions and common OpenClaw/Clawd log folders.
  • Usage evidence is heuristic: $skill, Use $skill, and paths like skills/<name>/SKILL.md.
Show full SKILL.md (72 more words)Show less

Privacy and Output Policy

  • Scanning stays local. The report emits paths and usage counts, not session contents.
  • Use --no-logs unless the user wants usage-history analysis.
  • Reports can contain usernames and local paths; review them before sharing.
  • Suggest first; edit only when the user asks.
  • If asked to apply cleanup, make small grouped commits: descriptions, deletes, config disables.
  • Do not delete ignored/untracked skill dirs without naming the destination or confirming they are disposable.

© iurysza, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in .agents/skills/skill-cleaner of iurysza/module-graph.

  • SKILL.md
  • scripts/skill-cleaner.mjs

Open the folder on GitHubat commit 15b0135

Compare with similar skills

Skill Cleaner 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 Cleaner compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Skill Cleaner this skilliurysza/module-graph419—~1kAutomated safety check: PassMIT
Vercel Composition Patternssupabase/supabase111k59 repos~726Automated safety check: PassMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k25 repos~4.2kAutomated safety check: PassMPL-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT

Similar skills

  • Official

    React composition patterns that scale. An agent skill from supabase/supabase.

    111k GitHub starsUsed in 59 repos~726 tokens
    DevelopmentAuto-check passed
  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 25 repos~4.2k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed

More from iurysza/module-graph

All 16 skills in this repo
  • Audio Transcribe

    iurysza/module-graph

    Transcribes local audio into Markdown with Gemini 3.5 Transcribe, including speaker labels and provider timestamps.

    419 GitHub starsUsed in 1 repo~1k tokens
    Auto-check passed
  • Chatgpt Imagegen

    iurysza/module-graph

    Generates or edits raster images through OpenAI's Image API.

    419 GitHub starsUsed in 1 repo~726 tokens
    Auto-check passed
  • Gemini Tts

    iurysza/module-graph

    Generates spoken MP3 audio from text or Markdown with Gemini TTS.

    419 GitHub starsUsed in 1 repo~968 tokens
    Auto-check passed
  • Brainstorming

    iurysza/module-graph

    Explores and validates a feature, component, workflow, or behavior change before implementation.

    419 GitHub stars~723 tokensUpdated yesterday
    Auto-check passed
  • Domain Modeling

    iurysza/module-graph

    Maintains project domain language, context maps, diagrams, and architectural decisions under ai-artifacts.

    419 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Reply Bro

    iurysza/module-graph

    Rewrites technical review replies as short, natural Slack or PR messages between engineers.

    419 GitHub stars~501 tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Skill Cleaner

What does Skill Cleaner do?

Audits installed Agent Skills for duplicates, unused candidates, loaded roots, oversized descriptions, and prompt cost. Skill Cleaner is an agent skill from iurysza/module-graph. Audits installed Agent Skills for duplicates, unused candidates, loaded roots, oversized descriptions, and prompt cost.

When should I use Skill Cleaner?

Skill Cleaner fits situations like: debugging skill collections.

How do I install Skill Cleaner in Claude Code?

Run `npx skills add iurysza/module-graph --skill skill-cleaner -a claude-code`. Or copy the skill folder (.agents/skills/skill-cleaner in iurysza/module-graph) into .claude/skills/skill-cleaner in your project. Claude Code loads it when a task matches its description.

How do I install Skill Cleaner in Codex?

Run `npx skills add iurysza/module-graph --skill skill-cleaner -a codex`. Or copy the skill folder (.agents/skills/skill-cleaner in iurysza/module-graph) into .agents/skills/skill-cleaner in your project. Codex loads it when a task matches its description.

Can I use Skill Cleaner in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add iurysza/module-graph --skill skill-cleaner -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-cleaner, .gemini/skills/skill-cleaner, .github/skills/skill-cleaner and .opencode/skills/skill-cleaner in your project.

What does Skill Cleaner need to run?

Going by SKILL.md and its folder, Skill Cleaner needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node). Our summary lists: Node.js. Compatibility (from SKILL.md): Requires Node.js 18 or newer. Usage-history analysis supports Codex and OpenClaw logs..

Does Skill Cleaner access the network?

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.

Is Skill Cleaner safe to install?

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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Skill Cleaner use?

Skill Cleaner is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Skill Cleaner use?

About 1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Skill Cleaner?

Skills that share tags, products or a category with Skill Cleaner: Vercel Composition Patterns (supabase/supabase, 111k stars), Finishing a Development Branch (obra/superpowers, 296k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars) and PR Babysitter (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Skill Cleaner?

iurysza (a GitHub user) maintains it in iurysza/module-graph, which has 419 GitHub stars. The repository holds 16 skills in this directory. The repository was last updated on October 7, 2026.

Source: iurysza/module-graph on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.