AgentSkillsCN

tool-frontend-design

以高水准的设计质量,打造独具特色、面向生产环境的前端界面。当用户要求构建 Web 组件、页面、制品、海报,或开发各类应用时(如网站、落地页、仪表盘、React 组件、HTML/CSS 布局,或为任意 Web UI 进行风格化与美化时),此技能便能大显身手。它能生成富有创意、精致优雅的代码与 UI 设计,彻底摆脱千篇一律的 AI 风格。同时,它会与 X-IPE 主题系统无缝对接,确保品牌风格的统一性。

SKILL.md
--- frontmatter
name: tool-frontend-design
description: Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics. Integrates with X-IPE theme system for brand consistency.

This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.

The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints.


Theme Integration (X-IPE Specific)

BEFORE designing, load the selected theme:

Step 1: Read Selected Theme

bash
# From config file - get theme name
cat x-ipe-docs/config/tools.json | jq '.["selected-theme"]["theme-name"]'
# Returns: "theme-default" (or other selected theme)

# Or get the full folder path directly
cat x-ipe-docs/config/tools.json | jq '.["selected-theme"]["theme-folder-path"]'
# Returns: "x-ipe-docs/themes/theme-default"

Step 2: Load Design System

bash
# Using the theme-folder-path from config
theme_path=$(cat x-ipe-docs/config/tools.json | jq -r '.["selected-theme"]["theme-folder-path"]')
cat "${theme_path}/design-system.md"

Step 3: Extract & Apply Tokens

Use the theme's tokens as your design foundation:

TokenSource in design-system.mdCSS Variable
Primary colorColor Palette → Primary--color-primary
Secondary colorColor Palette → Secondary--color-secondary
Accent colorColor Palette → Accent--color-accent
Neutral colorColor Palette → Neutral--color-neutral
Heading fontTypography → Font Families--font-heading
Body fontTypography → Font Families--font-body
Spacing scaleSpacing section--space-{size}
Border radiusBorder Radius section--radius-{size}
ShadowsShadows section--shadow-{size}

The theme provides your palette. Your job is to use it CREATIVELY.


Design Thinking

Before coding, understand the context and commit to a BOLD aesthetic direction:

  • Purpose: What problem does this interface solve? Who uses it?
  • Tone: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction.
  • Constraints: Technical requirements (framework, performance, accessibility).
  • Differentiation: What makes this UNFORGETTABLE? What's the one thing someone will remember?

CRITICAL: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity.

Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is:

  • Production-grade and functional
  • Visually striking and memorable
  • Cohesive with a clear aesthetic point-of-view
  • Meticulously refined in every detail

Frontend Aesthetics Guidelines

Focus on:

  • Typography: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial and Inter; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font. When a theme is selected, use the theme's fonts as your base but feel free to add complementary display fonts for creative impact.
  • Color & Theme: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes. When a theme is selected, the theme's colors are your palette - use them boldly and intentionally.
  • Motion: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise.
  • Spatial Composition: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density.
  • Backgrounds & Visual Details: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays.

NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character.

Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations.

IMPORTANT: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well.

Remember: AI Agent is capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision.


Output Format

Self-contained HTML with theme tokens as CSS variables:

html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{Feature Name}</title>
    <link href="https://fonts.googleapis.com/css2?family={ThemeHeadingFont}:wght@400;500;600;700&display=swap" rel="stylesheet">
    <style>
        /* Theme: {theme-name} - Tokens from design-system.md */
        :root {
            --color-primary: {from theme};
            --color-secondary: {from theme};
            --color-accent: {from theme};
            --color-neutral: {from theme};
            --font-heading: '{from theme}', sans-serif;
            --font-body: {from theme};
            --radius-md: {from theme};
            --shadow-md: {from theme};
            /* ... all tokens from design-system.md ... */
        }
        
        /* Your creative implementation using theme variables */
    </style>
</head>
<body>
    <!-- Distinctive, memorable UI -->
</body>
</html>

Output Location

code
x-ipe-docs/requirements/FEATURE-XXX/mockups/   ← For feature mockups
playground/mockups/                       ← For standalone mockups

Quick Reference

Theme Files

code
x-ipe-docs/themes/
├── theme-default/
│   ├── design-system.md           ← Token definitions (REQUIRED)
│   └── component-visualization.html ← Visual reference (optional)

API Endpoints

code
GET /api/themes              → List all themes + selected
GET /api/themes/{name}       → Get theme details + design_system content
GET /api/config/tools        → Get config including themes.selected

Examples

See references/examples.md for theme-integrated mockup examples.