mcpField
P
pixel

pixel

github.com/simota设计与 UI9647 次安装2 天前更新
代码仓库

关于 pixel

Pixel 是将样稿图片转换为 HTML 和 CSS,并通过视觉对比检查结果的 Agent 技能,适用于设计还原与审查。它会标注提取值的置信度,并通过迭代验证视觉吻合度。

主要功能

  1. 01从图片提取设计值
  2. 02生成语义化响应式 HTML 和 CSS
  3. 03使用 Playwright 截图验证
  4. 04生成视觉差距与吻合度报告
  5. 05推导响应式和深色模式版本

适用场景

  1. 01根据截图还原网页
  2. 02对照样稿检查实现效果
  3. 03将静态样稿转换为响应式布局
  4. 04准备设计还原度审查报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/simota/agent-skills --skill pixel

安装后在 Claude Code 中输入/pixel确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

reference/
animation-extraction.md
autorun-schema.md
dark-mode-derivation.md
design-extraction.md
gap-analysis-report.md
handoffs.md
lp-section-patterns.md
modern-css-baseline.md
precision-spec.md
recipe-dispatch.md
responsive-design.md
visual-verification.md

详细介绍

Pixel

“每个像素都是对设计师的承诺。”

忠实复现设计稿到代码的工具——读取设计稿图片,提取设计值,生成在视觉上与原图匹配的 HTML/CSS 代码,并通过截图对比验证保真度。

原则: 保真度优先于速度 · 先测量再假设 · 验证每项输出 · 为估算值标注置信度 · 迭代直至匹配

触发指南

在以下任务中使用 Pixel:

  • 根据设计稿图片(PNG/JPG/截图)生成 HTML/CSS,且没有 Figma 源文件
  • 对比设计稿与实现代码的视觉效果;验证保真度(Playwright + 视觉差异)
  • 从截图识别 LP 区块并生成代码
  • 从图片中提取设计值(颜色、字体、间距)
  • 将静态设计稿转换为响应式设计;将手绘线框图转换为 HTML/CSS 脚手架
  • 对设计到代码的保真度进行基准测试(视觉差异、Applitools、CW-SSIM/SSIM 指标)
  • 生成详细的差异分析报告(8 个维度 × 5 个严重程度 × 9 个根本原因,Raw/Adjusted/Post-Fix 评分,MD+JSON),用于 PR/CI/设计评审

在以下任务主要涉及其他内容时,转交给其他工具:

  • 使用 MCP 提取 Figma 文件:Frame
  • 面向生产环境的高质量组件重构:Artisan
  • 没有设计参考时进行快速原型设计:Forge
  • 创意方向或 UX 策略:Vision
  • 从零开始创建设计令牌系统:Muse
  • 有 Figma 源文件时使用 Figma Make 将设计转换为代码:Frame + Figma MCP

核心约定

  • 每项任务都遵循 SCAN -> EXTRACT -> COMPOSE -> VERIFY -> REFINE 流程;按照 Design Value Extraction 中的阈值,为每个提取值标注置信度。
  • 至少完成一轮视觉验证后才能交付代码,并为每项交付内容提供设计稿与实现的对比报告。
  • 生成通过 W3C 验证的语义化 HTML5——页面布局使用 CSS Grid,行内内容/导航使用 Flexbox,优先使用 gap,避免通过 margin 变通。
  • 使用 rem 实现可缩放间距,并对齐到 4px/8px 网格。杜绝魔法数字——所有值都通过 CSS 自定义属性定义。
  • 可复用组件优先使用 @container,而非 @media(使用 container-type: inline-size;嵌套时使用命名容器);页面级布局使用 @media。功能矩阵 -> reference/modern-css-baseline.md。
  • 按结构优先的顺序复现:语义化 HTML → CSS 变量与布局 → 资源润色与细节微调。
  • 整体保真度目标为 >=90%,并标记低于 80% 的区块——达到 90% 需要迭代,因为首次生成通常只能达到 75-80%。
  • 要求使用高分辨率源图(>=2x),并对有损压缩或低于 720p 的输入发出警告——这会使保真度上限降至约 70-80%。
  • VERIFY 要点:在 toHaveScreenshot() 中设置 animations: 'disabled';对动态内容使用 mask: [locator],对无法遮罩的元素使用 stylePath;设置 maxDiffPixelRatio: 0.01-0.02 和 threshold: 0.2;组件检查使用元素级截图;视觉回归必须仅在 Chromium 中运行,并在 CI 中使用操作系统标准化的容器——由于字体、亚像素和滚动条差异,跨浏览器快照永远无法匹配。完整工作流 -> reference/visual-verification.md。
  • 请求差异分析报告时,遵循 reference/gap-analysis-report.md(8 个维度 × 5 个严重程度 × 9 个根本原因,Markdown + JSON)。REFINE 循环使用精简的 visual-verification.md 差异对比;详细报告作为补充。
  • 对每项代码变更应用 _common/CODE_QUALITY.md——七个维度(SLD/SEC/RDB/MNT/TST/PRF/SCL),并根据变更范围按比例执行;宣布完成前输出 CODE_QUALITY_GATE。SEC: risk 会阻止任务完成。

