Source profileQuality 99/100Review permissions

event4u-app/agent-config/src/skills/design-review/SKILL.md

design-review

When the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility and more.

Source repository stars
7
Declared platforms
0
Static risk flags
2
Last source update
2026-08-25
Source checked
2026-08-25

Decision brief

What it does: where it fits

When the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility and more.

Best for

  • Reviewing pull requests with UI changes
  • Auditing frontend components for design quality
  • Verifying responsive design across viewports

Not for

  • Tasks that require unconfirmed production actions or broad system permissions.
  • Environments where the pinned source and install steps cannot be inspected.

Compatibility matrix

Platform support, with evidence labels

PlatformStatusEvidenceWhat to check
CodexNot declaredNo explicit evidencePortability before use
Claude CodeNot declaredNo explicit evidencePortability before use
CursorNot declaredNo explicit evidencePortability before use
Gemini CLINot declaredNo explicit evidencePortability before use
Open the compatibility checker

Installation

Inspect first. Install second.

The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

Source-detected install commandSource
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/design-review"
Safe inspection promptEditorial

Inspect the Agent Skill "design-review" from https://github.com/event4u-app/agent-config/blob/a36d4658de87e81bda8299dc3a01b9b9ce583af5/src/skills/design-review/SKILL.md at commit a36d4658de87e81bda8299dc3a01b9b9ce583af5. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

Workflow

