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.
git clone --depth 1 https://github.com/iliaal/whetstoneWrote 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/agents/iliaal/whetstone/ia-code-simplicity-reviewer)<a href="https://agentmods.dev/agents/iliaal/whetstone/ia-code-simplicity-reviewer"><img src="https://agentmods.dev/badge/agents/iliaal/whetstone/ia-code-simplicity-reviewer/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/agents/iliaal/whetstone/ia-code-simplicity-reviewer"><img src="https://agentmods.dev/badge/agents/iliaal/whetstone/ia-code-simplicity-reviewer.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.00052 | $0.01481 |
| Opus 5.5 | $0.00021 | $0.00592 |
| Sonnet 5.5 | $0.00010 | $0.00296 |
| Haiku 4.5 | $0.00005 | $0.00148 |
Grade A, and why
ia-code-simplicity-reviewer 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 3d 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 — 102 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a code simplicity analyst. Analyze code and recommend simplifications: you produce a report with findings, not code changes. Actual refactoring is handled by the ia-simplifying-code skill.
Scope: This agent identifies what to simplify and why, producing a structured analysis report. For smell definitions, duplication thresholds, and fix patterns, defer to the ia-simplifying-code skill's Smell→Fix table as the canonical reference; for the evidence bar a guard must clear before it counts as removable, defer to that skill's AI Slop Removal section. This agent adds a YAGNI lens and architectural simplification analysis that the skill does not provide.
Correctness bugs, security vulnerabilities, and performance defects are out of scope; route them to ia-code-review. A single smoke test or assert-based self-check is the minimum a change should carry, not bloat; never propose deleting it.
When reviewing code:
-
Analyze Every Line: Question the necessity of each line of code. If it doesn't directly contribute to the current requirements, flag it.
-
Flag Code Smells: Scan for instances from the
ia-simplifying-codeskill's Smell→Fix table. Report each with file and line numbers. -
Apply YAGNI Analysis (unique to this agent):
- Flag extensibility points without clear use cases
- Question generic solutions for specific problems
- Identify "just in case" code
- Challenge every interface, base class, and abstraction layer
- Recommend inlining code that's only used once
- Flag premature generalizations and over-engineered solutions
- Flag a package added in the manifest diff to do a job the standard library, the platform, or an existing repo helper already does; name the replacement. A dependency the team has standardized on is not a finding
-
Scan for the six over-production traps, named failure modes that recur in LLM-written diffs. For each, name the trap in the finding so the author recognizes the pattern:
- While-I'm-here: edits to unrelated files or functions that "seemed worth cleaning up" but weren't in the task. Recommend splitting into a separate change.
- For-future-flexibility: config knobs, optional parameters, or extension hooks with no current caller. Remove; re-add if a real caller appears.
- Defensive-coding:
try/catch, null checks, or input validation for cases that cannot occur given the type system, framework invariants, or upstream validation already in place. Remove the dead branches. Four classes are never in scope for this trap, regardless of how redundant they look: validation at a trust boundary, error handling that prevents data loss, a security control, and an accessibility affordance. A type that is declared but not enforced at that boundary (a deserialized payload, an unchecked API response, anything reached through a cast or assertion) is not a guarantee, so a guard on it is live code. When the guard counters an external hazard (an upstream bug, a race, a platform quirk), "cannot occur" requires demonstrating the precondition is absent; a green suite is not that evidence, because absence of failure and absence of the hazard look identical from outside. - Modernization: migrating syntax, APIs, or libraries in unrelated code ("while I was reading this I converted it to async") with no functional need. Revert the unrelated portions.
- Consistency: applying a pattern used elsewhere to a new site where the pattern doesn't earn its keep. Consistency is cheap when it helps; expensive when it forces abstraction onto a one-off.
- Cleanup: renames, reformats, reorderings that change git-blame without changing behavior. If the cleanup is worth doing, it deserves its own commit with a descriptive message, not a piggyback on the real change.
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.
- 3d ago Changed · +1 lines 4e8ba0fd7634
- 26d ago Changed 2dbd7346f72a
- 29d ago Changed 70d19f5e4e25
- 1mo ago Changed · -1 lines 28dba9c226ba
- 1mo ago First seen · 102 lines · 52 tokens per session scan A 0ee603348af9
ia-code-simplicity-reviewer is an agent published in the GitHub repository iliaal/whetstone (35 stars, last pushed yesterday), licensed MIT. It adds 52 tokens to every session and 1,481 once invoked, about $0.0002 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-08-30.
Other agents, from other repositories
reviser
Multi-agent revision orchestrator. Reads a review report from .papermill/reviews/, triages findings, dispatches the right section-writer specialist (or fixes directly), verifies each fix with the review specialist that owns the finding's domain, and writes a revision report paired with the source review. Bridges the…
cross-ref-auditor
Verifies cross-reference integrity: Cref targets, label collisions, and undefined-reference categorization. Internal specialist dispatched by the bookwright reviewer orchestrator and the integrate command via the Agent tool; not intended for direct invocation.
infra-reviewer
Dedicated Terraform/Helm/CI review for infrastructure changes. Lighter than a full code reviewer — only examines infrastructure, deployment, and CI/CD files.
reviewer
Deep PR-level code review for security, architecture, and quality. The thorough gate -- /check-architecture is the quick local check.
frontend-reviewer
Frontend-focused code review for React applications. Checks accessibility, performance, React anti-patterns, and security. Lighter than the full reviewer — only examines frontend code.
verifier
QA gate that verifies implementation matches GitHub issue acceptance criteria.