What is design-review?
Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.
event4u-app/agent-config
Use 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.
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/design-review"Quick start
Install it or open the source, trigger it with a clear task, then follow the source workflow.
npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/design-review"Use design-review to help me with: [describe your task]. Before you begin, tell me what input you need, the steps you will follow, and the expected output.
No structured workflow was detected; follow the original SKILL.md below.
Continue to the workflowDirect answers
Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.
It is relevant to workflows involving Testing, Engineering, Design, Operations.
SkillSignal detected this source-specific command: npx skills add https://github.com/event4u-app/agent-config --skill "src/skills/design-review". Inspect the repository and command before running it.
The upstream source does not declare a dedicated Agent platform.
Static analysis detected exec-script signals. Review the cited source lines before installing; these signals are not a security audit.
This page combines upstream documentation with deterministic repository, quality, and static-risk signals. It is not described as a manual test or security review.
SkillSignal brief
Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.
Useful in these contexts
Core capabilities
Distilled from the source
About 9 min · 16 sections
Reviewing pull requests with UI changes
Auditing frontend components for design quality
Verifying responsive design across viewports
Checking accessibility compliance (WCAG 2.1 AA)
When reporting a finding with a specific remediation, use this table format:
Wrong format (do not use):
The Why column carries the reasoning — it's the part that teaches the developer and prevents the same finding from recurring.
Quality breakdown
Based on traceable docs and repository signals; stars are not treated as quality.
Compare before choosing
These links are selected from shared tasks, functions, stacks, platforms, and same-name variants. Compare the source owner, documentation, permissions, and maintenance signals.
Use this skill to automate visual testing and UI interaction verification using browser automation after deploying features.
Optimizes multi-step conversion flows including signup, onboarding, upgrade, and checkout. Maps each step, identifies friction and drop-off risks, then recommends specific copy/UX changes with A/B test plans. Use when someone says 'signup flow', 'onboarding optimization', 'checkout conversion', 'paywall optimization', 'activation rate', 'funnel analysis', 'why are users dropping off', 'registration flow', 'trial conversion', 'free to paid', 'upgrade flow', 'user journey', or wants to improve any
Test Cherry Studio PRs by resolving and checking out a PR, statically inspecting its changes, running interactive UI tests against a safely tracked Electron instance through CDP, producing a structured report, cleaning up only the owned test instance, and restoring the original branch.
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
Build, inspect, test, and analyze bounded process-based discrete-event simulations with SimPy, including events, resources, interrupts, monitoring, replications, warm-up, and reproducible output analysis.
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:
Do NOT use when:
fe-design skill instead)One of the following browser automation tools:
A live preview URL is required for testing.
accessibility-auditor).:focus-visible indicator (Q6 floor, lint_design_quality).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).Test at three viewports:
| Viewport | Width | Device |
|---|---|---|
| Desktop | 1440px | Standard monitor |
| Tablet | 768px | iPad |
| Mobile | 375px | iPhone SE |
| Criterion | Check |
|---|---|
| 1.1.1 | All images have meaningful alt text |
| 1.3.1 | Semantic HTML (headings, landmarks, lists) |
| 1.4.3 | Color contrast ≥ 4.5:1 (text), ≥ 3:1 (large text) |
| 1.4.11 | Non-text contrast ≥ 3:1 (UI components, borders) |
| 2.1.1 | All functionality available via keyboard |
| 2.4.3 | Focus order is logical and predictable |
| 2.4.7 | Focus indicator is visible |
| 3.3.1 | Error messages identify the field and describe the error |
| 3.3.2 | Labels and instructions for form inputs |
| 4.1.2 | ARIA roles, states, and properties are correct |
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.
When a finding warrants a remediation recommendation, prefer in this order:
"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.
When reporting a finding with a specific remediation, use this table format:
| Field | Content |
|---|---|
| Before | The current state (quote the code, value, or describe the pattern) |
| After | The corrected state (specific value or alternative) |
| Why | The mechanism: why is Before wrong and After better? (one sentence, states the principle) |
Wrong format (do not use):
Before:
button { transition: all 0.3s ease; }
After:
button { transition: transform 0.2s ease-out, opacity 0.2s ease-out; }
Right format:
| Before | transition: all 0.3s ease |
| After | transition: transform 0.2s ease-out, opacity 0.2s ease-out |
| Why | transition: all animates layout properties on every state change, causing browser reflow; enumerate only the properties that move. |
The Why column carries the reasoning — it's the part that teaches the developer and prevents the same finding from recurring.
Describe what's wrong and why it matters, not how to fix it.
❌ "Change margin to 16px"
✅ "Spacing feels inconsistent with adjacent elements, creating visual clutter near the CTA."
Every issue gets a severity:
| Severity | Meaning | Action |
|---|---|---|
| Blocker | Must fix before merge | Blocks PR |
| High | Should fix before merge | Strong recommendation |
| Medium | Consider for follow-up | Suggestion |
| Nitpick | Optional polish | Prefix with "Nit:" |
Screenshots required for all visual issues. Reference specific viewport and state.
Acknowledge what works well before listing issues.
## Design Review Summary
[Positive opening + overall assessment]
### 🚫 Blockers
[Critical issues — must fix]
### ⚠️ High Priority
[Significant issues — should fix]
### 💡 Suggestions
[Improvements for follow-up]
### ✨ Nitpicks
[Minor aesthetic details]
### Testing Evidence
[Screenshots: Desktop, Tablet, Mobile]
### Next Steps
1. [Fix blockers]
2. [Address high-priority]
**Overall: [Ready to merge | Needs revisions]**
When Playwright MCP or browser tools are available, use them for automated visual verification:
Don't just screenshot the default state. Capture:
| State | How to trigger |
|---|---|
| Empty | Remove data, check empty state UI |
| Loading | Throttle network, capture skeleton/spinner |
| Error | Force an error response, check error UI |
| Overflow | Add very long text, many items |
| Interactive | Hover, focus, open dropdowns |
When implementing from a design mockup or screenshot:
This is especially useful when the user provides a screenshot or Figma export as a reference.
For a review that needs browser probing, use an async background verifier
rather than self-screenshotting inline: fork a verifier subagent with its own
view — it takes the screenshots, probes viewports, and checks states, then
stays silent on pass and surfaces only real, actionable problems (never
nitpicks). The main agent does not self-screenshot, so its context stays clean
for the actual review reasoning. This is an orchestration pattern —
dispatch it via subagent-orchestration
and position it against verify-repair-loop
(the existing verify skill); it complements them, it does not duplicate them.
Why the audit passes stay serial (not a parallel-4 fan-out). A fan-out of
a11y + slop + hierarchy + states across four subagents was evaluated and
deferred: the passes share one live browser/navigation session and later phases
build on state established by earlier ones, so they are not cleanly independent;
and the expensive part — browser probing / screenshots — is already offloaded by
the async verifier above, which captures the fan-out's main win without spinning
up four separate views. Reconsider only when design-review runs as a standalone
heavy batch over many independent surfaces, where per-surface
do-in-parallel genuinely pays.
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:
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 (P0–P3), 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).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.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.