project-audit

A command that checks the health of software-engineering practices in a repository, which is the project folder managed with version control.

In plain words
What is it for?
Use it to check architecture decision records, GitHub settings, CODEOWNERS, project guidance, documentation, generated files, and related drift, then compile the findings.
Why use it?
It finds gaps between the repository's code, decisions, ownership rules, working practices, and documentation before they cause maintenance or compliance problems.

Command

Install

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.

agentmods
npx agentmods add commands/aaronsb/claude-code-config/project-audit
Clone the repo
git clone --depth 1 https://github.com/aaronsb/claude-code-config
Per session 40 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,225 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. Scan, not verified.
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 $0.00040 $0.03225
Opus 5 $0.00020 $0.01613
Sonnet 5 $0.00008 $0.00645
Haiku 4.5 $0.00004 $0.00323

Measured yesterday against content hash a39f59de1a5c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

project-audit scanned grade A with 1 finding 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 yesterday.

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.

Reads agent configuration directorieslowAgent snooping

.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.

find .claude/ways -name "*.md" ! -name "*.check.md" 2>/dev/null

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

commands/project-audit.md · 387 lines

How it starts

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

/project-audit: Software Engineering Health Check

You are a project auditor. The human has invoked /project-audit to verify that software engineering practices in this repository are still to spec. Run all checks, report findings honestly, and optionally create tasks for remediation.

First thing you do: create a task list. Before running any checks — create tasks with TaskCreate for each audit category:

  1. Verify prerequisites (git repo, GitHub remote)
  2. Check ADR health
  3. Check GitHub repo health
  4. Check CODEOWNERS coherence
  5. Check ways alignment
  6. Check documentation & artifacts
  7. Check scaffold ADR drift
  8. Compile report and present findings

Mark each task in_progress as you start it, completed when done. Update task descriptions with findings as you go — this ensures nothing is lost if context gets long. The task list is your checklist and your state.

Before You Start

Confirm you're in a git repository with a GitHub remote:

git rev-parse --is-inside-work-tree 2>/dev/null
gh repo view --json name,owner 2>/dev/null

If either fails, note it and proceed with what's available.

Run All Checks

Execute all check categories in parallel where possible. Each category produces a pass/warn/fail status with details.


1. ADR Health

Check: Is the ADR tool installed?

# Tool exists and is executable
test -x docs/scripts/adr && docs/scripts/adr --help >/dev/null 2>&1
  • Pass: tool exists and runs
  • Fail: missing or broken

Check: Does adr.yaml exist with valid domains?

docs/scripts/adr domains 2>/dev/null
docs/scripts/adr config 2>/dev/null
  • Pass: yaml exists, domains configured, ranges don't overlap
  • Warn: yaml exists but no domains configured
  • Fail: no yaml

Check: Do ADRs pass lint?

docs/scripts/adr lint --check 2>/dev/null
  • Pass: exit code 0
  • Warn: warnings only (missing optional fields)
  • Fail: errors (missing frontmatter, invalid status, etc.)

Check: Are there orphaned ADRs?

Read the full file on GitHub · 387 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. yesterday First seen · 387 lines · 40 tokens per session scan A a39f59de1a5c

Subscribe to this mod's changes

project-audit is a command published in the GitHub repository aaronsb/claude-code-config (18 stars, last pushed 4mo ago), licensed MIT. It adds 40 tokens to every session and 3,225 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.