Picasso
The ultimate design skill for producing distinctive, production-grade frontend interfaces, visual artifacts, and design systems. This skill consolidates best practices from Anthropic's frontend-design, canvas-design, algorithmic-art, and theme-factory skills, Impeccable's 7-domain reference system, VoltAgent's DESIGN.md format, Vercel's React and typography standards, and specialized libraries for sound, haptics, icons, and text animation.
Every output should look like it was built by a senior design engineer who spent days refining it, not generated by an AI in seconds.
Configurable Settings
These three dials (1-10) control the overall character of the output. Adjust based on what is being built. The user can set these explicitly or they can be inferred from context.
- - DESIGNVARIANCE (default: 6) — How experimental the layout is. 1-3: clean, centered, conventional. 4-6: considered asymmetry, intentional breaks. 7-10: avant-garde, overlapping elements, unconventional grids.
- MOTIONINTENSITY (default: 5) — How much animation is present. 1-3: hover states and fades only. 4-6: staggered reveals, scroll-triggered, text morphing. 7-10: magnetic cursors, parallax, complex choreography.
- VISUAL_DENSITY (default: 5) — How much content fits on one screen. 1-3: spacious, luxury, breathing room. 4-6: balanced, structured whitespace. 7-10: dense dashboards, data-heavy, compact.
When the user says "make it premium" or "luxury feel," drop VISUALDENSITY to 2-3 and MOTIONINTENSITY to 4-5. When they say "dashboard" or "admin panel," raise VISUALDENSITY to 7-8. When they say "make it pop" or "wow factor," raise DESIGNVARIANCE and MOTION_INTENSITY to 7-8.
Quick Start (30 seconds)
New to Picasso? Here's the minimum viable workflow:
- 1. Pick a font that isn't Inter, Roboto, or Arial. Try: Satoshi, Cabinet Grotesk, Outfit, General Sans, Clash Display.
- Pick a color in OKLCH. Not Tailwind's default indigo. Try:
oklch(0.65 0.25 25) (warm red), oklch(0.55 0.20 160) (teal), oklch(0.60 0.22 300) (violet). - Tint your grays toward your accent hue. Never use pure
#808080 or #000. - Break the center. Left-align content. Use asymmetric grids (2:1, 3:2). Only center heroes and CTAs.
- Read
references/anti-patterns.md before writing any code. It's the most important file.
Then follow the full workflow below. Skip nothing.
Step 0: Read the Right References
Before writing any code, read the reference files relevant to the task. Each covers a domain in depth with rules, examples, and anti-patterns. Load only what you need.
| Reference File | When to Read |
|---|
| INLINECODE6 | Any task involving text, fonts, headings, or type hierarchy |
| INLINECODE7 |
Color palettes, dark mode, accessibility, tinted neutrals |
|
references/spatial-design.md | Layout, spacing, grids, visual hierarchy, whitespace |
|
references/depth-and-elevation.md | Dual shadows, layering technique, shadow scale, z-index, hover patterns |
|
references/motion-and-animation.md | Transitions, scroll effects, text morphing, micro-interactions |
|
references/interaction-design.md | Forms, focus states, loading, empty states, error handling |
|
references/responsive-design.md | Mobile-first, fluid, container queries, touch targets |
|
references/sensory-design.md | UI sound effects, haptic feedback, multi-sensory interfaces |
|
references/react-patterns.md | React/Next.js component architecture, hooks, performance |
|
references/anti-patterns.md | Explicit list of what NOT to do (the most important reference) |
|
references/design-system.md | Generating DESIGN.md files, theming, systematic tokens |
|
references/generative-art.md | Algorithmic art, p5.js, seeded randomness, flow fields |
|
references/component-patterns.md | Standard component naming, taxonomy, and state patterns |
|
references/navigation-patterns.md | Breadcrumbs, sidebar, tabs, bottom bar, mega menus, skip links |
|
references/tables-and-forms.md | Sortable tables, inline editing, multi-step forms, validation |
|
references/loading-and-states.md | Skeletons, spinners, empty states, error boundaries, offline |
|
references/dark-mode.md | Preference hierarchy, surface elevation, transitions, testing |
|
references/images-and-media.md | Format selection, responsive images, favicons, OG images |
|
references/micro-interactions.md | Scroll animations, page transitions, gestures, magnetic effects |
|
references/i18n-visual-patterns.md | RTL, logical properties, text expansion, CJK, number formatting |
|
references/brand-and-identity.md | Logo sizing, brand color usage, consistency, lockup variants |
|
references/animation-performance.md | Compositor-only props, will-change, layout thrashing, contain |
|
references/code-typography.md | Monospace fonts, syntax highlighting, code blocks, diff views |
|
references/accessibility-wcag.md | WCAG 2.2, ARIA patterns, keyboard nav, screen reader testing |
|
references/conversion-design.md | Landing pages, CTAs, pricing tables, friction reduction |
|
references/data-visualization.md | Chart selection matrix, dashboard patterns, accessible charts |
|
references/modern-css-performance.md | CSS nesting, :has(), View Transitions, Tailwind v4, container queries |
|
references/performance-optimization.md | Core Web Vitals, Lighthouse, image optimization, 45 Vercel rules |
|
references/style-presets.md | 22 curated design presets with exact OKLCH values and font pairings |
|
references/tools-catalog.md | Tool recommendations: torph, soundcn, Lucide, Facehash, better-icons |
|
references/ux-psychology.md | Gestalt principles, Fitts's Law, Hick's Law, cognitive load, heuristics |
|
references/ux-writing.md | Error messages, microcopy, terminology, voice and tone, CTAs |
Step 0.5: Anti-Slop Gate (MANDATORY — before ANY code)
This step is non-negotiable. It takes 30 seconds and prevents hours of rework.
- 1. Read
references/anti-patterns.md — specifically the AI Slop Fingerprint section and Professional Alternatives table. Actually read it, don't skip. - Write out your commitments — before touching code, declare:
- Font: [exact name, not a banned default]
- Layout strategy: [specific — not "centered everything"]
- Accent color: [exact value in OKLCH — not Tailwind default indigo]
- What makes this unforgettable: [one specific, memorable design choice]
- What you're explicitly rejecting: [the obvious/generic approach for this type of product]
- 3. Run the 3-Second Test — picture the finished design. Would a designer say "AI-generated" in 3 seconds? If yes, change your commitments.
- Check for slop combinations — if 3+ of these are true, STOP and redesign:
- Centered vertical layout
- Default Tailwind accent color
- Uniform card grid
- Generic sans-serif font
- Same spacing everywhere
- Three equal-width items in a row
HALT CONDITION: If you cannot fill out the commitments above with specific, non-default values, you MUST NOT proceed to Step 1. Go back to the references. Read anti-patterns.md. Try again. There is no "just do it" bypass for this step. The gate exists because without it, every output converges to the same generic AI aesthetic. This is not optional. No code until commitments are written.
Step 1: Design Thinking
Before writing a single line of code, answer these questions internally:
Purpose. What problem does this interface solve? Who uses it? What is the single most important action?
Tone. Commit to a specific aesthetic direction. Not "clean and modern" (that is meaningless). Pick something with teeth: brutalist, editorial, retro-terminal, luxury serif, toy-like, industrial, organic, Swiss grid, art deco, vaporwave, newspaper broadsheet, scientific journal, or something entirely original. The direction should be informed by the content, not applied generically.
Differentiation. What makes this unforgettable? What is the one thing someone will remember after closing the tab? If there is no answer, the design is not ready.
Constraints. Framework requirements, accessibility targets, performance budgets, existing design tokens.
Step 2: Aesthetic Execution
Typography
Choose fonts that are distinctive, not default. Never use Inter, Roboto, Arial, or system fonts as primary choices. Pair a display font with a body font. Use a modular type scale (1.25 or 1.333 ratio). Set line heights between 1.4 and 1.6 for body text. Use OpenType features (ligatures, tabular numbers, small caps) when the font supports them. See references/typography.md for the full system.
Color
Build palettes with intention. Use OKLCH for perceptually uniform color manipulation. Always tint neutrals (never use pure gray or pure black). Dominant color with sharp accent outperforms evenly distributed palettes. Test contrast ratios: 4.5:1 minimum for body text, 3:1 for large text and UI elements. See references/color-and-contrast.md.
Spatial Composition
Use a spacing scale (4px base: 4, 8, 12, 16, 24, 32, 48, 64, 96). Asymmetric layouts, overlapping elements, diagonal flow, and grid-breaking moments create visual interest. Generous negative space communicates confidence. Dense layouts need careful rhythm. See references/spatial-design.md.
Backgrounds and Visual Depth
Never default to flat solid colors. Create atmosphere with gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, grain overlays, or subtle backdrop filters. Depth comes from elevation systems: consistent shadow scales, surface hierarchy, and z-index discipline.
Motion
One well-orchestrated page load with staggered reveals (using animation-delay) creates more impact than scattered micro-interactions. Use CSS transitions for simple state changes. Use framer-motion or the Motion library for React when choreography matters. Never use bounce or elastic easing (it looks dated). Respect prefers-reduced-motion. See references/motion-and-animation.md.
Text Animation
For text morphing effects (counters, status changes, tab labels), use torph (dependency-free, works with React/Vue/Svelte). Import as import { TextMorph } from 'torph/react' and wrap any text that changes dynamically.
Sound
For UI sound feedback (clicks, notifications, transitions), use the soundcn pattern: inline base64 audio data URIs with a useSound hook via Web Audio API. Zero dependencies. See references/sensory-design.md.
Haptics
For mobile web, use the WebHaptics pattern via the Vibration API (navigator.vibrate()) to provide tactile feedback on button presses, toggles, and destructive actions. Always gate behind feature detection and user preference. See references/sensory-design.md.
Icons
Use Lucide React as the default icon library (lucide-react). For broader searches across 200K+ icons from 150+ collections, use the better-icons CLI pattern: search by keyword, retrieve SVG, sync to project. Prefer outline style for UI, solid for emphasis.
Avatars and Identity
For deterministic avatar generation from strings (usernames, emails, UUIDs), use the Facehash pattern: a React component that generates unique face avatars. Same input always produces the same face. Zero external assets.
Step 3: Implementation Standards
Single-File Artifacts
When building for claude.ai artifacts (HTML or React), everything goes in one file. No external CSS files, no separate JS. Inline everything. For HTML artifacts, import external scripts only from https://cdnjs.cloudflare.com. For React artifacts, use only available libraries (lucide-react, recharts, d3, Three.js r128, Tone, shadcn/ui, Tailwind core utilities, lodash, mathjs, papaparse, Chart.js).
React Best Practices
Follow these rules (see references/react-patterns.md for details):
- - Server Components by default,
'use client' only when needed - Colocate state with the component that uses it
- Prefer composition over prop drilling
- Use
Suspense boundaries with meaningful fallbacks - Never store derived state, compute it during render
- Use semantic HTML elements, not
div soup - Memoize expensive computations, not everything
- Default export for page/route components, named exports for utilities
CSS Variables for Theming
Always define a CSS variable system for colors, spacing, typography, and shadows. This makes themes swappable and dark mode trivial.
CODEBLOCK0
Accessibility Defaults
Every interface must include: visible focus indicators (never outline: none without replacement), sufficient color contrast, keyboard navigability, ARIA labels on interactive elements without visible text, and alt text on meaningful images. Do not treat accessibility as optional.
Step 4: Audit and Polish
Before delivering any interface, run this mental checklist:
- 1. Typography audit. Is there a clear type hierarchy? Are fonts loaded and rendering? Is body text readable at default zoom?
- Color audit. Does the palette feel cohesive? Do accents draw the eye to the right places? Does it work in both light and dark contexts?
- Spatial audit. Is spacing consistent? Are elements aligned to an invisible grid? Is there breathing room?
- Interaction audit. Do all interactive elements have hover, focus, and active states? Are transitions smooth? Is there loading feedback?
- Responsive audit. Does it work on 375px wide screens? Does it scale gracefully to ultrawide?
- Motion audit. Does the page load feel choreographed? Are transitions purposeful? Does
prefers-reduced-motion disable non-essential animation? - Accessibility audit. Can you tab through the entire interface? Are contrast ratios sufficient? Do screen readers make sense of the structure?
Step 5: Design System Generation
When asked to create a design system or DESIGN.md, follow the VoltAgent/Stitch format. See references/design-system.md for the complete template covering: visual theme and atmosphere, color palette with semantic roles, typography hierarchy, component styling (buttons, cards, inputs, navigation with states), layout principles, depth and elevation system, explicit dos and don'ts, responsive behavior, and an agent prompt guide.
Step 6: Generative and Canvas Art
When the task involves algorithmic art, generative visuals, or static poster/print design, see references/generative-art.md. The process: write an algorithmic philosophy (4-6 paragraphs), then express it through p5.js code with seeded randomness, parameter controls, and seed navigation.
Commands
These optional directives can be used to steer design refinement:
| Command | Effect |
|---|
| INLINECODE63 | Technical quality check: accessibility, performance, responsive |
| INLINECODE64 |
UX design review: hierarchy, clarity, emotional resonance |
|
/polish | Final pass: refine spacing, transitions, copy |
|
/simplify | Strip to essence, remove visual noise |
|
/animate | Add purposeful motion and transitions |
|
/bolder | Amplify timid designs with stronger visual choices |
|
/quieter | Tone down overly aggressive designs |
|
/normalize | Align with design system standards |
|
/theme | Generate or apply a color/font theme |
|
/sound | Add UI sound effects to interactions |
|
/haptics | Add haptic feedback for mobile web |
|
/redesign | Audit an existing project, identify design problems, fix them systematically |
|
/soft | Apply premium soft aesthetic: generous whitespace, depth, smooth spring animations |
|
/minimalist | Apply editorial minimalism: monochrome, crisp borders, inspired by Linear/Notion |
|
/brutalist | Apply raw mechanical aesthetic: Swiss typography meets CRT terminal |
|
/stitch | Generate a Google Stitch-compatible DESIGN.md for the current project |
What Makes Design Feel Designed
The anti-slop gate catches what NOT to do. This section describes what good design feels like -- the positive traits to aim for.
- - Intentional asymmetry. Not everything centered. A sidebar heavier than the main content. A grid where one card spans two rows. Deliberate imbalance creates visual interest.
- Typographic personality. The font choice says something about the product. A fintech app using Clash Display feels different from one using Instrument Serif. The choice is the message.
- Color restraint with one brave moment. A monochromatic palette with a single saturated accent on the primary CTA. The accent earns attention because everything else is quiet.
- Depth as information architecture. Shadows and elevation are not decoration. They tell the user what is interactive, what is background, and what demands attention right now.
- Motion that teaches. A staggered reveal shows the user where to look first, second, third. A hover lift says "this is clickable." Animation is communication.
- Whitespace as confidence. Generous spacing says the product is not desperate for attention. It trusts the content to speak for itself.
If you can describe these qualities in the output you are building, the design is probably good. If you cannot, revisit Step 1.
Gotchas (Real Failure Points)
These are not best practices. These are things that actually break in production and that AI agents get wrong repeatedly. Each one has burned real time.
- 1. Font loading race condition. Google Fonts
@import in CSS blocks rendering. The page flashes in the system font, then shifts when the custom font loads. Fix: use <link rel="preload" as="font"> in the <head>, add font-display: swap, and always declare a fallback stack with similar metrics. If you skip this, your type scale is wrong for the first 500ms.
- 2. Dark mode contrast passes WCAG but is unreadable. OKLCH
0.55 0.02 230 on 0.11 0.02 230 passes the 4.5:1 ratio check but looks washed out on cheap laptop screens. Always test with a screenshot on an actual dark background, not just the contrast calculator. Text below 0.60 lightness in OKLCH needs extra chroma or a bump to 0.65+.
- 3.
transition: all causes invisible layout jank. It transitions width, height, padding -- properties that trigger reflow. The page looks fine at 60fps on your M-series Mac but stutters on a 2019 Chromebook. Always specify exact properties: transition: opacity 0.2s, transform 0.3s.
- 4. Staggered animations fire on every re-render. CSS
animation-delay on child elements replays every time React re-renders the parent. Either use animation-fill-mode: both with a one-shot class that gets removed, or gate the animation behind a data-entered attribute set once on mount.
- 5. Responsive "works at breakpoints" but breaks between them. Testing at 375px and 768px looks fine, but at 520px the layout collapses because you used fixed
grid-template-columns: repeat(2, 1fr) instead of repeat(auto-fill, minmax(280px, 1fr)). Always test at 480px and 600px too -- these are the kill zones.
- 6. Tailwind class strings over 200 characters. Once a class string hits 200+ characters the component is unmaintainable. Extract to a CSS class with
@apply, or better yet, use a cn() utility with conditional objects. This isn't a style preference -- it's a readability threshold.
- 7. Icon SVGs without
aria-hidden="true". Every inline SVG icon announces itself to screen readers as "image" with no label. Decorative icons need aria-hidden="true". Icons that ARE the only content (icon-only buttons) need aria-label on the button instead.
- 8.
forced-colors mode breaks custom design. Windows High Contrast mode (@media (forced-colors: active)) overrides custom focus rings, tinted neutrals, and subtle borders. Test with it. Custom focus indicators need forced-color-adjust: none or a Highlight system color fallback.
- 9. Missing
width/height on images causes CLS. Every <img> without explicit dimensions (or aspect-ratio) causes Cumulative Layout Shift when it loads. Always set dimensions or use aspect-ratio as a fallback. This is the #1 CLS offender in production.
- 10. Autofill styling overrides your inputs. Browsers apply their own background color to autofilled inputs, ignoring your dark mode or custom input styles. Fix with
input:-webkit-autofill { -webkit-box-shadow: 0 0 0 1000px var(--surface-1) inset; }.
- 11.
backdrop-filter: blur() fails with overflow: hidden parent. In some browsers (notably older Safari), backdrop-filter does not render if any ancestor has overflow: hidden. Move the blurred element outside the clipping context or restructure the DOM.
- 12.
position: fixed breaks inside transform parents. A transform on any ancestor creates a new containing block, making position: fixed behave like position: absolute. Move fixed elements to a body-level portal or remove the ancestor transform.
- 13.
content-visibility: auto breaks position: sticky. The content-visibility: auto optimization creates a new layout containment context that prevents position: sticky children from working. Either skip content-visibility on sticky containers or restructure the nesting.
- 14.
scroll-behavior: smooth on html interferes with programmatic scrolling. Setting scroll-behavior: smooth globally makes scrollTo(), scrollIntoView(), and anchor navigation all animate, which breaks instant programmatic jumps. Apply scroll-behavior: smooth per-container instead of on <html>.
- 15. Preset style exceptions are not contradictions. Some presets (e.g., Swiss Modern using Archivo, or a retro terminal preset using monospace) intentionally use fonts that appear on the banned list. Presets are scoped exceptions with a clear aesthetic rationale. Do not flag them as anti-slop violations.
The Non-Negotiables
- 1. No design should ever look like "AI made this." No purple gradients on white. No Inter font. No centered everything. No cards nested in cards. No gray text on colored backgrounds.
- Every design must have a clear aesthetic point of view. If it could belong to any product, it belongs to none.
- Match implementation complexity to vision. Maximalist designs need elaborate code. Minimalist designs need surgical precision. Both require the same level of care.
- Text is always a design element, never an afterthought.
- Every detail matters. The shadow radius, the letter spacing, the hover transition duration, the border color in dark mode. These are not small decisions.
- The Anti-Slop Gate (Step 0.5) must be completed before writing any design code. No exceptions. If you cannot articulate specific, non-default commitments for font, color, layout, and differentiation, you are not ready to design. Go back to the references.
- Transformation means transformation. When asked to redesign or improve a site, the result must be visually unrecognizable from the original. Changing CSS variables and swapping fonts is engineering, not design. A redesign changes the spatial logic, the visual hierarchy, the emotional register, and the layout structure. If someone could confuse the before and after, the redesign failed.
Picasso
用于制作独特、生产级前端界面、视觉制品和设计系统的终极设计技能。该技能整合了Anthropic的前端设计、画布设计、算法艺术和主题工厂技能的最佳实践,Impeccable的7域参考系统,VoltAgent的DESIGN.md格式,Vercel的React和排版标准,以及用于声音、触觉、图标和文本动画的专业库。
每个输出看起来都应该像是由一位资深设计工程师花费数天时间精心打磨而成,而非AI在几秒钟内生成的。
可配置设置
这三个旋钮(1-10)控制输出的整体特性。根据构建内容进行调整。用户可以明确设置这些值,也可以从上下文中推断。
- - DESIGNVARIANCE(默认值:6)——布局的实验性程度。1-3:简洁、居中、传统。4-6:有考量的不对称、有意的打破。7-10:前卫、重叠元素、非传统网格。
- MOTIONINTENSITY(默认值:5)——动画的丰富程度。1-3:仅悬停状态和淡入淡出。4-6:交错揭示、滚动触发、文本变形。7-10:磁性光标、视差、复杂编排。
- VISUAL_DENSITY(默认值:5)——一个屏幕上的内容密度。1-3:宽敞、奢华、呼吸空间。4-6:平衡、结构化的留白。7-10:密集仪表盘、数据密集、紧凑。
当用户说让它更高级或奢华感时,将VISUALDENSITY降至2-3,MOTIONINTENSITY降至4-5。当他们说仪表盘或管理面板时,将VISUALDENSITY提升至7-8。当他们说让它更出彩或惊艳效果时,将DESIGNVARIANCE和MOTION_INTENSITY提升至7-8。
快速入门(30秒)
刚接触Picasso?以下是最小可行工作流程:
- 1. 选择一个字体,不要用Inter、Roboto或Arial。尝试:Satoshi、Cabinet Grotesk、Outfit、General Sans、Clash Display。
- 选择一种颜色,使用OKLCH格式。不要用Tailwind的默认靛蓝色。尝试:oklch(0.65 0.25 25)(暖红色)、oklch(0.55 0.20 160)(蓝绿色)、oklch(0.60 0.22 300)(紫罗兰色)。
- 将灰色调向强调色。永远不要使用纯#808080或#000。
- 打破居中。左对齐内容。使用不对称网格(2:1、3:2)。仅对英雄区和CTA使用居中。
- 在编写任何代码之前阅读references/anti-patterns.md。这是最重要的文件。
然后按照下面的完整工作流程执行。不要跳过任何步骤。
第0步:阅读正确的参考资料
在编写任何代码之前,阅读与任务相关的参考文件。每个文件都深入涵盖一个领域,包含规则、示例和反模式。只加载你需要的文件。
| 参考文件 | 何时阅读 |
|---|
| references/typography.md | 任何涉及文本、字体、标题或排版层次的任务 |
| references/color-and-contrast.md |
调色板、深色模式、可访问性、着色中性色 |
| references/spatial-design.md | 布局、间距、网格、视觉层次、留白 |
| references/depth-and-elevation.md | 双重阴影、分层技术、阴影比例、z-index、悬停模式 |
| references/motion-and-animation.md | 过渡、滚动效果、文本变形、微交互 |
| references/interaction-design.md | 表单、焦点状态、加载、空状态、错误处理 |
| references/responsive-design.md | 移动优先、流式、容器查询、触摸目标 |
| references/sensory-design.md | UI音效、触觉反馈、多感官界面 |
| references/react-patterns.md | React/Next.js组件架构、钩子、性能 |
| references/anti-patterns.md | 明确列出不该做什么(最重要的参考文件) |
| references/design-system.md | 生成DESIGN.md文件、主题化、系统化令牌 |
| references/generative-art.md | 算法艺术、p5.js、种子随机性、流场 |
| references/component-patterns.md | 标准组件命名、分类和状态模式 |
| references/navigation-patterns.md | 面包屑、侧边栏、标签页、底部栏、超级菜单、跳过链接 |
| references/tables-and-forms.md | 可排序表格、内联编辑、多步骤表单、验证 |
| references/loading-and-states.md | 骨架屏、加载动画、空状态、错误边界、离线 |
| references/dark-mode.md | 偏好层级、表面高度、过渡、测试 |
| references/images-and-media.md | 格式选择、响应式图片、favicon、OG图片 |
| references/micro-interactions.md | 滚动动画、页面过渡、手势、磁性效果 |
| references/i18n-visual-patterns.md | 从右到左、逻辑属性、文本扩展、中日韩、数字格式化 |
| references/brand-and-identity.md | Logo尺寸、品牌颜色使用、一致性、组合变体 |
| references/animation-performance.md | 仅合成器属性、will-change、布局抖动、contain |
| references/code-typography.md | 等宽字体、语法高亮、代码块、差异视图 |
| references/accessibility-wcag.md | WCAG 2.2、ARIA模式、键盘导航、屏幕阅读器测试 |
| references/conversion-design.md | 落地页、CTA、定价表、减少摩擦 |
| references/data-visualization.md | 图表选择矩阵、仪表盘模式、可访问图表 |
| references/modern-css-performance.md | CSS嵌套、:has()、视图过渡、Tailwind v4、容器查询 |
| references/performance-optimization.md | 核心网页指标、Lighthouse、图片优化、45条Vercel规则 |
| references/style-presets.md | 22个精心策划的设计预设,包含精确的OKLCH值和字体搭配 |
| references/tools-catalog.md | 工具推荐:torph、soundcn、Lucide、Facehash、better-icons |
| references/ux-psychology.md | 格式塔原理、费茨定律、希克定律、认知负荷、启发式评估 |
| references/ux-writing.md | 错误消息、微文案、术语、语气和语调、CTA |
第0.5步:反AI垃圾关卡(强制——在任何代码之前)
此步骤不可协商。只需30秒,可避免数小时的重做。
- 1. 阅读references/anti-patterns.md——特别是AI垃圾指纹部分和专业替代方案表。实际阅读,不要跳过。
- 写下你的承诺——在接触代码之前,声明:
- 字体:[确切名称,非禁用默认字体]
- 布局策略:[具体——不是全部居中]
- 强调色:[OKLCH中的确切值——不是Tailwind默认靛蓝]
- 什么让这个设计令人难忘:[一个具体、令人难忘的设计选择]
- 你明确拒绝什么:[针对此类产品的显而易见/通用方法]
- 3. 执行3秒测试——想象完成的设计。设计师会在3秒内说AI生成的吗?如果是,修改你的承诺。
- 检查垃圾组合——如果以下3项或更多为真,停止并重新设计:
- 居中垂直布局
- 默认Tailwind强调色
- 统一卡片网格
- 通用无衬线字体
- 各处间距相同
- 一行三个等宽项目
停止条件: 如果你无法用具体的、非默认值填写上述承诺,你不得进入第1步。返回参考资料。阅读anti-patterns.md。再试一次。此步骤没有直接执行的绕过方式。这个关卡的存在是因为没有它,每个输出都会收敛到相同的通用AI美学。这不是可选的。在写下承诺之前,不写任何代码。
第1步:设计思维
在编写一行代码之前,先在内部回答这些问题:
目的。 这个界面解决什么问题?谁使用它?最重要的单一操作是什么?
基调。 确定一个具体的美学方向。不是简洁现代(这毫无意义)。选择一个有特色的方向:粗野主义、编辑风格、复古终端、奢华衬线、玩具风格、工业风、有机风格、瑞士网格、装饰艺术、蒸汽波、报纸版面、科学期刊,或完全原创的东西。方向应由内容决定,而非通用应用。
差异化。 什么让这个设计令人难忘?关闭标签页后人们会