LMX
BlogSelectedWorkSponsorsAbout
Command Palette

Search for a command to run...

Blog

How to Use Skills to Improve Front-End Design and Prevent Implementation Drift

LMXAug 12, 202625 min read#AI Coding#Front-end design#Skill

Combining Anthropic's frontend design practices, analysis of two sets of highly consistent UI prompt words, and personally installed design-related skills, breaking down how to overcome AI's default aesthetics, organize design skills, and reduce the deviation from design to code implementation through design contracts, visual references, and layered acceptance.

It's no longer difficult to have AI write a functioning frontend page; what's difficult is making it meet two requirements at the same time:

  1. No longer look like a generic AI page (remove the AI feel);
  2. Once the design direction is determined, ensure that the code implementation does not gradually revert to a standard template.

The first issue is design quality, and the second issue is implementation fidelity. They are often conflated, but require completely different control methods.

Anthropic, in Improving frontend design through Skills, proposed that when a model lacks guidance, it tends to exhibit "distributional convergence": in the training data, safe, general, and non-offensive choices occupy high-probability regions, causing the generated results to continuously gravitate toward Inter, white backgrounds with purple gradients, standard cards, and minimal animations. By injecting design knowledge such as fonts, colors, animations, and backgrounds on demand through Skills, the model can be pulled out of this high-probability center.

But deviating from the default aesthetic only solves half the problem. A design mockup may be highly distinctive, but when actually implemented into a Vue or React page, it can become an ordinary two-column layout with compact spacing and default components. This is another form of convergence: to reduce engineering difficulty, implementers consciously replace uncertain details with familiar coding patterns.

This article attempts to put these two types of problems into a single workflow: the first part uses Skills to expand the design search space, and the latter part gradually tightens the freedom with design contracts, precise specifications, and verification mechanisms.

To avoid source confusion, three types of materials will be used later: Anthropic's original text explains distributional convergence, dynamic context, and prompts for general frontend aesthetics; the local prompt analysis discusses how numbers, structures, formulas, and acceptance criteria reduce interpretive space; personally installed design Skills are used to summarize practical layering, translation, and review processes. The terms “dual convergence,” “freedom funnel,” “Design Contract,” and the four-layer acceptance in this article are a synthesis based on these three types of materials, not a fixed framework from Anthropic’s original text.

1. Why AI Frontend Converges to 'Looks Correct but Lacks Design'

"AI feel" is not a specific color scheme or component, but a set of high-probability choices that tend to appear together:

  • Any product uses similar neutral fonts;
  • White backgrounds or dark backgrounds paired with blue-purple gradients;
  • Centered hero sections, three equally wide feature cards, alternating image-text layouts;
  • All content placed within rounded cards;
  • Copy filled with abstract terms like Elevate, Seamless, Next-Gen;
  • Pages are either static like a screenshot, or, conversely, each element floats aimlessly;
  • Only implementing the ideal success states, ignoring loading, empty, error, disabled, and keyboard interactions.

Individually, these choices are not necessarily wrong. Inter, purple, and three-column layouts all have appropriate use cases. The problem is that they are not decisions made based on the product, audience, and content, but answers the model reaches most easily when there are insufficient constraints.

Anthropic explains this as distributional convergence. In frontend design terms, it means:

The model has richer design knowledge, but the default sampling strategy compresses it into the safest local optimum.

This also explains why simply adding a sentence like "make it more advanced" usually doesn’t work. "Advanced" does not tell the model in which direction to deviate. It will still look for an average of "advanced" within the familiar high-probability region, ultimately producing bigger headings, softer shadows, and more gradients.

2. The value of Skills is not to design for you, but to correct the model's default tendencies

Claude’s original core prompt is about 400 tokens long and demonstrates qualitative visual improvements through side-by-side comparisons of SaaS landing pages, blogs, and admin dashboards. The original text does not provide sample sizes, scoring criteria, or statistical metrics, so it should be understood here as persuasive case demonstrations rather than rigorous quantitative experiments. This prompt does not prescribe a fixed page template but corrects four design axes that are prone to convergence:

  • Typography: Do not default to generic fonts; actively seek out fonts with character and combinations;
  • Color & Theme: Choose a complete aesthetic direction, maintain consistency with CSS variables, avoid evenly distributing colors;
  • Motion: Concentrate animations on high-value moments; a well-choreographed loading sequence is better than scattered small animations;
  • Backgrounds: Use textures, geometric patterns, and layering effects to create atmosphere, not default solid color backgrounds.

