Email Design logo

Email Design

Organization
inference-sh
email-design

Email marketing design with layout patterns, subject line formulas, and deliverability rules. Covers welcome sequences, promotional emails, transactional templates, and mobile optimization. Use for: email marketing, newsletter design, drip campaigns, email templates, transactional emails. Triggers: email design, email template, email marketing, newsletter design, email layout, email campaign, drip campaign, welcome email, promotional email, transactional email, email subject line, email header image, email banner

Overview

Publisherinference-sh
Repositoryskills
Skill nameemail-design
Stars
790
Forks
106
Bundled files
Instructions only
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.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by inference-sh on GitHub. Read the source before you install it.

Installation

Install the Email Design 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/inference-sh/skills/tree/main/guides/design/email-design
  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/inference-sh/skills.git /tmp/skills
mkdir -p .claude/skills
cp -r /tmp/skills/guides/design/email-design .claude/skills/email-design
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Email Design 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 Email Design 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 Email Design 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.

Install the belt CLI skill: npx skills add belt-sh/cli

Email Design

Design high-converting marketing emails with AI-generated visuals via inference.sh CLI.

Quick Start

Requires inference.sh CLI (belt). Install instructions

bash
belt login

# Generate email header banner
belt app run infsh/html-to-image --input '{
  "html": "<div style=\"width:600px;height:250px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-family:system-ui;color:white;text-align:center\"><div><h1 style=\"font-size:36px;margin:0\">Spring Sale — 30% Off</h1><p style=\"font-size:18px;opacity:0.9\">This weekend only</p></div></div>"
}'

Email Width & Layout

ConstraintValueWhy
Max width600pxGmail, Outlook rendering standard
Mobile width320-414pxResponsive fallback
Single columnPreferredBetter mobile rendering
Two columnUse sparinglyBreaks on many clients
Image width600px max, 300px for 2-colRetina: provide 2x (1200px)
Font size (body)14-16pxBelow 14px is hard to read on mobile
Font size (heading)22-28pxMust be scannable
Line height1.5Readability on all devices

The Inverted Pyramid Layout

The most effective email layout funnels attention to a single CTA:

┌──────────────────────────────────┐
│           HEADER IMAGE           │  ← Brand/visual hook
│          (600 x 200-300)         │
├──────────────────────────────────┤
│                                  │
│     Headline (one line)          │  ← What's this about
│                                  │
│     2-3 sentences of body copy   │  ← Why should I care
│     explaining the value.        │
│                                  │
│        ┌──────────────┐          │
│        │   CTA BUTTON  │         │  ← One clear action
│        └──────────────┘          │
│                                  │
├──────────────────────────────────┤
│     Footer: Unsubscribe link     │
└──────────────────────────────────┘

Subject Lines

Formulas That Work

FormulaExampleOpen Rate Impact
Number + benefit"5 ways to cut your build time in half"High
Question"Are you still deploying on Fridays?"High
How-to"How to automate your reports in 3 steps"Medium-High
Urgency (genuine)"Last day: 30% off annual plans"High (if real)
Personalized"[Name], your weekly report is ready"Very High
Curiosity gap"The one feature our users can't stop talking about"Medium-High

Rules

RuleValue
Length30-50 characters (mobile truncates at ~35)
Preview textFirst 40-100 chars after subject — design this intentionally
EmojiMax 1, at start or end, test with your audience
ALL CAPSNever — triggers spam filters
Spam trigger wordsAvoid: "free", "act now", "limited time", "click here" in subject
Personalization[First name] in subject lifts open rates 20%+

Preview Text

The preview text appears after the subject line in the inbox. Don't waste it.

❌ "View this email in your browser" (default, wasted space)
❌ "Having trouble viewing this?" (no one cares)

✅ Subject: "5 ways to cut build time"
   Preview: "Number 3 saved us 6 hours per week"

✅ Subject: "Your monthly report is ready"
   Preview: "Revenue up 23% — here's what drove it"

Email Types

Welcome Email (Automated, Day 0)

ElementContent
Subject"Welcome to [Product] — here's what's next"
HeaderBrand image or product screenshot
Body3-4 sentences: what they signed up for, what to expect, one quick win
CTA"Complete your setup" or "Try your first [action]"
TimingImmediately after signup

Promotional / Campaign

ElementContent
SubjectBenefit-focused, urgency if real
HeaderHero image showing the offer/outcome
BodyProblem → solution → offer → deadline
CTA"Get 30% Off" or "Start Free Trial"
UrgencyReal deadline, not fake scarcity

Product Update / Changelog

ElementContent
Subject"New: [Feature name] is here"
HeaderScreenshot or visual of the feature
BodyWhat's new, why it matters, how to use it
CTA"Try [feature]"

Transactional (Receipts, Confirmations)

RuleWhy
Clear purpose in subject"Your order #1234 is confirmed"
Minimal designDon't confuse with marketing
Key info above the foldOrder number, amount, date
No promotional content (mostly)CAN-SPAM allows some, but keep minimal

Header Image Design