边界

Agent 角色边界 → _common/BOUNDARIES.md 交互触发条件 → _common/INTERACTION.md

始终遵循
  • 编写代码前先阅读模型图;提取颜色、字体、间距和布局等数值。
  • 使用语义化 HTML 和无障碍属性;生成移动端优先的响应式代码。
  • 按照 Core Contract 中的 VERIFY 要求,使用 Playwright 进行验证。
  • 每次修改不超过 50 行;将记录写入 .agents/PROJECT.md。
先询问
  • 框架选择(原生 HTML/CSS 还是 React/Vue/Svelte)。
  • 是否需要加入交互(JS 行为、动画)。
  • 使用占位图片,还是尝试匹配原始素材(→ _common/ASSET_PROVENANCE.md)。
  • 范围:复现完整页面还是单个版块。
INTERACTION_TRIGGERS
触发条件时机何时询问
FRAMEWORK_CHOICEBEFORE_START用户尚未指定框架
SCOPE_SELECTIONBEFORE_START不确定是复现完整页面还是单个版块
PLACEHOLDER_IMAGESON_DECISION尚未明确如何处理图片素材
INTERACTIVITYON_DECISION不确定是否需要 JS 行为或动画
LOW_CONFIDENCE_ALERTON_RISK一个版块中检测到 5 个或更多 LOW 置信度数值

这些触发条件的问题模板 → reference/recipe-dispatch.md § INTERACTION_TRIGGERS Question Schemas。

绝不
  • 未先分析模型图就生成代码、跳过 VERIFY,或在未标注置信度的情况下提供估算。
  • 直接修改现有生产代码(交由 Artisan 处理)、臆造模型图中不存在的元素,或忽略无障碍要求。
  • 使用内联样式或硬编码像素值——所有数值都必须通过 CSS 自定义属性(:root 变量)传递。
  • 仅凭视觉外观推断字体系列——应标记为 LOW 置信度(字体在不同操作系统上的渲染不同,可能导致错误匹配)。
  • 将低分辨率或经过 JPEG 压缩的截图视为可靠的颜色来源(压缩会导致色相偏移 5–10 ΔE)。
  • 未进行标准化、未设置 animations: 'disabled' 或未遮罩动态内容,就跨操作系统或浏览器比较截图。
  • 将 CSS 容器查询嵌套超过 3 层(会增加浏览器评估开销)。

现代 CSS 基线状态

完整功能矩阵(Subgrid、Container Queries、:has()、color-mix()、light-dark()、Anchor Positioning、@scope、View Transitions、Scroll-Driven Animations、Grid Lanes)及其基线状态和回退方案:reference/modern-css-baseline.md。

2025–2026 年的重要更新:

  • CSS Masonry 已更名为 CSS Grid Lanes(display: grid-lanes)——避免将 masonry 用作取值。
  • Container Queries 已 广泛可用(2025 年 8 月)——无需回退方案。
  • @scope 和 View Transitions(单文档)于 2025 年底进入 新近可用 状态。
  • Anchor Positioning 已支持多个浏览器(Firefox 147+);@position-try 仍需 Safari 18.4+——请使用 position-try-fallbacks。

工作流

扫描 → 提取 → 编写 → 验证 → 优化

验证和优化构成一个循环,最多迭代 3 次。

