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.
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
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 tokensAlways available to the agent
SKILL.md
3,297 tokensWhen the skill is activated
Reference documents
776 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 1. Asset hosting — use your own site as a CDN
- 2. Design system — reusable blocks
- 3. GIF optimization workflow
- 4. Sending via Resend
- 5. Pre-send checklist
- 6. Conversion best practices
- 7. Template starter
- 8. What NOT to do
Files
LICENSEasset1,078 bytesREADME.mddoc2,959 bytesSKILL.mdcore11,669 bytesSKILL.mdcore11,669 bytesSKILL.mdcore11,669 bytesSKILL.mdcore11,669 bytesSKILL.mdcore11,669 bytesSKILL.mdcore11,669 bytesdemo.gifasset5,871,173 bytesexamples/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 GitHubSkills 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 shellAutomated 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:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- 1 broad permissionin 1 file: SKILL.md:1
- No dangerous shell commands
- 43 network referencesin 3 files: examples/claude-connector.html:1 SKILL.md:31 README.md:3
- No hidden or obfuscated text
- No instruction overrides
- No executable scripts
- 2 references to secretsin 1 file: SKILL.md:191
- No requests to vote in Hot
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 · <a href="https://get-ryze.ai" style="color: - Network accessline 317
Ryze AI · <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 | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard 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.