quality-audit
Umbrella quality review — runs quality-coverage + quality-lint + quality-debt + architecture-review, aggregates findings into a single readiness report, flags patterns spanning dimensions. Loads when
SKILL.md.claude/skills/quality-audit/SKILL.md
GitHubquality-audit
The umbrella quality review. Where quality-coverage audits one dimension
(tests covering code) and quality-lint audits another (code + content
style), this skill runs them BOTH (plus debt inventory + architecture review)
and synthesizes the findings into a single pre-release / periodic readiness
report. The value is in the SYNTHESIS — patterns that span dimensions (e.g.,
"all the coverage gaps are in files with high lint violations AND high debt
markers — these files need full refactor, not point fixes").
Trigger phrases (when to load this skill)
Load when the conversation matches any of:
- Direct verb: operator says "audit the project", "overall quality check", "how healthy is AICP", "pre-release review", "quality snapshot", "state of the project"
- Periodic cycle: scheduled review (monthly, quarterly) — a rolling snapshot lets you track trajectory, not just point-in-time state
- Pre-release gate: before shipping a milestone, confirm quality across all dimensions
- Post-incident retrospective: after a bug ships, audit surfaces patterns across dimensions (not just the one that caused the bug)
- New-contributor onboarding: a fresh audit gives a new contributor the "how healthy is this" overview without them having to synthesize from scratch
Do NOT load when:
- Only ONE quality dimension is the concern (load that specific skill:
quality-coverage/quality-lint/quality-debt) - You want an architecture review (load
architecture-review— narrower focus) - You want a status report on work-in-progress (load
pm-status-reportorpm-assess— those report on what's being BUILT, not the quality of what's built)
Operations
This skill has 4 named operations. Execute in order.
Operation 1: Run sub-audits in parallel
Trigger: skill loaded; operator wants an umbrella audit.
Process:
- Run the coverage sub-audit. This means loading
quality-coverageand executing at least its Operation 1 (generate coverage report) and Operation 2 (classify gaps). Capture the output file:wiki/decisions/00_inbox/coverage-audit-<date>.md. - Run the lint sub-audit. Load
quality-lintand execute at least its Operation 1 (run both linters) and Operation 2 (classify violations). Capture:wiki/decisions/00_inbox/lint-audit-<date>.md. - Run the debt sub-audit. Load
quality-debt(currently boilerplate — rewrite pending, but the intent is: inventory allTODO,FIXME,XXX, deferred items from wiki/backlog, known workarounds in code comments). Capture:wiki/decisions/00_inbox/debt-audit-<date>.md. - Run the architecture sub-audit. Load
architecture-reviewon AGENTS.md + CLAUDE.md + aicp/ structure. Capture:wiki/decisions/00_inbox/architecture-audit-<date>.md. - Confirm all four sub-audits produced a baseline page; if any failed, note in the umbrella report rather than silently omitting.
Quality bar (Operation 1 done when):
- All four sub-audits ran (or documented failure for any that didn't)
- All four baseline pages exist in
wiki/decisions/00_inbox/ - Per-audit pass/fail captured (so the umbrella report is honest about what succeeded)
Operation 2: Synthesize cross-dimension patterns
Trigger: Operation 1 sub-audits complete.
Process:
- Load each sub-audit page. Read the HIGH-risk / HIGH-priority items from each.
- Identify cross-dimension patterns (the unique value of this skill):
- Convergent problems — a single file appearing as HIGH-risk in 2+ audits. Example:
aicp/core/router.pyhas <70% coverage (coverage audit) AND 15 lint violations (lint audit) AND 3 TODO markers (debt audit). That file is a prime refactor candidate. - Dimensional imbalance — one dimension has many issues, others clean. Example: coverage is good, lint is good, but debt inventory shows 40 TODO markers. Debt is the bottleneck.
- Systemic gaps — a PATTERN of issues across files. Example: every file that imports circuit_breaker has coverage gaps on the OPEN-state path. This isn't a file-level issue — it's a testing-strategy issue.
- Clean areas worth protecting — files that pass all four dimensions. Note them as "healthy — don't break."
- Convergent problems — a single file appearing as HIGH-risk in 2+ audits. Example:
- Rate the overall project health using explicit criteria:
- Green: <5 HIGH-risk items total across all dimensions, no convergent problems
- Yellow: 5-15 HIGH-risk items OR ≥1 convergent problem OR ≥1 systemic gap
- Red: 15+ HIGH-risk items OR 3+ convergent problems OR unaddressed prior-audit findings
Quality bar (Operation 2 done when):
- Convergent problems identified (files appearing in 2+ sub-audits as HIGH)
- Dimensional imbalance assessed (is one dimension dominating?)
- Systemic gaps identified (patterns, not just file-level issues)
- Healthy areas explicitly noted
- Overall health rating assigned with explicit criteria
Operation 3: Author the umbrella report
Trigger: Operation 2 synthesis complete.
Process:
Create
wiki/decisions/00_inbox/quality-audit-<date>.md(type=reference). Required sections:## Summary Overall health: <Green | Yellow | Red>. One-line rationale. ## Sub-audit findings Links to the 4 sub-audit pages with their individual ratings. ## Convergent problems | File | Coverage | Lint | Debt | Architecture | Refactor priority | |------|---------|------|------|-------------|-------------------| ## Dimensional summary | Dimension | Items | Trend vs prior audit | Owner | |-----------|-------|---------------------|-------| ## Systemic gaps Patterns across the codebase that no single sub-audit would catch. ## Healthy areas (protect these) Files/modules that passed all dimensions cleanly. ## Recommended actions Prioritized list of follow-ups (not arbitrary — mapped to convergent problems + systemic gaps).Link the prior quality-audit page (if any) in a
## Trajectorysection. Compare: overall rating trend, per-dimension trend. "Getting better" / "stable" / "regressing" — with evidence.Run
python3 -m tools.lint wiki/decisions/00_inbox/quality-audit-<date>.md.
Quality bar (Operation 3 done when):
- Umbrella report has all 6 required sections
- Convergent problems table populated
- Trajectory comparison with prior audit (if any)
- Recommended actions MAP to identified problems (not generic)
- Report lint passes
Operation 4: Present + trigger follow-up work
Trigger: Operation 3 report authored.
Process:
- Present the report to the operator. Point at the file path; summarize the overall rating + top 3 recommended actions.
- Operator decides:
- Accept + act: create follow-up tasks in
wiki/backlog/tasks/for the recommended actions. One task per action, with specific file references from the report. - Accept + defer: acknowledge findings, don't act yet. Record the deferral in the audit page's Recommended Actions section with a
DEFERRED until <date/milestone>tag. - Reject + investigate: operator disagrees with a finding. Re-check the sub-audit that surfaced it; if the finding was methodology-flawed, fix the sub-audit and re-run.
- Accept + act: create follow-up tasks in
- If a systemic gap is operator-confirmed, contribute back to second brain as a lesson:
gateway contribute --type lesson --title "...". Systemic gaps are exactly the kind of convergent evidence that makes a good lesson (≥3 evidence items from independent sources — the 3+ sub-audits). - Schedule the next audit. For AICP scale: monthly default, more frequent if Yellow/Red, less if Green and stable.
Quality bar (Operation 4 done when):
- Operator received the report (pointed at path, not paraphrased)
- Follow-up tasks created for accepted recommendations
- Deferrals documented in the audit page
- Systemic gap (if any) contributed as lesson
- Next-audit cadence noted in the report
Gotchas (known failure modes — read before doing)
Gotcha 1: Green rating without running all sub-audits (false summary)
The temptation: skip the debt audit because it's "nothing interesting." Rate the project Green based on the three sub-audits that ran. But "we didn't check" is not the same as "we checked and found nothing."
Detection: did you run all 4 sub-audits? Or did you skip one because it seemed low-value?
The rule: every umbrella audit runs all 4 sub-audits. If a sub-audit's skill is boilerplate (not yet rewritten), document THAT as a known limitation in the umbrella report — don't quietly omit.
Gotcha 2: Convergent-problem blindness (looking only at per-dimension leaders)
The temptation: the coverage audit highlighted 5 files. The lint audit highlighted 5 different files. You list 10 problem areas without checking if ANY of them overlap. Convergent problems (files on BOTH lists) are different magnitude — they're where refactor is justified. Missing them means recommending 10 small fixes when 1 refactor would handle 3 of them.
Detection: did you explicitly cross-reference the sub-audits' HIGH-risk lists for overlap?
The rule: Operation 2 step 2 is NOT optional. Cross-reference is the umbrella audit's unique value. A list of issues is cheap; convergence analysis is expensive.
Gotcha 3: Trajectory without prior baseline (can't see trend)
The temptation: first audit, no prior data, so skip the trajectory section. But the report is the SEED for future trajectory analysis — if this audit has no numbers, the NEXT audit can't compare.
Detection: umbrella report has Summary + recommendations but no numeric rundown (total issues per dimension, per-file counts, etc.).
The rule: every umbrella audit captures COUNTS per dimension in the report body. The first audit's trajectory section says "baseline established"; every subsequent audit fills in the comparison.
Gotcha 4: Recommendations not mapped to evidence (generic advice)
The recommendations section says "improve test coverage, reduce lint violations, address tech debt." Those are category-level generics — they're not actionable. Each recommendation should map to specific convergent problems or systemic gaps identified in Operations 2.
Detection: could an unrelated project's quality audit contain the same recommendations? If yes, they're too generic.
The rule: every recommendation names specific files or patterns. "Refactor aicp/core/router.py — convergent across coverage + lint + debt" is actionable. "Reduce lint violations" is not.
Gotcha 5: Deferral without tracking (silent "later" again)
Same pattern as quality-lint Gotcha 4 and quality-coverage Gotcha 5: deferrals without task files are forgotten. At umbrella level the risk is higher because the umbrella's deferrals tend to be larger ("defer this file's refactor" vs specific line-level fixes).
Detection: the audit page marks items DEFERRED but no follow-up task file exists.
The rule: every deferral has a task file with specific file/line references AND a target date/milestone. Umbrella-level deferrals especially need dates — they're big enough to slip indefinitely without one.
Reference exemplars
Per Extension Standards, reference exemplars are the second brain's model-builder and wiki-agent skills. For the OUTPUT artifact:
- Umbrella audit page shape: follows the second brain's
Domain Overviewpage type (~/devops-solutions-research-wiki/wiki/spine/standards/domain-overview-page-standards.md) — state of knowledge across multiple dimensions with coverage + gaps + recommendations.
Domain context
This skill operates in backend-ai-platform-python — see wiki/config/domain-profiles/backend-ai-platform-python.yaml. It's a read-only skill (no code changes directly; it authors wiki pages and files follow-up tasks).
Related skills
| Skill | When | Why distinct |
|---|---|---|
| quality-coverage | coverage dimension only | Single sub-audit; this skill runs all sub-audits |
| quality-lint | lint dimension only | Single sub-audit; this skill runs all sub-audits |
| quality-debt | debt dimension only | Single sub-audit; this skill runs all sub-audits |
| architecture-review | architecture dimension only | Single sub-audit; this skill runs all sub-audits |
| pm-assess | work-in-progress state | Reports on BUILD status; this skill reports on QUALITY of what's built |
| pm-status-report | progress/velocity/blockers | Business metrics; this skill is technical health |
| full-refactor-cycle | refactor execution | Umbrella audit surfaces refactor candidates; full-refactor-cycle acts on one |