repo-auditor
Repo Auditor scans code changes before committing or opening pull requests to identify stale comments, unused imports, missing test coverage, and style inconsistencies. Use it after editing code, resolving merge conflicts, or when verifying PR readiness by comparing changes against a base branch and checking against an audit checklist for documentation updates and public function test coverage.
git clone --depth 1 https://github.com/oxbshw/LLM-Agents-Ecosystem-Handbook /tmp/repo-auditor && cp -r /tmp/repo-auditor/skills/examples/repo-auditor ~/.claude/skills/repo-auditorSKILL.md
# Repo Auditor
## When to use
- After making code edits, before `git commit` or PR open
- After resolving merge conflicts
- When the user asks "is this PR ready?"
## When NOT to use
- During exploration / read-only work
- For purely formatting changes (lint/format already covers it)
## Inputs
| Name | Type | Required | Notes |
|---|---|---|---|
| `base` | string | no | base ref (default `origin/main`) |
| `paths` | list | no | restrict to specific paths |
## Workflow
1. **Diff**: `git diff <base>...HEAD --name-only` and `git diff <base>...HEAD`
2. **For each changed file**: load `references/audit-checklist.md` and walk it
3. **Check tests**: any new public function without a corresponding test → flag
4. **Check imports**: unused imports / missing imports → flag
5. **Check style fit**: does the new code match neighboring code's idioms?
6. **Check docs**: did this change require an `AGENTS.md` / `MEMORY.md` / README update? → flag if missed
7. **Produce report**: structured output (see Outputs)
## References
- [`references/audit-checklist.md`](references/audit-checklist.md)
## Outputs
```markdown
## Audit report
- ✅ {{N}} files reviewed
- 🟡 {{N}} warnings
- 🔴 {{N}} blockers
### Blockers
- {{file:line}} — {{issue}}
### Warnings
- {{file:line}} — {{issue}}
```
## Success criteria
- 0 blockers (PR can open) OR
- All blockers explicitly acknowledged by user
## Failure modes
- Diff too large (> 1k lines) → ask user to scope
- Cannot read base ref → fail with instructionsUse when capturing an architecture decision so it survives turnover — produces an ADR-NNNN.md from context, options considered, and the chosen path.
Use when reviewing a proposed REST or GraphQL API change before merge — checks contract clarity, backwards compatibility, errors, pagination, auth, and naming.
Use when first encountering a new dataset — produces a structured profile (schema, missingness, distributions, outliers, gotchas) before any analysis.
Use after an incident is resolved — drafts a blameless postmortem from timeline notes, alerts, and chat threads.
Use when opening a PR — produces a clean PR description (what / why / how to verify / risks) from a branch diff against base.
Use when planning the next sprint — turns ticket intake + team capacity into a planned sprint with explicit non-goals.
Use after a session to promote useful episodic notes from logs/episodic/ into distilled, dated entries in MEMORY.md and memory/semantic/.