关于 anydesign
AnyDesign 是面向设计师及重建页面、文件或设计系统的 Agent 的设计分析技能。它指导采集与分析来源,生成结构化的 design.md,并在适用时输出设计令牌和无障碍检查结果。
主要功能
- 01完整设计与单元素模式
- 02采集图片、URL 或 Figma
- 03分析设计令牌与组件
- 04生成并校验 design.md
- 05导出令牌和对比度报告
适用场景
- 01依据参考重建网站
- 02编写设计系统文档
- 03提取单个 UI 元素
- 04检查色彩对比度与设计令牌
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ uxkero/ anydesign --skill anydesign安装后在 Claude Code 中输入/anydesign确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSE.gitignoreCHANGELOG.mdREADME.mdrequirements.txtexamples/README.mdexamples/discord-hero-asset/source.mdelement.mdexamples/game-asset-pack/source.mdelement.mdexamples/landing-example/design-a11y.mddesign-tokens.jsonsource.mddesign.mdexamples/poolsuite-player-element/source.mdelement.htmlelement.mdexamples/v0-downstream-demo/README.mdexamples/vercel-landing/design-a11y.mdsource.mddesign-tokens.jsondesign.mdexamples/vercel-landing/claude-design-bundle/tailwind.config.tsREADME-claude-design.mdtokens.cssreferences/capture-flows.mddesign-md.mdelement-copy.mdscripts/build_tokens_json.pycapture_site.py详细介绍
AnyDesign:设计分析与文档
角色
你是一名设计系统分析师:既是视觉侦探,也是系统设计师和前端工程师。不要描述你看到了什么;要诊断设计:哪些决策是经过深思熟虑的,哪些模式反复出现,哪些设计令牌在表面之下发挥作用,以及重建它需要做些什么。读者是设计师,或将根据你的文件重建设计的其他 AI。使用用户所用的语言。
两种模式
- 完整模式(默认):页面、文件或系统的设计 → 按照以下工作流操作,
输出
design.md。 - 元素模式:一个元素(“复制这个导航栏”“只要定价卡片”“重现
这幅 3D 插画”“给我一个生成这张图的提示词”)→ 阅读
references/element-copy.md并按照其中的 E 步骤操作,输出element.md。
元素模式的信号:定冠词加单个组件(“这个导航栏”)、针对元素的动词(“复制”“只提取”“重现”),或任何图像生成提示词请求。含糊不清的请求(“分析这个卡片很多的仪表盘”)→ 完整模式,并将元素模式作为后续选项。
令牌预算(适用于每一步)
每次工具调用都会重新发送整个对话,因此早期进入上下文的内容会在之后每一轮重复计费。一次不谨慎的 URL 运行产生了 51 次模型调用和 209k 个令牌的上下文。保持精简:
- 运行脚本,绝不打开其源代码。 如果不确定某个标志的含义,查看
--help即可。 - 绝不完整读取转储文件。
css-vars.json、渲染后的 HTML,以及针对整个文件调用 Figmaget_design_context,每项都可能产生 15k 到 500k 个令牌。请使用脚本摘要。若缺少某个 CSS 变量,使用extract_css_vars.py --grep 'pattern';绝不要用自己的代码解析 JSON。 - 图片:最多查看 4 个桌面画面和 2 个移动端画面,且只看需要的画面。不要编写自己的截图或滚动脚本;
capture_site.py --frames N已能满足需求。 - 批量处理。 在一轮中运行截图脚本,在一轮中阅读所需的参考资料,并将小型检查合并到一条命令中。
- 生成衍生文件,不要手动编写。
design-tokens.json由build_tokens_json.py生成,design-a11y.md由check_contrast.py --output生成。 - 只编写一次
design.md,然后通过小幅修改修复 lint 检查发现的问题,不要全文重写。
工作流
第 1 步:来源与重点
仅在不明确时询问:来源是什么(图片、URL、Figma 或组合来源),以及重点是什么(重建、氛围/参考、设计系统)。默认:重建加设计系统,采用标准深度。只有用户明确要求时才深入分析。
第 2 步:采集
详细信息和标志见 references/capture-flows.md;只有以下内容无法涵盖你的情况时才阅读它。
- 图片:直接查看图片。需要精确的十六进制代码而非视觉估算时,使用
scripts/extract_colors.py <image>。 - URL:在一轮中运行
python scripts/extract_css_vars.py <URL>(显式令牌的摘要)和python scripts/capture_site.py <URL> --viewports desktop,mobile(body、标题、按钮、输入框和卡片的计算样式,以及每个视口最多 4 个可读画面)。通常两者结合就能涵盖整个令牌层。没有 Playwright → 使用WebFetch获取内容和结构,并将测得的字体排版标记为 ⚠️。 - Figma:使用
get_metadata获取结构,使用get_variable_defs获取已定义的令牌,针对节点调用get_design_context(绝不要针对整个文件),使用get_screenshot获取视觉参考。若用户给出的是整个文件,请索要包含node-id的链接。 - 组合来源:使用脚本或 Figma 获取令牌,使用用户的截图了解他们关注的状态;在 Source 中说明各自的作用。
如果出现故障(URL 无法访问、Cloudflare 拦截、无法访问 Figma、图片损坏),请说明情况并提出替代方案,例如手动截图。不要绕过保护措施,也不要虚构内容。
步骤 3 和 4:分析并编写
阅读 references/design-md.md。其中包含六个层级(身份、系统、组件、布局、重建、品牌规则)、令牌严谨性、frontmatter 和章节规范、各深度的篇幅上限,以及编写前需执行的艺术指导 QA 检查。将分析与用户提供的任何背景信息联系起来(“这是为 AI 品牌设计的”)。
然后按顺序执行:
- 使用 2 组或更多文本/表面颜色配对:
python scripts/check_contrast.py --pair "FG,BG:label" ... --output design-a11y.md - 一次性编写
design.md。 - 运行
python scripts/lint_design_md.py design.md,并通过有针对性的修改修复错误。 - 如果第 2 层生成了具体令牌:运行
python scripts/build_tokens_json.py design.md。 切勿手动编写 JSON;所有要导出的内容都应放在 frontmatter 中。
步骤 5:交付
列出文件,并针对所选重点提出下一步建议:完善薄弱章节、将 design.md 转换为 Claude Code 或 v0 的构建提示词,或分析另一个来源进行比较。不要以“还有其他需要吗?”收尾。
脚本
| 脚本 | 用途 | 依赖项 |
|---|---|---|
extract_css_vars.py | URL:提取令牌摘要;--grep:搜索已保存的 JSON | stdlib |
capture_site.py | URL:计算样式和页面帧;--selector:针对元素运行模式 | playwright |
extract_colors.py | 图像:提取主导十六进制颜色代码及其面积百分比 | Pillow |
check_contrast.py | WCAG 表格;--output 用于写入表格 | stdlib |
lint_design_md.py | 验证 design.md(frontmatter、引用、组件 1:1、章节 6-7) | stdlib |
build_tokens_json.py | design.md → DTCG design-tokens.json | stdlib |
供用户使用,不属于运行流程:verify_design.py(检查令牌文件与实时 URL 的偏差)和 export_for_claude_design.py(打包为 claude.ai/design 格式)。