design
Skill2 starsChanged 29 days agoApache-2.0View on GitHub
Build standout, production-grade frontends end to end: brief → visual direction → design tokens → components → motion → QA. Use when asked to design or build a landing page, marketing site, dashboard, app UI, component or redesign, or to make an existing UI look premium. Orchestrates ui-ux-pro-max, frontend-design, 21st.dev, motion and Impeccable when they are installed.
197 other projects use a version of this.
Adopted by
Most recently taken up by
- dialog-db/dialog-dbtheir own version, first seen Nov 9, 2026
- BermanRoman/promt-seo-geotheir own version, first seen Nov 8, 2026
- anorth/agent-skillstheir own version, first seen Nov 8, 2026
- gspencergoog/skillstheir own version, first seen Nov 8, 2026
- PeanutGT/NutsSkillstheir own version, first seen Nov 8, 2026
- Integralist/agent-skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use banner-design, ui-styling and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
seikaikyoSkillbanner-design
Design banners for social media, ads, website heroes, creative assets, and print. Multiple art direction options with optional generated or supplied visuals. Actions: design, create, generate banner. Platforms: Facebook, Twitter/X, LinkedIn, YouTube, Instagram, Google Display, website hero, print. Styles: minimalist, gradient, bold typography, photo-based, illustrated, geometric, retro, glassmorphism, 3D, neon, duotone, editorial, collage.
Also in 38 projects that use this
MicrosoftSkillui-styling
Guide for the visual style, structure, and shared building blocks used by Semantic Link Labs interactive UI tools (HTML widgets and anywidget-based widgets). Use this when adding a new interactive UI, modifying an existing one, or adding shared visual components.
Also in 39 projects that use this
seikaikyoSkillbrand
Brand voice, visual identity, messaging frameworks, asset management, brand consistency. Activate for branded content, tone of voice, marketing assets, brand compliance, style guides.
Also in 43 projects that use this
mayankjain1815-commitsSkillinfra-audit
Reads docker-compose, env files, ORM configs, and connection strings to map current infrastructure. Flags missing layers (cache, queue, analytics) based on observed access patterns. Outputs a structured infrastructure manifest.
Also in 3 projects that use this
JetBrainsSkillslides
Create and edit presentation slide decks (`.pptx`) with PptxGenJS and render/validation utilities. Use when tasks involve building a new PowerPoint deck, recreating slides from screenshots/PDFs/reference decks, modifying slide content while preserving editable output, adding charts/diagrams/visuals, or diagnosing layout issues such as overflow, overlaps, and font substitution.
Also in 42 projects that use this
AnthropicSkilldesign-system
Audit, document, or extend your design system. Use when checking for naming inconsistencies or hardcoded values across components, writing documentation for a component's variants, states, and accessibility notes, or designing a new pattern that fits the existing system.
Also in 49 projects that use this
Other versions197 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 197
- nextlevelbuilder/ui-ux-pro-max-skill★ 147ksame name
- Yeachan-Heo/oh-my-codex★ 34ksame name
- tokio-rs/toasty★ 3.3ksame name
- PaulWoitaschek/Voice★ 3.3ksame name
- joye61/pic-smaller★ 2.9ksame name
- oxsecurity/megalinter★ 2.6ksame name
- Infisical/agent-vault★ 2.5ksame name
- static-web-server/static-web-server★ 2.4ksame name
- SethGammon/Citadel★ 927same name
- Ohh-889/skyroc-admin★ 795same name
187 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 1 is distinctive, and 7 are very specific to this project.
0
Common
Most of the 174 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 29
Check which helpers exist and adapt — never block on a missing one: ui-ux-pro-max (.claude/skills/ui-ux-pro-max/ or ~/.claude/skills/…: …
- Very specific: line 48
No Artifact tool in the session → write .hyperui/directions/<name>.html and give the paths.
- Very specific: line 65
Tokens before components: Write CSS custom properties on :root: color *roles* (--bg, --surface, --text, --muted, --accent, --border), type …
- Distinctive: line 89
No browser tool → say so, static checks only, never a visual claim.
- Very specific: line 91
If Impeccable is installed: ACTUALLY invoke /impeccable audit (Skill tool), fix the findings, then invoke /impeccable polish.
- Very specific: line 124
Show before you ask (root §7): After any UI change the dev server STAYS RUNNING (never kill it after tests) and the reply carries, BEFORE …
- Very specific: line 174
Write what you decided: picked direction, tokens, fonts, palette, signature element, artifact URLs and rejected directions (one line) → …
- Very specific: line 177
When the next step is theirs (pick made, UI done), close with the root §9 care line (what the directions or the UI already handle unasked: …
“Common” is measured: kept by at least 6 in 10 of the 174 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
hyperui:design — standout frontends, end to end
Work as the design lead who owns the result, not as a template filler. Every page gets a point of view, a typographic identity and one thing people remember.
0. Before anything
- Resolve the project root with
${CLAUDE_PLUGIN_ROOT}/scripts/profile.sh rootand use it (absolute paths) for.hyperui/and for every repo read/write. If<root>/.hyperui/profile.mdis missing, invoke thehyperuiskill first (it onboards and routes); otherwise readprofile.mdandstate.mdand never re-ask what they hold. With several roots (profile.sh roots), work in the repo the request or the touched file belongs to, with that repo's.hyperui/(rules:${CLAUDE_PLUGIN_ROOT}/references/workspace.md). Profile fields used: archetype,conversation_language,product_languages,i18n,platform,design.*; also.hyperui/brief.md/design.mdif present — build on the picked direction. - Reply in the conversation language; keep internal reasoning, code and files in English.
- Tone per archetype: non-tech → one or two plain sentences per step, one question with a recommended answer; dev → the fact + one line of why; senior → the fact, ~12 lines max.
- Called from
spec(a UI change asked as a spec/SDD, or no picked direction indesign.md): steps 1–2 only — brief and argued directions — stop at the pick and return; tokens, components and motion come with the build.speccontinues fromdesign.md.
1. Preflight
Check which helpers exist and adapt — never block on a missing one: ui-ux-pro-max (.claude/skills/ui-ux-pro-max/ or ~/.claude/skills/…: styles, palettes, font pairings, UX rules);
frontend-design (Anthropic plugin skill) for aesthetic direction; 21st.dev MCP tools (mcp__21st__*) for component candidates; motion in package.json;
a browser tool (references/browser-verify.md §1). Key ones missing → suggest /hyperui:setup once, then proceed with what is available.
2. Process
- Brief (5 lines, write it to
.hyperui/brief.mdbefore any code). Product and what it does · audience · the ONE job of this page (sign up, download, understand, decide) · 3 tone words · constraints (stack, brand assets, existing tokens). If the brief lacks the product, infer it from the repo and confirm. Product language(s) / i18n: ifproduct_languagesis empty, ask once which language(s) the product ships in and whether it needs i18n (several locales, default locale, RTL); storeproduct_languages+i18nin the profile. Never infer it from the conversation language; never ask again once stored. - Direction (the only mandatory checkpoint — show before build). Use
frontend-designfor the point of view andui-ux-pro-maxto search styles, palettes and font pairings for the product category. Produce 2–3 directions, each distinct in type pairing, palette (3 colors + accent) and signature move (the one memorable element). Artifact contract: each direction is ONE HTML page — the real copy in the product language, the direction's tokens and display type, a visible entrance animation, light and dark. Publish each with the Artifact tool (load theartifact-designskill first when it is available); when the session offers/design(Claude Design artboards), use it instead. No Artifact tool in the session → write.hyperui/directions/<name>.htmland give the paths. Record every URL/path in.hyperui/design.md. A browser tool in the session (references/browser-verify.md§1) → open each direction page and take one 1280 screenshot before presenting it (catches a broken page or a missing font). Critique each direction against the brief's ONE job before presenting (${CLAUDE_PLUGIN_ROOT}/skills/critique/references/checklist.mdquick pass — cognitive load C11–C12, match and consistency C3–C6, feedback C1–C2, recovery C13–C16, platform C6 — plus the goal's row ofskills/critique/references/conversion-lens.md; data views: the Munzner pass): fix severity ≥ 3 before the user sees it and keep each direction's max severity vs the goal. Argued directions: present one line per direction — name · type pairing · palette · signature · link · why it works: the author/principle it leans on, from the checklist's source column (Norman signifiers/mapping, Nielsen #n, ISO 9241-110, Shneiderman, Clark & Brennan grounding, Munzner for data views, Fogg/LIFT for the conversion goal; citeskills/critique/references/sources.md, never re-explain the theory). Recommend the direction with the lowest max severity and say why in one sentence ("B: the only one with a single primary action above the fold — Nielsen #8, Fogg Ability"). Non-tech: same author names, plain words (critique §6). No preamble. Then the pick as the entry skill's choice prompt (root §9:AskUserQuestion, else a numbered list as the LAST thing in the reply; user's language): the 2–3 direction names, the recommended one first with "(Recommended)" · "Mix / adjust a direction" (free text) · "Show me 2 more". With 3 directions inAskUserQuestion(4 options max), "Show me 2 more" goes through "Other".state.mdopen:holdspending choice: direction pickuntil answered. The user picks before any build.design.mdrecords, per direction, the why line and the max severity. - Tokens before components. Write CSS custom properties on
:root: color roles (--bg,--surface,--text,--muted,--accent,--border), type scale, spacing, radius, elevation, motion durations and easings. Dark mode under@media (prefers-color-scheme: dark)guarded by:root:not([data-theme="light"]), plus an explicit:root[data-theme="dark"]override. Fonts via the framework loader (next/font) or one preconnected stylesheet; setfont-display: swapand size-adjusted fallbacks so there is no layout shift. - Components. Compose from the stack's primitives. When 21st.dev is installed, pull 2–3
candidates per component and adapt them to the tokens — never paste a component with its own
palette, radius or shadow system. One visual signature element per page (a type treatment, a
live demo, a material, an animation), everything else quiet. Test first, UI included: the
component's render test (project runner — Vitest + Testing Library typical:
getByRole+ accessible name, anaxeassertion when available) is written and red BEFORE the component exists (build §3). No version stamp in the project yet → add one in this first UI change (references/version-stamp.md: version + short commit injected at build, footer or Aboutv1.4.2 · ab12cd3,<meta name="app-version">,/version.json, a render test that it shows the manifest's version); one line saying so. - Motion. Hand off to the
motionskill. Defaults: entrance stagger on the hero, hover and tap micro-feedback on interactive elements, scroll reveal only where it aids reading. Always honorprefers-reduced-motion. - QA in the browser, with evidence —
references/browser-verify.md: detect the tool (Claude in Chrome → Playwright MCP → headless Chrome), capture 360 / 768 / 1280 (+1920 marketing) light AND dark, one interaction, run the checks (no horizontal scroll, no clipped text, contrast AA, visible focus, hero in the first 360 viewport, fonts loaded, images sized; 16px phone gutters; full keyboard navigation; the version stamp visible and equal to the version file), record## Browser evidenceindesign.md. Then the critique quick pass on each page (same checks as step 2, from the captures): severity ≥ 3 fixed and recaptured before "done"; the care line saysheuristics checked. No browser tool → say so, static checks only, never a visual claim. Lighthouse ≥ 90 ×4 when a build is available. - Impeccable gate (before declaring any UI done) — with evidence. Check
claude plugin list. If Impeccable is installed: ACTUALLY invoke/impeccable audit(Skill tool), fix the findings, then invoke/impeccable polish; record the evidence indesign.mdunder## Quality gate(audit: N findings, what was fixed; polish: run/not) and mention it in the care line. A gate without recorded evidence is NOT done — never say "audited" or "polished" if the skill did not run; say "not run" and why. If not installed: say once and suggest/hyperui:setup(note it instate.md). 21st.dev likewise: use it only ifmcp__21st__*tools exist in THIS session; a just-registered MCP appears after Claude Code restarts — say so and state components were built by hand.
3. Rules of taste
- Typography carries the identity: one display face with character + ONE body face. Pick them deliberately for this product, not the family you reach for everywhere.
- Real hierarchy: display size ≥ 3× body; weights jump (e.g. 800 display, 400 body), not 500→600.
- Banned generic tells: purple-to-blue gradient hero, three-icon feature grid with identical cards, "Welcome to …" headings, glassmorphism on everything, everything centered, emoji as icons, drop shadows on every card, a big number + small label as the default hero.
- One accent color, used sparingly, always meaning "action" or "live"; depth from layering and tonal steps (bg → surface → raised), not borders on everything.
- Whitespace is generous and rhythmic: 8pt grid, sections breathe, density only where data lives.
- Real copy and real data in the deliverable. Never lorem ipsum, never placeholder avatars. Images with intent: the product, its output, its materials; no stock people pointing at laptops.
- The hero opens with the most characteristic thing in the product's world: a live demo, a real screenshot, a single bold statement. Decide which, on purpose.
- Dark mode is designed, not inverted: lift surfaces, lower saturation, re-check contrast.
- Icons from one set, one stroke width, one optical size. Max 80ch line length for body text; serif bodies get slightly more line-height.
- Empty, loading and error states are designed up front, with the same care as the happy path. Forms: labels always visible, inline validation, hit targets ≥ 44px.
- Motion is choreography, not decoration: one entrance sequence per view.
4. Stack defaults
React + Next.js App Router unless the project says otherwise. Styling follows the project (CSS Modules or Tailwind); tokens always live in CSS
variables so either works. next/image, next/font, Motion (motion/react). No component-library lock-in: shadcn and 21st.dev pieces are source you own and restyle to the tokens.
5. Deliverable
Show before you ask (root §7). After any UI change the dev server STAYS RUNNING (never kill it after tests) and the reply
carries, BEFORE the choice prompt: the local URL + how to restart the server · the 360/768/1280 screenshots (an artifact when the
Artifact tool exists, else file paths) · one line "what to look at" · browser evidence or the one line that no browser tool was
available · Lighthouse numbers if measured · open decisions. Headless -p (no server for the user) → the start command and the paths.
6. Redesigns and existing UIs
- Audit first, the live site and the repo: tokens present or absent, the fonts actually loaded, the count of distinct grays / radii / shadows in use. The count is the diagnosis; the fix is consolidation. Put the numbers in the reply in one line.
- Directions keep the information architecture unless the brief asks otherwise and are visibly a step up: new skin, type and rhythm. Users forgive a new look, not a lost page. Same artifact contract (step 2) before any code changes.
- Migrate incrementally: tokens → global type → shared primitives (button, card, input) → pages. Each step ships and keeps Lighthouse ≥ 90. Delete dead CSS as you go; the redesign is not done while two systems coexist.
7. i18n and content
- Ship every locale in
product_languages; withi18n: true, route per locale and setlang. - Design with the longest language first (Spanish and German run ~25–30% longer than English); no fixed-width labels, no truncation of CTAs.
- Dates, numbers and currencies through
Intl.*, never hand-formatted. Every string in the dictionaries, including alt text and aria labels; no copy in components.
8. Tokens starter
:root {
--bg: #0b0d12; --surface: #141822; --raised: #1c2130;
--text: #f2f4f8; --muted: #9aa3b5; --border: #2a3042;
--accent: #3ecf8e; --accent-ink: #062b1c;
--font-display: var(--font-sora), system-ui, sans-serif;
--font-body: var(--font-inter), system-ui, sans-serif;
--fs-display: clamp(2.5rem, 6vw, 4.5rem); --fs-h2: clamp(1.75rem, 3vw, 2.5rem);
--fs-body: 1.0625rem; --fs-small: 0.875rem;
--space-1: 0.5rem; --space-2: 1rem; --space-3: 1.5rem; --space-4: 2.5rem; --space-5: 4rem;
--radius-s: 8px; --radius-m: 14px; --radius-l: 24px;
--shadow-1: 0 1px 2px rgb(0 0 0 / .25); --shadow-2: 0 12px 32px -12px rgb(0 0 0 / .45);
--dur-fast: 150ms; --dur-base: 250ms; --dur-slow: 450ms;
--ease-out: cubic-bezier(.16, 1, .3, 1); --ease-in-out: cubic-bezier(.65, 0, .35, 1);
color-scheme: dark;
}
:root[data-theme="light"] {
--bg: #fbfbfd; --surface: #ffffff; --raised: #f2f3f7;
--text: #0e1220; --muted: #5c6578; --border: #e3e6ee;
--accent: #17b877; --accent-ink: #ffffff; color-scheme: light;
}
body { background: var(--bg); color: var(--text); font: var(--fs-body)/1.6 var(--font-body); }9. Close the turn
Write what you decided: picked direction, tokens, fonts, palette, signature element, artifact
URLs and rejected directions (one line) → .hyperui/design.md; the next step → state.md;
one ADR-lite line per settled decision → decisions.md (date · decision · why · source).
When the next step is theirs (pick made, UI done), close with the root §9 care line (what the directions
or the UI already handle unasked: responsive · a11y · dark mode · performance · i18n · tests · verified in Chrome (360/768/1280) · heuristics checked · version vX.Y.Z — only what verifiably ran),
the root §9 telemetry consent line when profile.sh user-get telemetry is empty or unasked (once per machine), and then the §9 choice prompt.
Sources
Cite only URLs that are listed in a skill/reference or that you opened this session; never construct or guess a URL.
Open the source before stating. Canonical references: references/sources.md.
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.

