Run a holistic interface review across accessibility, layout, writing, typography, color, and visual polish.
Real-world examples not captured yet
This skill shows a gallery of live HTML demos (CDN libraries welcome — GSAP, Three.js, etc.) rendered inline via srcdoc.
Skill markdown
# Interface This skill runs a cross-discipline review. It routes the interface to each `better-*` skill, collects their evidence and consolidates one ranked verdict. Orchestration is all it owns. Accessibility rules belong to `better-accessibility`, structure to `better-layout`, copy to `better-writing`, type to `better-typography`, color to `better-colors`, visual polish and motion to `better-ui`. Change-scoped review of uncommitted work, branches and pull requests belongs to `interface-review`. ## Evidence, not taste Press hard on the escalation triggers and leave deliberate project choices alone. A trigger is a failure whatever the style guide says. A density, radius or voice you merely disagree with is not a finding. The bar for reporting is evidence. The bar for `Approve` is that you inspected what you claim to have inspected. ## 1. Resolve the scope first Infer the screen, flow, feature or repository scope from the request and current workspace. State the resolved scope in the output. Cover all of it in every domain, including the empty, loading, error and narrow-width states where they exist. When the scope is too large to inspect credibly, narrow it to one complete flow. Take the one the request centers on, or failing that the entry path every user must pass through. State the boundary and what it excluded. Never imply uninspected surfaces were reviewed. ## 2. Send a change to `interface-review` A request naming a branch, pull request, commit range or uncommitted changes is a change review. Say so and ask the user to run `interface-review`, which is user-invoked and cannot be started from here. Never resolve a change scope yourself, because a guessed diff gives the report a scope nobody can check. When `interface-review` hands a review back, apply everything below to it. The cap and the verdict cover `Introduced` and `Regression` findings only, so a change whose only findings are `Pre-existing` is an `Approve`. ## 3. Recon before judgment Identify the framework, styling system, component library, design tokens, supported viewports and any preview or test command. Write every fix in the project's own idiom, never as a request to adopt a different stack. Then read what the project has written about its own interface: `CONTRIBUTING.md`, `CODING_STANDARDS.md`, `AGENTS.md`, `CLAUDE.md`, a design-system doc, Storybook docs and interface ADRs. Name which you found, or that there are none. A documented convention settles matters of taste but never excuses a trigger or a domain rule violation. What it changes is **where** you report. When a guideline or shared token is the cause, report it once against that source, with the components as its locations. ## 4. Use domain skills as the sources of truth Load every owning skill below and complete each domain review before consolidation. Review in this order so foundational failures are not hidden by polish: 1. `better-accessibility` 2. `better-layout` 3. `better-writing` 4. `better-typography` 5. `better-colors` 6. `better-ui` From each, take its principles, its references and its verification checks. Its severity ladder and its format are for standalone use; the ones in this file replace them. If an owning skill is unavailable, mark that domain `Not reviewed`, name it and continue with the rest. Do not recreate its rules from memory, substitute a neighbour or claim holistic coverage. When two skills appear to cover one issue, assign it to the owner of the underlying rule and note secondary effects in the **Why** cell. ## 5. Verify what can be verified Run the safe, relevant checks the project offers. Inspect the rendered interface when runtime behavior or visual judgment matters, and report the exact command or interaction and its result. A check you cannot run is **Not verified**, never a finding. ## Require evidence Every finding cites `path/to/file:line` and shows the current implementation. When runtime behavior determines the result, source alone cannot support a visual finding and a screenshot alone cannot support a code finding. ## Rank by user impact Use one shared severity scale: - `HIGH`: blocks a task, misleads the user, hides content or controls, causes data-loss risk or creates a repeated systemic failure. - `MEDIUM`: meaningfully harms comprehension, efficiency, adaptability or consistency. - `LOW`: isolated polish with limited task impact. Within a severity, rank by how many places the finding reaches and how much one fix buys. A token or shared-component fix outranks the same symptom in one leaf. **Escalation triggers.** Once the owning skill confirms one of these, it is `HIGH` on sight, never averaged down because the surface is minor: - An interactive control with no accessible name. - A keyboard-reachable control with no visible focus indicator. - A control or path reachable by pointer but not by keyboard. - Motion or auto-playing content that ignores `prefers-reduced-motion`. - Content or a control clipped, ov …
More from jakubkrehel
- Better AccessibilityReview and improve focus states, keyboard support, ARIA, forms, screen readers, hit areas, and motion accessibility.
- Better ColorsOKLCH color space for web projects. Convert hex/rgb/hsl to oklch, generate palettes, check contrast, handle gamut boundaries, and theme with Tailwind v4. Triggers on oklch, color conversion, palette generation, contrast ratio, gamut, display p3, design tokens, hue drift, chroma, dark mode colors.
- Better LayoutImprove interface structure through grouping, alignment, reading order, progressive disclosure, and adaptive responsive layouts.
- Better TypographyWeb typography from choosing fonts to spacing, wrapping and accessibility. Use when picking or pairing typefaces, configuring variable fonts or OpenType features, setting up a type scale, styling text in components, truncating text, styling underlines, selection, placeholders or carets, or reviewing frontend code for typography. Triggers on typography, fonts, font formats, woff2, variable fonts, font-weight, opentype, font-feature-settings, letter-spacing, line-height, type scale, tabular numbers, text-wrap, truncation, line clamp, underlines, text-decoration, text selection, iOS input zoom, font smoothing, text contrast, measure, line length, text-box, smart punctuation, drop cap.
- Better UIDesign engineering principles for making interfaces feel polished. Use when building UI components, reviewing frontend code, implementing animations, hover states, shadows, borders, micro-interactions, enter/exit animations, or any visual detail work. Triggers on UI polish, design details, "make it feel better", "feels off", stagger animations, border radius, optical alignment, image outlines, box shadows.
- Better WritingImprove UX writing for interface labels, errors, empty states, settings, notifications, and product voice consistency.