repo-audit

repo-audit is a skill for Claude Code from Ohswedd/praxis. It costs 138 tokens per session (2,969 once invoked), scanned A, original, MIT.

A process for auditing an entire existing codebase rather than only reviewing a recent change. It divides the repository into tracked sections and records what was checked and what was found.

In plain words
What is it for?
Use it to inventory, inspect, reverse-check, fix, and report findings across a whole repository, with each finding verified or explicitly deferred.
Why use it?
It prevents files or review areas from being silently skipped during a large project health check.

Skill for Claude Code

Written for Claude Code: ${CLAUDE_PLUGIN_ROOT} variable.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the praxis plugin — 15 skills, 8 commands, 13 agents, 5 hooks shipped together

Good fit Use it to inventory, inspect, reverse-check, fix, and report findings across a whole repository, with each finding verified or explicitly deferred.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add Ohswedd/praxis
Claude Code
/plugin install praxis

Made for: Claude Code.

Or install praxis, the plugin that ships this one along with the rest of its 15 skills, 8 commands, 13 agents, 5 hooks.

Wrote 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.

agentmods badge for repo-audit

README.md
[![agentmods](https://agentmods.dev/badge/skills/ohswedd/praxis/repo-audit/github.svg)](https://agentmods.dev/skills/ohswedd/praxis/repo-audit)
Your own site
<a href="https://agentmods.dev/skills/ohswedd/praxis/repo-audit"><img src="https://agentmods.dev/badge/skills/ohswedd/praxis/repo-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.

agentmods 80×15 button for repo-audit

Your own site · 80×15
<a href="https://agentmods.dev/skills/ohswedd/praxis/repo-audit"><img src="https://agentmods.dev/badge/skills/ohswedd/praxis/repo-audit.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 138 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,969 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00138 $0.02969
Opus 5 $0.00069 $0.01484
Sonnet 5 $0.00028 $0.00594
Haiku 4.5 $0.00014 $0.00297

Measured 10d ago against content hash b1b01f1784aa, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

repo-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 10d 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.

plugins/praxis/skills/repo-audit/SKILL.md · 218 lines

How it starts

The opening of the file, as written. The whole thing — 218 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Repo Audit: the whole-codebase scanner

/praxis:audit reviews a change. This skill reviews the repository: an already-developed project with no fresh diff to anchor on. It applies the same praxis doctrine (vertical auditors, adversarial verification, completeness, no silent scope cuts) to the entire codebase, and it is built around one rule:

Coverage is claimed by the ledger, never by memory. Every file is assigned to a shard; every shard × dimension pass is recorded; every finding has a tracked lifecycle. If the ledger says a shard wasn't audited, the final report says so. Laziness is structurally impossible, not just discouraged.

The scan is a pipeline: inventory → starting report → forward audit → reverse audit → fix → final report. Run the phases in order.


Phase 0: Preflight & inventory

  1. Open a praxis task so the Stop gate self-drives the scan to completion (size --max by shard count; a scan is a large task: 40+ turns):
    python3 "${CLAUDE_PLUGIN_ROOT}/scripts/task_state.py" open "Repo scan: <repo>" \
      --criteria "every shard audited on every dimension" \
      "every finding verified" "confirmed findings fixed or explicitly deferred" \
      "final report delivered" --max 50
    
  2. Check for an existing ledger: repo_scan.py status. If a scan is already underway, resume it (skip to whichever phase has pending work) instead of re-initialising.
  3. Initialise the ledger (inventory + shard plan):
    python3 "${CLAUDE_PLUGIN_ROOT}/scripts/repo_scan.py" init [--scope <path>]
    
    (Every repo_scan.py … below is shorthand for python3 "${CLAUDE_PLUGIN_ROOT}/scripts/repo_scan.py" ….) It inventories tracked files (pruned of vendored/binary/lock/oversize noise, each exclusion counted), groups them by subsystem, and splits them into shards capped by file/line count. --shard-files/--shard-lines tune shard size for very large repos.
  4. Baseline. Note whether the working tree is clean (recommend committing first so fixes stay separable). Detect the test command (session audit or common.detect_test_command), run it once now, and record the result in the ledger so the final report can show before/after:
    repo_scan.py baseline --tests "<command>" --exit <observed exit code>
    
    Pre-existing failures are findings in their own right: record them (regression dimension) rather than blaming them on later fixes.
  5. Very large repos. init refuses to build a silently-truncated inventory: above --max-files (default 20000) it stops and asks you to narrow --scope or raise the cap. Never work around this by scanning "the important parts" unstated: split into several scoped scans and say so in the report.

Read the full file on GitHub · 218 lines

Changes

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.

  1. 10d ago First seen · 218 lines · 138 tokens per session scan A b1b01f1784aa

Subscribe to this mod's changes

repo-audit is a skill published in the GitHub repository Ohswedd/praxis (1 stars, last pushed 1mo ago), licensed MIT. It adds 138 tokens to every session and 2,969 once invoked, about $0.0007 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.

Related

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.

onlygian/G-Forge · 46 tokens

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.

onlygian/G-Forge · 52 tokens

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.

onlygian/G-Forge · 0 tokens

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.

onlygian/G-Forge · 68 tokens

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…

GeiserX/claude-code-parallel-skills · 70 tokens

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.

stevesolun/ctx · 67 tokens