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 broken-windows-huntgit 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/broken-windows-hunt)<a href="https://agentmods.dev/skills/ckorhonen/hone-skills/broken-windows-hunt"><img src="https://agentmods.dev/badge/skills/ckorhonen/hone-skills/broken-windows-hunt/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/broken-windows-hunt"><img src="https://agentmods.dev/badge/skills/ckorhonen/hone-skills/broken-windows-hunt.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.00069 | $0.01420 |
| Opus 5 | $0.00034 | $0.00710 |
| Sonnet 5 | $0.00014 | $0.00284 |
| Haiku 4.5 | $0.00007 | $0.00142 |
Grade A, and why
hone:broken-windows-hunt 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 12d 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 — 140 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Broken Windows Hunt
What This Skill Does
Scans the codebase for signs of accumulated technical neglect -- the "broken windows" that signal declining quality and invite further shortcuts. Each finding is a small fix that prevents larger decay.
Detected signal categories:
- Stale TODOs: TODO/FIXME/HACK/XXX comments with no linked issue or with dates older than 90 days.
- Disabled tests: tests marked skip, pending, xfail, or commented out.
- Lint suppressions: inline ignores, nolint, eslint-disable, type: ignore, and similar markers.
- Commented-out code: blocks of commented code longer than 3 lines that are clearly executable code, not documentation.
- Dead imports: imported symbols that are not referenced in the file.
- Empty catch/except blocks: error handlers that silently swallow exceptions.
- Deprecated API usage: calls to functions or methods marked deprecated via language-standard annotations or doc comments.
When To Use
- Daily scheduled sweep to catch new entropy before it compounds.
- After a sprint or release to assess accumulated shortcuts.
- When joining a new codebase to gauge maintenance health.
Do Not Use
- For feature development or refactoring planning (use other skills).
- For security vulnerability scanning (use a security tool).
- For style or formatting issues (use a linter).
- For deep architectural analysis (use intent-clarity-audit or naming-specificity-audit).
Inputs To Confirm
- Scope -- which directories or file patterns to scan (default: entire repo, excluding vendored/generated code).
- TODO age threshold -- how old a TODO must be to count as stale (default: 90 days, inferred from git blame).
- Categories to include -- which signal categories to check (default: all).
Instructions
- Identify the repository root and enumerate source files, excluding
vendored directories (
vendor/,node_modules/,.git/,third_party/), generated files, lock files, and binary assets. - Stale TODOs: search for TODO, FIXME, HACK, and XXX comments.
For each, check:
- Is there a linked issue number or URL? If yes, note it but still flag if the issue is closed or the comment is very old.
- Use
git blameon the line to determine age. Flag if older than the configured threshold. - Record the comment text, file path, line number, and age.
- Disabled tests: search for test-disabling patterns across
languages:
- JavaScript/TypeScript:
it.skip,describe.skip,xit,xdescribe,test.skip. - Python:
@pytest.mark.skip,@unittest.skip,@pytest.mark.xfail. - Ruby:
skip,pending,xit. - Go:
t.Skip(). - Java:
@Disabled,@Ignore. - Also detect fully commented-out test functions.
- JavaScript/TypeScript:
- Lint suppressions: search for inline suppression markers:
eslint-disable,@ts-ignore,@ts-expect-error,nolint,noqa,type: ignore,rubocop:disable,// noinspection,@SuppressWarnings,#pragma,NOLINT.- Record the rule being suppressed if specified.
- Commented-out code: identify blocks of 3+ consecutive commented lines that parse as valid code in the file's language. Exclude license headers, documentation blocks, and ASCII art.
- Dead imports: for each file, extract import/require/use statements and check whether the imported symbol appears elsewhere in the file. Flag unused imports.
- Empty catch blocks: find try/catch, try/except, rescue, or equivalent blocks where the error handler body is empty or contains only a comment.
- Deprecated API usage: search for deprecation annotations
(
@deprecated,@Deprecated,DeprecationWarning,[[deprecated]]) in the codebase, then find call sites of those deprecated symbols. - For each finding, record:
- Category (one of the seven above).
- File path and line number.
- The offending code snippet (1-3 lines).
- Severity:
high(disabled tests, empty catches),medium(stale TODOs, lint suppressions, deprecated usage),low(dead imports, short commented-out code). - Suggested fix (e.g., "remove dead import", "add error logging to catch block", "convert TODO to issue #N or delete").
- 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.
- 12d ago First seen · 140 lines · 69 tokens per session scan A 743646ab5f44
hone:broken-windows-hunt is a skill published in the GitHub repository ckorhonen/hone-skills (0 stars, last pushed 4mo ago), licensed MIT. It adds 69 tokens to every session and 1,420 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.