design-engineering
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesedesign-engineering
design-engineering
This skill is a graph, not a file. The body below is the Map of Content. Follow theonly as needed — that's the whole point of progressive disclosure.[[wikilinks]]
此 skill 是一张图谱,而不是单个文件。下方正文是 内容地图(Map of Content)。仅按需跟进——渐进式披露(progressive disclosure)的意义正在于此。[[wikilinks]]
How to use this skill
如何使用此 skill
- is a router before it is a library:
/design-engineeringresolves the design contract, classifies the phase (undecided → build → refine → check → name), and hands the job to one owner — a node here, a subagent, or an installed companion skill (AgentsORG[[skill-router]], impeccable, HyperFrames, ElevenLabs, transitions-dev, the shadcn CLI). One or two owners, never five.design - Route first: maps intent → entry node for most single questions. If two intents blur,
[[routing-table]]names the tiebreaker. Multi-cluster jobs follow[[disambiguation]].[[stacking-chains]] - Otherwise scan the MOCs below, pick the cluster, and open its for the atomic nodes under it.
MOC-*.md - Read only the atomic nodes that match. Each node is standalone — you don't need siblings.
- Before reviewing UI code, also load and
[[gotchas]].[[pov]]
If the user asks for a UI code review, use the format defined in and scan against .
[[review-format]][[review-checklist]]- 在充当 library 之前,首先是一个 router:
/design-engineering解析设计契约,判定阶段(未决定 → 构建 → 优化 → 检查 → 命名),并将工作移交给一个 owner——此处的一个节点、一个 subagent,或一个已安装的 companion skill(AgentsORG[[skill-router]]、impeccable、HyperFrames、ElevenLabs、transitions-dev、shadcn CLI)。只设一个或两个 owner,绝不设五个。design - 先进行路由:为大多数单一问题将 intent 映射到 entry node。当两个 intent 难以区分时,
[[routing-table]]会指定判定依据。涉及多个 cluster 的任务按[[disambiguation]]执行。[[stacking-chains]] - 否则,浏览下方 MOC,选择相应 cluster,再打开其下的 以访问 atomic nodes。
MOC-*.md - 只读取匹配的 atomic nodes。每个节点均可独立使用,无需读取同级节点。
- 审查 UI 代码前,还应加载 和
[[gotchas]]。[[pov]]
如果用户要求进行 UI code review,请使用 定义的格式,并依据 逐项扫描。
[[review-format]][[review-checklist]]Philosophy — when, where, and why polish matters
理念——何时、何地以及为何打磨重要
How to think about taste, delight, and the difference between marketing and product UI.
- → [[taste-is-trained]], [[unseen-details-compound]], [[beauty-is-leverage]], [[delight-impact-curve]], [[feeling-right]], [[marketing-vs-product-ui]], [[states-are-the-work]], [[data-is-content]], [[dependency-discipline]], [[pointing-beats-describing]], [[articulate-precisely]]
[[MOC-philosophy]]
如何思考品味、delight,以及营销 UI 与产品 UI 的差异。
- → [[taste-is-trained]], [[unseen-details-compound]], [[beauty-is-leverage]], [[delight-impact-curve]], [[feeling-right]], [[marketing-vs-product-ui]], [[states-are-the-work]], [[data-is-content]], [[dependency-discipline]], [[pointing-beats-describing]], [[articulate-precisely]]
[[MOC-philosophy]]
Motion — when something should move, and how
Motion——何时应该让内容移动,以及如何实现
The largest cluster. Animation is the most overused tool in modern UI; this cluster tells you when not to animate as much as when to.
- → [[animation-decision-framework]], [[easing-curves]], [[duration-table]], [[spring-animations]], [[transform-opacity-only]], [[performance-discipline]], [[transform-mastery]], [[clip-path-tricks]], [[never-scale-from-zero]], [[gesture-momentum]], [[stagger-choreography]], [[prefers-reduced-motion]], [[fly-not-teleport]], [[responsive-feedback]], [[sonner-principles]], [[debugging-animations]], [[lerp-breathing]], [[morphing-icons]], [[shared-letter-morph]], [[hover-default-imperative]], [[tray-rules]], [[css-conventions]]
[[MOC-motion]]
最大的 cluster。Animation 是现代 UI 中最常被滥用的工具;本部分不仅说明何时应该动画化,也同样说明何时不应动画化。
- → [[animation-decision-framework]], [[easing-curves]], [[duration-table]], [[spring-animations]], [[transform-opacity-only]], [[performance-discipline]], [[transform-mastery]], [[clip-path-tricks]], [[never-scale-from-zero]], [[gesture-momentum]], [[stagger-choreography]], [[prefers-reduced-motion]], [[fly-not-teleport]], [[responsive-feedback]], [[sonner-principles]], [[debugging-animations]], [[lerp-breathing]], [[morphing-icons]], [[shared-letter-morph]], [[hover-default-imperative]], [[tray-rules]], [[css-conventions]]
[[MOC-motion]]
Transition techniques — Jakub Antalik's catalog
Transition 技术——Jakub Antalik 的目录
A subset of motion focused on canonical transitions for common UI archetypes. Where the Motion MOC teaches principles, these nodes teach implementation. From transitions.dev.
- [[cross-blur-transitions]] — Pair opacity 0↔1 with to mask imperfect crossfades.
filter: blur(2px) ↔ 0 - [[compose-subtract-asymmetry]] — Enter with more properties than exit. Disappearance feels soft, not reversed.
- [[distance-falloff-propagation]] — Per-element lift via for grouped hover.
lift * pow(falloff, distance) - [[multi-segment-shake]] — Form-error shake at 0%, 28.57%, 57.14%, 78.57%, 100% over 280ms.
专注于常见 UI 原型之 canonical transitions。Motion MOC 讲解原则,而这些节点讲解实现方式。来自 transitions.dev。
- [[cross-blur-transitions]] — 将 opacity 0↔1 与 配对,以掩盖不完美的 crossfade。
filter: blur(2px) ↔ 0 - [[compose-subtract-asymmetry]] — 进入时使用比退出时更多的 properties。消失感应柔和,而不是反向播放退出效果。
- [[distance-falloff-propagation]] — 通过 实现 grouped hover 中各元素的 lift 效果。
lift * pow(falloff, distance) - [[multi-segment-shake]] — 表单错误 shake:在 0%、28.57%、57.14%、78.57%、100% 处完成,时长为 280ms。
Sound — when an interface should be heard, and how
Sound——界面何时应该发出声音,以及如何实现
The sense the web forgot. Product UI is silent by default; a launch video is the reverse. This cluster decides which, designs one material family, syncs it to motion, and generates the files — ElevenLabs on demand, or open-weight / procedural / CC0 without a key.
- → [[sound-decision-framework]], [[sound-motion-sync]], [[sound-palette]], [[sound-spec]], [[sound-playback-web]], [[sound-generation-elevenlabs]], [[sound-generation-open-source]], [[launch-video-sound]], [[launch-video-music]], [[sound-from-motion]]
[[MOC-sound]]
Web 遗忘的感官。Product UI 默认无声;launch video 则恰恰相反。本 cluster 决定哪些界面需要声音,设计统一的 material family,将其与 motion 同步,并生成文件——可按需使用 ElevenLabs,或在无需 key 的情况下使用 open-weight / procedural / CC0。
- → [[sound-decision-framework]], [[sound-motion-sync]], [[sound-palette]], [[sound-spec]], [[sound-playback-web]], [[sound-generation-elevenlabs]], [[sound-generation-open-source]], [[launch-video-sound]], [[launch-video-music]], [[sound-from-motion]]
[[MOC-sound]]
Launch video — planning, cutting, scoring and reviewing a launch film
Launch video——规划、剪辑、评分和审查发布影片
A rendered film is its own surface: name the register, time the beats, set the words and the UI demo, make the seams and cuts, place the sound, review against the register. HyperFrames builds; this cluster decides the register, beats, words and sound, and [[hyperframes-reconciliation]] settles seams inside a HyperFrames project.
- → [[launch-video-registers]], [[launch-video-structure]], [[launch-video-type]], [[launch-video-ui-demo]], [[launch-video-motion]], [[launch-video-seams]], [[launch-video-cuts]], [[launch-video-review]], [[hyperframes-reconciliation]]
[[MOC-launch-video]]
成片本身就是一个独立的 surface:确定风格基调(register),安排 beats 的时序,编排文案和 UI demo,处理 seams 与 cuts,布置声音,并依据 register 进行审查。HyperFrames 负责构建;本 cluster 决定 register、beats、文案和声音,而 负责解决 HyperFrames 项目内部的 seams。
[[hyperframes-reconciliation]]- → [[launch-video-registers]], [[launch-video-structure]], [[launch-video-type]], [[launch-video-ui-demo]], [[launch-video-motion]], [[launch-video-seams]], [[launch-video-cuts]], [[launch-video-review]], [[hyperframes-reconciliation]]
[[MOC-launch-video]]
SVG — creating, animating, morphing, and vectorizing
SVG——创建、动画化、变形和矢量化
The only image format that is also an interface. Author it on the token system, move it with the engine its home allows, morph it by the command-count rule, and turn flat clips into editable mascots.
- → [[svg-creation]], [[svg-animation]], [[svg-path-morphing]], [[video-to-vector-pipeline]]
[[MOC-svg]]
唯一一种同时也是界面的图像格式。基于 token system 创作,使用其所在环境允许的 engine 驱动,按照 command-count 规则进行 morph,并将平面片段转换为可编辑的 mascots。
- → [[svg-creation]], [[svg-animation]], [[svg-path-morphing]], [[video-to-vector-pipeline]]
[[MOC-svg]]
Typography — humanizing text
Typography——让文字更具人性
The font defaults of the AI era are tells. Better choices and the rules around them.
- → [[typography-humanity]], [[line-length-tracking]], [[type-scale-and-rhythm]], [[line-behavior]]
[[MOC-typography]]
AI 时代的默认字体本身就是明显的 tells。更好的选择及其相关规则如下。
- → [[typography-humanity]], [[line-length-tracking]], [[type-scale-and-rhythm]], [[line-behavior]]
[[MOC-typography]]
Surface — color, shadow, radius, dark mode, imperfection
Surface——颜色、阴影、圆角、暗色模式与不完美感
The "background" choices that most decks of guidelines skip. They're load-bearing for feel.
- → [[color-monochromatic]], [[color-scales-oklch]], [[dark-mode]], [[shadows-whisper]], [[depth-and-nesting]], [[border-radius]], [[visual-imperfection]], [[contrast-and-color-scheme]]
[[MOC-surface]]
大多数 guidelines 文档会略过的“背景”选择。它们对观感起着承重作用。
- → [[color-monochromatic]], [[color-scales-oklch]], [[dark-mode]], [[shadows-whisper]], [[depth-and-nesting]], [[border-radius]], [[visual-imperfection]], [[contrast-and-color-scheme]]
[[MOC-surface]]
Layout — page-level grids, viewports, sticky chrome, URL-as-state, marketing surfaces
Layout——页面级网格、viewport、sticky chrome、URL-as-state 与营销界面
The container, not the component. Marketing especially benefits from custom-per-viewport thinking; product apps benefit from URL-driven state.
- → [[viewport-custom-design]], [[sticky-and-scroll-tells]], [[url-as-state]], [[marketing-surface-rules]]
[[MOC-layout]]
容器,而非组件。营销页面尤其需要针对每个 viewport 定制思考;产品应用则受益于 URL 驱动的状态。
- → [[viewport-custom-design]], [[sticky-and-scroll-tells]], [[url-as-state]], [[marketing-surface-rules]]
[[MOC-layout]]
Components — buttons, hovers, states, cards, forms, avatars, icons, a11y, copy, APIs
Components——按钮、hover、状态、卡片、表单、avatars、icons、a11y、文案与 API
The atoms users actually touch. Their behavior is where craft lives.
- → [[hover-states-subtle]], [[empty-loading-states]], [[icon-systems]], [[cards-design]], [[forms-validation]], [[forms-behavior]], [[touch-and-focus]], [[ui-polish-pass]], [[component-api-design]], [[avatar-systems]], [[interaction-personality]], [[accessibility-baseline]], [[optimistic-updates]], [[copy-voice]]
[[MOC-components]]
用户真正会触碰的原子。工艺感体现在它们的行为中。
- → [[hover-states-subtle]], [[empty-loading-states]], [[icon-systems]], [[cards-design]], [[forms-validation]], [[forms-behavior]], [[touch-and-focus]], [[ui-polish-pass]], [[component-api-design]], [[avatar-systems]], [[interaction-personality]], [[accessibility-baseline]], [[optimistic-updates]], [[copy-voice]]
[[MOC-components]]
Anti-patterns — what AI-generated UI gives away
Anti-patterns——暴露 AI 生成 UI 特征的模式
What looks "AI default" and what to do instead. High-value because it's about deletion, not addition.
- → [[ai-default-tells]], [[unslop-pass]], [[content-authenticity]], [[copy-tells]], [[code-tells]]
[[MOC-anti-patterns]]
哪些界面看起来像“AI default”,以及应如何替代。这一部分价值很高,因为重点是删除,而非增加。
- → [[ai-default-tells]], [[unslop-pass]], [[content-authenticity]], [[copy-tells]], [[code-tells]]
[[MOC-anti-patterns]]
Meta — review format, design.md, Agentation, evals, per-installer files
Meta——审查格式、design.md、Agentation、evals 与各安装器文件
Procedural rules and growing files. is mandatory when doing UI code reviews.
[[review-format]]- [[skill-router]] — What does first: resolve the contract, classify the phase, hand off to one owner — a node, a subagent, or an installed companion (AgentsORG
/design-engineering, impeccable, HyperFrames, ElevenLabs, transitions-dev, shadcn CLI).design - [[routing-table]] — Intent → entry-node router with the four postures (build / judge / decide / name). Open this before anything else on a single question.
- [[prototype-picker]] — Undecided? Three to five genuinely different versions behind a live picker, numbers on controls, then write the decision and delete the harness.
- [[build-a-tool]] — "Closer, but not quite" twice? Stop re-prompting; diagnose the gap and build the small tool that produces the artifact.
- [[vibe-to-generator]] — Only a mood, no spec? Research the visual language into rules, then a seeded generator with knobs and a save button.
- [[design-system-docs]] — Writing a DESIGN.md or docs folder an agent can follow: inventory the code, when/alternative, closed variant sets, correct/incorrect examples, verify by prompting.
- [[skill-writing-rules]] — Encode process, write the why, be strict, earn every line, one aspect per skill, test by running. Governs every node here and [[pov]].
- [[design-benchmarks]] — DesignBench's generation / edit / repair tasks and Design Arena's pairwise votes, and this skill's own eval suite that borrows both.
- [[disambiguation]] — The questions that blur together (four motion questions, three dark-mode owners, two layout-shift owners) and which node owns each.
- [[stacking-chains]] — Ordered node chains for multi-step jobs (new screen, feel-better pass, design system, marketing site, a11y pass).
- [[review-format]] — Required output format for UI critiques (Before | After | Why markdown table).
- [[review-checklist]] — Thirteen-row audit to scan against before signing off on a UI review.
- [[design-vocabulary]] — The precise word for each design phenomenon and where the skill goes deeper. The lexicon behind [[articulate-precisely]]; seeded by Index (Emil Kowalski & Glenn Carstens-Peters).
- [[using-design-file]] — How to consume a project's contract (schema
.design). Machine-readable tokens, committed intent, executable policy — and it outranks this skill's defaults.design.v1 - [[using-design-md]] — How to consume a project's DESIGN.md (Google Labs spec). Tokens are normative; prose is context.
- [[agentation-workflow]] — Install and use Agentation for click-to-annotate design review. Two-session critique-then-fix workflow.
- [[cross-model-testing]] — How to test description / routing changes across GPT, Claude Opus, and Claude Sonnet.
- [[gotchas]] — lived failures, appended as the agent trips up.
- [[pov]] — author/installer's opinions and taste calls that override defaults. Edit this when you fork.
- [[animations-dev-curriculum]] — external pointer to Emil's course; don't duplicate.
流程规则和持续扩展的文件。进行 UI code review 时必须使用 。
[[review-format]]- [[skill-router]] — 首先执行的工作:解析契约、判定阶段,并将工作移交给一个 owner——一个节点、一个 subagent,或一个已安装的 companion(AgentsORG
/design-engineering、impeccable、HyperFrames、ElevenLabs、transitions-dev、shadcn CLI)。design - [[routing-table]] — 将 intent 映射到 entry node 的路由器,包含四种 posture(build / judge / decide / name)。处理单一问题前,先打开此节点。
- [[prototype-picker]] — 尚未决定?通过实时 picker 呈现三到五个真正不同的版本,在控件上标注数字,然后写下决定并删除 harness。
- [[build-a-tool]] — 连续两次出现“更接近了,但还差一点”?停止反复 re-prompting;诊断差距,并构建一个能产出目标 artifact 的小工具。
- [[vibe-to-generator]] — 只有一种感觉,没有 spec?将视觉语言研究并转化为规则,再创建一个带 knobs 和保存按钮的 seeded generator。
- [[design-system-docs]] — 编写 Agent 可遵循的 DESIGN.md 或 docs 目录:盘点代码,注明使用时机/替代方案、封闭的 variant sets、正确/错误示例,并通过 prompting 验证。
- [[skill-writing-rules]] — 编码流程、写明原因、保持严格、让每一行都物有所值、每个 skill 只处理一个方面,并通过实际运行来测试。管辖此处每个节点和 [[pov]]。
- [[design-benchmarks]] — DesignBench 的生成/编辑/修复任务、Design Arena 的成对投票,以及借鉴两者的本 skill 自身 eval suite。
- [[disambiguation]] — 容易混淆的问题(四个 motion 问题、三个 dark-mode owner、两个 layout-shift owner),以及各问题由哪个节点负责。
- [[stacking-chains]] — 多步骤任务的有序节点链(新 screen、观感优化 pass、design system、marketing site、a11y pass)。
- [[review-format]] — UI critique 的必需输出格式(Before | After | Why Markdown 表格)。
- [[review-checklist]] — 在签核 UI review 前需要对照扫描的 13 行审计清单。
- [[design-vocabulary]] — 每种设计现象的精确称谓,以及深入了解该现象应前往的 skill。该词表是 [[articulate-precisely]] 的基础;由 Index(Emil Kowalski 与 Glenn Carstens-Peters)提供初始内容。
- [[using-design-file]] — 如何读取项目的 契约(schema
.design)。其中包含机器可读 tokens、已确认的意图和可执行 policy——其优先级高于本 skill 的默认值。design.v1 - [[using-design-md]] — 如何读取项目的 DESIGN.md(Google Labs 规范)。Tokens 是规范性依据;prose 是上下文。
- [[agentation-workflow]] — 安装并使用 Agentation 进行点击标注式设计评审。采用两个 session 的“先评审、后修复”workflow。
- [[cross-model-testing]] — 如何在 GPT、Claude Opus 和 Claude Sonnet 上测试 description/routing 变更。
- [[gotchas]] — 实际遇到过、且在 Agent 踩坑时追加的失败记录。
- [[pov]] — 作者/安装者的观点和审美判断,可覆盖默认值。fork 此 skill 时编辑此文件。
- [[animations-dev-curriculum]] — 指向 Emil 课程的外部指针;不要重复其内容。
Workflow subagents — sibling agents/
directory
agents/Workflow subagents——同级 agents/
目录
agents/Ten narrow-purpose subagents live in next to this file. Spawn one when its specific workflow matches the user's ask. Each subagent loads its own slice of the graph and returns to the main agent with a structured result.
agents/- [[ui-reviewer]] — Runs the table +
[[review-format]]audit on a UI snippet.[[review-checklist]] - [[motion-auditor]] — Animation/transition critique against the motion cluster + transitions.dev nodes.
- [[anti-pattern-scanner]] — Scans for AI-default tells and content-authenticity misses.
- [[agentation-fix-loop]] — Session-2 fix side of . Reads MCP annotations and applies fixes.
[[agentation-workflow]] - [[design-md-consumer]] — Reads a project's DESIGN.md and threads its tokens through generated UI per .
[[using-design-md]] - [[pov-curator]] — Helps the installer fork and append to
[[pov]]after a real failure.[[gotchas]] - [[sound-designer]] — Runs the sound cluster end to end: decide, palette, generate (for a product family,
scripts/sound-family.mjsfor a video stem derived from the motion), spec, wire up. Returns a sound map.scripts/sound-sheet.mjs - [[svg-creator]] — Authors or refactors an SVG asset: grid, named groups, token colors, SVGO with the right flags, accessible name.
- [[svg-animator]] — Animates an SVG or builds a vector flipbook from frames (), engine chosen by where the file lives.
scripts/svg-flipbook.mjs - [[launch-film-analyst]] — Measures a reference launch film or your own render at native fps and returns the [[launch-video-review]] rubric plus a per-film JSON.
See for the full directory and selection guide.
agents/README.md本文件旁的 目录中有 10 个专用于特定用途的 subagent。当其特定 workflow 与用户请求匹配时,spawn 一个。每个 subagent 加载图谱中属于自己的部分,并以结构化结果返回主 Agent。
agents/- [[ui-reviewer]] — 对 UI 片段运行 表格与
[[review-format]]审查。[[review-checklist]] - [[motion-auditor]] — 根据 motion cluster 与 transitions.dev 节点,对 animation/transition 进行审查。
- [[anti-pattern-scanner]] — 扫描 AI-default tells 和 content-authenticity 疏漏。
- [[agentation-fix-loop]] — 中第二个 session 的修复环节。读取 MCP annotations 并应用修复。
[[agentation-workflow]] - [[design-md-consumer]] — 读取项目的 DESIGN.md,并将其中的 tokens 贯穿到生成的 UI 中。
- [[pov-curator]] — 帮助安装者在实际失败后 fork [[pov]] 并向 [[gotchas]] 追加内容。
- [[sound-designer]] — 端到端运行 sound cluster:决策、palette、生成(用 制作产品声音家族,用
scripts/sound-family.mjs制作由 motion 衍生的视频 stem)、规格、接线。返回 sound map。scripts/sound-sheet.mjs - [[svg-creator]] — 创作或重构 SVG asset:grid、命名 groups、token colors、使用正确 flags 的 SVGO、accessible name。
- [[svg-animator]] — 为 SVG 添加动画,或根据 frames 构建 vector flipbook;engine 根据文件所在位置选择。
- [[launch-film-analyst]] — 以原生 fps 测量参考 launch film 或自己的渲染结果,并返回 rubric 以及每部影片的 JSON。
[[launch-video-review]]
有关完整目录和选择指南,请参阅 。
agents/README.mdIdentity — SOUL.md
身份——SOUL.md
The repo also ships a at root — voice, stance, and taste lineage for any agent operating in this skill. AGENTS.md is the "what/how"; SOUL.md is the "who/why". Read it once per session if your harness doesn't auto-inject it.
SOUL.md仓库根目录还提供 ,用于定义任何在此 skill 中运行的 Agent 的 voice、stance 和审美传承。AGENTS.md 规定“做什么/怎么做”;SOUL.md 规定“是谁/为什么”。如果 harness 不会自动注入,每个 session 读取一次。
SOUL.mdTax check
Token 成本检查
Every sentence above costs tokens in every session. If you find yourself adding a sentence, ask: would the agent get this wrong without it? If no, delete it. If yes, it belongs in an atomic node, not here.
— HKTITAN, 2026.
上述每句话都会在每个 session 中消耗 tokens。如果发现自己想增加一句话,先问:没有它,Agent 会不会做错?如果不会,就删掉;如果会,它应放入某个 atomic node,而不是这里。
— HKTITAN, 2026.