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 melodic-software/claude-code-plugins --skill audit-file-namesgit clone --depth 1 https://github.com/melodic-software/claude-code-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/skills/melodic-software/claude-code-plugins/audit-file-names)<a href="https://agentmods.dev/skills/melodic-software/claude-code-plugins/audit-file-names"><img src="https://agentmods.dev/badge/skills/melodic-software/claude-code-plugins/audit-file-names/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/melodic-software/claude-code-plugins/audit-file-names"><img src="https://agentmods.dev/badge/skills/melodic-software/claude-code-plugins/audit-file-names.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.00108 | $0.02019 |
| Opus 5.5 | $0.00043 | $0.00808 |
| Sonnet 5.5 | $0.00022 | $0.00404 |
| Haiku 4.5 | $0.00011 | $0.00202 |
Grade A, and why
audit-file-names 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 14d 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 — 165 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Repository context. Gather first
Collect these with individual Bash calls, one command per call, never combined into a single invocation:
- Current branch,
git branch --show-current - Working tree status (empty = clean),
git status --porcelain | head -20 - Repository root,
git rev-parse --show-toplevel
The pipe is the bound and belongs in the command. A read-time cap bounds nothing: the Bash tool returns the command's complete output into context before there is anything to decide about.
Treat a failure as an unknown value and carry on.
Purpose
A documentation tree drifts one file at a time, and by the time anyone notices, the cost of fixing it is not the renames. It is finding every citation of every renamed file, deciding which of them may be rewritten, and not corrupting a generated record or a released changelog entry on the way through.
This skill does the finding and the deciding, and writes the result down. It
renames nothing. /docs-naming:realign-file-names executes the plan, one
acceptance at a time.
Read these before presenting anything
| Read | For |
|---|---|
context/tiers.md |
the form table to print before any plan, and why a historical tier keeps its links while a released tier is frozen |
../../context/file-name-findings.md |
where the artifact goes, its shape, its stable ids, its status arcs, and the re-audit merge |
../../reference/config.md |
every configuration key, its default, and which layer may supply it |
Facts before judgment
Three scripts produce the facts. Run them in order and build the plan on what they emit.
-
Inventory the tree:
${CLAUDE_SKILL_DIR}/scripts/inventory.sh --root <repo>It emits
OFFENDER,COLLISION,EXEMPT, andSCANNEDrows. ACOLLISIONrow means the plan would put two paths differing only by case into one tree. Stop there. Report the pair and the reason, and propose nothing: on a case-insensitive checkout the second file overwrites the first, so this is a corrupted tree rather than a plan to review. ASCANNED 0row, with its stderr warning, means nothing is tracked under the roots. Report that and stop: it is an empty root, not a clean tree. Done when: aSCANNEDrow with a nonzero count is present and theCOLLISIONcount is zero, or the run reported an empty root and stopped.
What ships with it
22 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.
- context/tiers.md 3.2 KB
- evals/evals.json 3.9 KB
- scripts/emit-findings.sh 8.7 KB runs code
- scripts/emit-findings.test.sh 9.1 KB runs code
- scripts/fixtures/build-fixture.sh 1.6 KB runs code
- scripts/fixtures/config.json 984 B
- scripts/fixtures/tree/build/out.json 87 B
- scripts/fixtures/tree/CHANGELOG.md 189 B
- scripts/fixtures/tree/docs/adr/0001-historical.md 373 B
- scripts/fixtures/tree/docs/Alpha-One.md 343 B
- scripts/fixtures/tree/docs/BETA.md 268 B
- scripts/fixtures/tree/docs/frozen/t/NOTES.md 122 B
- scripts/fixtures/tree/docs/Gamma_Three.md 111 B
- scripts/fixtures/tree/docs/README.md 122 B
- scripts/fixtures/tree/docs/tool.py 105 B runs code
- scripts/fixtures/tree/docs/v1.2.schema.json 68 B
- scripts/fixtures/tree/README.md 516 B
- scripts/fixtures/tree/tools/gen.sh 466 B runs code
- scripts/inventory.sh 11 KB runs code
- scripts/inventory.test.sh 9.2 KB runs code
- scripts/sweep.sh 15 KB runs code
- scripts/sweep.test.sh 12 KB runs code
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.
- 14d ago Changed · -2 lines 855927a7b6fe
- 16d ago Changed · +9 lines 8048c87678eb
- 17d ago Changed · -52 tokens per session 44f85a245752
- 1mo ago First seen · 158 lines · 160 tokens per session scan A af50560d54a6
audit-file-names is a skill published in the GitHub repository melodic-software/claude-code-plugins (25 stars, last pushed today), licensed MIT. It adds 108 tokens to every session and 2,019 once invoked, about $0.0004 per session on Opus 5.5. 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-09-13.
Other skills, from other repositories
parallel-orchestrator
Manage parallel Claude Code workstreams using git worktrees. Use when: splitting large tasks across multiple workers, coordinating parallel development, monitoring worker progress, integrating completed work, analyzing work item documents (code reviews, issue lists). Triggers: parallel, orchestrator, worktrees…
parallel-worker
Execute focused implementation tasks in a parallel workflow. Use when: working on assigned files in a worktree, making checkpoint commits, signaling dependencies or blockers, completing orchestrator-assigned tasks. Triggers: worker, checkpoint, worktree, assigned scope, commit prefix, parallel task.
optimize-local-search
For NP-hard optimization: TSP, scheduling, assignment problems. Uses greedy construction + local improvement (2-opt, hill climbing).
pass-function-as-arg
For generic algorithms: strategy pattern, callbacks, configurable behavior. Pass functions as parameters to customize algorithm behavior.
solve-constraint-puzzle
For constraint satisfaction: Sudoku, scheduling, N-queens, logic puzzles, SAT-like problems, assignment problems. Uses propagate-then-search pattern.
test-with-examples
For example-driven development: test cases as specifications, input/output pairs, documentation through examples.