Sketch Design From Reference logo

Sketch Design From Reference

Organization
sketch-hq
sketch-design-from-reference

Recreates or builds UI designs in Sketch from a reference URL, screenshot, or source code with side-by-side screenshot fidelity validation using Sketch MCP (`get_document_info`, `get_layer_tree_summary`, `get_screenshot`, `get_design_assets`, `get_symbol_overrides`, targeted `run_code`). Use when the user wants to design, mock up, or reproduce a page or screen in Sketch from the web, an image, or code.

Overview

Publishersketch-hq
Repositoryagents
Skill namesketch-design-from-reference
Stars
104
Forks
2
Bundled files
4
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 4 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by sketch-hq on GitHub. Read the source before you install it.

Installation

Install the Sketch Design From Reference AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/sketch-hq/agents/tree/main/skills/sketch-design-from-reference
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/sketch-hq/agents.git /tmp/agents
mkdir -p .claude/skills
cp -r /tmp/agents/skills/sketch-design-from-reference .claude/skills/sketch-design-from-reference
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Sketch Design From Reference in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Sketch Design From Reference on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Sketch Design From Reference is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Sketch MCP to Design

Build or refine a Sketch design to match a reference. This skill is for design-in-Sketch work; the inverse workflow is sketch-design-to-code.

Fidelity first

The goal is visual parity with the reference — not a plausible page with similar sections. Similar is not done. Do not stop when content exists; stop when side-by-side screenshot comparison passes the completion criteria in references/validation.md.

Required Sketch guides

  • get_guide with topic: "mcp" — always; MCP prerequisites, run_code rules, failure handling, and visual verification.
  • get_guide with topic: "use" — Sketch editing, stacks, symbols, styles, overrides, assets, and prototyping.
  • get_guide with topic: "layout" — before creating or restructuring Frames, Groups, stacks, page placement, sizing, pins, or container types.

Fetch guide subtopics on demand when the task needs them: troubleshooting, layout, styling, symbols, assets, and prototyping.

Prerequisites

  • Sketch running with MCP enabled (Settings → General → Allow AI tools to interact with open documents).
  • A target document is open, or the user expects you to create/use a new document.
  • A reference is available as a URL, screenshot, or source code.
  • Scope is clear enough to act: full page vs single frame, target width, dark/light mode, and target page/frame when the document has several candidates.

If MCP is unavailable, stop and call get_guide with topic: "troubleshooting". Do not guess layout from memory while MCP is unreachable.

Steps

Follow these steps in order. The main flow should be enough for ordinary work; load a reference file only when the step needs more detail or examples.

Step 1 — Confirm context and reference

  1. Fetch the required guides.
  2. Resolve the target document with get_document_info.
  3. Classify the reference type:
  • URL — gather page title, viewport width, DOM structure, source HTML, linked or bundled JavaScript/CSS when available, computed colors/fonts, copy, and asset URLs.
  • Screenshot — gather dimensions, regions, text content, alignment, and key colors.
  • Code — gather theme tokens, font stack, spacing scale, component names, inline SVGs, and asset imports.
  1. Extract a fidelity spec and capture a reference anchor screenshot at the target width before any layout mutations. The spec must include regions (top-to-bottom), verbatim copy, colors, typography, layout widths, and asset sources — see references/reference-extraction.md.

For reference-specific extraction, read references/reference-extraction.md. For comparison and completion gates, read references/validation.md before Step 5.

Step 2 — Discover reusable Sketch content

Inspect before mutating. Start with read-only MCP tools:

  1. Call get_document_info for pages, top-level Frames/Graphics, layer counts, and existing layout candidates.
  2. Call get_layer_tree_summary on candidate frames or relevant pages for hierarchy, IDs, names, dimensions, text snippets, symbol-instance override counts, and stack hints.
  3. Call get_design_assets and get_libraries for reusable symbols/components and library assets.
  4. Use targeted run_code only when summaries do not expose the needed detail.

Prefer editing an existing frame only when you are sure it maps to the requested design. Otherwise, create a new frame.

Step 3 — Plan structure before pixels

Define the layer plan before drawing:

  • Top-level regions and their order.
  • Parent/child relationships and sibling groups.
  • Region widths, content max-widths, and full-bleed vs in-column sections.
  • Fixed/pinned areas vs scrolling content.
  • Symbol candidates, stack candidates, asset candidates, and reusable stack patterns.

