Use this skill whenever the user wants to build, refine, or review a production-grade user interface with Tailwind CSS v4 and shadcn/ui. Triggers include: building a landing page, dashboard, auth flow, admin panel, marketing site, SaaS UI, or any React/Next.js component or page.
设计与多媒体
Ui Master Static
试用Use this skill whenever the user wants to build a production-grade UI with native/vanilla CSS — no Tailwind, no CSS-in-JS, no utility framework. Triggers include: plain Vite + HTML/CSS projects, static sites, simple landing pages, or any project explicitly avoiding a CSS framework.
它能做什么
Use this skill whenever the user wants to build a production-grade UI with native/vanilla CSS — no Tailwind, no CSS-in-JS, no utility framework. Triggers include: plain Vite + HTML/CSS projects, static sites, simple landing pages, or any project explicitly avoiding a CSS framework; requests for a header, navbar, dashboard shell, or landing layout built with 'plain CSS' or 'native CSS'; requests for modern visual effects (glassmorphism, gradients, scroll animations, parallax, 3D transforms, micro-interactions, CSS Houdini); or establishing a CSS architecture (custom properties as design tokens, BEM naming, file organization) for a project without a component framework. Do NOT use this skill for Tailwind CSS or shadcn/ui projects — use the ui-master skill instead. Do NOT use for CSS-in-JS (styled-components, emotion) or CSS Modules-first projects unless the user explicitly wants the BEM/vanilla approach applied there too.
技能文档
UI Master Static — Production-Grade UI with Native CSS + BEM
Approach this the way a senior CSS engineer approaches a framework-free build: every advantage a utility framework gives you — consistency, theming, no dead code — has to come from discipline instead of tooling. That means a real token system in :root custom properties, a naming convention (BEM) that keeps specificity flat and predictable, and a deliberate architecture so the CSS doesn't rot into a pile of one-off overrides by the tenth page.
This skill is deliberately thorough — treat it as a reference library, not a script to run top to bottom. Read the reference file that matches what you're building; don't load everything for a one-off tweak.
When this applies vs. ui-master
Use this skill for: plain Vite scaffolds, static HTML/CSS sites, projects that explicitly reject a utility framework, or any brief that says "native CSS," "vanilla CSS," or "no Tailwind." Use ui-master instead for Tailwind v4 + shadcn/ui projects. The two skills share the same production-quality bar (tokens, accessibility, real states) but differ entirely in mechanism — don't mix utility classes into a project this skill is styling.
Step 0 — Confirm scope
Infer from the repo if present: is there already a styles/ or css/ folder with an existing architecture? If so, match its conventions rather than imposing a new one wholesale — introduce BEM/tokens incrementally if the existing code doesn't use them, rather than rewriting everything unasked. For a greenfield project, set up the full architecture from references/css-architecture-bem.md from the start.
Step 1 — Architecture and tokens
Before writing a single component's CSS, read references/css-architecture-bem.md. It covers:
- The design token system: every color, spacing, radius, shadow, and type value declared once as a custom property in
:root, never a literal value inside a component rule - BEM naming (
block__element--modifier) and why it keeps specificity flat (one class, one specificity level — no cascade fights) - File organization for a framework-free project (tokens → base/reset → layout → components → utilities), and the import order that keeps the cascade predictable
- The two-stage custom-property pattern for a runtime light/dark theme toggle (same underlying mechanism as Tailwind v4's
@theme inline, just without the build step)
Get this right first — it's the difference between a CSS codebase that stays maintainable past page three and one that needs !important by page five.
Step 2 — Layout patterns
Read references/layout-patterns.md for structural patterns: sticky/blurred headers with mobile navigation, dashboard shells (sidebar + topbar) built with CSS Grid template areas, responsive card grids with container queries (@container, no plugin needed in native CSS either — it's a browser feature), and landing-page hero/section rhythm. Adapt the worked examples in examples/header.html + examples/header.css and examples/dashboard.html + examples/dashboard.css rather than starting from a blank file.
Step 3 — Modern effects
Read references/modern-effects.md for the full effects catalogue: glassmorphism, layered/mesh gradients, elevation shadow scales, scroll-driven animations (native animation-timeline: scroll(), no JS/library needed), parallax, hover/focus micro-interactions, 3D transforms and perspective, complex multi-stage @keyframes, and CSS Houdini (@property for animatable custom properties — excellent support — and the Paint API, which is Chromium-first and needs a progressive-enhancement fallback). examples/effects-showcase.html + examples/effects-showcase.css demonstrate each technique in isolation so you can lift the specific one needed rather than reverse-engineering a combined demo.
Restraint still applies. Reference frontend-design skill's guidance: spend boldness in one place per screen. A header with a glass blur AND a gradient mesh AND a 3D tilt AND a scroll-triggered reveal all at once reads as a tech demo, not a product. Pick the one effect that serves this specific brief's signature moment; keep the rest of the page quiet and disciplined.
Step 4 — Verify before calling it done
Read references/accessibility-performance-checklist.md. Native CSS has no framework to catch mistakes for you — the checklist matters more here, not less. Pay particular attention to:
- Every effect in Step 3 has a
prefers-reduced-motionfallback (scroll animations, parallax, and 3D transforms are the most common offenders) - Houdini Paint API effects have a plain-CSS fallback for non-Chromium browsers (
@supports) - Specificity stayed flat — if you needed
!importantanywhere, the BEM structure broke down somewhere and should be fixed at the source, not patched over
Common failure modes to avoid
- Specificity creep: nested selectors like
.card .card__title.activeinstead of a single BEM class like.card__title--active— the moment two classes combine to override a third, the architecture has started to fail. - Literal values in component CSS:
padding: 23pxorcolor: #3a86ffinside a component block instead of a token — makes theming and consistency impossible to enforce later. - Effects with no fallback:
animation-timeline: scroll()or Paint API used with no@supportsfallback, silently breaking the experience on unsupported browsers instead of degrading gracefully. - One CSS file that keeps growing: no separation between tokens, layout, and components — every new page becomes harder to place correctly.
- Reduced-motion ignored: parallax and scroll-linked animation are exactly the effects most likely to cause discomfort for motion-sensitive users, and exactly the ones most often shipped without the media query guard.
相关技能
Create distinctive, production-grade static sites with React, Tailwind CSS, and shadcn/ui — no mockups needed. Generates bold, memorable designs from plain text requirements with anti-AI-slop aesthetics, mobile-first responsive patterns, and single-file bundling. Use when building landing pages, marketing sites, portfolios, dashboards, or any static web UI. Supports both Vite (pure static) and Next.js (Vercel deploy) workflows.
Improve websites and web apps with clearer layout, better visual hierarchy, modern UI styling, responsive checks, and polished frontend design suggestions or code changes.
A highly customizable UI design specification system based on headless component libraries (shadcn/ui, Radix UI), integrating Apple HIG, Microsoft Fluent, and Google Material Design. Unlike using off-the-shelf frameworks (Ant Design, Element Plus), this skill is for scenarios requiring full control over component styles and DOM structure, emphasizing design freedom and brand customization. Use when: generating custom UI code, reviewing custom UI designs, or needing to follow platform-specific design guidelines. Supports HIG / Fluent / Material / All specification modes. Keywords: shadcn/ui, Radix UI, headless, custom components, HIG, Fluent, Material Design.
Analyzes UI screenshots and generates a reusable .skill file that captures the product's complete design system. Triggers when the user provides UI screensho...
Build a complete, production-ready masterplan for a new project/system from scratch (0 to 100%).