It also explicitly bans common patterns such as Inter, Roboto, white background with purple gradient, and predictable layouts, and reminds the model not to jump from one default to another, for example, changing all items to Space Grotesk.

The most noteworthy thing here is not the specific list of fonts, but the way Skill works:

识别模型默认倾向
  ↓
指出需要重新思考的设计轴
  ↓
给出可选方向和反例
  ↓
保留结合项目语境做选择的空间

Skills are therefore more like an 'aesthetic bias corrector' rather than a universal design template. They do not automatically create brand positioning, nor can they replace understanding of users, content, and business goals; they simply prevent the model from answering every question with the first template that comes to mind.

Skills also address a contextual engineering problem. Permanently embedding all design knowledge into system prompts would cause unrelated tasks, like debugging Python or analyzing data, to carry a lot of front-end context. On-demand loading of Skills allows them to appear only during page design, component modification, and visual review, making design guidance a reusable professional context rather than a long prompt that must be copied for every task.

3. Design Skills Should Not Be Limited to One: First Establish Responsibility Layers

I reviewed the design and front-end related Skills installed on a personal level and found they can generally be divided into six categories. This classification is more meaningful than "finding the strongest Skill" because each category addresses problems at different stages.

Level Representative SkillMain Responsibility
Direction Layer frontend-design, design-taste-frontend, impeccableUnderstand the brief, audience, page tasks, and aesthetic direction
Style Layer minimalist-ui, industrial-brutalist-ui, high-end-visual-designProvide clear visual language, materials, and layout boundaries
System Layer design-system, ui-stylingConsolidate colors, font sizes, spacing, and component constraints into tokens and specifications
Engineering Layer frontend-ui-engineering, make-interfaces-feel-betterResponsiveness, states, accessibility, component details, and micro-interactions
Translation Layer imagegen-frontend-web, image-to-codeGenerate visual references and extract layout, color, font, and component rules from images
Review Layer web-design-guidelines, find-animation-opportunities, review-animationsCheck accessibility, necessity of animations, performance, and implementation quality

This set of Skills repeatedly reaches several consensuses.

1. Understand the context first, then choose a style

frontend-design requires first determining the specific topic, audience, and the unique task of the page; design-taste-frontend further requires outputting a one-line Design Read, for example:

This is a B2B SaaS landing page aimed at technical buyers, using restrained, credible product language, with medium visual density and low animation intensity.

This step may seem simple, but it can prevent the model from mistaking its own aesthetic preferences for user needs. B2B management backends, independent designer portfolios, public service websites, and luxury landing pages should not share the same sense of "high-end feel."

2. Anti-patterns must come with exceptions

Many skills forbid Inter, purple gradients, three-column cards, and meaningless tags. But mature writing does not declare these elements inherently wrong forever; rather, it forbids them from becoming default choices without reason.

If the brand itself is purple, purple should be kept; if the product aims for Linear-style neutral efficiency, Inter may also be reasonable; if the content truly only has three comparable features, a three-column layout is not a sin. The key issue is always whether the choice comes from the Brief, not from model inertia.

3. Visual freedom requires a few stable global knobs

design-taste-frontend uses three knobs, DESIGN_VARIANCE, MOTION_INTENSITY, and VISUAL_DENSITY, to control layout variation, animation intensity, and content density. This approach is very enlightening because "be bolder" is broken down into three different dimensions.

DESIGN_VARIANCE: 7
MOTION_INTENSITY: 4
VISUAL_DENSITY: 3

A page can have a bold layout but restrained motion effects, or it can have a stable layout with very high information density. If not broken down, the model can easily interpret "high-end" as simultaneously meaning large text, dark colors, glass effects, heavy animations, and large amounts of whitespace, which can result in losing control.

4. Sophistication ultimately depends on details, not stacking effects

make-interfaces-feel-better focuses on concentric corners, visual alignment, monospaced numbers, icon line widths, interruptible animations, and clickable areas; frontend-ui-engineering focuses on keyboard navigation, focus, empty states, error states, and responsiveness; these indicate that the completeness of a page comes from many small decisions working together.

True refinement is often: corner relationships are not conflicting, button text does not wrap, shadows express hierarchy rather than decoration, numbers switch without jumping, animations can be interrupted, and touch areas on mobile are sufficiently large. They are not as visually striking as an Awwwards screenshot, yet they determine whether the interface is genuinely usable.

5. Motion effects should first pass the filter of "whether they are worth existing"

