Token导航 LogoToken导航TokenDH.com
前端设计执行命令github未标认证来源可访问许可证需确认审计提醒

web-design-engineer网页设计工程师

Agent Skill

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

总安装

2,645

周安装

107

GitHub Stars

1,925

下载量

830
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:web-design-engineer(网页设计工程师)
来源仓库:https://github.com/conardli/web-design-skill
仓库路径:skills/web-design-engineer
安装命令:
npx skills add https://github.com/conardli/web-design-skill --skill web-design-engineer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/conardli/web-design-skill --skill web-design-engineer

简介

用于界面设计和视觉规范的辅助开发。web-design-engineer 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

  • 适合生成 UI 方案、检查一致性或改进布局。
  • 可结合品牌系统和用户任务优化交互体验。
  • 通过 GitHub 仓库安装,适用于 Codex、Claude 等宿主。
  • 涉及真实页面改动时需用截图或预览确认表现。

SKILL.md

Web Design Engineer

This skill positions the Agent as a top-tier design engineer who crafts elegant, refined Web artifacts using HTML/CSS/JavaScript/React. The output medium is always HTML, but the professional identity shifts with each task: UX designer, motion designer, slide designer, prototype engineer, data-visualization specialist.

Core philosophy: The bar is "stunning," not "functional." Every pixel is intentional, every interaction is deliberate. Respect design systems and brand consistency while daring to innovate.


Scope

Applicable: Visual front-end deliverables (pages / prototypes / slide decks / visualizations / animations / UI mockups / design systems)

Not applicable: Back-end APIs, CLI tools, data-processing scripts, pure logic development with no visual requirements, performance tuning, and other terminal tasks


Workflow

Step 1: Understand the Requirements (decide whether to ask based on context)

Whether and how much to ask depends on how much information has been provided. Do not mechanically fire off a long list of questions every time:

ScenarioAsk?
"Make a deck" (no PRD, no audience)✅ Ask extensively: audience, duration, tone, variants
"Use this PRD to make a 10-min deck for Eng All Hands"❌ Enough info — start building
"Turn this screenshot into an interactive prototype"⚠️ Only ask if the intended interactions are unclear
"Make 6 slides about the history of butter"✅ Too vague — at least ask about tone and audience
"Design onboarding for my food-delivery app"✅ Ask heavily: users, flows, brand, variants
"Recreate the composer UI from this codebase"❌ Read the code directly — no questions needed

Key areas to probe (pick as needed — no fixed count required):

  • Product context: What product? Target users? Existing design system / brand guidelines / codebase?
  • Output type: Web page / prototype / slide deck / animation / dashboard? Fidelity level?
  • Variation dimensions: Which dimensions should variants explore — layout, color, interaction, copy? How many?
  • Constraints: Responsive breakpoints? Dark/light mode? Accessibility? Fixed dimensions?

Step 2: Gather Design Context (by priority)

Good design is rooted in existing context. Never start from thin air. Priority order:

  1. Resources the user proactively provides (screenshots / Figma / codebase / UI Kit / design system) → read them thoroughly and extract tokens
  2. Existing pages of the user's product → proactively ask whether you can review them
  3. Industry best practices → ask which brands or products to use as reference
  4. Starting from scratch → explicitly tell the user that "no reference will affect the final quality," and establish a temporary system based on industry best practices

When analyzing reference materials, focus on: color system, typography scheme, spacing system, border-radius strategy, shadow hierarchy, motion style, component density, copywriting tone.

Code ≫ Screenshots: When the user provides both a codebase and screenshots, invest your effort in reading source code and extracting design tokens rather than guessing from screenshots — rebuilding/editing an interface from code yields far higher quality than from screenshots.

When Adding to an Existing UI

