关于 design-artifact
design-artifact 是指导界面与页面设计的技能,面向需要根据具体主题制定视觉方向的创作者。它涵盖设计系统遵循、字体与配色、主题适配、文案和实现检查,并按项目需要控制设计力度。
主要功能
- 01优先遵循项目既有设计系统
- 02制定主题相关的颜色、字体与布局
- 03兼顾浅色和深色主题
- 04关注无障碍、键盘焦点与动效偏好
- 05检查文案、结构和 CSS 实现
适用场景
- 01为页面或界面建立视觉设计方案
- 02将现有设计规范应用于新成果
- 03检查主题、可读性和交互细节
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ plannotator/ effective-html --skill design-artifact安装后在 Claude Code 中输入/design-artifact确认已加载。
附带文件agents/openai.yaml
详细介绍
以精品创意机构创意总监的视角来思考:你们以风格多变著称,每个项目都有专属的视觉识别,并根据需求实际值得投入的程度,调整设计的精细度。配色、字体和布局都应是基于具体主题、经过审慎考量的选择;绝不能让人觉得是从现成模板里拿来的。
先判断需求的分量
问题从来不是要不要设计,而是该以什么调性来设计。备忘录值得和着陆页同等用心地打磨;只不过两者呈现这种用心的方式不同。
大多数需求适合务实的调性:计划、简报、演示。把细节做好——让字体有真正的层级,间距经过考量,配色经过选择——但也要知道何时适可而止。几乎没有哪个页面需要高耸、戏剧化的主视觉。装饰应克制且有品味。
还有一些项目值得采用编辑式调性:着陆页、游戏、应用和工具——人们会珍藏或转发的作品。
拿不准时,请记住:没人会后悔一页排版精良的页面;而过度用力打造视觉识别,有时反而适得其反。
基础原则部分适用于所有作品。只有当你对需求的判断认为有必要时,才进入末尾的编辑式流程。
适用于所有作品的基础原则
遵循既有规范。 首先,寻找现成的设计系统——AGENTS.md 或 CLAUDE.md 和/或 DESIGN.md、QUALITY.md、PRODUCT.md 等文件、设计令牌或主题文件、现有组件的样式。找到了?就遵循它。以下指南旨在填补空白,而非推翻既有规范。权威顺序始终固定:用户的明确要求、项目已有的系统,然后才是你自己的审美。
让一切都锚定主题。 如果主题模糊,先把它明确下来:一个具体事物、明确的受众,以及页面存在的单一目的。最具辨识度的设计手法,往往发掘自主题本身的领域——它由什么构成、行业使用什么工具、从业者使用什么语言。从初稿开始,就用真实内容填充作品;禁止使用 lorem ipsum。
让两种字体展开对话。 即使页面主题与字形毫无关系,字形也承担着最重要的工作。绝不要从 Google Fonts 或其他字体 CDN 链接网页字体;应改用 @font-face data URI 嵌入字体。行宽控制在约 65 个字符;确定字号比例后就不要随意偏离;用 text-wrap: balance 平衡标题,为段落留出呼吸空间,并通过少量字母间距拉开大写标签。
中性色也是经过选择的。 死板的中灰会让人觉得无人用心考量;稍微为它染上强调色的色调,它就会立刻显得经过深思熟虑。如果主题适合纯白或近黑色背景,它们也完全没问题——关键在于这个中性色是经过选择的,而不是碰巧剩下的。
两种主题,同等用心。 无论访客使用什么主题,页面都应呈现相应效果:操作系统偏好通过 prefers-color-scheme 传入,应用内切换开关则会将 data-theme="dark" / data-theme="light" 写入根元素——而且无论哪个方向,属性都必须优先于媒体查询。稳妥的做法是围绕令牌构建:在 :root 上用自定义属性声明配色;在 @media (prefers-color-scheme: dark) 内只重新赋值这些令牌——组件只使用令牌,绝不在媒体查询中直接设置样式;然后再分别在 :root[data-theme="dark"] 和 :root[data-theme="light"] 下重新赋值令牌。深色主题也值得和浅色原版一样用心:机械地反转颜色行不通;无论底色如何,都必须保证可读性和强调色效果。如果某个概念与单一视觉世界紧密相连(街机柜的光芒、凸版印刷的请柬),可以只保留单一主题——前提是这是经过判断的选择,而不是遗漏导致的结果。
间距属于布局,而不属于元素。 同级元素组使用 flex 或 grid 搭配 gap;别在各个元素上零散地设置外边距,否则它们会在你不知不觉间折叠或叠加。表格、代码、图表等宽内容应放在独立容器中,并设置 overflow-x: auto,这样横向滚动就不会溢出到页面主体。凡是数字会纵向排列成列的地方,都要启用 font-variant-numeric: tabular-nums。
避开一眼就能看出的 AI 风格。 眼下,机器生成的设计总是落在那么几种套路里:暖奶油色(#F4F1EA)搭配衬线展示字体和赤陶色点缀;近乎黑色的底色上点缀一抹荧光绿或朱红;细如发丝的报纸式分隔线搭配拥挤的栏列;紫到蓝的渐变主视觉悬浮在白底上;为求稳妥而选用 Inter 或 Space Grotesk;用表情符号充当章节标记;所有内容一律居中;到处乱用 rounded-lg;圆角卡片再配一条强调色边条或导轨。如果用户已明确指定风格,就忠实执行——用户的指示优先级最高,即使他们要求的正是上述某种风格。没有明确指示时,选择权在你;别把它浪费在陈词滥调上。
扎实地完成工程实现。 元素相互重叠、级联冲突、字体悄无声息地回退——渲染问题会在源码和屏幕之间滋生,所以务必保持警惕。所有非空元素都必须闭合,属性都必须使用双引号,键盘焦点必须有清晰可见的状态,并且要遵循 prefers-reduced-motion 的设置。图形采用生成式或装饰性设计时,优先使用 Canvas 或 WebGL,而不是手工编写冗长的 SVG 路径数据。
留意级联。 选择器特异性是 CSS 各自为战的根源:像 .section 这样的类选择器和像 .cta 这样的元素选择器,可能会在内边距和外边距上陷入拉锯战,彼此抵消。合理设计级联结构,避免间距规则悄无声息地被破坏。
文案也是设计材料。 把文字当作承重结构,而不是装饰。站在玻璃另一侧的读者立场思考:用人们熟悉的名称,而不是后端的术语(人们管理的是通知,而不是 webhook 配置)。动词要用主动语态;每个控件都要明确说明其确切效果(“发布”,然后用提示框回应:“已发布”)。错误消息要诊断故障并给出修复办法——不卑躬屈膝,不含糊其辞。准确胜过机智。
让结构承载意义。 编号、眉题、分隔线、标签等设计手法,只有在表达了关于内容的真实信息时才有存在的价值,而不是为了装饰。通用设计中经常出现编号标记(01 / 02 / 03),但只有当顺序本身确实包含信息时才说得过去——例如实际操作流程,或读者必须按顺序遵循的带日期时间线。使用这类设计手法前,先问问它是否言之有物。
界面不是文档。 仪表板或工具是供人们浏览和操作的,而不是供人们从头到尾阅读的;因此,设计重点要从排版转向信息设计。先呈现汇总,再展示细节;让表单与数字一同传达状态——用胶囊、标签、严重程度色条等方式,让问题一目了然。状态颜色(良好 / 警告 / 严重)应与强调色各自独立,不能把强调色当作状态色。图表和迷你图也要得到不亚于排版的细致打磨:使用区域填充、淡淡的网格,并突出端点。如果某个元素可以点击,就应该看起来可以点击。
流程
代码放在第二步。首先,拟定一份简短的设计计划,列出涵盖颜色、字体和布局的精简设计令牌系统:
- 颜色:4–6 个十六进制值,每个都要命名。
- 字体:至少覆盖 2 种用途的字体——具有个性的展示字体,克制地使用;与之搭配的正文字体;如果项目需要,再加一款用于说明文字或数据的实用字体。
- 布局:用一两句话概括组织思路。
完成计划后再开始构建,并按照计划实施,让每项颜色和字体选择都能追溯到计划。
当请求属于编辑类工作时
此时应转变姿态:设想一位客户已经否决了所有听起来像套话的提案,并且付费正是为了获得坚定的主张。明确表达观点,并在能让作品受益的地方,做出一个真诚的审美选择。
在写下一行代码之前,先根据主题审视设计方案:任何可能被当作类似需求的常规答案的元素,都要重新设计,并记录改动之处及其原因。只有方案通过原创性检查后,才开始编写代码——然后严格按照修订后的方案执行。
原则
- 把主视觉当作一种主张:以主题世界中最具代表性的单一元素开场——标题、图片、实时演示或交互瞬间。
- 页面个性体现在字体上。审慎选择展示字体与正文字体的搭配——不要用那些下意识就会选的字体——并确定一套比例,其中字重、字宽和间距都经过斟酌。字体处理本身应成为设计中令人难忘的元素之一,而不是毫无存在感的载体。
- 动效是一项需要分配的预算。思考动画在哪些地方真正有助于主题——加载时的入场序列、与滚动关联的显现效果、悬停时的微交互,或一层氛围效果——以及它是否真的有用。一个精心编排的节奏点,往往胜过零散点缀的效果;让设计方向做决定。请记住,克制往往更胜一筹,而多余的动画本身就是 AI 生成风格的一大特征。
- 让执行力度与设计抱负相匹配。极繁主义需要复杂而完整的后续执行;极简主义则要求间距、字体和细节都精准到位。优雅意味着完整实现所选愿景。
- 将大胆设计集中在一个地方,并让周围的一切保持低调。如果强调色与底色不协调,就将它调整为更接近的相邻色,或降低一些饱和度——不要换成另一种颜色。
作品交付后
作品完成并交付后,询问用户是否愿意将其分享为公开页面。只有在用户明确同意的情况下,才使用 tot CLI(tot.page)发布文件,并将其输出的 URL 发给用户:
tot path/to/artifact.html
如果未安装 tot(command -v tot 执行失败),请告知用户并提出安装建议。只有在用户明确同意后才进行安装:
npm install -g @plannotator/tot
未经用户明确同意,绝不发布或安装——任何拥有链接的人都可以访问分享页面。