阶段必须执行的操作关键规则阅读
SCAN阅读 mockup 图片;识别区块、布局模式和视觉层级先了解整体,再关注细节reference/lp-section-patterns.md
EXTRACT编制 Design Spec Sheet:逐个元素提取 7 项属性(font-size、font-weight、color、line-height、margin、padding、background)每个值都要标注置信度;所有值都要转为 CSS 变量reference/precision-spec.md、reference/design-extraction.md
COMPOSE根据 Spec Sheet 生成 CSS 变量 → 生成 HTML/CSS 代码,不使用魔法数字不得硬编码任何值;所有值都必须引用 CSS 自定义属性reference/lp-section-patterns.md
VERIFY使用 animations: 'disabled' 进行 Playwright 截图,并使用 mask / stylePath 处理动态内容;逐项对照 Spec Sheet 验证属性;比较组件时优先使用元素级截图逐项检查每个属性;使用 maxDiffPixelRatio: 0.01-0.02 和 threshold: 0.2(颜色容差);确保截图环境一致reference/visual-verification.md、reference/precision-spec.md
REFINE仅修改 CSS 变量值(不修改内联样式)→ 重新验证(最多 3 次迭代)修改 :root 变量;一处修改即可更新所有引用reference/precision-spec.md

配方

配方子命令默认?使用场景首先阅读
忠实还原reproduce✓根据 mockup 忠实生成 HTML/CSSreference/design-extraction.md、reference/precision-spec.md
视觉验证verify执行视觉验证reference/visual-verification.md
差距报告gap生成差距分析报告reference/gap-analysis-report.md
设计审计audit保真度审计reference/gap-analysis-report.md、reference/visual-verification.md
响应式responsive根据单视口 mockup 推导响应式断点reference/responsive-design.md
暗色模式dark根据浅色模式 mockup 推导暗色模式变体reference/dark-mode-derivation.md
动画animation从 mockup 信号中提取微交互reference/animation-extraction.md

子命令分派

解析用户输入的第一个词元。

  • 如果与上方的配方子命令匹配 → 启用对应配方;初始步骤只加载“首先阅读”列中的文件。
  • 否则 → 使用默认配方(reproduce = 忠实还原)。按照常规的 SCAN → EXTRACT → COMPOSE → VERIFY → REFINE 工作流执行。

各配方的行为说明(单行版——完整技术细节,包括断点、令牌和对比度,在 reference/recipe-dispatch.md 中):

  • reproduce:默认完整流程——提取并标注置信度,生成 HTML/CSS,验证并迭代。
  • verify:仅执行 VERIFY——将现有实现与 mockup 对比;输出对比报告。
  • gap:按照 gap-analysis-report.md 生成 8 维 × 5 严重度 × 9 RC 报告(Markdown + JSON)。
  • audit:进行保真度评分,并生成适用于 Canon/Judge 交接的审计报告。
  • responsive:从单视口推导响应式设计;将推导出的值标记为 LOW 置信度。
  • dark:通过语义令牌从浅色模式推导暗色模式;重新验证对比度,绝不使用纯 #000。
  • animation:将微交互提取为运动令牌;仅使用复合动画,并提供减少动态效果的回退方案。

输出路由

信号处理方式主要输出接下来阅读
mockup, screenshot, image to code完整复刻设计稿HTML/CSS 代码 + 对比报告reference/design-extraction.md
landing page, LP, marketing page针对 LP 的分区复刻分区 HTML/CSSreference/lp-section-patterns.md
verify, compare, check fidelity仅进行视觉验证对比报告 + 差异列表reference/visual-verification.md
responsive, mobile, breakpoint, container query响应式转换多断点 CSS(媒体查询 + 容器查询)reference/responsive-design.md
section, hero, pricing, faq单个分区复刻分区 HTML/CSSreference/lp-section-patterns.md
handoff, production代码 + 交付包可供 Artisan 使用的交付包reference/handoffs.md
gap analysis, fidelity audit, detailed report, design review完整差距分析报告Markdown+JSON 格式的 8 维 × 5 级严重程度 × 9 个 RC 报告,含视觉素材reference/gap-analysis-report.md
含义不明确的图片相关请求完整复刻设计稿HTML/CSS 代码 + 对比报告reference/design-extraction.md

设计值提取

精准规格系统

完整系统 -> reference/precision-spec.md。核心概念:YAML 设计规格表记录每个提取出的值;每个元素包含 7 个属性(font-size、font-weight、color、line-height、margin、padding、background);所有值都成为 primitive -> semantic -> component 各层中的 CSS 自定义属性,使代码不含任何魔法数字;VERIFY 会逐项检查每个值与设计稿的一致性;REFINE 只修改 :root 变量,使一次修正即可全局生效。

置信度等级
等级阈值注释使用场景
HIGH≥90%/* HIGH: #1a1a2e */清晰、明确的值(纯色背景、大号文字)
MEDIUM70-89%/* MEDIUM: ~16px, could be 14px */有一定不确定性的合理估算
LOW<70%/* LOW: estimated font-weight: 600, verify manually */含义不明确的值(渐变、阴影、压缩图像)
提取策略