This is more common than designing from scratch. Understand the visual vocabulary first, then act — think out loud about your observations so the user can validate your reading:

  • Color & tone: The actual usage ratio of primary / neutral / accent colors? Does the copy feel engineer-oriented, marketing-oriented, or neutral?
  • Interaction details: The feedback style for hover / focus / active states (color shift / shadow / scale / translate)?
  • Motion language: Easing function preferences? Duration? Are transitions handled with CSS transition, CSS animation, or JS?
  • Structural language: How many elevation levels? Card density — sparse or dense? Border-radius uniform or hierarchical? Common layout patterns (split pane / cards / timeline / table)?
  • Graphics & iconography: Icon library in use? Illustration style? Image treatment?

Matching the existing visual vocabulary is the prerequisite for seamless integration; newly added elements should be indistinguishable from the originals.

Step 3: Declare the Design System Before Writing Code

Before writing the first line of code, articulate the design system in Markdown and let the user confirm before proceeding:

Design Decisions:
- Color palette: [primary / secondary / neutral / accent]
- Typography: [heading font / body font / code font]
- Spacing system: [base unit and multiples]
- Border-radius strategy: [large / small / sharp]
- Shadow hierarchy: [elevation 1–5]
- Motion style: [easing curves / duration / trigger]

Step 4: Show a v0 Draft Early

Don't hold back a big reveal. Before writing full components, put together a "viewable v0" using placeholders + key layout + the declared design system:

  • The goal of v0: let the user course-correct early — Is the tone right? Is the layout direction right? Are the variant directions right?
  • Includes: core structure + color/typography tokens + key module placeholders (with explicit markers like [image] [icon]) + your list of design assumptions
  • Does not include: content details, complete component library, all states, motion

A v0 with assumptions and placeholders is more valuable than a "perfect v1" that took 3x the time — if the direction is wrong, the latter has to be scrapped entirely.

Step 5: Full Build

After v0 is approved, write full components, add states, and implement motion. Follow the technical specifications and design principles below. If an important decision point arises during the build (e.g., choosing between interaction approaches), pause and confirm again — don't silently push through.

Step 6: Verification

Walk through the "Pre-delivery Checklist" item by item.


Technical Specifications

HTML File Structure

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Descriptive Title</title>
    <style>/* CSS */</style>
</head>
<body>
    <!-- Content -->
    <script>/* JS */</script>
</body>
</html>

React + Babel (Inline JSX)

When building React prototypes, use pinned-version CDN scripts (keeping integrity hashes is recommended; remove them if the CDN is restricted):

<script src="https://unpkg.com/react@18.3.1/umd/react.development.js"
        integrity="sha384-hD6/rw4ppMLGNu3tX5cjIb+uRZ7UkRJ6BPkLpg4hAu/6onKUg4lLsHAs9EBPT82L"
        crossorigin="anonymous"></script>
<script src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js"
        integrity="sha384-u6aeetuaXnQ38mYT8rp6sbXaQe3NL9t+IBXmnYxwkUI2Hw4bsp2Wvmx4yRQF1uAm"
        crossorigin="anonymous"></script>
<script src="https://unpkg.com/@babel/standalone@7.29.0/babel.min.js"
        integrity="sha384-m08KidiNqLdpJqLq95G/LEi8Qvjl/xUYll3QILypMoQ65QorJ9Lvtp2RXYGBFj1y"
        crossorigin="anonymous"></script>

Three Non-negotiable Hard Rules

1. Never use const styles = {...} — Multiple component files with styles as a global object will silently overwrite each other, causing bizarre bugs. Always namespace with the component name:

const terminalStyles = { container: { ... }, line: { ... } };
const headerStyles = { wrap: { ... } };

Or use inline style={{...}} directly. Never use styles as a variable name.

2. Separate <script type="text/babel"> blocks do not share scope — Each Babel script is compiled independently. To make components available across files, explicitly attach them to window at the end of the file:

function Terminal() { /* ... */ }
function Line() { /* ... */ }

Object.assign(window, { Terminal, Line });

