audit-all
audit-all is the composer that runs the four pre-merge audits
in parallel against one ref. It’s the right default for any
non-trivial PR on a multi-tenant SaaS codebase — instead of
remembering to run audit-security, audit-money, audit-tenant,
and audit-contracts separately, you run audit-all once and
get a consolidated report.
Why a composer instead of a one-big-audit
The four audits target different failure modes — secrets and injection vs. rounding and idempotency vs. tenant-scope and SQL filters vs. frontend/backend DTO drift. Combining them into a single monolithic audit would lose two properties that matter:
- Per-audit severity. Each audit ranks its own findings; collapsing them into a global severity dilutes the signal (“everything is medium-severity” is useless).
- Independent opt-out. Teams that don’t handle money can
disable
audit-moneywithout losing the others; a monolith would force all-or-nothing.
The composer keeps them as four independent skills coordinated by shared file discovery (the list of changed files is computed once and handed to each audit) so they don’t each re-walk the diff.
What audit-all adds beyond running them serially
- Parallel execution. The four audits run concurrently. On a typical PR diff that’s a 3–4× speedup over the sequential form.
- Shared file discovery. One
git diffwalk instead of four. - Consolidated report. Findings from all four are merged into a single table sorted by severity, with a cross-audit hotspots section that highlights files flagged by more than one audit (usually the first place to look).
What it doesn’t audit
The four are tuned for SaaS-flavoured failure modes. Specialised audits live in their own skills and aren’t included by default:
- Performance regressions → use a dedicated benchmark suite, not a static audit.
- Accessibility → not a skill yet; falls back to the frontend
rules in
rules/frontend.md. - Compliance (GDPR, SOC2 evidence) → too domain-specific to generalise — file a project-specific skill if needed.
Invocation
/octopus:audit-all # against the current diff/octopus:audit-all main..HEAD # against a specific rangeBypass marker for false positives is on individual audit findings,
not on audit-all as a whole — see each audit’s page for the
syntax.