Coding

Ui Master Static

Try it

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.

What it does

UI Master Static — Production-Grade UI with Native CSS + BEM

The skill document

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-motion fallback (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 !important anywhere, 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.active instead 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: 23px or color: #3a86ff inside 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 @supports fallback, 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.

Related skills

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

More from anjasta-tarigan

Browse all skills

Initialize a brand-new monorepo project in an empty (or near-empty) folder. Use when the user wants to "set up a monorepo", "scaffold a project", or "bootstrap a repo with multiple packages/apps".

by anjasta-tarigan1 installs

Detects and removes "AI slop" — the formulaic vocabulary, sentence structures, sycophantic openers/closers, over-formatting (bullet walls, bold spam, needless headers), and code anti-patterns (over-engineering, swallowed errors, hallucinated APIs, dead code) that make writing or code read as generic

by anjasta-tarigan1 installs

Audits an existing app's UI for consistency and layout/state-sync bugs (e.g. a sidebar that collapses but siblings don't adjust, or icons disappearing entirely instead of just their labels), responsive breakpoint failures, accessibility gaps, performance issues, and — for chat/workspace apps — messa

by anjasta-tarigan1 installs

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.

by anjasta-tarigan2 installs

Comprehensive, exhaustive reference for idiomatic and production-grade Rust engineering — covers ownership/borrowing/lifetimes, error handling, trait & generic API design, concurrency and async (Tokio), performance and memory layout, unsafe Rust and soundness, testing and property-based testing, Car

by anjasta-tarigan

Comprehensive best-practice guide for building, securing, testing, and shipping Tauri v2 desktop/mobile apps (Rust core + any web frontend — React, Next.js, Vue, Svelte, vanilla). Covers IPC (commands/events/channels), the v2 capabilities & permissions security model, CSP, state management (Manager/

by anjasta-tarigan