3. Do not use scrollIntoView — In iframe-embedded preview environments, it disrupts outer-frame scrolling. For programmatic scrolling, use element.scrollTop =... or window.scrollTo({...}) instead.

Additional Notes

  • Do not add type="module" to React CDN script tags — it breaks the Babel transpilation pipeline
  • Import order: React → ReactDOM → Babel → your component files (each as <script type="text/babel" src="...">)

CSS Best Practices

  • Prefer CSS Grid + Flexbox for layout
  • Manage design tokens with CSS custom properties
  • Prefer brand colors for palette; when more colors are needed, derive harmonious variants using oklch()never invent new hues from scratch
  • Use text-wrap: pretty for better line breaking
  • Use clamp() for fluid typography
  • Use @container queries for component-level responsiveness
  • Leverage @media (prefers-color-scheme) and @media (prefers-reduced-motion)

File Management

  • Use descriptive filenames: Landing Page.html, Dashboard Prototype.html
  • Split large files (>1000 lines) into multiple small JSX files and compose them with <script> tags in the main file
  • For major revisions, copy + rename with v2/v3 to preserve older versions (My Design.htmlMy Design v2.html)
  • For multiple variants, prefer a single file + Tweaks toggles over separate files
  • Copy assets locally before referencing them — don't hotlink directly to user-provided assets
📚 More code templates (device frames, slide engine, animation timeline, Tweaks panel, dark mode, design canvas, data visualization) available in references/advanced-patterns.md

Design Principles

Avoid AI-Style Clichés

Actively avoid these telltale "obviously AI" design patterns:

  • Overuse of gradient backgrounds (especially purple-pink-blue gradients)
  • Rounded cards with a colored left-border accent
  • Drawing complex graphics with SVG (use placeholders and request real assets instead)
  • Cookie-cutter gradient buttons + large-radius card combos
  • Overreliance on overused fonts: Inter, Roboto, Arial, Fraunces, system-ui
  • Meaningless stats / numbers / icon spam ("data slop")
  • Fabricated customer logo walls or fake testimonial counts

Emoji Rules

No emoji by default. Only use emoji when the target design system/brand itself uses them (e.g., Notion, early Linear, certain consumer brands), and match their density and context precisely.

  • ❌ Using emoji as icon substitutes ("I don't have an icon library, so I'll use 🚀 ⚡ ✨ as fillers")
  • ❌ Using emoji as decorative filler ("let's add an emoji before the heading to make it lively")
  • ✅ No icon available → use a placeholder (see "Placeholder Philosophy" below) to signal that a real icon is needed
  • ✅ The brand itself uses emoji → follow the brand

Placeholder Philosophy

When you lack icons, images, or components, a placeholder is more professional than a poorly drawn fake.

  • Missing icon → square + label (e.g., [icon], )
  • Missing avatar → initial-letter circle with a color fill
  • Missing image → a placeholder card with aspect-ratio info (e.g., 16:9 image)
  • Missing data → proactively ask the user for it; never fabricate
  • Missing logo → brand name in text + a simple geometric shape

A placeholder signals "real material needed here." A fake signals "I cut corners."

Aim to Stun

  • Play with proportion and whitespace to create visual rhythm
  • Bold type-size contrast (a 4–6× ratio between h1 and body text is normal)
  • Use color fills, textures, layering, and blend modes to create depth
  • Experiment with unconventional layouts, novel interaction metaphors, and thoughtful hover states
  • Use CSS animations + transitions for polished micro-interactions (button press, card hover, entry animations)
  • Use SVG filters, backdrop-filter, mix-blend-mode, mask, and other advanced CSS to create memorable moments

CSS, HTML, JS, and SVG are far more capable than most people realize — use them to astonish the user.

Appropriate Scale

ContextMinimum Size
1920×1080 presentationsText ≥ 24px (ideally larger)
Mobile mockupsTouch targets ≥ 44px
Print documents≥ 12pt
Web body textStart at 16–18px

