Back to skills
SKILL.md
Quality Audit
ASecurityDomain-agnostic quality audit pipeline. Enumerates items, loads standards, captures evidence, evaluates per-item, posts structured verdicts, verifies coverage, and summarizes findings. Works for UI components, code review, SDLC, icon design, animation, or any domain with items to audit against criteria.
- 22 stars
- 0 votes
- 0 copies
- 1 view
- Added September 20, 2026
Works with
Security analysis
100/100Pro scans all 5 files and shows the line behind each finding
npx -y skills add lev-os/agents --skill quality-audit --agent claude-codeAre you the author of Quality Audit?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/lev-os-quality-audit)---
name: workflow-quality-audit
description: Domain-agnostic quality audit pipeline. Enumerates items, loads standards, captures evidence, evaluates per-item, posts structured verdicts, verifies coverage, and summarizes findings. Works for UI components, code review, SDLC, icon design, animation, or any domain with items to audit against criteria.
disable-model-invocation: true
context: fork
agent: general-purpose
allowed-tools: Read, Write, Edit, Bash, Glob, Grep, Task
---
# Workflow: Quality Audit
A **7-step pipeline** for auditing any collection of items against a set of standards.
Domain-agnostic by design — the caller supplies a config block that plugs in the
item source, standards document, evidence capture method, evaluation template, and
reporting target.
## When to Use
- After completing a body of work (design wave, sprint, migration) that needs QA sign-off
- Before a release to verify quality across a surface area
- For structured reviews: code, visual, accessibility, compliance, performance
- Any time you have **N items** and need a **per-item verdict** against **defined criteria**
## Config Schema
Supply a YAML config block when invoking. All fields are optional — the pipeline
will prompt for missing required fields.
```yaml
# --- Required ---
domain: <string> # Human label (e.g., "kingly-design-system", "api-endpoints")
items:
source: <enum> # bd-children | file-glob | manual-list | api
parent: <string> # bd parent bead ID (if source=bd-children)
glob: <string> # File glob pattern (if source=file-glob)
list: [<string>, ...] # Explicit item list (if source=manual-list)
api: <string> # API endpoint/command (if source=api)
standards:
doc: <path> # Path to standards/checklist document
sections: [<string>, ...] # Specific sections to evaluate (optional, default=all)
known_gaps: <string> # Section to skip or flag separately
# --- Optional ---
evidence:
type: <enum> # screenshot | test-run | recording | measurement | source-read
capture: <string> # Shell command template for capture
naming: <string> # Filename template: {id}, {slug}, {date} supported
storage: <path> # Output directory for evidence artifacts
evaluation:
template: <enum> # component-audit | visual-audit | code-review | generic | custom
custom_path: <path> # Path to custom checklist (if template=custom)
agents: <int> # Number of parallel evaluator agents (default: 2)
parallel: <bool> # Run evaluators in parallel (default: true)
split_by: <string> # How to partition work (e.g., "source-vs-visual", "by-epic")
reporting:
target: <enum> # bd-comments | markdown-files | stdout
verdict_taxonomy: [<string>, ...] # Custom verdicts (default: [PASS, NEEDS_WORK, BLOCKED])
output_dir: <path> # Directory for report files (default: .lev/reports/)
summary:
format: <enum> # scorecard | heatmap | backlog (default: scorecard)
```
## Pipeline Steps
### Step 1: INVENTORY
Enumerate all items to audit.
| Source | Method |
|--------|--------|
| `bd-children` | `bd list --parent {parent}` — collects bead IDs + titles |
| `file-glob` | `Glob({glob})` — each matching file is an item |
| `manual-list` | Literal list from config |
| `api` | Execute `{api}` command, parse JSON/lines output |
**Output:** An ordered list of `(id, title/name, metadata)` tuples.
Persist to `.lev/reports/audit-{domain}-{date}/inventory.json`.
### Step 2: STANDARDS
Load and parse the evaluation criteria.
1. Read the `standards.doc` file
2. If `sections` is specified, extract only those sections
3. If `known_gaps` is specified, flag that section as informational (not scored)
4. Parse into a checklist of `(category, criterion, weight)` triples
**Output:** Structured checklist ready for per-item evaluation.
### Step 3: EVIDENCE
Capture per-item evidence using the configured method.
| Type | Method |
|------|--------|
| `screenshot` | Execute `{capture}` command per item, save to `{storage}/{naming}` |
| `test-run` | Execute test suite, capture per-item results |
| `recording` | Capture screen/interaction recording per item |
| `measurement` | Run measurement command, capture metrics |
| `source-read` | Read source files associated with each item |
Evidence is stored at `{storage}/{naming}` with template variables expanded.
If capture fails for an item, mark it `EVIDENCE_FAILED` and continue.
**Output:** Evidence manifest mapping each item ID to its artifact paths.
### Step 4: EVALUATE
Run the evaluation checklist against each item's evidence.
**Team delegation pattern:**
- If `agents > 1` and `parallel: true`, partition items across N evaluator agents
- Each evaluator receives: item subset, standards checklist, evidence paths
- Use `split_by` to control partitioning (round-robin if not specified)
**Per-item evaluation produces:**
```markdown
## {item.title}
### {category_1}
- [ ] {criterion}: {PASS|FAIL} — {note}
- [ ] {criterion}: {PASS|FAIL} — {note}
### {category_2}
...
**Verdict:** {verdict} ({pass_count}/{total_count})
**Issues:**
1. {issue description} — severity: {P0-P3}
```
**Built-in templates** (see `templates/` directory):
- `component-audit` — Visual + Code Quality + Accessibility + Standards Compliance
- `visual-audit` — Visual Fidelity + Storybook Coverage + Code Structure
- `code-review` — Correctness + Style + Performance + Security + Tests
- `generic` — User-defined categories (bare scaffold)
- `custom` — Load from `custom_path`
### Step 5: REPORT
Post the structured verdict for each item.
| Target | Method |
|--------|--------|
| `bd-comments` | `bd comment {item.id} --body "{verdict}"` per item |
| `markdown-files` | Write `{output_dir}/{item.id}-verdict.md` per item |
| `stdout` | Print verdicts to console |
Each verdict includes: item ID, title, verdict label, pass/fail counts, issue list.
### Step 6: VERIFY
Confirm 100% coverage.
1. Load inventory from Step 1
2. Load all verdicts from Step 5
3. Check: every item has exactly one verdict
4. Check: no items are `EVIDENCE_FAILED` without a retry or exception note
5. Check: verdict taxonomy matches config (no unknown labels)
**Output:** Coverage report — `{covered}/{total}` with any gaps listed.
If gaps exist, report them and optionally re-run Steps 3-5 for missing items.
### Step 7: SUMMARIZE
Aggregate findings into a top-level summary.
**Scorecard format (default):**
```
Domain: {domain}
Date: {date}
Items: {total} | PASS: {n} | NEEDS_WORK: {n} | BLOCKED: {n}
Coverage: {covered}/{total} ({pct}%)
Issues: {total_issues} (P0: {n}, P1: {n}, P2: {n}, P3: {n})
Top systemic patterns:
1. {pattern} — {count} items affected
2. {pattern} — {count} items affected
```
Write full report to `{output_dir}/audit-{domain}-{date}.md`.
## Team Delegation
For audits with >5 items, delegate to parallel evaluators:
| Role | Responsibility |
|------|---------------|
| **Coordinator** (you) | Steps 1, 2, 6, 7 — inventory, standards, verify, summarize |
| **Evaluator 1..N** | Steps 3-5 — capture evidence, evaluate, post verdicts |
Evaluators receive a self-contained work packet:
- Their item subset (IDs + titles)
- The full standards checklist
- The evidence capture config
- The report template + target config
Evaluators return a manifest: `{items_evaluated, verdicts, issues_found, evidence_paths}`.
## Domain Examples
### UI Components (the original use case)
```yaml
domain: kingly-design-system
items: { source: bd-children, parent: oclaw-top.2 }
standards: { doc: packages/kingly-ui/DESIGN_STANDARDS.md }
evidence: { type: screenshot, capture: "apptestr screenshot" }
evaluation: { template: component-audit, agents: 2, parallel: true }
reporting: { target: bd-comments, verdict_taxonomy: [PASS, NEEDS_WORK] }
```
### Code Review
```yaml
domain: api-endpoints
items: { source: file-glob, glob: "src/routes/**/*.ts" }
standards: { doc: docs/API_STANDARDS.md }
evidence: { type: source-read }
evaluation: { template: code-review, agents: 2 }
reporting: { target: markdown-files, output_dir: .lev/reports/api-review/ }
```
### SDLC / Sprint Review
```yaml
domain: sprint-42
items: { source: bd-children, parent: sprint-42 }
standards: { doc: docs/DEFINITION_OF_DONE.md }
evidence: { type: test-run, capture: "pnpm test --filter {id}" }
evaluation: { template: generic }
reporting: { target: bd-comments, verdict_taxonomy: [SHIP, FIX, HOLD] }
```
### Icon Design
```yaml
domain: app-icons
items: { source: file-glob, glob: "assets/icons/**/*.svg" }
standards: { doc: docs/BRAND_GUIDE.md, sections: [Icons, Color Palette] }
evidence: { type: measurement, capture: "convert {path} -resize 16x16 /tmp/{slug}-16.png" }
evaluation: { template: visual-audit }
reporting: { target: markdown-files, verdict_taxonomy: [APPROVED, REVISE] }
```
## Validation
The audit is complete when:
- [ ] Inventory persisted with item count logged
- [ ] Standards checklist parsed and loaded
- [ ] Evidence captured for all items (or failures documented)
- [ ] Every item has exactly one verdict
- [ ] Coverage is 100% (or gaps explicitly noted)
- [ ] Summary report written to output directory
- [ ] All P0/P1 issues have corresponding tracking items (if using bd)
## Notes
- For `bd-children` source, items inherit the parent's epic/project context
- Evidence capture failures are non-fatal — the item gets `EVIDENCE_FAILED` and continues
- The `known_gaps` standards section is included in reports as informational but not scored
- Parallel evaluation scales linearly: 2 agents = ~2x throughput for >10 items
- Custom verdict taxonomies must have at least 2 labels (one positive, one negative)
- Templates are composable — `component-audit` includes visual + code + a11y categories
Files in this skill
- SKILL.md
- templates/code-review.md
- templates/component-audit.md
- templates/generic.md
- templates/visual-audit.md
Attribution
Comments
Loading comments…