studio-audit
Use this when the user feels "done" and wants the work judged like a senior
designer would judge it before handoff. This is an umbrella review skill, not a
new visual system. It composes the existing Cortex design review and craft
skills, then synthesizes one priority-ordered report.
Its domain-owner coverage and evidence discipline incorporate
Jakub Krehel's better-interface
at commit a67333399dabbc71d7778962cb9c4fb9b86a00d0.
law
Read references/studio-law.md before judging. Read
references/report-template.md before writing
the final report.
Default to audit-only. Do not edit code, run formatters, or apply fixes unless
the user explicitly asks for fixes. If a delegated skill offers to fix safe
small issues, keep it in report-only mode unless the invocation includes
fix, apply, or equivalent explicit permission.
modes
| mode |
coverage |
finding cap |
quick |
primary path and highest-risk states; report P0-P2 only |
5 |
full |
requested scope across every domain and relevant state |
15 |
Default to full. If the requested scope is too large to inspect credibly,
narrow it to the highest-traffic complete flow and state the boundary. Never
claim coverage for an uninspected surface.
workflow
resolve scope and mode. Identify whether the target is a component,
page, flow, whole app, screenshot, URL, or branch. If scope is missing,
audit the current visible app or branch and state that assumption. This
step is complete when the mode, exact target, and review boundary are
explicit.
load project truth. Read local design docs, existing component
conventions, recent changed files, and any asbuilt package if one is
present. Do not require asbuilt; treat it as extra project-specific
evidence. This step is complete when the stack, styling system, behavior
engine, tokens, supported viewports, and available preview or test commands
are accounted for.
review every domain. Load the owning skills in this order:
better-accessibility, with preflight for broad static risks
better-layout, with responsive-craft for viewport behavior
better-writing
better-typography
oklch-skill
better-ui
When orchestrated here, use their principles and references but ignore
their standalone output formats. In quick mode inspect every domain and
spend depth where evidence shows the greatest risk. In full mode complete
each domain review. Mark any unavailable or untested domain not covered;
never reconstruct its rules from memory.
inspect the rendered product. Use responsive-craft preview or its
snapshot workflow when the target can run in a browser. Cover mobile and
desktop at minimum. Use wip-senior-audit for live first impressions,
navigation, hierarchy, states, trust, and conversion. A claim that depends
on runtime behavior or appearance requires rendered evidence; otherwise
mark it not verified.
apply Studio taste. Use interface-craft critique for composition,
hierarchy, density, user context, and cohesion. Use
emil-design-eng review for motion, feedback, timing, interruption, and
interaction feel. Its standalone verdict yields to this audit's one final
verdict. Studio law and the project profile adjudicate every supplier
opinion.
synthesize one verdict. One root cause is one finding even when several
domains observe it. Cite a file and line, route, viewport, screenshot, or
interaction step for every finding. Rank by Studio priority, then reach and
leverage; a shared token or component outranks the same symptom in one
leaf. Record real candidates considered and rejected because the evidence,
project convention, or user value did not justify a change. The audit is
complete when every domain has a coverage result, every reported finding
has evidence and a concrete fix, and every verification gap is named.
output
Write the final answer in the format from
references/report-template.md.
If working inside a repo and the audit is more than a quick chat critique, also
write the durable report to docs/design-audit/studio-audit.md. If screenshots
were captured, store them under docs/design-audit/assets/ and reference them
from the report.
Close with:
ship: no blocking issues
fix first: P0/P1 issues exist
review again: the audit could not cover the live flow, mobile, or another
required surface
1---2name: studio-audit3description: Senior Studio audit for finished UI. Use for a quick or full ship check of a component, page, flow, app, or branch before handoff, commit, or deployment, including requests for better-interface.4---56# studio-audit78Use this when the user feels "done" and wants the work judged like a senior9designer would judge it before handoff. This is an umbrella review skill, not a10new visual system. It composes the existing Cortex design review and craft11skills, then synthesizes one priority-ordered report.1213Its domain-owner coverage and evidence discipline incorporate14[Jakub Krehel's `better-interface`](https://github.com/jakubkrehel/skills/tree/main/skills/better-interface)15at commit `a67333399dabbc71d7778962cb9c4fb9b86a00d0`.1617## law1819Read [references/studio-law.md](references/studio-law.md) before judging. Read20[references/report-template.md](references/report-template.md) before writing21the final report.2223Default to audit-only. Do not edit code, run formatters, or apply fixes unless24the user explicitly asks for fixes. If a delegated skill offers to fix safe25small issues, keep it in report-only mode unless the invocation includes26`fix`, `apply`, or equivalent explicit permission.2728## modes2930| mode | coverage | finding cap |31| --- | --- | --- |32| `quick` | primary path and highest-risk states; report P0-P2 only | 5 |33| `full` | requested scope across every domain and relevant state | 15 |3435Default to `full`. If the requested scope is too large to inspect credibly,36narrow it to the highest-traffic complete flow and state the boundary. Never37claim coverage for an uninspected surface.3839## workflow40411. **resolve scope and mode.** Identify whether the target is a component,42 page, flow, whole app, screenshot, URL, or branch. If scope is missing,43 audit the current visible app or branch and state that assumption. This44 step is complete when the mode, exact target, and review boundary are45 explicit.462. **load project truth.** Read local design docs, existing component47 conventions, recent changed files, and any asbuilt package if one is48 present. Do not require asbuilt; treat it as extra project-specific49 evidence. This step is complete when the stack, styling system, behavior50 engine, tokens, supported viewports, and available preview or test commands51 are accounted for.523. **review every domain.** Load the owning skills in this order:53 - `better-accessibility`, with `preflight` for broad static risks54 - `better-layout`, with `responsive-craft` for viewport behavior55 - `better-writing`56 - `better-typography`57 - `oklch-skill`58 - `better-ui`5960 When orchestrated here, use their principles and references but ignore61 their standalone output formats. In `quick` mode inspect every domain and62 spend depth where evidence shows the greatest risk. In `full` mode complete63 each domain review. Mark any unavailable or untested domain `not covered`;64 never reconstruct its rules from memory.654. **inspect the rendered product.** Use `responsive-craft preview` or its66 snapshot workflow when the target can run in a browser. Cover mobile and67 desktop at minimum. Use `wip-senior-audit` for live first impressions,68 navigation, hierarchy, states, trust, and conversion. A claim that depends69 on runtime behavior or appearance requires rendered evidence; otherwise70 mark it `not verified`.715. **apply Studio taste.** Use `interface-craft critique` for composition,72 hierarchy, density, user context, and cohesion. Use73 `emil-design-eng review` for motion, feedback, timing, interruption, and74 interaction feel. Its standalone verdict yields to this audit's one final75 verdict. Studio law and the project profile adjudicate every supplier76 opinion.776. **synthesize one verdict.** One root cause is one finding even when several78 domains observe it. Cite a file and line, route, viewport, screenshot, or79 interaction step for every finding. Rank by Studio priority, then reach and80 leverage; a shared token or component outranks the same symptom in one81 leaf. Record real candidates considered and rejected because the evidence,82 project convention, or user value did not justify a change. The audit is83 complete when every domain has a coverage result, every reported finding84 has evidence and a concrete fix, and every verification gap is named.8586## output8788Write the final answer in the format from89[references/report-template.md](references/report-template.md).9091If working inside a repo and the audit is more than a quick chat critique, also92write the durable report to `docs/design-audit/studio-audit.md`. If screenshots93were captured, store them under `docs/design-audit/assets/` and reference them94from the report.9596Close with:9798- `ship`: no blocking issues99- `fix first`: P0/P1 issues exist100- `review again`: the audit could not cover the live flow, mobile, or another101 required surface