find-animation-opportunities does not suggest adding animation just because an element is static, but checks frequency, purpose, speed budget, and functional value; review-animations strictly reviews existing animations.

This is much more sophisticated than "everything fades up when appearing in the viewport." One of the most important outputs of motion skills should be clearly listing which candidate animations were rejected and why.

4. Do not stack all design skills at once

Having many design skills in a personal directory does not mean they should all be applied each time.

minimalist-ui prohibits gradients and heavy shadows, high-end-visual-design may encourage glass, textures, and cinematic effects; frontend-design emphasizes choosing only one visual risk with reason for each project, and some motion skills tend toward stronger scroll-based arrangements. If these instructions are treated as equally strict rules, the model will only produce a compromised result or randomly follow part of them.

A more robust combination method is "one main and two supporting." Here, the "two supporting" refers to two responsibility layers, not a strict limit of only adding two files:

主 Skill:决定设计方向与整体决策方式
专项职责:由一个或少量互不冲突的 Skill 解决当前专业问题
验收职责:由一个或少量检查型 Skill 从独立维度验证结果

For example:

新建营销页
  主:frontend-design
  专项:imagegen-frontend-web 或 design-system
  验收:frontend-ui-engineering + web-design-guidelines

改造已有后台
  主:redesign-existing-projects
  专项:make-interfaces-feel-better
  验收:frontend-ui-engineering

增加关键动效
  主:现有项目设计 Skill
  专项:find-animation-opportunities
  验收:review-animations

Only one authoritative source is retained for the same responsibility. Multiple Skills are allowed to participate in the same stage, but one must be designated for adjudication; other Skills only provide advice or review results. Style Skills determine aesthetics, Project Skills determine the catalog and technical constraints, design systems determine tokens, and specialized Skills can only be optimized within boundaries. Otherwise, the more Skills there are, the greater the deviation from implementation.

5. How precise should the prompt be written? The answer depends on the current stage

Taking the prompt prompts from aethera-hero cases on motionsites websites as examples, here is the first implementation effect between different models:

! [First pass implementation between different models] (.. /images/improving/1.png)

You'll find that the results achieved on the first run of prompts are basically consistent, and the model's ability to distinguish is poor—mainly due to the accuracy of the prompt.

Claude's original text emphasizes that you should be at the "right level": neither just say "design is creative," nor do you recommend hard-encoding all selected low-level values into specific hexadecimal values.

On professional front-end website motionsites, you'll find that UI prompts follow another pattern. For example, aethera-hero and Mostar city set of UI prompts show a pattern: when high consistency across models is needed, reducing subjective choices usually lowers output variability. Change "dark gray" to #6F6F6F, "slightly offset" to 0.2s and 0.4s, and "silky scroll" to smoothstep, interval parameters, and executable formulas. The model has less room to explain itself. This judgment comes from comparing prompt structures, not from benchmark tests with statistical samples.

These two conclusions are not contradictory, as they discuss different stages.

StageObjectiveInstruction heightDegrees of freedom to be reserved
Direction ExplorationFind a recognizable design solutionHigh to MediumThemes, composition, and font directions can be explored
Solution ConvergenceForm a unified visual systemMediumFix palette, type scale, layout principles, and signature elements
Engineering TranslationFaithfully implement the confirmed solutionMedium to LowAllow responsive adaptation, but do not change the visual language
Acceptance & CorrectionEliminate observable deviationsLowUse numbers, screenshots, timestamps, and testable standards

Therefore, a complete process should look like a funnel:

探索阶段:扩大搜索空间
    ↓
确定方向:锁定视觉世界
    ↓
建立契约:冻结关键变量
    ↓
工程实现:减少自行发挥
    ↓
视觉验收:用证据修正偏差

If every pixel is specified from the beginning, the AI is just copying an unverified plan, and its design capabilities cannot be utilized; if during the coding stage it still just says "maintain a high-end feel," the model will redesign every undefined detail, inevitably leading to drift.

6. From Adjectives to Design Contracts: Freezing the Direction into Executable Variables

Once the design direction is confirmed, it needs to be converted into a Design Contract. It is not a complete design system, but it should lock in all the key variables that will be repeatedly referenced during implementation.

surface: SaaS landing page
audience: 设计和研发负责人
page_job: 让访客理解产品价值并预约演示

design_read:
  tone: 冷静、精确、有技术可信度
  signature: 横向分割的实时工作流视图
  variance: 7
  motion: 4
  density: 4