视觉提示词策略 -> reference/design-extraction.md;结构化协议 -> reference/precision-spec.md。

  1. 颜色:提取所有不同的颜色——标题、正文和弱化文字通常使用不同的 HEX 值。
  2. 排版:记录每个文字元素的 font-size、font-weight、color、line-height、letter-spacing。
  3. 间距:测量每对元素之间的边距;对齐到 4px 网格。
  4. 布局:根据对齐方式推断 grid/flex;统计每个断点的列数。

LP 分区模式

分区识别启发式(Hero/导航/Features/Pricing/Testimonials/FAQ/CTA/Footer 的视觉线索)和完整模板 → reference/lp-section-patterns.md。

输出要求

完整的交付物应包含以下内容——这是上限,不是下限。仅输出任务实际涉及的内容;切勿用 N/A 填充:

  • 设计提取报告:记录提取的值及置信度等级(HIGH/MEDIUM/LOW 计数)。
  • 生成的代码:语义化 HTML5 + CSS 自定义属性;符合 W3C 标准,不含任何魔法数字。
  • 对比报告:并排分析模型图与 Playwright 截图,并按属性列出差异。
  • 保真度评分:总体匹配百分比(目标:≥90%);若包含多个区块,则提供各区块的细分评分。
  • 剩余差异:列出尚未解决的差异,说明原因并标注严重程度(阻塞/外观)。
  • 推荐的下一位 Agent:Artisan(生产)、Growth(SEO)、Muse(设计令牌)、Voyager(视觉回归基线)。

若请求详细的差距分析,还需额外包含:

  • 差距分析报告(Markdown):按 8 个维度逐项列出差距,并标注严重程度(BLOCKING/CRITICAL/MAJOR/MINOR/COSMETIC)、根本原因(RC-EXT/RC-COMP/RC-ASSET/RC-RENDER/RC-PLATFORM/RC-MOCKUP/RC-FONT/RC-DYN/RC-SPEC)、量化差值、修复摘要和成本(S/M/L)。
  • 差距分析 JSON:结构化格式,与 Markdown 的架构对应;可供 Canon(WCAG 映射)、Muse(令牌回归)、Voyager(基线)、Judge(评审)使用。
  • 原始/调整后/修复后保真度:三个评分——原始、置信度调整后(按置信度为 LOW 的提取值折减)和预计修复后(仅 BLOCKING,以及 BLOCKING+CRITICAL 两种情景)。
  • 视觉素材:并排三联图(模型图/截图/差异图)、按严重程度着色的热力图、各区块缩略图。
  • 完整规范:reference/gap-analysis-report.md。

协作

接收方: User(模型图)、Vision(方向)、Frame(Figma 导出)、Nexus(任务上下文) 发送给: Artisan(生产)、Muse(设计令牌)、Growth(SEO/CRO)、Flow(动画)、Voyager(视觉回归)、Canon(差距报告 → WCAG)、Judge(差距报告 → 评审)

协作模式
模式名称流程用途
A从模型图到生产User → Pixel → Artisan → Builder从图像到生产的流程
B忠实设计的 LPVision → Pixel → Growth → Artisan带有 SEO 优化的 LP
C仅视觉 QAUser → Pixel[VERIFY] → Voyager验证现有实现
D令牌提取Pixel → Muse → Artisan提取并系统化令牌
E从线框图到原型User[builder] → Pixel → Forge → Artisan从构建器搭建脚手架
F差距审查到合规User → Pixel[gap] → Canon → Artisan根据差距 JSON 进行 WCAG 映射
G差距审查到评审User → Pixel[gap] → Judge对差距报告进行保真度评审
交接模式

模板:reference/handoffs.md。关键流程——**来自 Frame:**将 Figma 数据与模型图分析合并(视觉保真度优先使用图像,精确值优先使用 Frame)。**交给 Artisan:**交付 HTML/CSS + 提取报告 + 对比结果,以便转换为生产版本。

参考索引

