mcpField
E
email-marketing

email-marketing

github.com/dengineproblemMarketing & growth78 installs
Repository

About email-marketing

email-marketing is a skill for planning and executing email marketing, covering segmentation, automation, deliverability, and testing. It is intended for teams managing campaigns and ongoing email programs.

Key features

  1. 01Build and segment subscriber lists
  2. 02Plan calendars and lifecycle marketing
  3. 03Design automated email sequences
  4. 04Configure SPF, DKIM, and DMARC
  5. 05Run A/B tests and review metrics

Use cases

  1. 01Plan welcome and nurture sequences
  2. 02Segment audiences by behavior
  3. 03Improve deliverability and list hygiene
  4. 04Test subject lines and email content

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/dengineproblem/agents-monorepo --skill email-marketing

After installing, type/email-marketingin Claude Code to confirm it loaded.

Details

From the project README

Email Marketing Expert

Comprehensive expertise in email marketing strategy and execution.

Core Competencies

Strategy
  • List building and segmentation
  • Email calendar planning
  • Lifecycle marketing
  • Personalization strategy
  • A/B testing frameworks
Automation
  • Welcome sequences
  • Nurture campaigns
  • Trigger-based emails
  • Re-engagement flows
  • Win-back sequences
Deliverability
  • Sender reputation management
  • Authentication (SPF, DKIM, DMARC)
  • List hygiene
  • Spam trap avoidance
  • ISP relationship management

Email Types

Marketing Emails
  • Newsletters
  • Promotional campaigns
  • Product announcements
  • Event invitations
  • Content distribution
Automated Sequences
  • Welcome series
  • Onboarding sequences
  • Lead nurturing
  • Abandoned cart
  • Re-engagement
  • Win-back
Transactional Emails
  • Order confirmations
  • Shipping updates
  • Password resets
  • Account notifications

Email Authentication Setup

# SPF Record
v=spf1 include:_spf.google.com include:sendgrid.net ~all

# DKIM Record
selector._domainkey.example.com IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3..."

# DMARC Record
_dmarc.example.com IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]"

Key Metrics

MetricBenchmarkDescription
Open Rate20-25%Unique opens / Delivered
Click Rate2-5%Unique clicks / Delivered
Click-to-Open10-15%Clicks / Opens
Unsubscribe Rate<0.5%Unsubscribes / Delivered
Bounce Rate<2%Bounces / Sent
Spam Complaints<0.1%Complaints / Delivered
Conversion RateVariesConversions / Clicks

Segmentation Strategies

Behavioral Segmentation:
  - Purchase history
  - Email engagement
  - Website activity
  - Product preferences
  - Cart abandonment

Demographic Segmentation:
  - Location/timezone
  - Job title/industry
  - Company size
  - Age/gender

Lifecycle Stages:
  - New subscribers
  - Active customers
  - At-risk (declining engagement)
  - Churned (re-activation target)
  - VIP/high-value

Automation Workflows

Welcome Sequence
Day 0 - Welcome Email:
  trigger: subscription_confirmed
  content: Brand introduction, expectations
  cta: Complete profile

Day 2 - Value Email:
  trigger: previous_opened OR time_delay
  content: Top content, quick wins
  cta: Explore resources

Day 5 - Social Proof:
  trigger: time_delay
  content: Customer stories, testimonials
  cta: See case studies

Day 7 - Soft CTA:
  trigger: time_delay
  content: Product introduction
  cta: Start free trial
Abandoned Cart Flow
Hour 1 - Reminder:
  trigger: cart_abandoned
  content: Items in cart reminder
  cta: Complete purchase

Hour 24 - Urgency:
  trigger: no_purchase
  content: Items may sell out
  cta: Secure your items

Hour 72 - Incentive:
  trigger: no_purchase
  content: Special discount offer
  cta: Get 10% off

A/B Testing Framework

Test Elements
Subject Lines:
  - Length (short vs long)
  - Personalization
  - Emojis
  - Questions vs statements
  - Urgency words

Content:
  - Layout (single vs multi-column)
  - Image count and placement
  - CTA button color/text
  - Copy length
  - Personalization depth

Timing:
  - Send day
  - Send time
  - Timezone optimization
Statistical Significance
import scipy.stats as stats

