Loading...
Loading...
Use this skill whenever reverse-engineering a Sketch file (or Figma export with similar shape) into pixel-perfect React + CSS — covers the iteration mental model, tree reconstruction, layout inference algorithms, geometry math, visual-regression diffing, and the style/typography/path conversions that make "improvement without regression" enforceable. Trigger even if the user doesn't explicitly mention "algorithms" but is converting a design source into web code, building a design-to-code pipeline, or struggling to make incremental fidelity improvements without breaking previously-converted output.
npx skill4agent add pproenca/dot-skills design-to-react-algorithms.sketchMSImmutableFlexGroupLayoutattributedStringcurvePointMSImmutableStyleCorners| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Reverse-Engineering Iteration Strategy | CRITICAL | |
| 2 | Tree Reconstruction & Symbol Resolution | CRITICAL | |
| 3 | Layout Algorithms (Flex/Freeform Inference) | CRITICAL | |
| 4 | Coordinate & Geometry Math | HIGH | |
| 5 | Visual Regression & Diff Algorithms | HIGH | |
| 6 | Style Translation (Color, Gradient, Shadow, Border) | MEDIUM-HIGH | |
| 7 | Typography Math | MEDIUM | |
| 8 | Path & Shape Rendering | MEDIUM | |
iter-bisect-from-rootiter-baseline-snapshot-gateiter-convert-symbols-before-instancesiter-freeze-design-tokens-firstiter-one-family-per-priter-keep-known-good-branchtree-resolve-overrides-before-emitoverrideValuestree-hash-subtrees-for-componentizationtree-collapse-passthrough-groupstree-hoist-shared-style-via-subtree-equivalencetree-clipping-mask-is-stacking-contexthasClippingMaskisolation: isolatetree-foreign-symbols-become-library-importslayout-flex-group-enum-mappingMSImmutableFlexGroupLayoutlayout-infer-flex-from-axis-projection-overlaplayout-detect-grid-via-2d-coordinate-clusteringlayout-promote-freeform-when-equal-gapsdisplay: flex; gap: Npxlayout-reverse-engineer-padding-not-marginlayout-preserve-wrapping-enabledwrappingEnabledlayout-ignore-layout-is-absolute-escapeflexItem.ignoreLayout: trueposition: absoluteposition: relativegeom-compose-parent-transforms-before-emitgeom-round-only-at-leavesgeom-rotation-is-css-transformtransform: rotate()geom-shape-group-bounds-via-uniongeom-clipping-bounds-intersect-not-uniondiff-use-ssim-for-aa-contentdiff-region-budgeted-tolerancesdiff-antialias-aware-pixelmatch-thresholdincludeAA: falsediff-perceptual-hash-for-wrong-component-detectiondiff-subtree-bisection-to-localize-regressiondiff-baseline-per-component-not-per-pagestyle-srgb-float-to-hex-via-gamma-correct-pathstyle-preserve-display-p3colorSpace: 1color(display-p3 …)style-gradient-angle-via-atan2atan2(dx, -dy)style-stack-multi-shadow-in-paint-orderstyle-reconcile-border-positionoutlinestyle-per-corner-radii-shorthandTL TR BR BLtype-split-attributed-string-runs-only-when-differtype-pt-lineheight-to-unitlesslineHeight / fontSizetype-kerning-pt-to-em-letter-spacingkerning / fontSizeletter-spacingtype-build-font-fallback-ladder-apple-system, BlinkMacSystemFont, …type-paragraph-spacing-between-not-aftergapmargin-bottom:last-childpath-curve-point-to-svg-cubic-bezierMCcurveFromcurveTopath-rectangle-with-fixed-radius-is-css<div><svg>path-apple-smooth-corners-via-superellipsepath-flatten-boolean-ops-at-parse-timepath-honor-winding-rulewindingRulefill-rulereferences/_sections.mditer-*tree-*layout-*geom-*diff-*| File | Description |
|---|---|
| references/_sections.md | Category definitions, impact levels, cascade rationale |
| assets/templates/_template.md | Template for adding new rules to this skill |
| metadata.json | Version, discipline, references |
| AGENTS.md | Auto-built TOC (regenerate via |