email-templates
Email Templates Skill
Purpose
Produces HTML + plain text email templates for form submissions. Transactional only.
Scope
| ✅ Transactional | ❌ NOT Supported |
|---|---|
| Form confirmations | Marketing campaigns |
| Lead notifications | Newsletters |
| Quote results | Nurture sequences |
| System alerts | Promotional emails |
This skill is for transactional emails only. No marketing.
Skill Output
For each form, this skill produces:
| Template | To | Required |
|---|---|---|
| Lead Notification | Business | ✅ |
| Customer Confirmation | Customer | ✅ |
| Quote Result | Customer | If calculator |
Rule: Every form needs BOTH business + customer email. No exceptions.
Core Rules
- Two emails per form — Business notification + customer confirmation
- HTML + plain text — Both versions required
- No external images — Inline styles only
- Mobile-first — 600px max width, large text
- Brand colors from design-tokens — No hardcoded colors
- Reply-to = business email — Never noreply-only
Required Fields
Lead Notification
interface LeadNotificationData {
name: string; // Required
email: string; // Required
phone?: string;
message?: string;
source: string; // Required - page URL
timestamp: string; // Required
utm?: { source?: string; medium?: string; campaign?: string; };
}
Customer Confirmation
interface ConfirmationData {
name: string; // Required
businessName: string; // Required
businessPhone: string; // Required
businessEmail: string; // Required
responseTime: string; // Required - e.g., "within 2 hours"
}
Quote Result
interface QuoteData {
name: string; // Required
businessName: string; // Required
resultUrl: string; // Required
summary: string; // Required
priceRange?: string;
validUntil?: string;
}
Blocking Conditions (STOP)
Do NOT send email if:
| Condition | Check |
|---|---|
| Missing required field | name, email, businessName |
| No plain text version | Both versions required |
| Invalid email format | Basic validation |
| No reply-to set | Business must be reachable |
Missing required field = email NOT sent. Log error.
Email Structure
Lead Notification (to Business)
| Section | Content |
|---|---|
| Header | "🎉 New Lead!" + accent color |
| Body | Name, Email, Phone, Message |
| Actions | Call button, Reply button |
| Footer | Source URL, UTM data, Timestamp |
Customer Confirmation (to Customer)
| Section | Content |
|---|---|
| Header | "Thanks, {name}!" |
| Body | Confirmation message |
| Next Steps | Numbered list |
| Footer | Business contact info |
Quote Result (to Customer)
| Section | Content |
|---|---|
| Header | "Your Quote is Ready" |
| Body | Price range, Summary |
| CTA | "View Full Quote" button |
| Footer | Validity date |
Subject Lines
| Type | Pattern | Example |
|---|---|---|
| Lead notification | 🎉 New lead: {name} |
"🎉 New lead: John Smith" |
| Confirmation | Thanks for your enquiry - {business} |
"Thanks for your enquiry - Bristol Removals" |
| Quote | Your quote from {business} |
"Your quote from Bristol Removals" |
Plain Text Rules
- Max 70 characters per line
- No HTML references
- Same content as HTML
- Clear section breaks with blank lines
Testing Checklist
- Renders on Gmail (web + mobile)
- Renders on Outlook
- Renders on Apple Mail
- Plain text readable
- Links work
- Reply-to correct
- From name = business name
Forbidden
- ❌ External image URLs
- ❌ HTML-only (no plain text)
- ❌ Generic "noreply@" without business name
- ❌ Marketing content in transactional
- ❌ Sending with missing required fields
- ❌ Only business OR only customer email
References
- lead-notification.md — Full HTML template
- customer-confirmation.md — Full HTML template
- quote-result.md — Full HTML template
- resend-setup.md — Sending implementation
Definition of Done
- Lead notification template (HTML + text)
- Customer confirmation template (HTML + text)
- Quote template if calculator (HTML + text)
- Both emails sent per form submission
- Tested on Gmail, Outlook, Apple Mail
- From name = business name
- Reply-to = business email
More from soborbo/claudeskills
astro-seo
SEO markup patterns for Astro lead generation sites. Meta tags, Open Graph, Schema.org, sitemap, robots. Use for all SEO implementation.
37astro-architecture
Technical architecture for Astro lead generation websites. Use when setting up new projects, configuring build tools, or establishing project foundations. For images use astro-images skill. For SEO use astro-seo skill.
20astro-performance
Core Web Vitals and performance optimization for Astro sites. LCP preloading, font strategy, image patterns, critical path, third-party scripts, Cloudflare Tag Gateway. Use for performance tuning.
18astro-animations
Animation patterns for Astro sites. Scroll animations, micro-interactions, transitions, loading states. Performance-focused, accessibility-aware.
17astro-a11y
Accessibility patterns for Astro lead generation sites. WCAG 2.1 AA compliance, screen readers, keyboard navigation, focus management, ARIA. Use for all accessibility implementation.
14astro-ux
UX patterns and section templates for Astro lead generation sites. Hero, features, testimonials, CTAs, FAQ sections. Use for page section design.
13