What the source asks the agent to do

  1. 01

    Procedure: Design review

    1. Inspect the PR and preview — Read the PR description, diff, and identify changed components/pages; capture a baseline screenshot of the preview URL. 2. Walk the interactions — Run Phase 1; cover hover/focus/active/disabled, keyboard, loading, and form error states. 3. Cover r…

    Inspect the PR and preview — Read the PR description, diff, and identify changed components/pages; capture a baseline screenshot of the preview URL.Walk the interactions — Run Phase 1; cover hover/focus/active/disabled, keyboard, loading, and form error states.Cover responsiveness, polish, a11y, robustness — Run Phases 2–5 in order; record findings per phase.
  2. 02

    Phase 0: Preparation

    Read PR description and git diff.

    Read PR description and git diff.Identify changed components and affected pages.Navigate to preview URL.
  3. 03

    Phase 1: Interaction

    Test user flows end-to-end.

    Test user flows end-to-end.Six interaction states — every interactive element asserts each one (thisdefault — the resting state is a deliberate style, not the browser default.
  4. 04

    Phase 2: Responsiveness

    The 320px row is the floor fe-design already asserts ("every layout must work on 320px width"). It is in this table because an asserted floor outside the measured set is an assertion nobody checks; 375px passing says nothing about 320px, which is where a two-column grid or a fix…

    Take screenshots at each viewport.Scroll-driven surface — read the scrollevidence artefactCheck layout shifts, overflow, and content reflow.
  5. 05

    Phase 3: Visual Polish

    Typography: Font sizes, weights, line heights, hierarchy.

    Typography: Font sizes, weights, line heights, hierarchy.Spacing: Consistent margins, padding, alignment.Colors: Contrast ratios, brand consistency, dark mode.

Permission review

Static risk signals and limitations

Reads files

low · line 175

The documentation asks the agent to read local files, directories, or repositories.

Load the reference file whose sections the review needs — never all of them by default:

Runs scripts

medium · line 268

The documentation asks the agent to run terminal commands or scripts.

npx tsx node_modules/@event4u/agent-config/src/scripts/lint_design_slop.ts --dir <consumer-ui-path> --json

Evidence record

Why each signal appears

EvidenceSourceComputedTestedEditorial
SignalValueEvidence typeMeaning
Quality score99/100ComputedDocumentation, specificity, maintenance, and trust rules
Repository stars7SourceRepository attention, not individual Skill quality
Compatibility0 platformsSourceDeclared in the catalog source record
Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

Pinned source

Provenance and original SKILL.md

Repository
event4u-app/agent-config
Skill path
src/skills/design-review/SKILL.md
Commit
a36d4658de87e81bda8299dc3a01b9b9ce583af5
License
MIT
Collected
2026-08-25
Default branch
main
View the original SKILL.md

design-review

When to use

Render-verification gate. A UI verdict is gated on the design-artifact verification checklist: where render capability exists, do not pass a design task without render evidence (checklist steps 1–5); where it is absent, scope the verdict to what was statically checked and say so — never "looks good" without evidence.

Use this skill when:

  • Reviewing pull requests with UI changes
  • Auditing frontend components for design quality
  • Verifying responsive design across viewports
  • Checking accessibility compliance (WCAG 2.1 AA)
  • Testing interaction flows and user experience
  • Conducting visual QA on new features

Do NOT use when:

  • Creating new designs (use fe-design skill instead)
  • Reviewing backend/API code only
  • Quick syntax checks (use linters)

Prerequisites

One of the following browser automation tools:

  • Playwright MCP (recommended) — browser automation, screenshots, viewport testing
  • Chrome DevTools — screenshot capture, performance analysis

A live preview URL is required for testing.

Procedure: Design review

  1. Inspect the PR and preview — Read the PR description, diff, and identify changed components/pages; capture a baseline screenshot of the preview URL.
  2. Walk the interactions — Run Phase 1; cover hover/focus/active/disabled, keyboard, loading, and form error states.
  3. Cover responsiveness, polish, a11y, robustness — Run Phases 2–5 in order; record findings per phase.
  4. Audit code-health and content — Run Phases 6–7; check tokens, dead styles, copy, console warnings.
  5. Verify and report — Consolidate findings in the report structure; classify each as Blocker / High / Medium / Nit before posting.

Phase 0: Preparation

  • Read PR description and git diff.
  • Identify changed components and affected pages.
  • Navigate to preview URL.
  • Take baseline screenshot.

Phase 1: Interaction

  • Test user flows end-to-end.
  • Six interaction states — every interactive element asserts each one (this is the single canonical states checklist; no other review phase repeats it):
    1. default — the resting state is a deliberate style, not the browser default.
    2. hover — pointer feedback present (and not the only affordance — see focus).
    3. active — pressed/engaged state visibly distinct from hover.
    4. disabled — visually unmistakable as non-interactive (a contrast dip alone that a user cannot read as "disabled" is a WCAG 1.4.1 failure — see accessibility-auditor).
    5. focus — a visible :focus-visible indicator (Q6 floor, lint_design_quality).
    6. loading — an explicit pending state (skeleton/spinner/disabled-submit), never a dead frozen control.
  • Transition timing between these states follows the motion bands in fe-design § Motion (micro-feedback ~100–200 ms; structural open/close ~200–500 ms) — the timing source of truth; do not restate a competing band set here. Every animated transition also carries a prefers-reduced-motion alternative (M5 / Q4).
  • Reduced motion is a presentation, not a suppression. Check what the surface shows instead of the motion, not that a prefers-reduced-motion block exists — the block is greppable and says nothing. A reveal presents its content at the final state; a scrubbed sequence presents each beat at its resting state; only decoration is correctly removed. animation: none over a reveal leaves the content invisible. Verdict table: accessibility-auditor § 2.
  • Test keyboard navigation (Tab, Enter, Escape, Arrow keys).
  • Verify form submission and error recovery.

Phase 2: Responsiveness

Test at four viewports:

ViewportWidthDevice
Desktop1440pxStandard monitor
Tablet768pxiPad
Mobile375pxiPhone SE
Floor320pxNarrowest supported — the asserted floor

The 320px row is the floor fe-design already asserts ("every layout must work on 320px width"). It is in this table because an asserted floor outside the measured set is an assertion nobody checks; 375px passing says nothing about 320px, which is where a two-column grid or a fixed min-width actually breaks.

  • Take screenshots at each viewport.
  • Scroll-driven surface — read the scroll_evidence artefact (references/verification-automation.md § Scroll evidence) and report every sample whose asserted state and observed disagree as a finding. An empty samples array is a recorded null, not a pass.
  • Check layout shifts, overflow, and content reflow.
  • Verify touch targets are at least 44x44px on mobile.

Phase 3: Visual Polish

  • Typography: Font sizes, weights, line heights, hierarchy.
  • Spacing: Consistent margins, padding, alignment.
  • Colors: Contrast ratios, brand consistency, dark mode.
  • Alignment: Grid alignment, visual balance.
  • Icons: Consistent size, style, and spacing.

Phase 4: Accessibility (WCAG 2.1 AA)

CriterionCheck
1.1.1All images have meaningful alt text
1.3.1Semantic HTML (headings, landmarks, lists)
1.4.3Color contrast ≥ 4.5:1 (text), ≥ 3:1 (large text)
1.4.11Non-text contrast ≥ 3:1 (UI components, borders)
2.1.1All functionality available via keyboard
2.4.3Focus order is logical and predictable
2.4.7Focus indicator is visible
3.3.1Error messages identify the field and describe the error
3.3.2Labels and instructions for form inputs
4.1.2ARIA roles, states, and properties are correct

Phase 5: Robustness

  • Empty states: What happens with no data?
  • Error states: What happens when things fail?
  • Content overflow: Long text, many items, large numbers.
  • Loading states: Skeleton screens, spinners, progressive loading.
  • Boundary values: Min/max inputs, special characters.

Phase 6: Code Health

  • Component reuse — are existing components used where possible?
  • Design tokens — are colors, spacing, fonts from the design system?
  • CSS patterns — utility classes vs. custom CSS, consistency.
  • Accessibility in code — semantic HTML, ARIA attributes.

Phase 7: Content & Console

  • Grammar and spelling in UI text.
  • Consistent terminology and tone.
  • No placeholder text left in production.
  • Check browser console for JavaScript errors or warnings.

Reviewer posture

Approval is earned, not assumed. Default to flagging.

A design review is a skeptic's pass. The default verdict for every element is "this needs to justify itself" — not "this is probably fine." Approve explicitly when you have examined the evidence and found it sound.

This posture prevents the failure of "nothing to report" reviews that miss real issues because the reviewer defaulted to charitable assumptions.

Subtraction-first remedial hierarchy

When a finding warrants a remediation recommendation, prefer in this order:

  1. Delete — remove the element, animation, pattern, or copy entirely
  2. Reduce — make it smaller, shorter, subtler, less frequent
  3. Fix the specific issue — change easing, origin, duration, contrast, font
  4. Make it interruptible (for motion) — switch to transition/spring
  5. Move to GPU (for motion) — animate only transform/opacity
  6. Polish — the lowest-leverage fix; only if the above don't apply

"Delete the animation" is always the first option to consider, even before suggesting a different easing curve. The same applies to decorative elements, excessive copy, and redundant UI chrome.

Section index — load on demand

Load the reference file whose sections the review needs — never all of them by default:

Output format

  1. Design review report following the Report structure section
  2. Severity-rated findings (blocker, suggestion, nit)
  3. Accessibility and responsive compliance summary

Auto-trigger keywords

  • design review
  • UI review
  • UX audit
  • accessibility
  • WCAG
  • responsive

Gotcha

  • Don't review design without understanding the user's constraints (time, resources, scope).
  • The model tends to suggest accessibility improvements that break the existing design system.
  • "Best practice" is not always the right choice — sometimes "good enough" ships faster.

Read the authority object — the review is scoped by it

Read the resolved ui_authority (contract) before reviewing. Three fields change what a finding means:

  • surface_mode sets the density, hierarchy and expressiveness a reviewer should expect. A dense operate screen is not "cramped" and a generous persuade hero is not "wasteful".
  • change_intent decides whether a visual-world difference is a finding at all. Under preserve a palette or type-family delta is a defect; under redesign it is the point.
  • reference_maturity decides whether a difference from the reference is a defect. A wireframe declares structure, so reproducing its grey boxes is over-fidelity, not fidelity.
QUALITY FLOORS DO NOT VARY BY SURFACE MODE.
THE Q1-Q6 FLOOR SET IS IDENTICAL IN ALL FOUR MODES.

Do not re-derive any of these fields here. This skill is a declared consumer of that object, and the contract's consumer table names it.

Review independence — two passes, isolated, in this order

PASS A (JUDGEMENT) RUNS BEFORE PASS B (DETECTOR + RENDER), AND IN ISOLATION.
INLINE EXECUTION IS PERMITTED ONLY WHERE NO SPAWN PRIMITIVE EXISTS, AND THEN
LINE 1 READS `DEGRADED: single-context (<reason>)`.
THERE IS NO THIRD STATE.

Pass A — judgement. Read the surface and form a verdict without the detector output and without the render artefact. Emit an assessment id.

Pass B — detector plus render. Run lint_design_slop and read the ui:render manifest. Emit a second assessment id.

Order is the whole point. A judgement formed after reading a detector's findings is anchored to them: the reviewer confirms the list instead of looking at the surface. Running A first is what keeps B's findings additive rather than directive — the same reason evaluator-independence forbids pre-loading a verdict into a reviewer's prompt.

When no spawn primitive exists the two passes share one context, which means A cannot be isolated from B. That is a real degradation and it is reported, not hidden: line 1 of the output reads

DEGRADED: single-context (<reason>)

Output therefore carries either two assessment ids or that banner. Neither present is not a third state — it is an unreported degradation, and it is the failure this section exists to prevent.

Anti-slop scan

Hybrid: a deterministic detector does the mechanical pattern-matching (zero token cost, no catalog reload); you do the judgment it cannot. After the structured review phases, add an explicit Anti-Slop Check section:

  1. Run the deterministic detector first — it catches the pattern-detectable tells so you don't eyeball or re-derive them:
    npx tsx node_modules/@event4u/agent-config/src/scripts/lint_design_slop.ts --dir <consumer-ui-path> --json
    
    Each finding carries rule (e.g. slop-v1-side-stripe), catalogId (V1), severity (P0P3), file:line, and a message. Cite these verbatim (rule-id + catalogId + file:line) — do not re-describe them from the prose catalog. Findings are rebuttable presumptions: a finding the consumer's DESIGN.md gate suppresses is already filtered out; a remaining finding means the project has not declared the pattern as intentional. lint_design_slop is flags, never a block (default exit 0; CI opts into failure via --fail-on).
  2. Judge what the detector cannot — load docs/guidelines/design-antipatterns.md for the tells that need structural/aesthetic judgment (e.g. T3 icon-tile stack, L2 three-identical-card grid, V2 glassmorphism intent). List any that appear, cite by entry ID, and check the override condition.
  3. Run the AI-slop originality self-test on the overall aesthetic direction. Report the result (pass / flag / fail) with one sentence of evidence — this is the human judgment the detector deliberately does not make.
  4. Mark the findings a provided artifact already answers. When the run is a port (state.ui_design.provided_artifact is set), a finding about a decision the artifact makes is correct about the pattern and wrong about the action. Keep it in the output, cite it as "matches provided spec", and set artifact_covered: true on it — the polish gate drops those from the round-driving set, so an unmarked finding will send a round at the user's own design. The flag is scoped to decisions the artifact actually covers; anything it leaves open (a state it never showed) is generative work and keeps the full scan. Precedence + scope: design-fidelity-mechanics § Provided-artifact precedence. Regression witness: daf-slop-vs-provided.

For the objective quality floors (WCAG contrast, font-size, line-length, reduced-motion, heading hierarchy, focus indicator), do NOT eyeball them — run the accessibility-auditor checklist (Q1–Q6 in the catalog) and cite its verdict. The review owns the subjective anti-slop judgment (Visual / Typography / Color / Layout taste); accessibility-auditor owns the objective floors and the WCAG audit method. Cite, don't re-derive.

Do NOT

  • Do NOT skip accessibility testing — it's not optional.
  • Do NOT report issues without evidence (screenshots, specific elements).
  • Do NOT prescribe solutions — describe problems and impact.
  • Do NOT block PRs on nitpicks.
  • Do NOT test only at desktop resolution.

Frequently asked questions

What to verify before installation and use

What does the design-review source document cover?

When the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility and more.

How do I install design-review?

The source record exposes this install command: npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/design-review". Inspect the command and pinned source before running it.

Which permission-related actions were detected?

Static rules flagged read-files, exec-script in the source; the page lists the matching lines and excerpts.

Alternatives

Compare before choosing

Computed 941,814

GCWing/BitFun

design-review

Designer's eye QA: finds visual inconsistency, spacing issues, hierarchy problems, AI slop patterns, and slow interactions — then fixes them. Iteratively fixes issues in source code, committing each fix atomically and re-verifying with before/after screenshots. For plan-mode design review (before implementation), use /plan-design-review. Use when asked to "audit the design", "visual QA", "check if it looks good", or "design polish". Proactively suggest when the user mentions visual inconsistenci

Computed 94144

dimetron/pi-go

design-review

Deep design review of Go codebase — naming, structure, consistency, interfaces, error handling. Scores each dimension and provides actionable fixes.

Computed 92129,512

garrytan/gstack

design-review

Designer's eye QA: finds visual inconsistency, spacing issues, hierarchy problems, AI slop patterns, and slow interactions — then fixes them. (gstack)

Computed 10045,511

coreyhaines31/marketingskills

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program