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 Ohswedd/praxis --skill audit-evidencegit 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/skills/ohswedd/praxis/audit-evidence)<a href="https://agentmods.dev/skills/ohswedd/praxis/audit-evidence"><img src="https://agentmods.dev/badge/skills/ohswedd/praxis/audit-evidence/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/ohswedd/praxis/audit-evidence"><img src="https://agentmods.dev/badge/skills/ohswedd/praxis/audit-evidence.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.00095 | $0.00707 |
| Opus 5 | $0.00048 | $0.00353 |
| Sonnet 5 | $0.00019 | $0.00141 |
| Haiku 4.5 | $0.00010 | $0.00071 |
Grade A, and why
audit-evidence 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 8d 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 — 56 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Audit evidence
An auditor's output is believed. That is its entire value, and its entire hazard: a verdict is acted on without being re-derived, so a claim that turns out on a second look to be wrong costs more than the review saved. A review that reports what it assumed is worse than no review at all.
The rule
Assert only what you read. Every finding, and every PASS, comes from a specific place in the code you actually opened.
- Cite
file:linefor each finding, and for the code that decided a PASS on a concern that mattered. "Handled upstream" is a claim;src/api.py:88is a citation. - Quote what the code says, not what the name suggests it says. A function
called
validate_inputis evidence of nothing. - Read the callers before judging a contract. A signature change is safe or unsafe depending on who calls it, and that is a question with an answer, not an impression.
- Never infer a file's contents from its path, its neighbours, or the diff. If you have not opened it, you do not know what is in it.
Downstream, report.py vertical records each verdict with its citations and
refuses any that does not resolve: a file that does not exist, a line past
the end of one. An auditor that read the code can name it for free. So this is
not extra work, it is the work.
Say what you could not check
An auditor's honest limits are part of its verdict, not a weakness in it:
- The scope you were given, and anything in it you did not reach (a file too large, a generated bundle, a path with no source in this repo).
- Questions that need a runtime, a credential, or a service you do not have. Say what would answer them, so someone with access can.
- A base commit you could not resolve. Report the gap; do not review the working tree alone and return PASS, which is how an audit of a committed branch comes back clean having read nothing.
PASS means "I examined this concern and found nothing". If you did not examine
it, the answer is not PASS, whatever the pressure to produce a clean row.
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.
- 8d ago First seen · 56 lines · 95 tokens per session scan A fac794aa2fa5
audit-evidence is a skill published in the GitHub repository Ohswedd/praxis (1 stars, last pushed 1mo ago), licensed MIT. It adds 95 tokens to every session and 707 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 skills, from other repositories
g-review
Run the review gate on the current branch diff. Runs the test suite, captures the diff, and dispatches code-lead, which verifies done conditions and reviews the diff itself. Issues MERGE READY or HOLD.
g-audit
Full-codebase or targeted code quality audit. Detects SOLID violations, code smells, architectural drift, dead code, and test coverage gaps. Targeted scope produces an inline report. Whole-codebase scope produces a prioritised roadmap milestone.
g-refactor
Guided refactor workflow — identify target, pre-analyse, spec, approve, execute, review. Accepts a scope path, an audit milestone file, or runs interactively. Safe-by-default: checks test coverage before execution and runs the full review gate after.
g-blast-radius
Analyse the blast radius of a planned change. Inputs a file path, feature name, or list of paths from a plan. Outputs the set of dependent files (forward and reverse references), a per-file volatility score (commit frequency proxy), and a total blast-radius rating (low / moderate / wide). Read-only.
refine-loop
Runs a safe, resumable refinement loop over a working repository. It discovers behavior-preserving improvements through four evidence-based lenses, ranks them by ROI, applies one small change at a time, verifies independently, and stops deterministically at diminishing returns or a safety limit. Use when explicitly…
no-mistakes
Validate committed feature-branch changes through the no-mistakes pipeline: intent, rebase, review, test, docs, lint, push, PR, and CI. Use when the user asks to run no-mistakes, ship safely, validate before pushing, or gate a change before it reaches upstream.