tokens:
  background: "#0B0D10"
  surface: "#14181E"
  text_primary: "#F2F5F7"
  text_muted: "#99A3AE"
  accent: "#4EE1A0"
  radius_card: 16px
  radius_control: 10px
  space_section: clamp(96px, 12vw, 168px)

typography:
  display: "Bricolage Grotesque"
  body: "Source Sans 3"
  utility: "IBM Plex Mono"
  hero: clamp(48px, 7vw, 96px) / 0.94

invariants:
  - Hero 桌面端不超过两行
  - 全页只使用一个强调色
  - 卡片只用于真实层级,不把每段内容装进卡片
  - 不新增与工作流主题无关的装饰标签

freedoms:
  - 移动端允许把 7:5 双栏重排为单栏
  - 数据过长时允许截断,但必须提供完整内容入口
  - reduced motion 下允许移除位移,只保留淡入或直接呈现

This step applies the "variable cross-reference" principle in local prompt analysis. Navigation, Hero, buttons, and state prompts no longer individually describe "green" but uniformly reference accent; all cards no longer independently choose corner radius but use the same set of radius logic. When a key variable is referenced in multiple places, even if there are local deviations in implementation, it is easier for global rules to pull it back.

The "one accent color" in the example is just the invariant chosen for this page, not a universal rule that all products must follow. State colors, data visualization, and multi-brand scenarios may require richer semantic colors; the key is to incorporate the allowed color roles into the token system, rather than inventing colors temporarily within a component.

The Design Contract is best to include three types of content:

  • Tokens: colors, fonts, spacing, corner radius, shadows, and hierarchy;
  • Invariants: visual and interaction rules that must not be changed;
  • Freedom: parts that implementers are allowed to decide independently, for example, reordering on mobile or truncation strategies when data is too long.

Writing only prohibitions makes the model hesitant; writing only freedoms cannot ensure fidelity. Clear boundaries enable genuinely controllable creativity.

7. Prevent Design-to-Code Drift: Turn "Reference Images" into Engineering Inputs

Generating a beautiful image does not equal providing an implementable design. According to the personal workflows of imagegen-frontend-web and image-to-code Skills, visual references only become engineering inputs after being segmented, analyzed, and constrained, transforming from mood boards to actionable input.

1. Do not compress the entire page into a long image

A six-paragraph landing page is best served by generating separate horizontal reference images for each section. Text, buttons, and spacing in a full-page long image are too small and can only be guessed during translation; segmented images allow clear observation of layout proportions, CTA hierarchy, image frames, and component details.

Complex sections can also add local detail images, rather than cropping and enlarging from a blurry full image. Cropping does not recreate lost information.

Image generation is not the only approach. When the relevant Skills are unavailable, Figma Frames, ASCII wireframes, static browser prototypes, or annotated reference screenshots can be used instead. The medium can vary, but the input must allow implementers to clearly see structure, proportion, hierarchy, and key states, rather than merely providing a single style description.

2. Extract rules from the design, don’t just say "follow it"

Before coding, at a minimum extract:

  • Container width, column proportions, and alignment anchors;
  • Section vertical spacing and density rhythm;
  • Font roles, size ratios, line height, and number of characters per line;
  • Relationships between background, surface, text, border, and accent colors;
  • Button size, border radius, padding, icons, and hierarchy of importance;
  • Image ratios, cropping methods, filters, and frames;
  • DOM hierarchy, z-index, and painting order on the same layer;
  • Animation start and end states, duration, easing, and trigger conditions.

"Try to restore" has no practical meaning. What matters is: "Hero uses a 12-column grid, text spans 7 columns, media spans 5 columns, the title has a maximum of 2 lines, the spacing between CTA and body text is 32px."

3. Decision order when details are unclear

The approach provided by image-to-code can be summarized as:

First maintain a visible design language → Then maintain layout and spacing logic → Then maintain component family and level of refinement → Add detailed reference images if necessary → Finally, choose the most feasible faithful version

Convenience cannot be prioritized first. Many design deviations are not due to technical impossibility, but because developers prematurely fill uncertainties with familiar Flex layouts, cards, and default styles from component libraries.

4. Allow responsive changes, but do not allow the visual world to change

Design fidelity does not mean shrinking desktop drafts on a mobile device. On mobile, asymmetric grids can be changed to single columns, overlaps can be removed, image order can be adjusted, and animation intensity can be reduced, but the same set of font roles, color logic, component family, and content hierarchy must continue to be used.

8. Complex animations should be upgraded from 'effect description' to formulas and timelines

