Not in the top 1,000 by GitHub stars

irinabuht12-oss/email-campaigns-claude

Claude Code skill for HTML email campaigns with Resend. Pull the numbers from your ads via the free Ryze MCP: claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 7c30e5dfce1c

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 7c30e5dfce1c26831c4223c51a9160f11f8e3fea

163GitHub stars
2stars in 7 days
1skill in this repository
0commits in 30 days

Heat

2.4
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 5, 2026163

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

email-campaigns

When your agent uses it

Design, build, and send beautiful HTML email campaigns via Resend. Handles asset hosting (images + GIFs on your own CDN), the pre-built email HTML component library (frost-glass cards, hero image, video blocks with blurred backgrounds, CTA buttons, footer), GIF optimization from MP4 source video, and sending via the Resend API. Use when asked to "create an email", "draft a marketing email", "send a campaign", "make an email sequence", or "build an email with Resend". Proactively suggest when the user mentions sending marketing emails, launching a feature via email, or designing a newsletter.

What it loads into context

Frontmatter

176 tokens

Always available to the agent

SKILL.md

3,297 tokens

When the skill is activated

Reference documents

776 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. 1. Asset hosting — use your own site as a CDN
  2. 2. Design system — reusable blocks
  3. 3. GIF optimization workflow
  4. 4. Sending via Resend
  5. 5. Pre-send checklist
  6. 6. Conversion best practices
  7. 7. Template starter
  8. 8. What NOT to do

Files

  • LICENSEasset1,078 bytes
  • README.mddoc2,959 bytes
  • SKILL.mdcore11,669 bytes
  • SKILL.mdcore11,669 bytes
  • SKILL.mdcore11,669 bytes
  • SKILL.mdcore11,669 bytes
  • SKILL.mdcore11,669 bytes
  • SKILL.mdcore11,669 bytes
  • demo.gifasset5,871,173 bytes
  • examples/claude-connector.htmlasset23,166 bytes
Read SKILL.md

# Email Campaigns

Build modern, on-brand marketing emails and send them via Resend. This skill encodes a complete pattern: asset hosting, reusable HTML components, GIF tooling, and the Resend send pipeline.

## 1. Asset hosting — use your own site as a CDN

**Setup once.** In a Next.js or any static-hosted project, create a folder served at the site root:

```
<project>/public/email-assets/
  <campaign-name>/
    hero.png
    demo.gif
```
View the complete source on GitHub

Skills included

  • email-campaigns

Repository facts

License
MIT
Created
Apr 14, 2026
Last pushed
Sep 8, 2026
Forks
17
Open issues
1
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 5 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 46 signals by file

