mcpField
D
design-to-react-algorithms

design-to-react-algorithms

github.com/pproenca设计与 UI218131 次安装11 周前更新
代码仓库

关于 design-to-react-algorithms

用于构建和迭代 Sketch 到 React 与 CSS 转换器的技能。它优先强调防回归迭代,再涵盖图层树重建、布局推断、几何计算、视觉比较、样式、排版与路径。

主要功能

  1. 01防回归的转换工作流
  2. 02图层树与符号重建
  3. 03Flex、Grid 和自由布局推断
  4. 04坐标与几何处理
  5. 05视觉回归与差异比对方法
  6. 06样式、排版和路径转换

适用场景

  1. 01构建 Sketch 到 React 转换器
  2. 02改进转换器并控制回归
  3. 03排查设计稿与输出的视觉差异
  4. 04为自由几何选择 CSS 布局

安装

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

$npx skills add https://github.com/pproenca/dot-skills --skill design-to-react-algorithms

安装后在 Claude Code 中输入/design-to-react-algorithms确认已加载。

包含的文件

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

AGENTS.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
diff-antialias-aware-pixelmatch-threshold.md
diff-baseline-per-component-not-per-page.md
diff-perceptual-hash-for-wrong-component-detection.md
diff-region-budgeted-tolerances.md
diff-subtree-bisection-to-localize-regression.md
diff-use-ssim-for-aa-content.md
geom-clipping-bounds-intersect-not-union.md
geom-compose-parent-transforms-before-emit.md
geom-rotation-is-css-transform.md
geom-round-only-at-leaves.md
geom-shape-group-bounds-via-union.md
iter-baseline-snapshot-gate.md
iter-bisect-from-root.md
iter-convert-symbols-before-instances.md
iter-freeze-design-tokens-first.md
iter-keep-known-good-branch.md
iter-one-family-per-pr.md
layout-detect-grid-via-2d-coordinate-clustering.md
layout-flex-group-enum-mapping.md
layout-ignore-layout-is-absolute-escape.md
layout-infer-flex-from-axis-projection-overlap.md
layout-preserve-wrapping-enabled.md
layout-promote-freeform-when-equal-gaps.md
layout-reverse-engineer-padding-not-margin.md
path-apple-smooth-corners-via-superellipse.md
path-curve-point-to-svg-cubic-bezier.md

详细介绍

dot-skills 设计稿到 React 转换最佳实践

将 Sketch 文件逆向转换为像素级精准的 React + CSS 的流水线,并以迭代时确保回归安全为核心约束。该技能围绕设计稿转代码的级联效应组织:第 N 阶段的错误决策会污染第 N+1 阶段及之后的所有输出,因此各类别按其影响下游的范围排序。

用户的首要要求——“每次改进都不会导致回归”——只有在迭代循环、图层树和布局求解器都正确之后才可落实,之后才能开始润色样式。请按优先级顺序阅读规则。

适用场景

  • 构建一个读取 .sketch 文件(或同类设计源文件)并输出 React + CSS 的转换器
  • 迭代现有转换器,而每次改进都有可能破坏其他组件
  • 诊断转换后的组件为何“几乎匹配”设计稿,却未通过视觉回归测试
  • 为设计稿转代码流水线设计快照门禁/基线策略
  • 当源文件使用自由形态几何时,选择使用 flexbox、grid 还是绝对定位
  • 将 Sketch 专属原语(MSImmutableFlexGroupLayout、attributedString、curvePoint、MSImmutableStyleCorners)转换为符合 CSS 惯例的写法

按优先级划分的规则类别

排序体现了级联关系——先修复前面的阶段;如果上游树结构有误,后续阶段的修复都会白费。

优先级类别影响前缀
1逆向工程迭代策略严重iter-
2树结构重建与符号解析严重tree-
3布局算法(Flex/自由形态推断)严重layout-
4坐标与几何运算高geom-
5视觉回归与差异算法高diff-
6样式转换(颜色、渐变、阴影、边框)中高style-
7排版运算中type-
8路径与形状渲染中path-

快速参考

1. 逆向工程迭代策略(严重)
2. 树重建与符号解析(关键)
3. 布局算法(关键)
4. 坐标与几何运算(高优先级)
5. 视觉回归与差异算法(高)
6. 样式转换(中高)
7. 字体排版计算(中)
8. 路径与形状渲染(中)

使用方法

  1. 阅读 references/_sections.md,了解类别定义和级联原理
  2. 从迭代策略(iter-*)开始——没有回归门禁,其他所有规则都只是技巧
  3. 接着看树(tree-*)和布局(layout-*)——这些是承重的结构决策
  4. 然后看几何(geom-*)和差异(diff-*)——这些是精度和验证层
  5. 样式、类型和路径属于润色层——保真度高,但影响大多局限于局部

对于全新的转换器,请按优先级顺序遵循这些规则。对于现有转换器,请确定出现的回归由哪个阶段负责(使用 [[diff-subtree-bisection-to-localize-regression]] + [[diff-perceptual-hash-for-wrong-component-detection]] 进行排查),并在负责该问题的最高阶段修复。

参考文件

文件说明
references/_sections.md类别定义、影响级别、级联原理
assets/templates/_template.md用于向此技能添加新规则的模板
metadata.json版本、领域、参考资料
AGENTS.md自动生成的目录(通过 scripts/build-agents-md.js 重新生成)

评论

支持 Markdown