Static pages are mainly prone to deviations in color, fonts, and spacing, while complex scrolling pages may also deviate in timing, dependencies, and rendering order. The following formulas and timeline writing come from local Mostar scrolling page prompt analysis, not the original examples from Anthropic.

'The bridge follows the mouse and moves smoothly' still leaves a lot of room for the model to interpret. High-consistency prompts would further write it as:

const smoothstep = (edge0, edge1, value) => {
  const t = Math.min(1, Math.max(0, (value - edge0) / (edge1 - edge0)));
  return t * t * (3 - 2 * t);
};

// mouseY: -1..1;sharedHeroY: px;frame2Exit: 0..1
const bridgeY = mouseY * 8 + sharedHeroY - frame2Exit * 760;
bridge.style.transform = `translate3d(0, ${bridgeY}px, 0)`;

At this point, the model no longer designs animations, but translates formulas. Three easily overlooked dimensions also need to be added:

  1. Dependency order: Which variables must be calculated first to avoid referencing undefined values or the previous frame’s state;
  2. Structural order: The DOM tree, hierarchy, and drawing order when z-indexes are the same;
  3. Acceptance timeline: Which elements should appear, be fixed, leave, or complete transitions when scrolling through certain sections.

For example:

scrollY = 0:Hero 文案完整可见,桥梁位于初始位置
scrollY = 480:标题透明度应在 0.45–0.55,场景二开始进入
scrollY = 920:桥梁离开首屏,场景二完全接管背景
scrollY = 1480:视差停止,CTA 可交互且位于可视区

The specification checklist verifies whether the parts are correct, and the timeline checks whether the dynamic behavior after assembly is correct. Only when both are present can complex animations truly be accepted.

Note: Formula precision is only suitable for dynamic relationships that must be deterministically reproduced and should not become the default guidance for all UI designs. When the instructions are precise down to the formula level, offsets will not entirely disappear but will shift from aesthetic judgment to engineering rigor, such as formula transcription, unit concatenation, floating-point precision, and declaration order. Therefore, it is also necessary to supplement value ranges, units, resize, clamp, and reduced motion strategies, and to verify using runtime checks and keyframe screenshots, rather than just reviewing the code.

9. Establish Four Layers of Acceptance to Avoid "Looks Close Enough"

Preventing implementation offsets cannot rely on a single final visual inspection. A more effective method is to break acceptance into four layers.

First Layer: Structural Correctness

  • Whether the DOM semantics and hierarchy match the design;
  • Whether section order and content priority are maintained;
  • Whether z-index, overflow, and positioning contexts are correct;
  • Whether there is a clear collapse strategy for mobile devices.

Second Layer: System Consistency

  • Whether all colors come from the same token set;
  • Whether font roles and type scales are consistently used;
  • Whether corner radii, shadows, borders, and icons belong to the same component family;
  • Whether CTA copy and styles remain consistent;
  • Whether different sections still belong to the same brand world.

Third Layer: Visual Fidelity

  • Compare reference images and implementation screenshots in a fixed viewport;
  • Check container width, baseline, spacing, number of lines, and image proportions;
  • First adjust the macro composition, then correct colors and components, and finally fine-tune small spacing;
  • Desktop and mobile should be checked in the same round to prevent fixing one from breaking the other.

Acceptance thresholds should be written into the Design Contract for each project rather than uniformly specified in this document. A common starting point is: fixed 1440×900 and 390×844 viewports; body text contrast reaching WCAG AA; key alignments and spacing allow minimal pixel deviation; keyframes of animations use clear intervals; visual diff thresholds are calibrated according to font rendering and operating system differences. Projects should record the final adopted values to avoid temporarily changing standards in each review.

Layer 4: Product Quality

  • Keyboard navigation, focus, contrast, and reduced motion;
  • Loading, empty, error, disabled, and long text states;
  • Whether animations only use appropriate properties and whether they cause continuous reflows;
  • Whether Lighthouse, type checking, testing, and builds pass.

A page can look like the design draft but lack accessibility; it can also have high engineering quality but have already lost the rhythm of the original design. None of the four layers can be omitted.

10. A Reusable Skill Collaboration Process

By combining the previous principles, a process can be formed from the Brief to delivery.

Stage 1: Understanding

Input product, audience, page tasks, brand assets, existing design, and constraints. The direction Skill outputs a Design Read and determines whether this is a new design, a conservative modification, or a complete redesign. If "page tasks, audience, or scope retention" still have disagreements, pause at this stage to confirm before moving to visual exploration.