README.md

  • Network accessline 3
    Beautiful HTML email campaigns with [Resend](https://resend.com) and [Claude Code](https://claude.com/claude-code).
  • Network accessline 17
    # Clone git clone https://github.com/irinabuht12-oss/email-campaigns-claude.git
  • Network accessline 18
    git clone https://github.com/irinabuht12-oss/email-campaigns-claude.git
  • Network accessline 59
    claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp
  • Network accessline 62
    In claude.ai, Claude Desktop or Cursor: Settings › Connectors › Add custom connector, paste `https://connector.get-ryze.ai/mcp`. [Setup guide →](https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp) · [48 more Claude marketi

SKILL.md

  • Broad permissionsline 1
    Bash
  • Network accessline 31
    Anything in `public/` is served at `https://yourdomain.com/email-assets/...`. Commit + push = instant CDN. No Cloudinary, no S3.
  • Network accessline 40
    **Before sending:** swap all local paths to absolute URLs (`https://yourdomain.com/email-assets/...`). Relative paths work in browser preview but break in recipients' inboxes.
  • Network accessline 107
    <p>Video title</p>   <table width="100%">     <tr><td style="background-image:url('https://yourdomain.com/email-assets/header_blur.png');
  • Network accessline 108
    <table width="100%">     <tr><td style="background-image:url('https://yourdomain.com/email-assets/header_blur.png');                    background-size:cover; border-radius:3px; padding:14px;
  • Network accessline 109
    <tr><td style="background-image:url('https://yourdomain.com/email-assets/header_blur.png');
  • Access to secretsline 191
    [Credential-related source omitted]
  • Access to secretsline 202
    [Credential-related source omitted]
  • Network accessline 209
    html,   // Optional plain-text fallback   text: 'We released the Claude connector. Connect in 1 click: https://...',
  • Network accessline 210
    // Optional plain-text fallback   text: 'We released the Claude connector. Connect in 1 click: https://...', });
  • Network accessline 211
    text: 'We released the Claude connector. Connect in 1 click: https://...',
  • Network accessline 257
    - [ ] All asset URLs are absolute (`https://...`), not relative (`/email-assets/...`)
  • Network accessline 288
    Preview locally at `http://localhost:3000/email-assets/2026-05-launch/preview.html`.

examples/claude-connector.html

  • Network accessline 1
    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
  • Network accessline 2
    <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office">
  • Network accessline 66
    <tr>                               <td style="width: 72px; height: 72px; background-color: #f4f4f7; background-image: linear-gradient(135deg, #ffffff 0%, #f4f4f7 100%); border-radius: 3px; box-shadow: 0 1px 3px rgba(24,24,27,0.08), 0 4px 12
  • Network accessline 67
    <td style="width: 72px; height: 72px; background-color: #f4f4f7; background-image: linear-gradient(135deg, #ffffff 0%, #f4f4f7 100%); border-radius: 3px; box-shadow: 0 1px 3px rgba(24,24,27,0.08), 0 4px 12px rgba(24,24,27,0.06); text-align:
  • Network accessline 68
    <img src="https://get-ryze.ai/icons/meta-logo.png" width="39" height="39" alt="Meta Ads" style="display: inline-block; border-radius: 6px; vertical-align: middle;">
  • Network accessline 76
    <tr>                               <td style="width: 72px; height: 72px; background-color: #f4f4f7; background-image: linear-gradient(135deg, #ffffff 0%, #f4f4f7 100%); border-radius: 3px; box-shadow: 0 1px 3px rgba(24,24,27,0.08), 0 4px 12
  • Network accessline 77
    <td style="width: 72px; height: 72px; background-color: #f4f4f7; background-image: linear-gradient(135deg, #ffffff 0%, #f4f4f7 100%); border-radius: 3px; box-shadow: 0 1px 3px rgba(24,24,27,0.08), 0 4px 12px rgba(24,24,27,0.06); text-align:
  • Network accessline 78
    <img src="https://get-ryze.ai/icons/google-ads-logo.png" width="39" height="39" alt="Google Ads" style="display: inline-block; border-radius: 6px; vertical-align: middle;">
  • Network accessline 86
    <tr>                               <td style="width: 72px; height: 72px; background-color: #f4f4f7; background-image: linear-gradient(135deg, #ffffff 0%, #f4f4f7 100%); border-radius: 3px; box-shadow: 0 1px 3px rgba(24,24,27,0.08), 0 4px 12
  • Network accessline 87
    <td style="width: 72px; height: 72px; background-color: #f4f4f7; background-image: linear-gradient(135deg, #ffffff 0%, #f4f4f7 100%); border-radius: 3px; box-shadow: 0 1px 3px rgba(24,24,27,0.08), 0 4px 12px rgba(24,24,27,0.06); text-align:
  • Network accessline 88
    <img src="https://get-ryze.ai/icons/Claude-logo.png" width="57" height="57" alt="Claude" style="display: inline-block; border-radius: 6px; vertical-align: middle; filter: brightness(1.08) saturate(1.15);">
  • Network accessline 96
    <tr>                               <td style="width: 72px; height: 72px; background-color: #f4f4f7; background-image: linear-gradient(135deg, #ffffff 0%, #f4f4f7 100%); border-radius: 3px; box-shadow: 0 1px 3px rgba(24,24,27,0.08), 0 4px 12
  • Network accessline 97
    <td style="width: 72px; height: 72px; background-color: #f4f4f7; background-image: linear-gradient(135deg, #ffffff 0%, #f4f4f7 100%); border-radius: 3px; box-shadow: 0 1px 3px rgba(24,24,27,0.08), 0 4px 12px rgba(24,24,27,0.06); text-align:
  • Network accessline 98
    <img src="https://get-ryze.ai/icons/google-analytics.png" width="34" height="34" alt="Google Analytics" style="display: inline-block; border-radius: 6px; vertical-align: middle;">
  • Network accessline 106
    <tr>                               <td style="width: 72px; height: 72px; background-color: #f4f4f7; background-image: linear-gradient(135deg, #ffffff 0%, #f4f4f7 100%); border-radius: 3px; box-shadow: 0 1px 3px rgba(24,24,27,0.08), 0 4px 12
  • Network accessline 107
    <td style="width: 72px; height: 72px; background-color: #f4f4f7; background-image: linear-gradient(135deg, #ffffff 0%, #f4f4f7 100%); border-radius: 3px; box-shadow: 0 1px 3px rgba(24,24,27,0.08), 0 4px 12px rgba(24,24,27,0.06); text-align:
  • Network accessline 108
    <img src="https://get-ryze.ai/icons/slack-logo.png" width="34" height="34" alt="Slack" style="display: inline-block; border-radius: 6px; vertical-align: middle;">
  • Network accessline 166
    <tr>                         <td style="border-radius: 4px; background-color: #18181b;" align="center">                           <a href="https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp" target="_blank" style="display:
  • Network accessline 167
    <td style="border-radius: 4px; background-color: #18181b;" align="center">                           <a href="https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp" target="_blank" style="display: block; padding: 14px 24px; f
  • Network accessline 168
    <a href="https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp" target="_blank" style="display: block; padding: 14px 24px; font-size: 14px; font-weight: 600; color: #ffffff; text-decoration: none; font-family: -apple-system, 
  • Network accessline 169
    <img src="https://get-ryze.ai/icons/Claude-logo.png" width="20" height="20" alt="" style="display: inline-block; vertical-align: middle; margin-right: 8px; border-radius: 3px;">
  • Network accessline 290
    <tr>                         <td style="border-radius: 4px; background-color: #18181b;" align="center">                           <a href="https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp" target="_blank" style="display:
  • Network accessline 291
    <td style="border-radius: 4px; background-color: #18181b;" align="center">                           <a href="https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp" target="_blank" style="display: block; padding: 14px 24px; f
  • Network accessline 292
    <a href="https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp" target="_blank" style="display: block; padding: 14px 24px; font-size: 14px; font-weight: 600; color: #ffffff; text-decoration: none; font-family: -apple-system, 
  • Network accessline 293
    <img src="https://get-ryze.ai/icons/Claude-logo.png" width="20" height="20" alt="" style="display: inline-block; vertical-align: middle; margin-right: 8px; border-radius: 3px;">
  • Network accessline 315
    <td style="padding: 24px 0 0 0;" class="mobile-padding">               <p style="margin: 0; font-size: 12px; line-height: 1.5; color: #a1a1aa; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;">      
  • Network accessline 316
    <p style="margin: 0; font-size: 12px; line-height: 1.5; color: #a1a1aa; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;">                 Ryze AI &middot; <a href="https://get-ryze.ai" style="color:
  • Network accessline 317
    Ryze AI &middot; <a href="https://get-ryze.ai" style="color: #a1a1aa; text-decoration: underline;">get-ryze.ai</a>

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 18 facts
  • Network access in prose of documentationREADME.md:3Low confidence
  • Network access in code of documentationREADME.md:17Low confidence
  • Network access in code of documentationREADME.md:18Low confidence
  • Network access in code of documentationREADME.md:59Low confidence
  • Network access in prose of documentationREADME.md:62Low confidence
  • Broad permissions in the frontmatter of the SKILL.mdSKILL.md:1High confidence
  • Network access in prose of the SKILL.mdSKILL.md:31Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:40Low confidence
  • Network access in code of the SKILL.mdSKILL.md:107High confidence
  • Network access in code of the SKILL.mdSKILL.md:108High confidence
  • Network access in code of the SKILL.mdSKILL.md:109High confidence
  • Access to secrets in prose of the SKILL.mdSKILL.md:191Low confidence
  • Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valueSKILL.md:202Low confidence
  • Network access in code of the SKILL.mdSKILL.md:209High confidence
  • Network access in code of the SKILL.mdSKILL.md:210High confidence
  • Network access in code of the SKILL.mdSKILL.md:211High confidence
  • Network access in prose of the SKILL.mdSKILL.md:257Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:288Low confidence

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.