design-screen
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSkill: Design a screen
Skill:设计一个屏幕
Do this first, before anything else
首先执行此步骤,先做其他任何事情
Write the Brief Inference block into your reply now. Not after reading the
rest of this file, not in your head, not "once the layout is clearer" - now,
before any markup, any file, any tool call.
Domain: fintech | editorial | dev-tool | healthcare | consumer | ...
Audience & tone: expert vs first-time, calm vs energetic, premium vs utilitarian
Mood: the one adjective the result must earn - "expensive", "precise", "warm", "brutal"
Motion depth: none | subtle feedback | expressive choreography
Layout family: the section sequence you will use, named, varied per section
Reference anchor: an archetype, or a named system - see step 3Fill in every line with a decision. is not a decision; is. If you cannot name the mood and the layout family, you have not
decided anything yet and whatever you generate will regress to the mean.
Mood: cleanMood: expensiveThe stop condition: if you are about to write markup, create a file, or call
a tool that produces UI, and this block is not already in your reply, stop and
write it first. Measured on 2026-10-07, one run in three skipped it - the skill
loaded, the block did not get written, and the result was a screen designed by
nobody. This section is at the top of the file because it was previously below
twenty-nine lines of background, and background is not an instruction.
Everything below is how to execute the decisions above.
Is the kit here? This skill reads files from the kit. Check once:Onls ${CLAUDE_SKILL_DIR}/../../../tokens >/dev/null 2>&1 && echo KIT_OK || echo KIT_MISSINGonly the skill folders were installed, which is whatKIT_MISSINGdoes. Say so plainly, point the user atnpx skills addor the plugin install, and stop. Do not guess the contents of a file you could not open.npx ux-ui-agent-skills init
立即在回复中写出 Brief Inference 区块。 不要等读完本文件的其余部分,不要在心里思考,也不要等到“布局更清晰之后”——现在就写,在任何标记、文件或工具调用之前。
Domain: fintech | editorial | dev-tool | healthcare | consumer | ...
Audience & tone: expert vs first-time, calm vs energetic, premium vs utilitarian
Mood: the one adjective the result must earn - "expensive", "precise", "warm", "brutal"
Motion depth: none | subtle feedback | expressive choreography
Layout family: the section sequence you will use, named, varied per section
Reference anchor: an archetype, or a named system - see step 3每一行都必须填写一个明确决定。 不是决定; 才是。如果你无法说出 mood 和 layout family,说明你还没有做出任何决定;无论生成什么,结果都会退化为平均值。
Mood: cleanMood:\nexpensive停止条件: 如果准备编写标记、创建文件或调用生成 UI 的工具,而这个区块尚未出现在回复中,就停下来并先写出它。2026-10-07 的测量显示,三次运行中有一次跳过了它——Skill 已加载,区块却没有写出,结果成了一块无人设计的屏幕。本节位于文件顶部,是因为它以前放在二十九行背景内容之下,而背景不是指令。
以下所有内容都用于执行上述决定。
工具包在吗? 此 Skill 会从工具包中读取文件。检查一次:如果显示ls ${CLAUDE_SKILL_DIR}/../../../tokens >/dev/null 2>&1 && echo KIT_OK || echo KIT_MISSING,说明只安装了 Skill 文件夹,而这正是KIT_MISSING所做的。直截了当地说明这一点,将用户引导至npx skills add或插件安装方式,然后停止。不要猜测你无法打开的文件内容。npx ux-ui-agent-skills init
Hand off instead, when the work is actually
改为转交(当实际工作属于以下情况)
| The request | Use |
|---|---|
| A dashboard, terminal, console, or any screen whose job is many numbers at once | |
| An existing site or app to improve | |
| A screenshot, mockup or reference image to match | |
| One component's spec, not a screen | |
| A brand foundation from scratch, before any screen | |
Otherwise, continue.
| 请求 | 使用 |
|---|---|
| 仪表盘、终端、控制台,或任何需要同时呈现大量数字的屏幕 | |
| 需要改进的现有网站或应用 | |
| 需要匹配的截图、模型图或参考图 | |
| 单个组件的规格,而非整个屏幕 | |
| 屏幕设计之前从零建立品牌基础 | |
其他情况,继续执行。
1. Taste preflight
1. 品味预检
The block at the top of this file. If it is not in your reply yet, go back and
write it before reading further - the rest of this skill executes decisions it
assumes you have already made.
Full version and the reasoning: .
${CLAUDE_SKILL_DIR}/../../../taste/design-taste.md本文件顶部的区块。如果它尚未出现在回复中,请返回并先写出它,再继续阅读——此 Skill 的其余部分会执行它所假定你已经做出的决定。
完整版本及推理过程:。
${CLAUDE_SKILL_DIR}/../../../taste/design-taste.mdBanned defaults — break each one deliberately
禁用默认值——逐项刻意打破
These are the tells that make UI read as generated. They are defects, not
starting points.
- Three or four identical equal-weight cards. One thing leads: more size, more weight, or its own row. A grid of equals gives the eye nowhere to land.
- Everything centered. Use asymmetry and a real grid. Center sparingly.
- The same left-text / right-image row repeated. Vary composition per section.
- Display type that is just bold body text. The largest heading is at least 2.5x the body size, short, on a wide measure (18-24ch).
- Generic drop shadow on every box. Most things are flat; elevation is layered and rare.
- Pure on
#000. Off-black on warm-white, from the theme.#fff - A rainbow of accents. One primary, one accent at most; neutrals carry it.
- Emoji anywhere - icons, bullets, status dots, labels. Use lucide inline SVG
with , or plain words. This is a hard gate, not a preference.
currentColor - Em-dashes in UI copy, marketing filler ("elevate", "seamless", "unlock"), hollow triads ("powerful, intuitive, beautiful"), fake labels ("SECTION 01", lorem ipsum). Say the concrete thing or say nothing.
- A colored border on one side only of a card, alert, toast or callout. The tinted 3-4px strip is a generated-UI cliche. Full hairline border or surface separation, and status carried by a real icon plus text, never colour alone.
- Cramped vertical rhythm. Generous macro-whitespace between sections.
以下特征会让 UI 看起来像是生成出来的。它们是缺陷,不是起点。
- 三到四张完全相同、权重相同的卡片。 必须由一个元素主导:赋予更大尺寸、更大字重,或让它独占一行。网格中所有元素同等,会让视线无处落点。
- 所有内容都居中。 使用不对称布局和真正的网格。少用居中。
- 反复使用相同的左文右图行。 每个区块都应采用不同的构图。
- 展示级字体只是加粗的正文。 最大标题至少要是正文的 2.5 倍,标题要简短,并使用较宽的行宽(18-24ch)。
- 每个盒子都加通用投影。 大多数内容应保持平面;elevation 应分层且少量使用。
- 在 上使用纯
#fff。 使用主题中的偏黑与暖白。#000 - 彩虹式强调色。 最多使用一个主色和一个辅助色;其余视觉由中性色承担。
- 任何位置使用 Emoji——图标、项目符号、状态点、标签均不可。使用带 的 lucide 内联 SVG,或纯文字。这是一项硬性门禁,不是偏好。
currentColor - UI 文案中的英文破折号、营销填充词(“elevate”“seamless”“unlock”)、空洞三元组(“powerful, intuitive, beautiful”)、虚假标签(“SECTION 01”、lorem ipsum)。要么说清楚具体内容,要么什么都不说。
- 卡片、alert、toast 或 callout 仅单侧使用彩色边框。 3-4px 的着色条是生成式 UI 的陈词滥调。使用完整的细线边框或表面区分,状态必须由真实图标加文字共同表达,绝不能仅靠颜色。
- 垂直节奏过于拥挤。 各区块之间应有充足的大尺度留白。
2. Doctrine
2. 准则
Load and follow it. The parts that decide this job: token by
intent, one shared theme, the eight states on every interactive element, one
thing leads, zero emoji, and never state a number you did not measure.
design-doctrine加载 并遵循它。决定本任务效果的关键包括:按意图分配 token、使用统一主题、为每个交互元素提供八种状态、突出一个主导元素、不使用 Emoji,并且绝不声明未经测量的数字。
design-doctrine3. Direction into tokens
3. 将方向转化为 token
Pick the reference anchor from
or the library at
, then resolve it into
tokens rather than styling screens directly. One CSS-variable layer, imported
once. If a brand colour fails contrast, adjust it: taste serves tier 4 and never
overrides accessibility.
${CLAUDE_SKILL_DIR}/../../../taste/aesthetic-systems.md${CLAUDE_SKILL_DIR}/../../../design-systems/library/Reference output to match for quality:
and
.
${CLAUDE_SKILL_DIR}/../../../examples/showcase/${CLAUDE_SKILL_DIR}/../../../examples/templates/从 或 中选择参考锚点,然后将其解析为 token,而不是直接为屏幕编写样式。CSS 变量层级只导入一次。如果品牌色未通过对比度检查,就调整它:品味服务于 tier 4,永远不能凌驾于无障碍需求之上。
${CLAUDE_SKILL_DIR}/../../../taste/aesthetic-systems.md${CLAUDE_SKILL_DIR}/../../../design-systems/library/用于对标的质量参考输出:
和 。
${CLAUDE_SKILL_DIR}/../../../examples/showcase/${CLAUDE_SKILL_DIR}/../../../examples/templates/4. Build
4. 构建
Mobile is the base, not an afterthought: write the phone layout as the base
styles and layer wider screens on with . is fine for a
narrow refinement, never as the way mobile gets supported. Every value a token. Every interactive element ships all eight
states. Content first, then the layout that serves it.
min-widthmax-width移动端是基础,不是事后补充:先编写手机布局作为基础样式,再通过 叠加更宽屏幕的样式。 可用于狭窄场景的精细调整,但绝不能成为支持移动端的主要方式。每个值都使用 token。每个交互元素都要包含全部八种状态。先处理内容,再构建服务于内容的布局。
min-widthmax-width5. Gate — run it, never claim it
5. 门禁——执行它,不要声称通过
bash
node ${CLAUDE_SKILL_DIR}/../../../scripts/accuracy_report.mjsReport the real line. For a single file, at minimum:
N/Nbash
node ${CLAUDE_SKILL_DIR}/../../../scripts/verify_states.mjs <file> [--dark]
node ${CLAUDE_SKILL_DIR}/../../../scripts/verify_responsive.mjs <file> --scale=1.25
node ${CLAUDE_SKILL_DIR}/../../../scripts/slop_tells.mjs --strict <file>
node ${CLAUDE_SKILL_DIR}/../../../scripts/taste_audit.mjs --strict <file>A render gate with no browser prints SKIPPED and exits 0. That is not a pass.
Set when you run one on its own and intend to trust it.
DS_REQUIRE_BROWSER=1bash
node ${CLAUDE_SKILL_DIR}/../../../scripts/accuracy_report.mjs报告真实的 结果行。对于单个文件,至少运行:
N/Nbash
node ${CLAUDE_SKILL_DIR}/../../../scripts/verify_states.mjs <file> [--dark]
node ${CLAUDE_SKILL_DIR}/../../../scripts/verify_responsive.mjs <file> --scale=1.25
node ${CLAUDE_SKILL_DIR}/../../../scripts/slop_tells.mjs --strict <file>
node ${CLAUDE_SKILL_DIR}/../../../scripts/taste_audit.mjs --strict <file>没有浏览器的渲染门禁会输出 SKIPPED 并以 0 退出。这不算通过。单独运行某个渲染门禁并打算信任其结果时,设置 。
DS_REQUIRE_BROWSER=16. Render and look
6. 渲染并亲自查看
Gates pass while a screen is still visibly broken. Screenshot it, look at every
state, and click each control to confirm something actually changed.
即使门禁通过,屏幕仍可能在视觉上支离破碎。截取屏幕图像,查看每个状态,并点击每个控件,确认确实发生了变化。
7. Critic
7. Critic
Run . It is adversarial on purpose and it sees the work, not your
reasoning. A passing gate is never evidence of taste.
/critique运行 。它会刻意采取对抗式审查,并且审视实际成果,而不是你的推理过程。门禁通过永远不能证明品味合格。
/critiqueWhat you deliver
你需要交付的内容
The Brief Inference block, the files, the real gate output, and the critic's
verdict. If a gate was not run, say which and why - an unmeasured result is
reported as unmeasured, never as a pass.
Brief Inference 区块、相关文件、真实的门禁输出,以及 critic 的结论。如果某项门禁未运行,说明是哪一项及原因——未测量的结果必须报告为未测量,绝不能声称为通过。