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.
npx skills add holoviz-dev/holoviz-skills --skill cleanupgit clone --depth 1 https://github.com/holoviz-dev/holoviz-skillsWrote 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/skills/holoviz-dev/holoviz-skills/cleanup)<a href="https://agentmods.dev/skills/holoviz-dev/holoviz-skills/cleanup"><img src="https://agentmods.dev/badge/skills/holoviz-dev/holoviz-skills/cleanup/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/skills/holoviz-dev/holoviz-skills/cleanup"><img src="https://agentmods.dev/badge/skills/holoviz-dev/holoviz-skills/cleanup.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00030 | $0.02959 |
| Opus 5.5 | $0.00012 | $0.01184 |
| Sonnet 5.5 | $0.00006 | $0.00592 |
| Haiku 4.5 | $0.00003 | $0.00296 |
Grade A, and why
cleanup scanned grade A with 1 finding 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 16d 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.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
- Catch the exceptions the code can raise (`subprocess.CalledProcessError`, `KeyError`), not bare `Exception`. A blind except also swallows the bug you'd want to see, and turns a crash into wrong output. How it starts
The opening of the file, as written. The whole thing — 158 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Cleanup
This skill covers code quality patterns and common pitfalls when writing, changing, refactoring or reviewing HoloViz code. When you're writing, apply the sections below as you go and run the scan in step 2 of the Review before you finish. Keeping slop out matters more with agents in the loop: every line costs tokens each time an agent reads it, and the agent treats what it reads as the standard and copies it into the next change.
Contents
Review
Review the change against the whole repo, not just the diff. The diff can't show a helper that already exists in another module, or a regex that's already parsed somewhere else, and those are the copies an agent adds most often. Writing something new is cheaper for it than finding what exists.
- Run
git diff main...HEADto see the change, then check it against the rest of the repo:- For each new function, search the repo for one that already does the same job. The existing helper may have a name you wouldn't guess, so search for what it does as well as for likely names, using a semantic codebase index if one is available.
- For each comment, check that what it claims is true.
- For each
try/except, say how the code inside could fail and what the caller sees when it does. If it can't fail, remove theexcept. - List the constants and helpers that are used only once, and for each, whether its name says something its value and call site don't.
- For each fix, say whether it's where the problem starts or where it showed up. When a traceback points at a caller, an agent tends to patch the caller, like adding
.strip()wherever a helper's output is used, instead of fixing the helper once. A PR that touches five files to work around a problem may have a two-line fix elsewhere.
- Run
python3 scripts/cleanup_scan.py <package dir>over the whole package, since it counts a constant's reads across every file it's given. It flags the findings a parser can see: file order, single-use constants, standard-library imports inside functions, docstrings that only repeat the name, blind excepts, and handlers that turn a failure intoNone. Fix each hit, or mark one that's right as written with# cleanup: ignore[rule-id]and the reason. - Delete first: dead guards, single-use constants whose name adds nothing, and wrappers that only reword an error. Each deletion shrinks what the rest of the review has to cover.
- Then review the change as a whole:
- Explain why this approach over the alternatives (mixin vs. inheritance vs. duplication); reviewers consistently ask for that rationale.
- Don't change an existing default or signature — that breaks users — unless a breaking change is the explicit goal of the PR.
- Treat every new
# noqaas a review question: ask what it works around, and whether the workaround is the real problem. A# noqa: B904explaining that a retry helper would otherwise show the raw database error to the model points at a retry helper that reads the wrong error. - Keep each PR to one change a reviewer can hold in their head and revert on its own; a commit that bundles eight fixes can't be rolled back one fix at a time. If fixing the review comments would touch most of the diff, recommend splitting the PR or starting over from a smaller request rather than a cleanup pass.
- Scrutinize AI-assisted code like any other; flag it and verify the behavior yourself.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 16d ago Changed · +1 lines 90a19f28c8d1
- 1mo ago Changed · +57 lines · -8 tokens per session 3c44cb1bf8e7
- 1mo ago Changed a4e9c4a81cc7
- 2mo ago First seen · 100 lines · 38 tokens per session scan A 477cab7a4a27
cleanup is a skill published in the GitHub repository holoviz-dev/holoviz-skills (5 stars, last pushed 2d ago), licensed BSD-3-Clause. It adds 30 tokens to every session and 2,959 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
cleanup compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| cleanupholoviz-dev/holoviz-skills | Skill | 5 | 2d ago | BSD-3-Clause | A | 30 | Claude Code |
| autoreviewopenclaw/clawhub | Skill | 9.5k | yesterday | MIT | A | 17 | Claude Code, Codex |
| agent-teams-simplify-and-hardenLeoYeAI/openclaw-master-skills | Skill | 2.2k | 6d ago | MIT | A | 115 | Claude Code, Codex |
| omh-code-reviewrlaope/oh-my-hermes | Skill | 5.2k | yesterday | MIT | A | 48 | Claude Code, Codex |
| revdiff-planumputun/revdiff | Skill | 945 | yesterday | MIT | A | 84 | Claude Code |
| explore-unknownsdzhng/skills | Skill | 1.4k | 2d ago | MIT | A | 162 | Claude Code, Codex |
| re0-mergeLilMGenius/paperthin | Skill | 1.4k | 4d ago | MIT | A | 70 | Claude Code |