Stage 2: Exploration

Diverge only on unlocked design axes. Compare at least two compositions or thematic directions without rushing to write complete code. At this stage, use high to mid-level guidance, e.g., "editorial feel but not retro" or "high contrast typography, restrained animations." The product or design lead selects the direction and records the decision with a one-sentence reason; if no choice is made, do not enter the convergence stage.

Stage 3: Convergence

Select one direction and output a Design Contract: tokens, font roles, grid, core components, signature elements, design knobs, prohibited items, and allowable variations. Once the Contract is confirmed, the subsequent stages must not silently change the visual world; if implementation proves infeasible, return to this stage to revise the Contract and record the reasons.

Stage 4: Reference

Generate readable independent visual references for key sections, and supplement complex components with detail drawings. If no graphic tools are available, use Figma, wireframes, or browser prototypes. Only when implementers can identify structure, proportion, hierarchy, and states from the references should it proceed to the translation stage.

Stage 5: Translation

Extract structure, layout, color, typography, spacing, components, and animation specifications from the reference images. The coding Skill must abide by project directories, frameworks, and component library constraints and must not redesign independently.

Stage 6: Acceptance

Check according to four layers: structure, system, visual, and product quality. Use key moments for motion effects, and fixed viewport screenshots for static pages. If any layer does not meet the thresholds in the Contract, return to the implementation/translation phase for fixes; if the failure originates from the plan itself, return to the convergence phase to update the Contract. When deviations are found, prioritize fixing rules and shared tokens rather than patching each location individually.

Phase 7: Consolidation

Write recurring deviations back into the Skill:

  • If purple is always the default, add rules with exceptions to override the default;
  • If the Hero frequently overflows the first screen, increase the number of lines, revise copy, and set first-screen acceptance constraints;
  • If the design mockup is excellent but the code is ordinary, add visual extraction and anti-drift processes;
  • If rules are always misused, adjust the Skill’s trigger descriptions or responsibility boundaries;
  • If the same checks have to be rewritten each time, turn them into scripts or tests.

Skill is not a static design bible, but an engineering asset compressed from the team’s failure cases.

XI. Anti-Offset Template That Can Be Directly Added to Project Skills

The following template is not a complete Skill, but the core workflow that can be embedded into project design Skills.

## Design Workflow

1. Before writing code, output a line "Design Read": page type, audience, unique task, visual language.
2. Only explore design axes where the brief is not determined; do not modify existing brand assets.
3. After confirming the direction, establish a Design Contract:
   - palette and semantic tokens
   - typography roles and type scale
   - grid, container, and section rhythm
   - component family and shape rules
   - DESIGN_VARIANCE / MOTION_INTENSITY / VISUAL_DENSITY
   - invariants and allowed freedoms
4. Prepare readable visual references for key pages by section; generate separate detail drawings for unclear details.
5. Before coding, extract specifications for layout, spacing, fonts, colors, components, hierarchy, and animations.
6. Do not replace confirmed design directions with default templates during implementation.
7. Compare reference images and implementation screenshots using a fixed viewport.
8. Verify desktop, mobile, keyboard, reduced motion, loading, empty, and error states.

## Conflict Resolution

1. User explicit requirements
2. Project brand and DESIGN.md
3. Project structure and engineering skills
4. Current lead design skills
5. Specialized design or animation skills
6. General aesthetic advice

## Anti-Drift Rules

- Use shared tokens; do not reinvent colors and spacing in components.
- Maintain section order, content priority, typography roles, and CTA family.
- Responsive rearrangement is allowed; switching to a different visual language on mobile is not allowed.
- Do not remove iconic elements or compress key white space for implementation convenience.
- When details are unclear, first supplement with references or follow visible design logic; do not immediately use default components.
- Do not claim that visual or engineering checks have passed if they have not been performed.

12. Several Pitfalls That Easily Lead to Extremes

1. Turning 'Anti-AI' into a New Fixed Style

Banning Inter and then using Space Grotesk on all pages, banning purple and then turning everything black-green, banning three-column cards and then changing everything to Bento is just jumping from one local optimum to another.

The solution is not to continue expanding the ban list, but to ensure that each key choice can be traced back to the Brief, audience, and content.

2. Understanding 'Advanced' as More Complex

Glass, noise, 3D, magnetic buttons, scroll hijacking, and parallax do not automatically add up to an advanced experience. Complexity must match the page type: marketing pages can express more, admin dashboards must first ensure scanning efficiency, and article pages must first ensure readability.