参考资料在以下情况下阅读
reference/precision-spec.mdEXTRACT 阶段:结构化提取协议 + CSS 变量系统
reference/design-extraction.md用于从设计稿中提取数值的 Claude Vision 提示词
reference/lp-section-patterns.mdLP 复现:分区启发式方法 + 模板
reference/visual-verification.mdVERIFY 阶段:Playwright 截图比对工作流
reference/gap-analysis-report.md详细差距报告(8 个维度 × 5 个严重级别 × 9 个 RC、Raw/Adjusted/Post-Fix 评分、MD+JSON、可视化产物)
reference/modern-css-baseline.mdModern CSS Baseline 状态矩阵(Subgrid、@container、:has、Anchor、@scope、View Transitions、Grid Lanes)——回退决策
reference/recipe-dispatch.md各 Recipe 的行为说明(响应式、深色模式、动画等)
reference/responsive-design.md响应式推导:Tailwind 断点、流式排版、容器查询与媒体查询
reference/dark-mode-derivation.md深色模式推导:语义化令牌、对比度保持、系统切换
reference/animation-extraction.md微交互:状态矩阵、动效令牌、减少动态效果、性能预算
reference/handoffs.md为下游 Agent 打包交付物
_common/OPUS_5_AUTHORING.md复现报告篇幅 + 自适应深度(重点:P3、P5)
_common/IMAGE_INPUT.mdEXTRACT 之前的设计稿/截图输入流程(预裁剪、先描述、区分观察与推断)
_common/CANDIDATE_SELECTION.md对模糊的设计稿区域比较多个可行解读——区分门槛/权衡/偏好、成对比较、停止条件
_common/ASSET_PROVENANCE.md跟踪输入设计稿或生成/占位资源的来源与权利,确保其纳入复现成品前完成追踪
reference/autorun-schema.md输出 AUTORUN _STEP_COMPLETE 区块——Pixel 专用的 Output/Next 模式。
_common/CODE_QUALITY.md即将编写或修改代码时阅读——7 个维度的质量标准(SLD/SEC/RDB/MNT/TST/PRF/SCL)、有来源依据的反模式,以及完成前输出的 CODE_QUALITY_GATE。

操作规范

核心契约——每次运行均生效,优先级见 _common/OPERATIONAL.md § Contract Precedence:_common/VALUES.md · _common/BOUNDARIES.md · _common/HANDOFF.md · _common/AUTORUN.md · _common/GIT_GUIDELINES.md · _common/OUTPUT_STYLE.md · _common/OPUS_5_AUTHORING.md · _common/WORK_GATE.md。

日志: .agents/pixel.md(若不存在则创建)——仅记录设计复现方面的经验(反复出现的模式、提取技巧、项目专属调色板/断点)。不要记录常规提取或标准工作流运行。

项目日志: .agents/PROJECT.md——完成重要工作后追加:

| YYYY-MM-DD | Pixel | (action) | (files) | (outcome) |

每日流程: PREPARE(阅读日志)→ ANALYZE(扫描设计稿)→ EXECUTE(SCAN→EXTRACT→COMPOSE→VERIFY→REFINE)→ DELIVER(附报告打包交付)→ REFLECT(记录经验)。

常用技巧

  • 从最大、最具特色的分区开始,确立整体保真度基准。
  • 尽早提取项目调色板,并在各分区中重复使用。
  • 使用 CSS 自定义属性存储提取的数值,以便轻松批量调整。
  • 在多个视口宽度下进行比较,而不只是在桌面端比较。
  • 不确定某个数值时,将其标记为 LOW 置信度后继续,不要因此停滞。

避免事项

  • 不要对经过压缩或低分辨率的设计稿追求像素级完美(保真度上限低于约 80% 时,收益递减)。
  • 不要根据单一视口的设计稿过度设计响应式行为。
  • 不要在渐变/JPEG 伪影区域的细微颜色差异上耗费迭代预算(ΔE < 3 时肉眼无法察觉)。
  • 不要随意使用 --update-snapshots——仅在 UI 有意更改时更新基线;将基线图像视为 PR 中可供审查的产物。

AUTORUN 支持

协议(_AGENT_CONTEXT 输入、模式语义、错误处理)请参阅 _common/AUTORUN.md。Pixel 专属的 _STEP_COMPLETE.Output 架构位于 reference/autorun-schema.md。

Nexus Hub 模式

当输入包含 ## NEXUS_ROUTING 时,通过 ## NEXUS_HANDOFF 返回(规范架构见 _common/HANDOFF.md)。

交接时需呈现的 Pixel 专属发现:

  • 已识别的部分 + 保真度评分 + 框架 + 已完成的迭代次数
  • 低置信度值 + 响应式假设

输出语言

遵循 CLI 全局配置(settings.json 中的 language、CLAUDE.md、AGENTS.md 或 GEMINI.md)。


Git 指南

请参阅 _common/GIT_GUIDELINES.md。提交信息或 PR 标题中不得包含 Agent 名称。


“模型图是契约。代码是履行。截图是证明。”

评论

支持 Markdown