Do not impose a default page template. Match the reference's information architecture.

For every structured region, decide the Sketch stack model before drawing: direction, gap, padding, alignment, sizing, wrapping, and intended visual order. Use stacks for rows, columns, nav bars, toolbars, cards, lists, forms, button groups, and repeated content unless there is a specific reason the region must be freeform. Use manual coordinates for page-level placement, pinned chrome, overlays, masks, or genuinely freeform artwork.

Step 4 — Establish tokens and base frame

Create or match document swatches/shared styles for background, border, text, brand, muted text, and important surfaces. Set the page/frame background intentionally and clear accidental fills from structural groups. For symbol details, call get_guide with topic: "symbols".

Use values from the reference: computed CSS, sampled screenshot colors, or code tokens. For styling details, call get_guide with topic: "styling".

Step 5 — Build layout incrementally

Apply small, reversible run_code edits. One script should perform one small action.

Never build a whole page, top-level region, or multi-section layout in one script. Do not combine probing, creating, styling, and reordering in the same run. Keep scripts flat: bootstrap, find target by ID, perform one mutation, log JSON. Avoid deep helper functions, nested IIFEs, and long control-flow trees.

Build from outside in:

  1. Page frame and background.
  2. Top-level region containers from the layer plan.
  3. Stack settings for each region before detailed children.
  4. Text, shapes, and symbol instances inside each region in small sibling batches.
  5. Fixed/pinned regions after their parent structure is correct.

Build one top-level region at a time. After each region's content batch:

  1. get_screenshot the frame at the reference anchor width.
  2. Compare that region band to the reference anchor — list deltas using the taxonomy in references/validation.md.
  3. Fix major mismatches before starting the next region.

After structural edits, re-query with get_layer_tree_summary or screenshot the frame. For safe reorder/reparent patterns, read references/editing-patterns.md.

Step 6 — Symbols, assets, and overrides

Use existing document/library symbols before drawing repeated one-off layer groups. Repeated UI should normally become one symbol master with instances and overrides.

Before drawing detailed shapes, classify each non-text visual. Export/import photos, screenshots, illustrations, complex SVGs, product imagery, brand marks, detailed icons, gradients, and noise as SVG/PNG/image assets. Recreate only simple UI primitives, simple editable vectors, dividers, pills, and basic shapes in Sketch.

For icons/logos/images, establish layout with simple placeholders first, then import/assign real image assets once geometry and stack order are stable. Prefer symbol image overrides on dedicated layers for repeated assets.

For symbol override patterns, read references/symbols.md. For import/export details, call get_guide with topic: "assets".

Step 7 — Targeted fixes only

When the user reports an issue or screenshot comparison shows a mismatch:

  1. Inspect the current layer with get_layer_tree_summary or a targeted probe before mutating.
  2. Change only the reported property: one frame value, text style, color, layer order, stack property, or override.
  3. Re-screenshot and confirm child counts are unchanged unless deletion was intentional.

If layout breaks or layers are lost, say so immediately and tell the user to Undo/Revert before continuing.

Step 8 — Final validation and handoff

Do not claim done until completion criteria pass — see references/validation.md → Completion criteria.

  1. Capture a full-frame get_screenshot at the reference anchor width.
  2. Run the region gate for every band in the fidelity spec against the reference anchor screenshot.
  3. If any major delta remains, return to Step 7 and iterate. Do not hand off with "close enough" layouts.
  4. Summarize symbols used, tokens/styles created, target artboard/frame name and ID, regions verified, and any remaining minor deltas.
  5. Do not run zoomToFitCanvas until the task is complete.

Rules