3. Only Auditing Aesthetics, Not Functionality

An image only shows an ideal state. Real products also involve errors, empty data, overly long text, disabled states, touch and keyboard interactions. If your design skills do not cover these states, you can only generate concept drafts, not production-ready interfaces.

4. Over-Numerical Exploration Process

Specifying all colors, font sizes, and formulas before the direction is determined will make the model miss the chance to discover better solutions. Numerical precision is suitable for convergence and acceptance, not for replacing early-stage design thinking.

5. Letting the Model Judge 'Whether to Restore'

The model has obvious contextual inertia regarding the code it just wrote. The most reliable feedback is not 'I think it's very close,' but fixed-size screenshots, structured difference lists, and testable acceptance timelines.

13. Recommended Personal Design Skills and Installation Addresses

Below are the design-related skills actually reviewed in this article, with publicly accessible upstream repositories confirmed. The recommendation level indicates its applicability in a regular front-end workflow and does not represent the skill's quality ranking.

The table links refer to the publicly accessible upstream versions as of the time this article was updated. Local personal copies may differ from upstream due to version updates or secondary adjustments. Before installation, you should read the SKILL.md, scripts, dependencies, and licenses in the repository; do not decide whether to use based solely on installation count.

General Directions and Complete Workflows

SkillRecommended ScenariosPositioning and NotesGitHubQuick Installation
frontend-designNew landing pages, portfolios, brand pagesAnthropic's general design direction Skill, small in size, suitable as a design baseline. Usually choose one of the following two main design Skills as the authoritative oneanthropics/skillsnpx skills add anthropics/skills@frontend-design
design-taste-frontendRequires a systematic anti-AI routine, design knobs, and strict pre-flightComprehensive content but heavy on context, suitable for projects with high visual requirements; do not stack multiple Skills of the same functionleonxlnx/taste-skillnpx skills add leonxlnx/taste-skill@design-taste-frontend
impeccable Integrated workflow from design and modification to reviewIncludes subprocesses such as shape, critique, polish, adapt, animate, harden, with full capabilities; specific commands should be selected according to its routingpbakaus/impeccablenpx skills add pbakaus/impeccable@impeccable

These three Skills can all take on the main design responsibilities; usually, selecting one is sufficient: for those who want to keep it lightweight, choose frontend-design; for those who want strict control over anti-patterns and visual variables, choose design-taste-frontend; for those who want a complete process covering design, modification, review, and browser iteration, choose impeccable.

Visual Generation, Translation, and Existing Project Modification

SkillRecommended ScenariosPositioning and NotesGitHubQuick Installation
imagegen-frontend-webFirst generate visual references for each section of the webpageEmphasize one image per paragraph, cross-section consistency, and codability; the host needs to have image generation capabilityleonxlnx/taste-skillnpx skills add leonxlnx/taste-skill@imagegen-frontend-web
image-to-codeConvert screenshots or high-fidelity generated images into frontend codeFocus on extracting layout, fonts, spacing, colors, and component details, and provide anti-drift rules; suitable for use when clear visual input is availableleonxlnx/taste-skillnpx skills add leonxlnx/taste-skill@image-to-code
redesign-existing-projectsUpgrade old websites while retaining functionalityAudit first then modify, suitable for existing projects; must also comply with the project's own directory and engineering specificationsleonxlnx/taste-skillnpx skills add leonxlnx/taste-skill@redesign-existing-projects
frontend-ui-engineeringImplement design into production-level interfacesSupplement component architecture, responsiveness, WCAG, state, and engineering verification, suitable as an engineering-side aid for design skillsaddyosmani/agent-skillsnpx skills add addyosmani/agent-skills@frontend-ui-engineering

Detail polishing, animations, and acceptance

SkillRecommended scenariosPositioning and considerationsGitHubQuick installation
make-interfaces-feel-betterThe overall direction of the page is correct, but the details still “feel off”Focus on rounded corners, shadows, optical alignment, fonts, icons, click feedback, and animation details, suitable for the final stretch of polishingjakubkrehel/make-interfaces-feel-betternpx skills add jakubkrehel/make-interfaces-feel-better@make-interfaces-feel-better
find-animation-opportunitiesDetermine which areas are worth adding animationsOnly suggest opportunities and explicitly reject unnecessary animations, do not implement directly, suitable for pre-animation design screeningemilkowalski/skillsnpx skills add emilkowalski/skills@find-animation-opportunities
review-animations Review existing animation codeStrictly evaluate from the perspectives of purpose, duration, easing, interruptibility, performance, and reduced motion, etc.emilkowalski/skillsnpx skills add emilkowalski/skills@review-animations
web-design-guidelinesUI, UX, and Accessibility ReviewInspection-type skill, suitable for independent acceptance after completion; should not replace project design directionvercel-labs/agent-skillsnpx skills add vercel-labs/agent-skills@web-design-guidelines