def calculate_significance(control_opens, control_sent,
                          variant_opens, variant_sent,
                          confidence=0.95):
    """Calculate if A/B test result is significant."""

    control_rate = control_opens / control_sent
    variant_rate = variant_opens / variant_sent

    # Pooled proportion
    pooled = (control_opens + variant_opens) / (control_sent + variant_sent)

    # Standard error
    se = (pooled * (1 - pooled) * (1/control_sent + 1/variant_sent)) ** 0.5

    # Z-score
    z = (variant_rate - control_rate) / se

    # P-value
    p_value = 2 * (1 - stats.norm.cdf(abs(z)))

    return {
        'control_rate': control_rate,
        'variant_rate': variant_rate,
        'lift': (variant_rate - control_rate) / control_rate * 100,
        'p_value': p_value,
        'significant': p_value < (1 - confidence)
    }

Best Practices

Subject Lines
  • Under 50 characters
  • Create curiosity or urgency
  • Personalize when appropriate
  • A/B test consistently
  • Avoid spam trigger words
Email Copy
  • Clear value proposition
  • Single primary CTA
  • Mobile-optimized layout
  • Scannable format with headers
  • Personalization tokens
  • Alt text for images
Deliverability
  • Clean lists regularly (remove bounces, unengaged)
  • Authenticate domains (SPF, DKIM, DMARC)
  • Maintain consistent sending volume
  • Monitor sender reputation
  • Use double opt-in
  • Honor unsubscribes immediately
Send Time Optimization
def optimize_send_time(subscriber_data):
    """Analyze historical engagement to find optimal send times."""

    engagement_by_hour = {}

    for subscriber in subscriber_data:
        local_time = convert_to_local(subscriber['open_time'],
                                      subscriber['timezone'])
        hour = local_time.hour

        if hour not in engagement_by_hour:
            engagement_by_hour[hour] = {'opens': 0, 'total': 0}

        engagement_by_hour[hour]['opens'] += 1
        engagement_by_hour[hour]['total'] += 1

    # Calculate open rates by hour
    for hour, data in engagement_by_hour.items():
        data['rate'] = data['opens'] / data['total']

    # Find best hours
    sorted_hours = sorted(engagement_by_hour.items(),
                         key=lambda x: x[1]['rate'],
                         reverse=True)

    return sorted_hours[:3]  # Top 3 hours

List Hygiene

Engagement Scoring
-- Calculate subscriber engagement score
SELECT
    subscriber_id,
    email,
    COUNT(CASE WHEN event_type = 'open' THEN 1 END) as opens_30d,
    COUNT(CASE WHEN event_type = 'click' THEN 1 END) as clicks_30d,
    MAX(event_date) as last_activity,
    CASE
        WHEN COUNT(CASE WHEN event_type = 'open' THEN 1 END) >= 5 THEN 'highly_engaged'
        WHEN COUNT(CASE WHEN event_type = 'open' THEN 1 END) >= 2 THEN 'engaged'
        WHEN COUNT(CASE WHEN event_type = 'open' THEN 1 END) >= 1 THEN 'somewhat_engaged'
        ELSE 'unengaged'
    END as engagement_tier
FROM email_events
WHERE event_date >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY subscriber_id, email;
Sunset Policy
Re-engagement Campaign:
  trigger: no_opens_60_days
  sequence:
    - Day 0: "We miss you" email
    - Day 7: "Last chance" with offer
    - Day 14: Final warning

  action_after_sequence:
    if: no_engagement
    then: move_to_suppression_list

Tools Proficiency

ESP Platforms
  • SMB: Klaviyo, Mailchimp, ConvertKit
  • Mid-Market: HubSpot, ActiveCampaign, Drip
  • Enterprise: Salesforce Marketing Cloud, Marketo, Braze
Transactional
  • SendGrid, Postmark, Amazon SES, Mailgun
Testing & Preview
  • Litmus, Email on Acid
Analytics
  • Google Analytics (UTM tracking)
  • Native ESP analytics
  • Custom data warehouse

Лучшие практики

  1. Permission-based — только подтверждённые подписчики
  2. Segmentation — релевантный контент для сегментов
  3. Testing — постоянное A/B тестирование
  4. Automation — автоматизируйте lifecycle emails
  5. Deliverability — мониторинг репутации отправителя
  6. Mobile-first — 60%+ открытий на мобильных

Comments

Markdown supported