quality
quality is the bundle for teams that ship to production. It adds
pre-merge audit gates on top of starterβs implementation
workflow: separate audits for security, money handling, multi-tenant
scope, cross-stack contracts, architecture depth, and configuration
freshness β composed in parallel by audit-all.
Why this exists
starter codifies how to write code well. quality codifies how
to verify code is safe to merge. The two are different concerns:
implementation is a workflow, audits are gates. Mixing them
into a single bundle would mean teams that donβt need audits (a
hobby project, a prototype repo) pay the noise cost anyway; teams
that do need audits would lose the visibility that comes from
having them as deliberate add-ons.
The audits in this bundle target specific failure modes that have real production cost: a money calculation that rounds the wrong way, a multi-tenant query missing the tenant filter, an API contract that drifts between frontend and backend.
Team archetype
This is for teams that:
- ship to paying users (money-handling, billing, subscriptions)
- run a multi-tenant SaaS (data-scope rules, ownership filters)
- have a frontend + backend split (API contracts, DTO alignment)
- have non-trivial security surface (auth, secrets, public endpoints)
- want quarterly hygiene on the agent configuration itself
If your repo is a single-tenant tool with no money / auth / API
contracts, quality is mostly overkill. Stay with starter and
add quality later if the surface grows.
What it includes
skills: - audit-all # parallel composer of the four audits - audit-contracts # API-vs-frontend contract drift - refactor-deepen # find shallow modules, propose deepening - audit-config # configuration freshness (rules, skills, hooks) - audit-grounding # signal-only divergence from the source of truth - audit-verification # completion-verification signal - audit-style # design-rules/over-engineering style signal - code-metrics # PR-time dual-delta measurement read (folded in from standalone; uncheck in picker if unwanted)roles: - architect # senior reviewer with BLOCKING/ADVISORY/QUESTION discipline - security # security specialist β audit-security checklist + threat modelingPlus the audit skills audit-all composes β audit-security,
audit-money, audit-tenant, audit-contracts β which install
as transitive dependencies.
Why each one is in
audit-allβ the composer that runs all four audits in parallel against a branch or PR, producing a consolidated severity-tiered report with cross-audit hotspots. This is the entry point most teams use.audit-contractsβ separate fromaudit-allbecause it applies to a different scope (cross-stack contract drift detected across the diff, not file-content audits).refactor-deepenβ architecture-depth audits donβt fit the pre-merge gate shape, but they belong to the same βis this code clean?β concern as the security and money audits. The skill finds shallow-module deepening opportunities via the deletion test and a canonical vocabulary.audit-configβ added in v1.50.0 to catch the configuration-drift problem the Anthropic large-codebases article calls out: rules calibrated for older models can constrain newer ones. Auditsrules/,skills/,hooks/,commands/,bundles/for stale dates, phantom skills, and deprecated path references.audit-groundingβ added in v1.69.0 to catch the semantic failure mode the other audits miss: an agent inventing a team convention or asserting a domain fact that contradicts the source of truth (CONTEXT.md,docs/adr/,knowledge/). Signal-only β it reports divergences and leaves the call to a human. Itsgrounding-checkStop hook fires it at every task end with a diff.architectrole βqualityincludes the senior-reviewer persona because audit findings often need a human-grade classification: blocking vs advisory vs needs-discussion. The role formalises that.securityrole β the security specialist persona. It runs theaudit-securitychecklist as a baseline and adds threat modeling over the diff (attack surface, auth/data flows). Thecodereviewrouter dispatches it on auth/secret diffs, dual-gated witharchitectβ the same patterndbafollows on data-layer diffs.
Why each one is in (continued)
code-metricsβ the quantitative measurement axis: a local, non-blocking dual-delta read of coverage, cyclomatic complexity, module size, and dependency cycles at PR-open. Folded intoquality(was a standalone bundle) because measurement and gates belong to the same code-quality concern. Uncheck it in the interactive picker (exclude: [code-metrics]) if you donβt need it.
Why not included
debug,implement,respond-to-reviewβ instarter.qualityaudits outcomes;starterproduces them.audit-piiβ would fit, but doesnβt exist as a skill yet. A potential future addition if PII handling becomes a frequent audit target.
Workflow this enables
A typical PR ready to merge:
- You finish a feature and push your branch.
- Before opening the PR, you run
/octopus:audit-alllocally. The skill dispatches the four audits in parallel against the diff, then produces a consolidated report with severities:β block,β warn,βΉ info. Cross-audit hotspots (files that triggered findings in multiple audits) get highlighted. - If the change touches API contracts,
audit-contractsinspects the diff for DTO / endpoint / enum / status-code drift between the backend and the frontend, beyond what the per-stack audits cover. - Periodically (quarterly), you run
/octopus:audit-configto catch configuration drift β stale model assumptions, phantom skills, deprecated paths. - When the audit surface needs human judgement, you
/octopus:delegate @architectto walk the findings and classify them β or/octopus:delegate @securityfor a threat-model pass when the diff touches auth or secrets.
Fine-tuning quality
quality is the complete code-quality bundle. If you want only a subset,
use the interactive picker (uncheck members β exclude:) rather than
picking a sub-bundle. For example, to run only the blocking gates, keep
audit-all and audit-contracts and uncheck the signal-only skills.
Knowledge-base operations (knowledge-hygiene/synthesize/briefing) live in the
separate knowledge bundle. Cross-repo audit + fleet bootstrap live in tech-lead.
Composes with
- starter β required foundation
(provides
implement,debug,respond-to-reviewthat produce the code being audited). - docs β pairs naturally. Audit findings often turn into ADRs (decisions recorded for next time) or backlog items.
- backend β pairs naturally. Most audit-worthy code (money, multi-tenant, auth) lives in backend repos.