Agent skill

Send Email Campaign

by indranilbanerjee in indranilbanerjee/digital-marketing-pro

Send an email campaign via a connected ESP with spam and compliance checks, approval-gated.

MITAuto-check passedMarketing & SEO

Install Send Email Campaign

skills CLI
$ npx skills add indranilbanerjee/digital-marketing-pro --skill send-email-campaign -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install indranilbanerjee/digital-marketing-pro send-email-campaign --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pro.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/send-email-campaign .claude/skills/send-email-campaign && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
send-email-campaign
GitHub stars
862
Used in
1 other repo
Token cost
~3.2k tokens
SKILL.md length
1,604 words
Files
1
Skills in repo
162
Repo updated
First seen
Licence
MIT

At a glance

Send an email campaign via a connected ESP with spam and compliance checks, approval-gated.

  • Works in 5 steps: Present the full preview — recipients /… → The user must type yes (or an equivalent… → Never proceed on ambiguous input. Never… → …
  • Tasks that involve Email marketing
  • SKILL.md covers Purpose, Execution gate (MANDATORY —…, Input Required and Process, plus 2 more sections
  • Calls python

What it does

Send Email Campaign is an agent skill from indranilbanerjee/digital-marketing-pro. Send an email campaign via a connected ESP with spam and compliance checks, approval-gated. "send this newsletter to the active list"

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Marketing & SEO, covering Email marketing, Regulatory compliance and Newsletters. It works with Python. The repository describes itself as: An open-source AI marketing operating system for strategy, SEO, AEO/GEO, paid media, content, CRM, and analytics - grounded in brand context, human approval, and verifiable… The licence is MIT.

When your agent uses it

  • Tasks that involve Email marketing
  • Tasks that involve Regulatory compliance
  • Tasks that involve Newsletters

Example prompts

  • “send this newsletter to the active list”
  • “/send-email-campaign”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Present the full preview — recipients / spend / changes / compliance — as an Execution Summary before touching any live system.
  2. The user must type yes (or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cancels…
  3. Never proceed on ambiguous input. Never auto-retry a failed execution; a failure needs human review before any re-run.
  4. Only after the user types yes, record it: python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action…
  5. Execute. A write sent through connector_executor.py needs --approval-id and fires only against a matching, unused, unexpired record (see…

What it can do on your machine

Read from SKILL.md and the folder at commit 9e949f3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Send Email Campaign loads about 3.2k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 1,604 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~38
When it runs · the whole SKILL.md, loaded when a task matches
~3.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from indranilbanerjee/digital-marketing-pro at commit 9e949f3, republished under its MIT licence (© indranilbanerjee). 1,604 words, ~3,152 tokens.

Download SKILL.mdSave it as .claude/skills/send-email-campaign/SKILL.md (or your agent's skills folder).
name
send-email-campaign
description
Send an email campaign via a connected ESP with spam and compliance checks, approval-gated. "send this newsletter to the active list"
disable-model-invocation
false
argument-hint
[campaign-name]

/digital-marketing-pro:send-email-campaign

Script location. If your host does not set ${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin's scripts/ folder, next to skills/.

Purpose

Create and send a targeted email campaign through the brand's connected email platform with personalization, A/B subject lines, compliance checks, and deliverability monitoring. Handles the full lifecycle from content validation through send execution to post-send monitoring, with tiered risk controls based on recipient list size. Ensures every send passes spam, compliance, and brand voice gates before reaching any inbox.

Execution gate (MANDATORY — cannot be skipped)

  1. Present the full preview — recipients / spend / changes / compliance — as an Execution Summary before touching any live system.
  2. The user must type yes (or an equivalent explicit approval). ANY other input — ambiguous, implied, partial, or absent approval — cancels the run.
  3. Never proceed on ambiguous input. Never auto-retry a failed execution; a failure needs human review before any re-run.
  4. Only after the user types yes, record it: python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action create-approval --data '{"type":"send-email","platform":"<platform>","content_summary":"<one line from the Execution Summary>","risk_level":"<tier>"}', then python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action approve --id {approval_id}. If either command errors, stop and report the error; never work around it with another tool. The record proves the approval step ran for this action; it cannot prove who typed yes.
  5. Execute. A write sent through connector_executor.py needs --approval-id and fires only against a matching, unused, unexpired record (see /digital-marketing-pro:execute-action). A write through a connected MCP server tool is outside that code check: it relies on this typed yes and on your host's permission prompt. Afterwards run python "${CLAUDE_PLUGIN_ROOT}/scripts/approval-manager.py" --brand {slug} --action mark-executed --id {approval_id} --data '{"execution_result":"success"}' (or failure).

Input Required

The user must provide (or will be prompted for):

  • Email content: Subject line, preview text (40-90 chars), body copy with HTML structure, and primary CTA — or a draft to refine
  • Target list or segment: The recipient list name, segment ID, or audience criteria for the send — with confirmation of list hygiene status (last cleaned date)
  • Email platform: Which email service to use — SendGrid, Klaviyo, Customer.io, Brevo, or Mailchimp — must have the corresponding MCP server connected
  • Personalization fields: Dynamic fields to personalize — first name, company, product interest, last purchase, location, or custom merge tags with fallback defaults for missing data
  • A/B variants: Optional — 2-3 subject line or content variants for split testing with desired test percentage (10-50%), test duration, and winning metric (open rate or click rate)
  • Send time: Immediate send, scheduled date and time with timezone, or "optimal" to use send-time optimization based on historical engagement data per segment
  • Reply-to address: Reply-to email address if different from the default sender configured in the platform
  • Sender name and from address: Display name and from address — must match authenticated sending domain (SPF, DKIM, DMARC)
  • Unsubscribe handling: Confirm unsubscribe link placement, one-click unsubscribe header compliance (required for bulk senders per Gmail/Yahoo 2024 rules), and preference center link
  • UTM tracking: Google Analytics UTM parameters for all links in the email body (source, medium, campaign), or auto-generate based on brand naming conventions
  • Suppression list: Any additional email addresses or domains to exclude from this send beyond the platform's global suppression list
  • Email template: Optional — platform template ID to use, or build from scratch with the provided content and brand styling
  • Preheader text strategy: Whether the preview text should complement, tease, or extend the subject line — affects how the email appears in inbox list view
  • Fallback content: Plain-text version of the email for recipients whose clients do not render HTML, or auto-generate from the HTML body

Process

  1. Load brand context: Read ~/.claude-marketing/brands/_active-brand.json for the active slug, then load ~/.claude-marketing/brands/{slug}/profile.json. Apply brand voice, compliance rules for target markets (skills/context-engine/compliance-rules.md), and industry context. Also check for guidelines at ~/.claude-marketing/brands/{slug}/guidelines/_manifest.json — if present, load restrictions. Check for agency SOPs at ~/.claude-marketing/sops/. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.
  2. Verify email platform connection: Check which email MCP server is connected and confirm it matches the user's target platform. Verify the sending domain is authenticated (SPF, DKIM, DMARC records). If not connected or not authenticated, instruct the user on setup steps.
  3. Score email subject lines: Run email-subject-tester.py on all subject line variants to evaluate length (optimal 30-50 chars), power words, personalization token effectiveness, emoji usage, and predicted open rate. Recommend improvements if any variant scores below threshold.
  4. Check spam score: Run spam-score-checker.py to analyze subject lines and body content for spam trigger words, excessive capitalization, exclamation marks, link-to-text ratio, image-to-text ratio, and authentication alignment. Flag any deliverability risks with specific remediation steps.
  5. Optimize send time — the ladder: If the user selected "optimal" timing: (a) if the connected email platform offers per-recipient send-time optimization, use THAT — it outperforms any global window (the script's sto_note states the doctrine); (b) if the list has a send log (timestamps + opens + recipients), write it to JSON and run python "${CLAUDE_PLUGIN_ROOT}/scripts/send-time-optimizer.py" --industry {industry} --audience-type {b2b|b2c|mixed} --history {file} for first-party windows ranked by measured open rate with sample sizes; (c) otherwise the same command without --history returns the DATED population baseline (baseline_as_of + capped-at-medium ceiling; stale baselines refuse with exit 3). Factor in the timezone distribution of the recipient list.
  6. Build platform-specific payload: Structure the email payload per the target platform's API requirements — consult skills/context-engine/platform-publishing-specs.md for field mappings, template rendering, merge tag syntax (e.g., {{first_name}} vs {first_name}), A/B test configuration parameters, and scheduling API format.
  7. Verify list size and consent compliance: Confirm recipient count and segment definition. Check that the list has proper opt-in consent flags for the applicable jurisdiction. Verify unsubscribe mechanism is functional, one-click unsubscribe header is present, physical mailing address is included, and compliance with CAN-SPAM (US), GDPR (EU), CASL (Canada), and any other regulations for the brand's target markets.
  8. Score brand voice: Run brand-voice-scorer.py on the email body content to verify alignment with brand tone and messaging guidelines. Flag any copy that deviates from brand standards.
  9. Create approval record: Create the record via approval-manager.py --action create-approval with the tiered risk level inside the --data JSON — {"type":"send-email","platform":"<platform>","content_summary":"...","risk_level":"medium"} for fewer than 1,000 recipients, "high" for 1,000-10,000, "critical" for more than 10,000. There is no --risk-level flag; see the Execution gate above for the exact command. Generate a send summary with all campaign details, scores, and compliance status.
  10. Present campaign summary: Display the complete summary for user review — subject lines with scores, preview text, recipient count and segment name, send time, personalization preview with sample recipient data, spam score, brand voice score, and compliance checklist. Wait for explicit confirmation.
  11. Send test email: On initial approval, send a test email to the user's address (and any additional test addresses) via the MCP server. Ask the user to confirm the test renders correctly across desktop and mobile, personalization tokens resolve, links work, and images load.
  12. Execute full send via MCP: After test confirmation, trigger the campaign send through the connected email platform MCP. Handle A/B test split configuration, scheduling, and any platform-specific send options (track opens, track clicks, Google Analytics UTM tagging).
  13. Monitor deliverability: After send, poll the platform API at 15-minute intervals for the first hour to track delivery metrics — bounce rate, delivery rate, soft bounces, hard bounces, and spam complaints. Alert the user if bounce rate exceeds 3% or spam complaint rate exceeds 0.1%.
  14. Capture early engagement signals: After 1 hour and again at 4 hours, pull open rate and click rate data. Compare against the brand's historical averages for the same segment. If A/B testing, report which variant is leading.
  15. Log execution: Run execution-tracker.py to log the send event with timestamp, platform, campaign ID, list size, subject lines, A/B configuration, send time, initial delivery metrics, and compliance verification status. Save an insight about subject line performance for future email strategy optimization.
Show full SKILL.md (317 more words)Show less

Output

A structured send confirmation containing:

  • Send confirmation: Campaign ID, platform, send status (sent, scheduled, or A/B testing), and timestamp with timezone
  • List details: Recipient count, segment name, consent verification status, and list hygiene notes
  • Subject line scores: Score breakdown for each variant — length, power words, personalization effectiveness, predicted open rate, and spam risk indicators
  • Spam score report: Overall deliverability risk rating (low/medium/high) with specific flags for any triggered spam indicators and remediation steps
  • Brand voice score: Email content alignment score with notes on tone consistency and any copy adjustments recommended
  • Send time: Actual send time with rationale — user-specified, scheduled with timezone, or optimized with supporting engagement data
  • A/B test configuration: If applicable — variant descriptions, split percentage, test duration, winning metric, and auto-send winner settings
  • Deliverability report: Initial delivery rate, bounce rate (hard and soft), spam complaint rate, and comparison against industry benchmarks for the brand's sector
  • Compliance checklist: Pass/fail for CAN-SPAM, GDPR, CASL, unsubscribe mechanism, one-click unsubscribe header, physical address, authentication headers (SPF, DKIM, DMARC), and sender identity
  • Early engagement signals: 1-hour and 4-hour open rate and click rate snapshots with comparison to brand historical averages and industry benchmarks
  • Personalization preview: Sample rendering showing how the email appears for 2-3 representative recipients with different merge tag values and fallback defaults
  • UTM tracking summary: Complete UTM parameters applied to all email links for attribution tracking in the brand's analytics platform
  • Execution log entry: Timestamped record of the send action with all campaign metadata for audit trail and performance benchmarking

Agents Used

  • email-specialist — Subject line optimization, content personalization strategy, deliverability analysis, spam scoring, send time optimization, compliance verification, brand voice scoring, A/B test design with statistical significance thresholds, and preheader text strategy
  • execution-coordinator — Approval workflow with tiered risk controls based on list size, test send coordination across desktop and mobile, platform API execution, deliverability monitoring with real-time alerting, early engagement signal capture, and execution logging with insight archival

© indranilbanerjee, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/send-email-campaign of indranilbanerjee/digital-marketing-pro.

Open the folder on GitHubat commit 9e949f3

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in indranilbanerjee/digital-marketing-pro, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Send Email Campaign next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Send Email Campaign compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Send Email Campaign this skillindranilbanerjee/digital-marketing-pro8621 repos~3.2kAutomated safety check: PassMIT
Email Marketingshawnpang/startup-founder-skills343—~1.9kAutomated safety check: PassMIT
Paw Mkt Emailpawbytes/skill-suites113—~1.8kAutomated safety check: PassMIT
Form Emailjeremylongshore/tons-of-skills-marketplace2.8k—~3.6kAutomated safety check: NotesMIT
Subject Line Labcognyai/claude-code-marketing-skills104—~2kAutomated safety check: NotesNone
Email Marketingkostja94/marketing-skills1k—~1.5kAutomated safety check: PassMIT

Similar skills

  • Email Marketing

    shawnpang/startup-founder-skills

    When the user needs to design, write, or optimize email sequences -- including welcome series, nurture campaigns, re-engagement flows, onboarding emails, or newsletter strategy.

    343 GitHub stars~1.9k tokensUpdated 6 mo ago
    Marketing & SEOAuto-check passed
  • Paw Mkt Email

    pawbytes/skill-suites

    Email sequences, newsletters, automation, and deliverability strategies.

    113 GitHub stars~1.8k tokensUpdated 8 days ago
    Marketing & SEOAuto-check passed
  • Form Email

    jeremylongshore/tons-of-skills-marketplace

    A skill your agent uses when asked to design an email template, newsletter, drip campaign email, transactional email, or any HTML email asset.

    2.8k GitHub stars~3.6k tokensUpdated yesterday
    Marketing & SEOAuto-check: notes
  • Subject Line Lab

    cognyai/claude-code-marketing-skills

    Mine your actual subject-line history from Klaviyo / Mailchimp / Rule / Get a Newsletter, find the patterns that work for YOUR list, and generate tuned candidates

    104 GitHub stars~2k tokensUpdated 3 mo ago
    Marketing & SEOAuto-check: notes
  • Email Marketing

    kostja94/marketing-skills

    When the user wants to plan email marketing, EDM, newsletter strategy, or email deliverability.

    1k GitHub stars~1.5k tokensUpdated 5 days ago
    Marketing & SEOAuto-check passed
  • Email Marketing

    sanqiufong/slides-from-anything

    A brand product-launch email — masthead with wordmark, hero image block, headline lockup with skewed-italic accent, body copy, primary CTA, and a specifications grid.

    132 GitHub starsUsed in 1 repo~861 tokens
    Marketing & SEOAuto-check passed

More from indranilbanerjee/digital-marketing-pro

All 162 skills in this repo
  • Import Template

    indranilbanerjee/digital-marketing-pro

    Import a deliverable template as a reusable placeholder template per brand.

    862 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • Ab Test Plan

    indranilbanerjee/digital-marketing-pro

    Plan an A/B test by script: sample size per variant, days to run, stopping rules.

    862 GitHub starsUsed in 1 repo~1.9k tokens
    Auto-check passed
  • Aeo Audit

    indranilbanerjee/digital-marketing-pro

    Run a one-time AEO audit of six AI answer engines, scored per surface.

    862 GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Agent Readiness Audit

    indranilbanerjee/digital-marketing-pro

    Audit agent readiness by script: AI-crawler rules, product schema, no-JS HTML, feeds.

    862 GitHub starsUsed in 1 repo~3.7k tokens
    Auto-check passed
  • Backlink Gap

    indranilbanerjee/digital-marketing-pro

    Find backlink gap domains linking to competitors, not you, scored by script.

    862 GitHub starsUsed in 1 repo~2.6k tokens
    Auto-check passed
  • C2pa Metadata

    indranilbanerjee/digital-marketing-pro

    Embed C2PA provenance in AI-generated images, video or PDF by script.

    862 GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed

Works with

Questions about Send Email Campaign

What does Send Email Campaign do?

Send an email campaign via a connected ESP with spam and compliance checks, approval-gated. Send Email Campaign is an agent skill from indranilbanerjee/digital-marketing-pro. Send an email campaign via a connected ESP with spam and compliance checks, approval-gated.

When should I use Send Email Campaign?

Send Email Campaign fits situations like: tasks that involve Email marketing; tasks that involve Regulatory compliance; tasks that involve Newsletters.

How do I install Send Email Campaign in Claude Code?

Run `npx skills add indranilbanerjee/digital-marketing-pro --skill send-email-campaign -a claude-code`. Or copy the skill folder (skills/send-email-campaign in indranilbanerjee/digital-marketing-pro) into .claude/skills/send-email-campaign in your project. Claude Code loads it when a task matches its description.

How do I install Send Email Campaign in Codex?

Run `npx skills add indranilbanerjee/digital-marketing-pro --skill send-email-campaign -a codex`. Or copy the skill folder (skills/send-email-campaign in indranilbanerjee/digital-marketing-pro) into .agents/skills/send-email-campaign in your project. Codex loads it when a task matches its description.

Can I use Send Email Campaign in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add indranilbanerjee/digital-marketing-pro --skill send-email-campaign -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/send-email-campaign, .gemini/skills/send-email-campaign, .github/skills/send-email-campaign and .opencode/skills/send-email-campaign in your project.

What does Send Email Campaign need to run?

Going by SKILL.md and its folder, Send Email Campaign needs the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Send Email Campaign access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Send Email Campaign safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Send Email Campaign use?

Send Email Campaign is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Send Email Campaign use?

About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Send Email Campaign?

Skills that share tags, products or a category with Send Email Campaign: Email Marketing (shawnpang/startup-founder-skills, 343 stars), Paw Mkt Email (pawbytes/skill-suites, 113 stars), Form Email (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Subject Line Lab (cognyai/claude-code-marketing-skills, 104 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Send Email Campaign?

indranilbanerjee (a GitHub user) maintains it in indranilbanerjee/digital-marketing-pro, which has 862 GitHub stars. The repository holds 162 skills in this directory. The repository was last updated on October 9, 2026.

Source: indranilbanerjee/digital-marketing-pro on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.