Figma Email Readiness logo

Figma Email Readiness

Organization
kingadow
figma-email-readiness

Audits a Figma file to see whether it is set up well enough for AI to design on-brand, build-ready emails in it, and produces a scored report plus a fix list. Run it before using email-design on a new file, or whenever AI-made emails come out off-brand or hard to build. Use whenever someone asks to audit, score or check a Figma file for email design, or asks "is our Figma ready for AI". Read-only: it never edits the file. Triggers on: Figma audit, Figma readiness, email setup audit, is my Figma ready, score our Figma file.

Overview

Publisherkingadow
Repositoryemail-design-md
Skill namefigma-email-readiness
Stars
6
Forks
0
Bundled files
3
LicenseMIT
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.

  • 3 bundled files

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

  • Open source

    Published by kingadow on GitHub. Read the source before you install it.

Installation

Install the Figma Email Readiness 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/kingadow/email-design-md/tree/main/skills/figma-email-readiness
  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/kingadow/email-design-md.git /tmp/email-design-md
mkdir -p .claude/skills
cp -r /tmp/email-design-md/skills/figma-email-readiness .claude/skills/figma-email-readiness
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Figma Email Readiness 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 Figma Email Readiness 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 Figma Email Readiness 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.

Figma Email Readiness

Reads a Figma file, finds the email frames, and scores the file against the setup an AI needs before it can design emails there:

  • a brand kit
  • color tokens
  • an email type scale
  • components
  • clean email frames
  • the handoff conventions around each email

It writes two files: a report anyone can read, and a fix list someone can work through. The checklist behind it is SETUP.md.

Why this exists

AI email design fails for setup reasons more often than for prompt reasons. When colors are typed by hand, text has no styles and every email is drawn from scratch, the AI has nothing to reuse and nothing to check itself against, so it guesses. The same gaps slow down every human designer and every build in the email platform.

Running it

  1. Load the figma-use skill. It is required before any use_figma call.
  2. Take the file key from the Figma URL (figma.com/design/<fileKey>/...).
  3. Read scripts/audit.js and pass the whole file, unchanged, as the code argument of use_figma on that file key. It only reads. If the emails use another width, change CONFIG.emailWidths in the code you send, not in the file.
  4. If check K1 reports 0 local variables, 0 color styles and 0 library variables in use, run search_design_system with includeVariables: true before calling tokens missing. A team library can exist without being bound in the emails yet.
  5. Do the visual pass (below).
  6. Write the two outputs (below).
CONFIGDefaultMeaning
emailWidths[600, 640]Frame widths that count as an email
scales[1, 2]Also finds emails drawn at 2x (1200 or 1280 px) and reads their sizes at half
minEmailHeight700Shorter frames at those widths are cards or components
coverage0.9Share of emails that must pass the per-email and handoff checks
maxEmails40Larger files are sampled evenly. The report must say so.

The visual pass

The script can't judge photos or rendering. Screenshot up to four emails from different pages at 1:1 (get_screenshot, maxDimension set to the frame height), plus the brand kit page if there is one. Look for:

  • Products without their branding: unlabeled jars, blank packaging.
  • Mixed shoots: photos that look like different shoots or different light.
  • Clipped or overlapping text the script missed, such as text over images.
  • Placeholder images.

Visual findings go into the fix list. They don't change the score, and the report says so.

What it scores

Six areas, 22 checks, weights summing to 100. Each check passes or fails, with no partial credit, because partial credit flatters. Scores are floored, never rounded up. Every check, its pass condition and the reasoning are in references/rubric.md.

AreaWeightWhat it asks
Components25Can the AI assemble emails from reusable pieces?
Email frames20Are the emails built so the email platform can translate them?
Brand truth and handoff20Is the brand written down, and does each email carry its subject, brief and status?
Color15Are colors named tokens or typed by hand?
Type10Is there an email type scale, and is it used?
Accessibility and copy10Does text pass contrast, and is the copy real?

Two rules that keep the report honest

Missing foundations are file-level findings. No emails at the expected width, no color tokens, no text styles, no components, no brand kit page: each is reported once at the top. Never present one missing foundation as hundreds of individual failures.

Repeated evidence points at a component. When the same failure shows up in most emails, find the component it comes from and report it once, as one fix that clears every email. On a real production file, contrast failed in 40 of 40 sampled emails. It was one footer component with grey 10.5 px text at 3.2:1: one fix, not forty.

Grades

ScoreGradeWhat it means
90 to 100ReadyAI can design emails in this file today
75 to 89Minor gapsA short, scoped fix list
55 to 74Needs workA real setup project
Under 55Not readyFoundations are missing. Start with the file-level findings.

Outputs

Save to the folder the user names, by default ./figma-readiness-<label>/.

  • report.md: follow references/report-template.md. Plain language, short sentences, no jargon without a one-line explanation.
  • fixes.csv: columns area, check, where, what is wrong, fix, scope, where where is page / email / node ID and scope is component, file or email. Order the rows by leverage: component and file fixes first, then per-email fixes.

Reference results

  • The Limonaia example scores 100. It scored 95 until its section components (hero, text block, image and text, callout, steps, review, cart line) were added.
  • A real production file with 265 emails, sampled to 40, scored 54. The gaps were real:
    • one footer causing every contrast failure
    • raw colors and unstyled text in older emails
    • template code shown as copy
    • no inbox preview, brief or status on older pages

Privacy

Email names, copy and layer names in the result belong to whoever owns the file. Use a de-identified label on anything you share, and don't commit audit outputs to a public repo.

What this is not

  • Not a review of one email. That is email-design-review.
  • Not the fix. It tells you what to set up. SETUP.md explains how.
  • Never edits the file. No quick fixes while auditing, even obvious ones. Report them.

Known limits

  • Components are found by name (header, footer, button, product, hero, and so on). A file with unusual names can under-score C1 and C2. Check the component list in the result before calling something missing.
  • Contrast uses the nearest solid background. Text over photos is skipped and belongs to the visual pass.
  • Brand kit coverage is a keyword scan of a page named like a brand kit. A kit kept outside Figma scores as missing. Say so in the report and ask where it lives.
  • Unsubscribe, address, hard line breaks and straight apostrophes are warnings, not scored.

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 Figma Email Readiness AI skill do?

Audits a Figma file to see whether it is set up well enough for AI to design on-brand, build-ready emails in it, and produces a scored report plus a fix list. Run it before using email-design on a new file, or whenever AI-made emails come out off-brand or hard to build. Use whenever someone asks to audit, score or check a Figma file for email design, or asks "is our Figma ready for AI". Read-only: it never edits the file. Triggers on: Figma audit, Figma readiness, email setup audit, is my Figma ready, score our Figma file.

Why use Figma Email Readiness on TypingMind?

Because you install it once and use it with any model. Figma Email Readiness 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 Figma Email Readiness in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/kingadow/email-design-md/tree/main/skills/figma-email-readiness. 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 Figma Email Readiness?

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 Figma Email Readiness?

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

Is the Figma Email Readiness AI skill free?

Yes. It is published on GitHub by kingadow under the MIT license. 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 👇