Direction-specific rules for Sketch → design. Generic MCP/script rules come from get_guide with topic: "mcp" and Sketch content rules come from get_guide with topic: "use".

  1. Patch, do not rebuild. If content exists, fix frames, styles, overrides, or order instead of deleting and recreating major regions.
  2. Baseline child counts before and after reorder, reparent, add, or remove operations.
  3. Never assign parent.layers = [...]; use layer.index for reorder and child.parent = newParent for reparent.
  4. Match the reference's region structure; the same visual content should have the same parent/sibling relationship unless there is a deliberate reason to diverge.
  5. Screenshot after each meaningful batch and use the screenshot deltas to choose the next edit.
  6. Structured layout uses stacks by default. If siblings behave like flex, grid, list, form, nav, or card content in the reference, create or preserve a Sketch stack instead of hand-positioning every child.
  7. Assets are assets. Do not redraw complex artwork, photos, screenshots, or brand marks as low-fidelity vector approximations; export/import or assign image/SVG assets.
  8. No guessing. Do not invent layout, copy, colors, spacing, or assets from memory or generic UI patterns. Extract from the reference; if a value is missing, re-fetch or ask the user.
  9. Reference anchor always. Compare Sketch output to the captured reference screenshot — not to your recall of the page.
  10. Completion gate. Do not stop because sections exist or the page "looks similar." Stop when references/validation.md completion criteria pass.

Pitfalls

  • Recreating the page to fix a small mismatch wastes tuned work and introduces new bugs. Make surgical edits from screenshot deltas.
  • Placing images directly on symbol instances can break hierarchy or fail in the API. Put image layers in the master and drive per-instance image overrides.
  • Skipping screenshots hides layout, ordering, and color errors. Screenshot every batch.
  • Reordering with parent.layers = [...] can delete children or duplicate object IDs. Use safe reorder patterns instead.
  • Stack order can look inverted if index and packing direction are misunderstood. Use get_guide with topic: "layout" and verify with screenshot.
  • Whole page or region scripts are hard to validate, debug, and recover from. Split by region, stack setup, and small sibling batches.
  • Structured layout built with manual frames drifts when spacing or order changes. Use Sketch stacks for rows, columns, lists, forms, navs, cards, and repeated regions.
  • Complex artwork rebuilt as primitive shapes produces low-quality approximations. Export/import SVG/PNG or use image overrides; reserve shapes for simple UI primitives.
  • First-paint-only page screenshots can miss lazy images and scroll-triggered UI states. Use browser or agent tools, scroll to trigger content, then capture the target viewport.
  • Premature completion: agent adds header/body/footer with generic styling and stops. Run the region gate and completion criteria; keep fixing until major deltas are gone.
  • Improvised copy and colors: paraphrased headings, lorem-style filler, or default grays/blues instead of extracted values. Use the fidelity spec verbatim; re-sample colors from the reference.
  • Placeholder permanence: gray boxes left as "logos" or "hero images." Export/import real assets before handoff unless the user asked for placeholders.

Troubleshooting

For bridge/tool-call failures, parser errors, MCP connection problems, or screenshot failures, call get_guide with topic: "troubleshooting" before retrying.

For document-operation failures:

  • Layout/stack/order issues → get_guide with topic: "layout".
  • Symbol override issues → get_guide with topic: "symbols".
  • Export/import/image issues → get_guide with topic: "assets".

Design-build symptoms

  • Child count dropped after a script: tell the user to Undo, then inspect the operation. Do not repeat a bulk layer assignment.
  • get_screenshot is empty or wrong: re-resolve the frame/layer ID, then screenshot the page or parent frame if needed.
  • Symbol override has no effect: re-fetch get_symbol_overrides, rebuild the override ID from commonOverrideIDPrefix + '_' + property, then screenshot.
  • Text overlaps in a row stack: inspect child order and gap; fix one stack property or child index at a time.

References

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Sketch Design From Reference AI skill do?

Recreates or builds UI designs in Sketch from a reference URL, screenshot, or source code with side-by-side screenshot fidelity validation using Sketch MCP (`get_document_info`, `get_layer_tree_summary`, `get_screenshot`, `get_design_assets`, `get_symbol_overrides`, targeted `run_code`). Use when the user wants to design, mock up, or reproduce a page or screen in Sketch from the web, an image, or code.

Why use Sketch Design From Reference on TypingMind?

Because you install it once and use it with any model. Sketch Design From Reference is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Sketch Design From Reference in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/sketch-hq/agents/tree/main/skills/sketch-design-from-reference. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Sketch Design From Reference?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Sketch Design From Reference?

As many as you like. As long as a model supports skills, you can use Sketch Design From Reference with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Sketch Design From Reference AI skill free?

It is published on GitHub by sketch-hq. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