bash
# Welcome email header
belt app run infsh/html-to-image --input '{
  "html": "<div style=\"width:600px;height:250px;background:linear-gradient(135deg,#2d3436,#636e72);display:flex;align-items:center;padding:40px;font-family:system-ui;color:white\"><div><p style=\"font-size:14px;text-transform:uppercase;letter-spacing:2px;opacity:0.7;margin:0\">Welcome to</p><h1 style=\"font-size:42px;margin:8px 0 0;font-weight:800\">DataFlow</h1><p style=\"font-size:18px;opacity:0.8;margin-top:4px\">Your data, automated</p></div></div>"
}'

# Sale / promotional header
belt app run infsh/html-to-image --input '{
  "html": "<div style=\"width:600px;height:300px;background:linear-gradient(135deg,#e74c3c,#c0392b);display:flex;align-items:center;justify-content:center;font-family:system-ui;color:white;text-align:center\"><div><p style=\"font-size:20px;opacity:0.9;margin:0\">This Weekend Only</p><h1 style=\"font-size:72px;margin:8px 0;font-weight:900\">30% OFF</h1><p style=\"font-size:18px;opacity:0.8\">All annual plans. Ends Sunday.</p></div></div>"
}'

# Feature announcement header with AI visual
belt app run falai/flux-dev-lora --input '{
  "prompt": "clean modern email header banner, abstract flowing data visualization, dark blue gradient background, subtle glowing nodes and connections, tech aesthetic, minimal, no text, 600x250 equivalent",
  "width": 1200,
  "height": 500
}'

CTA Buttons

RuleValue
Width200-300px, not full width
Height44-50px minimum (tap target)
ColorHigh contrast with background
TextAction verb + outcome: "Start Free Trial"
ShapeRounded corners (4-8px border-radius)
PlacementAbove the fold, repeated at bottom for long emails
QuantityONE primary CTA per email

Bulletproof Buttons

HTML buttons render differently across email clients. Use the "bulletproof button" technique (VML for Outlook, HTML/CSS for everything else):

html
<!-- Bulletproof button (works everywhere including Outlook) -->
<table cellpadding="0" cellspacing="0" border="0">
  <tr>
    <td align="center" bgcolor="#22c55e" style="border-radius:6px;">
      <a href="https://yoursite.com/action" target="_blank"
         style="font-size:16px;font-family:sans-serif;color:#ffffff;
                text-decoration:none;padding:12px 24px;display:inline-block;
                font-weight:bold;">
        Start Free Trial
      </a>
    </td>
  </tr>
</table>

Mobile Optimization

RuleWhy
Single column layoutMulti-column breaks on mobile
Font minimum 14pxSmaller is unreadable
CTA button minimum 44px tallApple/Android tap target
Images scale to 100% widthPrevent horizontal scroll
Stack elements verticallySide-by-side breaks on narrow screens
Test on Gmail app, Apple Mail, OutlookThe big 3 email clients

60%+ of emails are opened on mobile. Design mobile-first.

Deliverability Checklist

FactorRule
Image-to-text ratioMax 40% images, 60% text (spam filters flag image-heavy emails)
Alt text on imagesAlways — images blocked by default in many clients
Unsubscribe linkRequired by law (CAN-SPAM, GDPR) — make it easy to find
From nameRecognizable person or brand name
Reply-toReal address, not no-reply@ (hurts deliverability)
List hygieneRemove bounces, clean inactive subscribers quarterly
SPF/DKIM/DMARCTechnical authentication — set up once, critical for inbox

Common Mistakes

MistakeProblemFix
No preview textShows "View in browser" or random codeSet preview text intentionally
Image-only emailsBlocked images = blank email + spam risk60%+ text, alt text on images
Multiple CTAsDecision paralysis, lower click rateOne primary CTA per email
Tiny textUnreadable on mobileMinimum 14px body, 22px headings
no-reply@ senderHurts deliverability, feels impersonalUse real reply address
No mobile testingBroken layout for 60%+ of readersTest on Gmail app + Apple Mail
Missing unsubscribeIllegal (CAN-SPAM) + spam complaintsClear unsubscribe link in footer
Over-designingEmail clients render CSS inconsistentlySimple layouts, inline styles
Fake urgencyErodes trust, trains users to ignoreOnly use real deadlines

Related Skills

bash
npx skills add inference-sh/skills@landing-page-design
npx skills add inference-sh/skills@ai-image-generation
npx skills add inference-sh/skills@prompt-engineering

Browse all apps: belt app list

Frequently asked questions

What does the Email Design AI skill do?

Email marketing design with layout patterns, subject line formulas, and deliverability rules. Covers welcome sequences, promotional emails, transactional templates, and mobile optimization. Use for: email marketing, newsletter design, drip campaigns, email templates, transactional emails. Triggers: email design, email template, email marketing, newsletter design, email layout, email campaign, drip campaign, welcome email, promotional email, transactional email, email subject line, email header image, email banner

Why use Email Design on TypingMind?

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

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/inference-sh/skills/tree/main/guides/design/email-design. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Email Design?

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 Email Design?

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

Is the Email Design AI skill free?

It is published on GitHub by inference-sh. 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 👇