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 ckorhonen/hone-skills --skill naming-specificity-auditgit clone --depth 1 https://github.com/ckorhonen/hone-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/ckorhonen/hone-skills/naming-specificity-audit)<a href="https://agentmods.dev/skills/ckorhonen/hone-skills/naming-specificity-audit"><img src="https://agentmods.dev/badge/skills/ckorhonen/hone-skills/naming-specificity-audit/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/ckorhonen/hone-skills/naming-specificity-audit"><img src="https://agentmods.dev/badge/skills/ckorhonen/hone-skills/naming-specificity-audit.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.00070 | $0.01139 |
| Opus 5 | $0.00035 | $0.00570 |
| Sonnet 5 | $0.00014 | $0.00228 |
| Haiku 4.5 | $0.00007 | $0.00114 |
Grade A, and why
hone:naming-specificity-audit 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 11d 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 — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Naming Specificity Audit
What This Skill Does
Scans classes, modules, functions, and exported symbols for names that use vague generic suffixes or prefixes. These names hide intent and make codebases harder to navigate. The skill identifies each vague name, analyzes what the code actually does, and suggests a more specific alternative.
Target patterns include but are not limited to: Manager, Handler,
Processor, Helper, Utils, Utility, Service, Base,
Common, Misc, Impl, Core, Engine, Wrapper, Controller
(when used generically outside MVC frameworks).
When To Use
- Weekly scheduled audit of the full codebase.
- When reviewing a module that feels hard to navigate or understand.
- After a large refactor to catch names that no longer reflect the code's purpose.
Do Not Use
- For local variable or parameter naming (too noisy, too subjective).
- For enforcing a specific naming convention or casing style (use a linter).
- For dead code detection (use the broken-windows-hunt skill).
Inputs To Confirm
- Scope -- which directories or file patterns to scan (default: entire repo, excluding vendored/generated code).
- Framework context -- whether the project uses MVC or similar
frameworks where
ControllerandServiceare idiomatic (default: auto-detect from project structure). - Severity threshold -- whether to report all findings or only high-confidence ones (default: all).
Instructions
- Identify the repository root and enumerate source files, excluding vendored directories, generated files, and binary assets.
- Detect the project's framework conventions by checking for known
framework markers (e.g., Rails, Django, Spring, Express, Next.js).
If a framework uses
ControllerorServiceidiomatically, do not flag those patterns in framework-conventional locations. - For each source file, extract declarations of:
- Classes and structs.
- Modules and namespaces.
- Top-level and exported functions.
- Significant type aliases and interfaces.
- Check each name against the vague-name pattern list. A name is
flagged if it:
- Ends with a vague suffix (
UserManager,DataHandler). - Consists entirely of a vague word (
Utils,Helpers,Common). - Uses a vague prefix with no specificity (
BaseProcessor).
- Ends with a vague suffix (
- For each flagged name, analyze the implementation to determine what
the code actually does:
- Read the class/function body to identify its primary responsibility.
- Check method names and call patterns for clues.
- Note if the entity has a single clear responsibility or is doing too many things (which may indicate a design issue beyond naming).
- Suggest a more specific name based on the actual behavior:
UserManagerthat only fetches users ->UserRepositoryorUserFetcher.DataProcessorthat validates input ->InputValidator.StringUtilswith only formatting methods ->StringFormatter.
- Record each finding with:
- File path and line number of the declaration.
- Current name.
- What the code actually does (one sentence).
- Suggested replacement name.
- Confidence:
high(clear single responsibility, obvious better name),medium(reasonable suggestion, may need team input), orlow(entity does too many things; renaming alone will not help).
- Group findings by severity and produce the output report.
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.
- 11d ago First seen · 120 lines · 70 tokens per session scan A 0c9aadfde621
hone:naming-specificity-audit is a skill published in the GitHub repository ckorhonen/hone-skills (0 stars, last pushed 4mo ago), licensed MIT. It adds 70 tokens to every session and 1,139 once invoked, about $0.0003 per session on Opus 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-08-31.
Other skills, from other repositories
review-pr
Multi-agent PR review with four modes (review, re-review, self-review, address-feedback) - spawns parallel subagents, saves diff to /tmp for context efficiency, supports file exclusion patterns.
Biome
Biome 2.x — fast all-in-one web toolchain in Rust. Formats, lints, assists. Replaces Prettier + ESLint.
biome
Biome - Fast all-in-one toolchain for web projects (linter + formatter in Rust, 100x faster than ESLint).
vibe-check
Audit code for "vibe coding sins" — patterns that indicate AI-generated code was accepted without proper review. Produces a scored report card with fix suggestions.
ruff-docs
Ruff — fast Python linter and formatter in Rust. 900+ rules, Black-compatible formatter, LSP, CI/CD.
recipe-front-review
Reviews completed frontend implementation for governing-source compliance, scope economy, repository quality, and security, then applies user-approved React corrections.