email-design

Email marketing design with layout patterns, subject line formulas, and deliverability rules. Covers welcome sequences, promotional emails, transactional…

INSTALLATION
npx skills add https://github.com/inference-sh/skills --skill email-design
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

$28

Email Width & Layout

Constraint

Value

Why

Max width

600px

Gmail, Outlook rendering standard

Mobile width

320-414px

Responsive fallback

Single column

Preferred

Better mobile rendering

Two column

Use sparingly

Breaks on many clients

Image width

600px max, 300px for 2-col

Retina: provide 2x (1200px)

Font size (body)

14-16px

Below 14px is hard to read on mobile

Font size (heading)

22-28px

Must be scannable

Line height

1.5

Readability 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

Formula

Example

Open 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

Rule

Value

Length

30-50 characters (mobile truncates at ~35)

Preview text

First 40-100 chars after subject — design this intentionally

Emoji

Max 1, at start or end, test with your audience

ALL CAPS

Never — triggers spam filters

Spam trigger words

Avoid: "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)

Element

Content

Subject

"Welcome to [Product] — here's what's next"

Header

Brand image or product screenshot

Body

3-4 sentences: what they signed up for, what to expect, one quick win

CTA

"Complete your setup" or "Try your first [action]"

Timing

Immediately after signup

Promotional / Campaign

Element

Content

Subject

Benefit-focused, urgency if real

Header

Hero image showing the offer/outcome

Body

Problem → solution → offer → deadline

CTA

"Get 30% Off" or "Start Free Trial"

Urgency

Real deadline, not fake scarcity

Product Update / Changelog

Element

Content

Subject

"New: [Feature name] is here"

Header

Screenshot or visual of the feature

Body

What's new, why it matters, how to use it

CTA

"Try [feature]"

Transactional (Receipts, Confirmations)

Rule

Why

Clear purpose in subject

"Your order #1234 is confirmed"

Minimal design

Don't confuse with marketing

Key info above the fold

Order number, amount, date

No promotional content (mostly)

CAN-SPAM allows some, but keep minimal

Header Image Design

# 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

Rule

Value

Width

200-300px, not full width

Height

44-50px minimum (tap target)

Color

High contrast with background

Text

Action verb + outcome: "Start Free Trial"

Shape

Rounded corners (4-8px border-radius)

Placement

Above the fold, repeated at bottom for long emails

Quantity

ONE 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):

<!-- 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

Rule

Why

Single column layout

Multi-column breaks on mobile

Font minimum 14px

Smaller is unreadable

CTA button minimum 44px tall

Apple/Android tap target

Images scale to 100% width

Prevent horizontal scroll

Stack elements vertically

Side-by-side breaks on narrow screens

Test on Gmail app, Apple Mail, Outlook

The big 3 email clients

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

Deliverability Checklist

Factor

Rule

Image-to-text ratio

Max 40% images, 60% text (spam filters flag image-heavy emails)

Alt text on images

Always — images blocked by default in many clients

Unsubscribe link

Required by law (CAN-SPAM, GDPR) — make it easy to find

From name

Recognizable person or brand name

Reply-to

Real address, not no-reply@ (hurts deliverability)

List hygiene

Remove bounces, clean inactive subscribers quarterly

SPF/DKIM/DMARC

Technical authentication — set up once, critical for inbox

Common Mistakes

Mistake

Problem

Fix

No preview text

Shows "View in browser" or random code

Set preview text intentionally

Image-only emails

Blocked images = blank email + spam risk

60%+ text, alt text on images

Multiple CTAs

Decision paralysis, lower click rate

One primary CTA per email

Tiny text

Unreadable on mobile

Minimum 14px body, 22px headings

no-reply@ sender

Hurts deliverability, feels impersonal

Use real reply address

No mobile testing

Broken layout for 60%+ of readers

Test on Gmail app + Apple Mail

Missing unsubscribe

Illegal (CAN-SPAM) + spam complaints

Clear unsubscribe link in footer

Over-designing

Email clients render CSS inconsistently

Simple layouts, inline styles

Fake urgency

Erodes trust, trains users to ignore

Only use real deadlines

Related Skills

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 store

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card