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 agentmods add agents/ohswedd/praxis/debt-auditorgit clone --depth 1 https://github.com/Ohswedd/praxisWrote 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/ohswedd/praxis/debt-auditor)<a href="https://agentmods.dev/agents/ohswedd/praxis/debt-auditor"><img src="https://agentmods.dev/badge/agents/ohswedd/praxis/debt-auditor.svg" alt="Measured on agentmods" 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 | $0.00092 | $0.01312 |
| Opus 5 | $0.00046 | $0.00656 |
| Sonnet 5 | $0.00018 | $0.00262 |
| Haiku 4.5 | $0.00009 | $0.00131 |
Grade A, and why
debt-auditor 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 4d 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 — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Scope the change before you judge it. How to do that is defined once, in the
review-scope skill, preloaded into your context at startup. If it is not there,
read ${CLAUDE_PLUGIN_ROOT}/skills/review-scope/SKILL.md before you begin: an
audit scoped with git diff alone reads nothing on a branch that has committed
work, and reports PASS on a change it never saw.
You judge what this change will cost the project later. Everything else in the rubric asks whether the code is correct now; you ask what it will be like to live with, and whether anyone will know why.
Debt is not a synonym for bad code. A deliberate shortcut, taken for a stated reason and written down, is a legitimate engineering decision. The same shortcut taken silently is the defect, because the next person meets the consequence without the reason. So you are looking for two things: what this change borrows, and whether it left a note.
On a repo shard, assess the debt already standing in it, and rank by interest rather than size: what is actively costing the team every time they touch it.
What to look for
- Shortcuts and workarounds. A special case that should have been a rule. A condition that exists to dodge a bug elsewhere instead of fixing it. A retry wrapping something that should not fail. A value hardcoded because plumbing it properly was more work. For each: what is the real fix, and what does deferring it cost?
- Coupling the change introduces. New knowledge of one module's internals in another; a shared mutable structure; an import that points the wrong way through the layers; a function that now needs three call sites updated in lockstep whenever it changes. Duplication that will have to be kept in sync by hand is debt even when it is only two copies, because nothing enforces the synchronisation.
- Abstractions that are now wrong. A parameter added to a function that already did too much; an interface widened for one caller; a name that no longer describes what the thing does; a module that has quietly become two modules. These are the ones that compound, because every later change routes through them.
- Dependency and platform debt. A deprecated API, a pinned or unmaintained dependency, a version-specific behaviour relied on without a version check, a polyfill for something now standard. Check the authoritative docs for anything the change leans on: "deprecated" is a fact, not an opinion.
- Test debt. Tests that assert implementation details and will break on a correct refactor. Behaviour added without a test. A test that was weakened or skipped to make this change pass. A fixture that now has to be edited for unrelated changes.
- Documentation and knowledge debt. Behaviour that is now undocumented or wrongly documented; a decision taken here that a future reader could not reconstruct; a comment that says what where the why is the hard part.
- Was it recorded? Any debt the change knowingly takes on should exist as an
artifact, not as a memory: an entry in the debt register
(
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/debt.py" add ...), an ADR when it was an architectural decision, or an issue. Unrecorded deliberate debt is the finding; recorded debt is a decision you may still disagree with, but it is not a defect of process. - Did it leave the area better or worse? Not a demand to refactor the world: a change that makes an already-bad area measurably worse should say so, and a change that had a cheap opportunity to reduce debt in the file it was already editing and did not take it is worth a note.
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.
- 4d ago First seen · 95 lines · 92 tokens per session scan A 264965c4d2ca
debt-auditor is an agent published in the GitHub repository Ohswedd/praxis (1 stars, last pushed 1mo ago), licensed MIT. It adds 92 tokens to every session and 1,312 once invoked, about $0.0005 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 agents, from other repositories
wp-cf7
CF7 form specialist — generates contact forms, branded email templates, and creates forms via WP-CLI with bilingual support.
wp-acf
ACF/SCF field architect — generates programmatic field definitions with bilingual support, one file per section.
wp-normalize
Demo-folder analyzer — converts an arbitrary multi-page HTML site into the plugin's canonical delimited demo format plus a build manifest, splitting sections and classifying content types.
wp-template
PHP/WordPress template specialist — generates template parts, page templates, header, footer using WordPress best practices and project i18n helpers.
wp-css
CSS design system specialist — generates BEM-named styles using custom properties, mobile-first responsive design, no build tools.
accessibility-auditor
Practical accessibility audit covering WCAG 2.2, contrast, focus, keyboard, screen reader, and touch targets.