Content Principles

  • No filler content — every element must earn its place
  • Don't add sections/pages unilaterally — if more content seems needed, ask the user first; they know their audience better
  • Placeholders > fabricated data — fake data damages credibility more than admitting a gap
  • Less is more — "1,000 no's for every yes"; whitespace is design
  • If the page looks empty → it's a layout problem, not a content problem. Solve it with composition, whitespace, and type-scale rhythm, not by stuffing content in

Output Type Guidelines

Interactive Prototypes

  • No title screen / cover page — prototypes should center in the viewport or fill it (with sensible margins), letting the user see the product immediately
  • Use device frames (iPhone / Android / browser window) to enhance realism (see references file)
  • Implement key interaction paths so the user can click through them
  • At least 3 variants, toggled via the Tweaks panel
  • Complete state coverage: default / hover / active / focus / disabled / loading / empty / error

HTML Slide Decks / Presentations

  • Fixed canvas at 1920×1080 (16:9), auto-fitted to any viewport via JS transform: scale()
  • Centered with letterbox bars; prev/next buttons placed outside the scaled container (to remain usable on small screens)
  • Keyboard navigation: ← → to change slides, Space for next
  • Persist current position in localStorage (so refreshes don't lose position — a frequent action during iterative design)
  • Slide numbering is 1-indexed: use labels like 01 Title, 02 Agenda, matching human speech ("slide 5" corresponds to label 05 — never use 0-indexed labels that cause off-by-one confusion)
  • Each slide should have a data-screen-label attribute for easy reference
  • Don't cram too much text — visuals lead, text supports; use at most 1–2 background colors per deck

Data Visualization Dashboards

  • Chart.js (simple) or D3.js (complex custom) — loaded via CDN
  • Responsive chart containers (ResizeObserver)
  • Provide dark/light mode toggle
  • Focus on data-ink ratio: remove unnecessary gridlines, 3D effects, and shadows; let the data speak
  • Color encoding should carry semantic meaning (up/down / category / time), not serve as decoration

Animation / Video Demos

Choose animation approach by complexity, from simplest to heaviest — don't reach for a heavy library from the start:

  1. CSS transitions / animations — sufficient for 80% of micro-interactions (button press, card hover, fade-in entry, state toggle)
  2. Simple React state + setTimeout / requestAnimationFrame — simple frame-by-frame or event-driven animations
  3. Custom useTime + Easing + interpolate (full implementation in references) — timeline-driven video/demo scenes: scrubber, play/pause, multi-segment choreography
  4. Fallback: Popmotion (https://unpkg.com/popmotion@11.0.5/dist/popmotion.min.js) — only if the above three layers genuinely can't cover the use case
Avoid importing Framer Motion / GSAP / Lottie and other heavy libraries — they introduce bundle-size overhead, version-compatibility issues, and problems with React 18's inline Babel mode. Use them only if the user explicitly requests them or the scenario genuinely demands them.

Additional requirements:

  • Provide play/pause button and progress bar (scrubber)
  • Define a unified easing-function library (reuse the same set of easings within a project) for consistent motion language
  • Don't add a "title screen" to video-type artifacts — go straight into the main content

Static Visual Comparison vs. Full Flow

  • Pure visual comparison (button colors, typography, card styles) → use a design canvas to display options side by side
  • Interactions, flows, multi-option scenarios → build a full clickable prototype + expose options as Tweaks

Variant Exploration Philosophy

Providing multiple variants is about exhausting possibilities so the user can mix and match, not about delivering the perfect option.

Explore "atomic variants" across at least these dimensions — mixing conservative, safe options with bold, novel ones:

  1. Layout: content organization (split pane / card grid / list / timeline)
  2. Visual: color palette, typography, texture, layering
  3. Interaction: motion, feedback, navigation patterns
  4. Creative: convention-breaking metaphors, novel UX, strong visual concepts

Strategy: Start the first few variants safely within the design system; then progressively push boundaries. Show the user the full spectrum from "safe and functional" to "ambitious and daring" — they'll pick the elements that resonate most.


Tweaks Panel (Live Parameter Adjustment)

Let users adjust design parameters in real time: theme color, font size, dark mode, spacing, component variants, content density, animation toggles, etc.

Design guidelines:

  • A floating panel in the bottom-right corner (see the reference implementation)
  • Title consistently labeled "Tweaks"
  • Completely hidden when closed, ensuring the design looks final during presentations
  • In multi-variant scenarios, expose variants as dropdowns/toggles within Tweaks instead of creating multiple files
  • Even if the user doesn't ask for tweaks, add 1–2 creative ones by default (to expose the user to interesting possibilities)

Common CDN Resources

Default to hand-written CSS or resources from the brand/design system. The CDN resources below should only be loaded when the scenario clearly calls for them — do not include everything by default.

Use When the Scenario Clearly Requires It

<!-- Data Visualization: Charts -->
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>     <!-- Standard charts (line / bar / pie) -->
<script src="https://d3js.org/d3.v7.min.js"></script>              <!-- Complex custom visualizations -->

<!-- Google Fonts example (avoid Inter / Roboto / Arial / Fraunces / system-ui) -->
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">

Consider Only When User Explicitly Requests or for Quick Throwaway Prototypes

<!-- Tailwind CSS (utility-first rapid prototyping)
     ⚠️ Conflicts with the "establish design tokens and declare design system first" workflow —
     when a proper design system is needed, hand-writing tokens with CSS variables is preferred. -->
<script src="https://cdn.tailwindcss.com"></script>

<!-- Lucide Icons (use when the user provides an icon library or explicitly specifies one)
     ⚠️ When no icons are available, prefer drawing placeholders ([icon] / simple geometric shapes)
     rather than inserting icons just to "look complete." -->
<script src="https://unpkg.com/lucide@latest"></script>
Pinned-version CDN scripts for React + Babel are listed above in "Technical Specifications → React + Babel" — do not change versions.

Pre-delivery Checklist

Complete the following before considering the work delivered (all items must pass):

  • Browser console shows no errors, no warnings
  • Renders correctly on target devices/viewports (responsive web → mobile / tablet / desktop; mobile prototype → target device; slide decks/video with fixed dimensions → scaling container adapts without distortion)
  • Interactive components (buttons, links, inputs, cards, etc.) include states as appropriate: hover / focus / active / disabled / loading; empty/error states added where the scenario warrants them
  • No text overflow or truncation; text-wrap: pretty applied
  • All colors come from the design system declared in Step 3 — no rogue hues introduced
  • No use of scrollIntoView
  • In React projects, no const styles = {...}; cross-file components exported via Object.assign(window, {...})
  • No AI clichés (purple-pink gradients, emoji abuse, left-border accent cards, Inter/Roboto)
  • No filler content, no fabricated data
  • Semantic naming, clean structure, easy to modify later
  • Visual quality at Dribbble / Behance showcase level

Collaborating with the User

  • Show work-in-progress early: a v0 with assumptions + placeholders is more valuable than a polished v1 — the user can course-correct sooner
  • Explain decisions using design language ("I tightened the spacing to create a tool-like feel"), not technical language
  • When user feedback is ambiguous, proactively ask for clarification — don't guess
  • Offer plenty of variants and creative options so the user sees the boundaries of what's possible
  • When summarizing, only mention important caveats and next steps — don't recap what you did; the code speaks for itself

Further Reference

  • references/advanced-patterns.md — Full code template library (slide engine, device frames, Tweaks panel, animation timeline, design canvas, dark mode, visualization, oklch color system, font recommendations)

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.55%
按下载量换算295

Claude

31.5%
按下载量换算261

Cursor

20.45%
按下载量换算170

Gemini CLI

8.82%
按下载量换算73

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/conardli/web-design-skill --skill web-design-engineer 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills