ceos-visual-audit
Skill0 starsChanged 12 days agoMITView on GitHub
Independent, evidence-based visual and creative critique of a rendered website in a real browser — originality, typography, composition, spacing, alignment, hierarchy, colour, imagery, motion quality, interaction clarity, consistency, responsive fidelity and design-to-spec accuracy — producing a prioritised defect report where every issue has evidence and a precise fix. Use after any visual change, before declaring a page done, when a page "feels off", or when asked to review/critique/QA a design.
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 62
Every finding cites a screenshot path + viewport + selector or coordinates + a measurement where possible.
- Distinctive: line 63
Every fix is concrete (token, CSS property, copy change, asset change).
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Visual quality audit
Purpose
Judge what the browser actually renders, not what the code intends. Replace "improve the design" with defects a developer can fix in minutes.
Capture first (never critique from code)
node ~/creative-engineering-os/tooling/visual-audit/capture.mjs --url http://localhost:5173 --out docs/QA/<date>Produces screenshots at 1440, 1024, 768, 390 (first screen + full page), console errors, a DOM type/colour/spacing
measurement JSON, axe results, and a reduced-motion screenshot set. Record key interactions as video when motion is
in scope (--video).
How to look (in this order)
- Five-second test (first screen at 1440 and 390): can a stranger say what this is and what to do?
- Squint test: blur mentally — is the intended order of reading obvious?
- Concept fidelity: does the screen express the approved idea sentence, or could it be anyone's?
- Type: count sizes; check measure, leading, tracking vs size, line breaks, orphans, font loading (fallback flash), real quotes/dashes.
- Grid and spacing: equal outer margins; shared left edges; section rhythm; consistent gaps (measure in px).
- Colour: roles respected; contrast (measured); accent discipline.
- Imagery/3D: one treatment; crops consistent; lighting and materials credible; no stretched/low-res assets.
- Motion (from video/frames): purpose, easing consistency, choreography, interruption, idle calm, jank.
- Interaction clarity: affordances, hover/focus/active states, feedback latency.
- Responsive fidelity: phone is re-composed; nothing overflows; tap targets ≥ 44 px.
- Spec accuracy: compare against
ART_DIRECTION.mdtokens and approved mockups (pixel diff where available).
Generic tells (each is a finding unless the brief demands it)
Centred hero + small eyebrow + gradient blob; identical icon cards in rows of three; ALL-CAPS tracked labels above every heading; 01/02/03 numbering on non-sequences; glassmorphism by default; purple/indigo gradients; drop shadows on everything; fade-up on every section; stock "team at laptop" photos; default system or Inter-everywhere type; one border-radius on every element; arrow "→" on every link.
Report format (docs/QA/<date>-visual-audit.md)
# Visual audit — <page> — <date> — build <sha>
Scores (0–10): Concept __ · Typography __ · Composition __ · Colour __ · Imagery/3D __ · Motion __ · Interaction __ · Responsive __
Verdict: SHIP / FIX THEN SHIP / RETHINK
| ID | Sev | Area | Evidence (file:viewport, selector, measured value) | Rule / expectation | Fix (exact change) | Verified |
|----|-----|------|-----------------------------------------------------|--------------------|--------------------|----------|
| V-01 | P1 | Type | 390-first.png: h1 wraps to 5 lines (font-size 64px at 390) | headline ≤ 3 lines | --step-display min 44px → 40px; copy cut to 4 words | ☐ |Severity: P0 broken/misleading/inaccessible · P1 visibly below standard, fix before ship · P2 polish · P3 idea for later. Verified = re-captured screenshot path after the fix.
Rules for the auditor
- Independence: audit someone else's output, or re-read your own with the report format — no defending choices.
- Every finding cites a screenshot path + viewport + selector or coordinates + a measurement where possible.
- Every fix is concrete (token, CSS property, copy change, asset change). No adjectives without numbers.
- Re-capture after fixes; close findings only with new evidence.
Failure criteria
Critique without screenshots; vague findings; ignoring phone; scoring without listing defects; marking verified without re-capture.
In this repository16 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- ceos-3d-asset-pipelineSkill
- ceos-art-directionSkill
- ceos-creative-codingSkill
- ceos-creative-directionSkill
- ceos-frontend-architectureSkill
- ceos-interaction-architectureSkill
- ceos-motion-directionSkill
- ceos-performance-engineeringSkill
- ceos-production-qualitySkill
- ceos-realtime-3dSkill
- ceos-shader-engineeringSkill
- ceos-start-hereSkill
- ceos-studio-workflowSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