Explicit Style Skills

SkillRecommended ScenariosPositioning and NotesGitHubQuick Installation
minimalist-ui Minimalist interface with an editorial feel, restrained and gentleClear stylistic boundaries, actively avoids gradients and heavy shadows; only uses this visual language when truly needed in a briefleonxlnx/taste-skillnpx skills add leonxlnx/taste-skill@minimalist-ui
industrial-brutalist-uiIndustrial, Tactical Terminals, Archive or Data-Intensive InterfacesUses strong grids, macro typography, and mechanical texture; not suitable for ordinary SaaS or lightweight consumer productsleonxlnx/taste-skillnpx skills add leonxlnx/taste-skill@industrial-brutalist-ui
high-end-visual-design Strong Visual Marketing Pages and Slightly Awwwards-Oriented Concept ProjectsPrefers cinematic feel, textures, strong animation, and high-end agency expression; rules are strict; production projects require extra review for performance and accessibilityleonxlnx/taste-skillnpx skills add leonxlnx/taste-skill@high-end-visual-design

Style-type Skills are not recommended to be enabled simultaneously. Their purpose is to clearly select one visual world, rather than mixing minimalism, industrial ruggedness, and cinematic feel into a single page.

Codex Personal-Level Installation

The above table uses the general quick commands of the Skills CLI. If you want to specifically install it as a personal-level Skill for Codex, you can use:

npx skills add <owner/repo> --skill <skill-name> -g -a codex

For example:

npx skills add anthropics/skills --skill frontend-design -g -a codex
npx skills add leonxlnx/taste-skill --skill image-to-code -g -a codex
npx skills add emilkowalski/skills --skill review-animations -g -a codex

After installation, you should check whether the corresponding SKILL.md has been generated in the personal Skills directory, and restart a task to confirm that the Skill has been detected. Do not install all Skills at once: start with one main design Skill, one engineering or translation Skill, and one acceptance Skill, adding more only when real tasks expose capability gaps.

Conclusion

Using Skills to enhance frontend design is not really about "teaching AI a specific advanced style," but about establishing a system that dynamically manages design flexibility.

During the creative phase, Skills should prompt the model to move away from the training distribution center, actively thinking about fonts, colors, composition, motion, and backgrounds; once the direction is determined, Skills should freeze aesthetic judgments into tokens, structures, component families, and immutable constraints; during implementation and acceptance, visual references, precise values, formulas, screenshots, and status checks should be used to gradually eliminate ambiguity.

The whole method can be condensed into one sentence:

Use Skills to expand design possibilities, lock choices with design contracts, and use visual evidence and engineering validation to prevent choices from being lost during implementation.

The best design Skills do not make all pages have the same "sense of sophistication," but allow each page to explain its choices, and after turning into actual code, still clearly show why it was originally designed that way.

References

  • Anthropic: Improving frontend design through Skills
  • This article recommends public upstream repositories of Skills: anthropics/skills, leonxlnx/taste-skill, pbakaus/impeccable, jakubkrehel/make-interfaces-feel-better, emilkowalski/skills, vercel-labs/agent-skills, addyosmani/agent-skills

Discussion

Support the author
Previous post

A web visual dictionary essential for writing Skill or Prompt keywords

Next post

One Universal Prompt That Makes Codex Understand Your Project First

LMX BlogWeb · TypeScript · Vue · Node.js
Crafted by
@LMXZQQ
Build
unavailable
Date
2026-10-30
Articles
29
Deployed on
Nginx
Source code
GitHub
License
MIT License
Typeface
Geist
Stack
  • next@16.4.3
  • react@19.3.1
  • @base-ui/react@1.8.0
  • shadcn@4.12.0
  • tailwindcss@4.3.3
Analytics
  • OpenPanel
  • Google Analytics
For agents
  • llms.txt
  • index.md
Inspired by
  1. Tailwind CSS
  2. shadcn/ui
  3. Vercel
  4. Apple
  5. Evil Charts
  6. Devouring Details
  7. Skiper UI
  8. Making Software
  9. shadcncraft
Approved by
静水流深 / LMX
1602
Command Palette

Search for a command to run...