agentsclimarketplace

Frontend design

Skill jasonm4130/claude-skills/plugins/frontend-design/skills/frontend-design

Personal Claude Code plugin marketplace: 9 plugins for orchestration guards (workflow-model-guard), tiered deep research (deep-dive), subagent-driven development, ADRs, session retros, handoffs, and adversarial review.

Install
npx -y skills add jasonm4130/claude-skills --skill frontend-design

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Guidance for distinctive, intentional frontend/UI design — aesthetic direction, typography, layout, motion, and copy — when building new UI or reshaping existing UI. Gates by scope before designing: a light/surgical change (one component, one page section, extending an existing design system) gets inline design principles; a wide-sweeping or highly-detailed design (a new page, a new flow, a visual identity, an ambiguous "make it look better") gets routed to Claude Design in the browser with a paste-ready design brief instead of being designed blind in a terminal. Do NOT use for backend/API/data-model work, copy-only edits with no visual change, or a design the user has already fully specified (exact tokens/brand guide supplied) — apply those directly.

SKILL.md

7.5 KB, as published. Nobody here has run it

Frontend Design

Scope gate — decide before you design

Check the request against both columns before doing any design work. This gate is the whole point of this skill: it decides where the design actually gets made, not just how it's described.

SignalLight — design inlineHeavy — hand off to the browser
SurfaceOne component, one page section, a targeted visual fixA new page, a new flow, a whole product surface
AnchorAn existing design system / token set to extendNo system to anchor to, or the brief asks to establish one
Brief clarityUser already named the look, or it follows an established patternAmbiguous or exploratory ("make it look better", "redesign the dashboard")
Iteration needOne good pass is enough; cheap to tweak inline afterwardUser will want to compare directions, see it live, iterate visually

Any single "heavy" signal is usually enough to route heavy — visual exploration degrades badly in a terminal loop, and a wrong guess there costs more than the handoff.

Light path: design inline

Work this loop: ground it in the subject, apply the design principles below, cut the AI tells, explore a couple of concrete directions, then self-critique before you call it done.

Ground it in the subject

If the request doesn't pin down what's being designed, pin it yourself: name the concrete surface, its audience, and the one job it does — then state that choice rather than silently assuming it. Read the surrounding codebase first: existing components, tokens, and patterns are the anchor for a light change, not a blank page. A surgical change that ignores the system around it isn't surgical.

Design principles

  • One clear focal point. Every surface earns one thing the eye lands on first — a heading, a key number, a primary action. Don't spread emphasis evenly; that reads as "no decision was made."
  • Typography is a design decision, not a default. Pick a type scale and weight relationship on purpose; don't inherit whatever the last component used without checking it still fits.
  • Structure should mean something. Dividers, numbering, and labels should encode a real property of the content (an actual sequence, an actual grouping) — not decorate an arbitrary list.
  • Motion is optional, not default. Add it only where it clarifies state change (a loading state, a reveal, a hover affordance); unmotivated animation reads as noise, not polish.
  • Match effort to ambition. A minimal direction needs precise spacing and restraint; a bolder direction needs the follow-through to execute it fully. Half of either looks unfinished.
  • Copy is part of the design. Interface text is read by the person using it, not by the system that built it — name things by what the user controls, use active voice, and keep error/empty states specific about what happened and what to do next.

Cut the AI tells

A concrete anti-tell floor that subtracts the marks of generated design. These remove recognizable tells; they don't prescribe a house look (a fixed "anti-slop" style just trades one sameness for another). Apply them while building and judge by eye — they're defaults that yield to real content, accessibility, and the surface's purpose, not a blocking checklist.

  • Real assets, not fakes. No <div>-built "fake screenshots" of product UI and no hand-rolled decorative SVG illustrations as a default; use real or generated imagery, or leave an explicit TODO placeholder.
  • No invented telemetry or chrome. Drop fake version labels (BETA, v0.6), section-number eyebrows (00 / INDEX), scroll cues, and locale/weather strips unless they encode real state.
  • Vary the section rhythm. Don't reuse one section layout family down the page, and don't stack more than two image-and-text split sections in a row — a page where every band is the same shape reads as generated.
  • Hero discipline. One focal hero: aim for a headline of one or two lines and, where the surface has one, a primary CTA visible without scrolling; avoid a kitchen-sink stack of taglines, trust strips, and avatar rows above the fold. (Real content, localization, and accessibility win over the line count — don't truncate meaning or invent a CTA to hit it.)
  • Grids fit their content. N items means N cells — reshape the grid rather than padding it with an empty tile.
  • One coherent theme per surface. No light/dark flips mid-page — while still designing both light and dark where the surface is theme-aware.

Explore

Sketch 2–3 concrete variations of the specific decision at hand (not a whole redesign) — a component's layout, a palette choice, a copy treatment — before committing to one. State which you picked and why in one line; don't silently default to the first idea.

Self-critique

Before calling it done, check the result against the trap of templated defaults: would this exact choice be your answer to almost any similar brief, regardless of subject? If yes, revise the part that's generic. Then check the accessibility floor that never gets cut for speed: responsive down to mobile width, visible keyboard focus, and color contrast that holds up — these are cheap to get right the first time and expensive to retrofit.

Heavy path: hand off to Claude Design in the browser

Do not design a wide-sweeping or highly-detailed surface blind, inline, in a back-and-forth text loop — visual work like this is genuinely better iterated where it can be seen and steered live. If the claude-design skill is installed, use it for the best-in-class brief (Anthropic's official goal/layout/content/audience framework) and the option to drive Claude Design from Claude Code (/design, /design-sync); otherwise hand the brief below. Tell the user directly, then hand them a brief they can paste straight in:

This reads as a wide-sweeping / highly-detailed design rather than a surgical tweak — better iterated visually in Claude Design (claude.ai, in the browser) than designed blind here. Here's a paste-ready brief to carry the context over:

Fill in every field you can from what's already known (the codebase, the conversation, an existing design system); leave the rest as an explicit placeholder rather than inventing detail that wasn't given. Emit exactly this shape:

# Design brief: <feature>
**Goal / job-to-be-done:** …
**Users & context:** …
**Constraints:** (brand, platform, a11y, perf) …
**Screens / components:** …
**Existing patterns to match:** …
**References / inspiration:** …

Stop there on this path — don't also produce inline mockups or code for the same surface; that duplicates the work Claude Design is about to do and drifts out of sync with whatever the user actually lands on in the browser.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.