figma-design-compare
Skill1 starsChanged 27 days agoMITView on GitHub
Use when comparing implemented SwiftUI screens or native app screenshots against a Figma frame, reporting visual differences, or verifying requested visual fixes. Works standalone or as stage 5 of figma-full-cycle. Triggers: "compare the screen with Figma", "compare the implementation with the mockup", "check design fidelity". Not for implementing a new flow or checking adaptivity without a design reference.
- Reads credentials
1 other project uses a version of this.
Adopted by
Most recently taken up by
- WST2002/claude-code-skillstheir own version, first seen Oct 17, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- WST2002/claude-code-skills★ 4same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- device-usageSkill
- figma-feature-specSkill
- figma-full-cycleSkill
- import-figma-assetsSkill
- swiftui-adaptive-layoutSkill
- swiftui-adaptivity-checkSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 3 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Before Figma reads, load the shared acquisition contract.
- Very specific: line 24
Use the authenticated read capability available.
- Very specific: line 47
Run geometry over every pair when sips and the shared helper are available:
- Distinctive: line 68
Write the shared report. Pair rows also identify the Figma screen node/version and contain a nonempty Looked at by eye field naming …
- Very specific: line 75
Every mechanical comparison records actual SCREENSHOT_DIFF_CLEAN / SCREENSHOT_DIFF_DIRTY markers and JSON paths, or an explicit fallback …
- Distinctive: line 77
Every pair selected for visual review above was inspected and recorded.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Figma Design Compare
Compare an existing implementation with a pinned Figma design. Owns the comparison workflow
and completion criteria used independently and by figma-full-cycle stage 5.
Inputs and setup
- Required: Figma URL with relevant node, and runnable screens or supplied native app captures.
- Supply/discover project root, screen/state mapping, capture devices and build details.
- Optional: output path, approved deviations, permission to fix findings, pipeline context.
- Default report:
docs/<RUN>_DESIGN_COMPARE.md.
Read validation-context.md first:
it defines modes, project audit, discovery, physical checks, fix scope and reports.
<shared-root> is the sibling _figma-full-cycle-shared. Standalone use needs no manifest/UI Plan.
Before Figma reads, load the shared
acquisition contract.
Use the authenticated read capability available. Standalone use needs no separate
FIGMA_ACCESS_TOKEN when authenticated MCP reads supply required evidence; pipeline-specific
credential checks belong to the caller. Missing design access blocks comparison.
Load the bundled SwiftUI Adaptive Layout skill by its exact registered name in review mode. Apply LAY-07 and comparison rules from its canonical layout rules, plus COL-06/07 in the Colors contract.
Workflow
- Establish the Figma pin (file, node, version/hash) in the report or verify the caller's pin before reusing evidence. Changed design invalidates dependent comparisons and is reported. Apply shared acquisition/cache rules; keep raw responses out of the report.
- Identify selected screens/states. Obtain the full screen/frame screenshot with its parent context; isolated icon/asset exports are not style references. Get exact typography/color values from design context and record deviations required by project conventions.
- Capture each selected screen at reference size and at least one non-reference size, using Preview, simulator or requested native device capture. Supplied evidence lacking either size leaves coverage open. Runtime navigation is outside this comparison. For previews follow shared Preview evidence: select and verify the actual destination, fixture and overrides before recording a pair; a successful default render does not establish the requested configuration.
Run geometry over every pair when
sipsand the shared helper are available:python3 <shared-root>/scripts/screenshot_diff.py compare \ --render <native-render.png> --mock <pinned-frame.png> \ --label "<screen>/<state>/<device>" \ --ignore-top <status-bar> --ignore-bottom <home-indicator> \ --out <artifact-root>/reports/diff-<pair>.jsonThe helper normalizes the mock. Different aspect ratios leave the structural grid ungated; this diagnostic cannot prove adaptation. Without
sips, mark geometrynot-runand review every pair visually under the same rules.- Visually compare every
FAIL, one content-densePASSpair per screen, and every non-reference pair regardless of mechanical result. Use an available specialized reviewer or inspect images directly; never route review back into this skill. Check typeface, icons, copy and subtle colors as well as geometry: the script cannot verify them. - Apply shared inset tolerance, relational geometry and system-owned root-shape rules. Confirm intended equal-edge relations on the non-reference size with the shared tolerance. Explain contract-required deviations. For authorized fixes, fix causes, recapture and recompare. Pipeline calls return affected assets/screens for the orchestrator's stage 2/3 loop-backs.
- Write the shared report. Pair rows also identify the Figma screen node/version and contain a nonempty Looked at by eye field naming reviewed pairs and method. Return report path, result, unresolved findings and coverage gaps.
Completion criteria
- Report on disk with pin, explained deviations and reference/non-reference coverage per screen.
- Every mechanical comparison records actual
SCREENSHOT_DIFF_CLEAN/SCREENSHOT_DIFF_DIRTYmarkers and JSON paths, or an explicit fallback reason. - Every pair selected for visual review above was inspected and recorded.
- A passing result has no unresolved visual defect; authorized fixes were recaptured/recompared. Required physical rows meet the shared evidence contract.
- Audit-only use reports remaining defects as
failed; it does not silently fix or claim a pass.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

