developer-email-sequences
关于
This skill helps developers create targeted email sequences for technical audiences, including onboarding, product updates, and changelog communications. It focuses on crafting concise, valuable content based on audience context and existing email performance. Use it when you need to generate developer-focused email drips, newsletters, or re-engagement campaigns.
快速安装
Claude Code
推荐npx skills add jonathimer/devmarketing-skills -a claude-code/plugin add https://github.com/jonathimer/devmarketing-skillsgit clone https://github.com/jonathimer/devmarketing-skills.git ~/.claude/skills/developer-email-sequences在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Developer Email Sequences
This skill helps you craft email sequences that developers actually read. No spam, no fluff — just useful content delivered at the right frequency.
Before You Start
-
Load your developer audience context:
- Check if
.agents/developer-audience-context.mdexists - If not, run the
developer-audience-contextskill first - Understanding your developers' tech stack, pain points, and communication preferences is essential for effective email
- Check if
-
Audit existing emails:
- What emails are you currently sending?
- What are open rates, click rates, unsubscribe rates?
- Any feedback from developers about your emails?
The Developer Email Reality
Developers are ruthless with email:
| Behavior | Implication |
|---|---|
| Preview pane scanning | Subject line and first line are everything |
| Aggressive unsubscribing | One irrelevant email = unsubscribe |
| Plain text preference | Many prefer plain text over HTML |
| Code snippet love | Useful code examples get clicked |
| Transactional trust | They open receipts, not "newsletters" |
Golden rule: Every email must provide immediate value or solve a problem.
Email Sequence Types
1. Onboarding Sequence
Goal: Get developers to their first "Hello World" moment.
Timing:
- Email 1: Immediately after signup
- Email 2: 24 hours (if no activation)
- Email 3: 3 days (if no activation)
- Email 4: 7 days (if no activation)
- STOP if they activate
Structure:
| Purpose | Content | |
|---|---|---|
| Welcome | Confirm signup, one clear CTA | Link to quickstart, nothing else |
| First nudge | Address common blockers | "Here's where most devs get stuck..." |
| Value reminder | Show what's possible | Customer example or code snippet |
| Last chance | Direct ask | "Need help? Reply to this email" |
Template: Welcome Email
Subject: Your API key is ready
Hey [NAME],
Your API key: [KEY]
Quickstart (2 minutes):
[LINK TO QUICKSTART]
That's it. Hit reply if you get stuck.
— [SENDER NAME]
Template: First Nudge
Subject: Quick question about your setup
Hey [NAME],
Noticed you haven't made your first API call yet.
Where'd you get stuck?
[ ] Didn't have time yet
[ ] Confused about authentication
[ ] Can't find the right SDK
[ ] Something else
Just reply — I read every response.
— [SENDER NAME]
2. Activation Sequence
Goal: Turn first-time users into regular users.
Trigger: After first successful API call or integration.
Timing:
- Email 1: Immediately after first success
- Email 2: 3 days later
- Email 3: 7 days later
- Email 4: 14 days later
Structure:
| Purpose | Content | |
|---|---|---|
| Celebration | Acknowledge progress | "Your first call worked!" |
| Next step | Show natural progression | "Most devs do X next..." |
| Deep feature | Introduce advanced capability | Tutorial or code example |
| Integration | Suggest production use | Case study or deployment guide |
3. Changelog / Product Update Emails
Goal: Keep developers informed without overwhelming them.
Frequency: Weekly digest or per-release (never more than 2x/week).
Structure:
Subject: [Product] v2.3 — Faster webhooks, TypeScript 5 support
What's new:
## Breaking changes (read first)
- Webhook signature algorithm changed (migration guide)
## New
- TypeScript 5.0 support
- Batch API for bulk operations
## Improved
- Webhook delivery 3x faster
- Better error messages for auth failures
## Fixed
- Memory leak in long-running connections
Full changelog: [LINK]
---
Need help upgrading? Reply or join #support in Discord.
Rules:
- Breaking changes ALWAYS at the top
- Code examples for new features
- Link to full changelog, don't dump everything in email
- No marketing fluff — just facts
4. Re-engagement Sequence
Goal: Win back developers who've gone quiet.
Trigger: No activity for 30/60/90 days.
Timing:
- Email 1: Day 30 of inactivity
- Email 2: Day 45
- Email 3: Day 60
- Email 4: Day 90 (sunset warning)
Structure:
| Purpose | Content | |
|---|---|---|
| Check-in | Soft touch | "Everything okay?" |
| What's new | Show progress | Recent features they missed |
| Direct ask | Understand why | Survey or reply request |
| Sunset | Account warning | "We'll pause your account..." |
Template: Check-in
Subject: Did something break?
Hey [NAME],
Haven't seen you in a while.
Quick check:
- Did you run into a problem? (Reply and I'll help)
- Building something else? (Totally fine)
- Found a better solution? (Genuinely curious what)
No hard feelings either way — just want to make sure
you're not stuck on something we can fix.
— [SENDER NAME]
Template: Sunset Warning
Subject: Pausing your account in 14 days
Hey [NAME],
Your [PRODUCT] account has been inactive for 90 days.
To keep things tidy, we'll pause your account on [DATE].
What this means:
- Your API keys will stop working
- Your data stays safe (we don't delete anything)
- You can reactivate anytime by logging in
If you're still using [PRODUCT], just log in once to keep
your account active: [LOGIN LINK]
No action needed if you've moved on.
— [SENDER NAME]
Frequency Guidelines
| Email Type | Maximum Frequency | Notes |
|---|---|---|
| Transactional | As needed | Receipts, password resets, usage alerts |
| Onboarding | 4 emails over 7 days | Stop when activated |
| Changelog | 1x/week maximum | Digest preferred over per-release |
| Re-engagement | 4 emails over 60 days | Then stop |
| Marketing/Newsletter | 2x/month maximum | Must provide genuine value |
The unsubscribe test: If a developer would feel relieved to unsubscribe from this email type, you're sending too many.
Technical Content in Emails
Code Snippets
Do:
- Keep snippets under 10 lines
- Use syntax highlighting (if HTML email)
- Test that code actually works
- Include language/framework version
Don't:
- Assume a specific environment
- Include secrets or realistic-looking API keys
- Use outdated syntax
Example: Good code snippet
# Python 3.8+
import yourapi
client = yourapi.Client("your-api-key")
result = client.analyze("Hello, world!")
print(result.sentiment) # "positive"
API Updates
When announcing API changes:
## New endpoint: POST /v2/batch
Process up to 100 items in a single request.
```python
client.batch([
{"text": "First item"},
{"text": "Second item"},
# ... up to 100 items
])
Rate limit: 10 batch requests/minute Docs: [LINK]
---
## Transactional vs Marketing Emails
| Transactional | Marketing |
|---------------|-----------|
| Triggered by user action | Sent on schedule |
| Expected and wanted | Needs opt-in |
| Higher deliverability | More spam filtering |
| No unsubscribe required | Must have unsubscribe |
| CAN-SPAM exempt (mostly) | Full CAN-SPAM compliance |
**Examples**:
| Transactional | Marketing |
|---------------|-----------|
| Password reset | Newsletter |
| Payment receipt | Product announcement |
| Usage alert (95% quota) | Case study promotion |
| API key rotation reminder | Webinar invitation |
| Security notification | Feature highlight |
**Gray area**: Onboarding emails can be transactional (user signed up) but should still have easy unsubscribe.
---
## Measuring Email Effectiveness
### Metrics That Matter
| Metric | Good | Warning | Action |
|--------|------|---------|--------|
| Open rate | >40% | <25% | Fix subject lines |
| Click rate | >10% | <3% | Fix content/CTA |
| Unsubscribe rate | <0.2% | >0.5% | Reduce frequency or improve targeting |
| Reply rate | >1% | N/A | Celebrate! |
| Activation (onboarding) | >30% | <15% | Rethink sequence |
### What to Track
1. **Onboarding sequence**: % who activate within 7 days
2. **Changelog emails**: Click-through to docs/release notes
3. **Re-engagement**: % who return to product
4. **All emails**: Unsubscribe rate by email type
### A/B Testing Priorities
1. Subject lines (biggest impact)
2. Send time
3. Email length
4. Plain text vs HTML
5. CTA wording
---
## Unsubscribe Handling
### Preference Center
Let developers control what they get:
Email Preferences for [EMAIL]
[ ] Product updates (new features, changelog) [ ] Security alerts (always recommended) [ ] Community news (events, meetups) [ ] Tips and tutorials
Or: Unsubscribe from all marketing emails (You'll still receive transactional emails like receipts and security alerts)
### Graceful Unsubscribe
When someone unsubscribes, confirm simply:
Subject: You're unsubscribed
You've been removed from [EMAIL TYPE] emails.
You'll still receive:
- Security alerts
- Payment receipts
- Usage notifications
Changed your mind? Update preferences: [LINK]
### Re-subscribe Flow
After unsubscribe, don't:
- Send "We miss you" emails
- Ask them to reconsider
- Add them back to other lists
Do:
- Make it easy to re-subscribe from your site
- Remember their preference if they return
---
## Email Templates Library
### Account Security
Subject: Action required: Unusual login detected
We detected a login from a new location:
Location: [CITY, COUNTRY] Device: [BROWSER/OS] Time: [TIMESTAMP]
If this was you, no action needed.
If this wasn't you:
- Change your password immediately: [LINK]
- Rotate your API keys: [LINK]
- Review recent API activity: [LINK]
Questions? Reply to this email.
— [PRODUCT] Security Team
### Usage Alert
Subject: Heads up: You've used 80% of your API quota
Your usage this month: [CURRENT] / [LIMIT] requests
At your current rate, you'll hit your limit around [DATE].
Options:
- Upgrade your plan: [LINK]
- Optimize your usage: [DOCS LINK]
- Wait for reset on [RESET DATE]
We'll send another alert at 95%.
— [PRODUCT]
### Payment Failed
Subject: Payment failed — update your card to avoid interruption
We couldn't charge your card ending in [LAST4].
Update your payment method: [LINK]
We'll retry in 3 days. If unsuccessful, your account will be downgraded to the free tier on [DATE].
Your API will continue working until then.
Questions about billing? Reply to this email.
— [PRODUCT]
---
## Common Mistakes
| Mistake | Why it fails | Fix |
|---------|--------------|-----|
| "Just checking in" | No value, wastes time | Every email needs a purpose |
| Weekly newsletter with nothing new | Trains devs to ignore you | Only send when you have content |
| HTML-heavy design | Looks like marketing spam | Plain text or minimal HTML |
| Multiple CTAs | Confuses, reduces clicks | One clear action per email |
| Fake personalization | "Hi [FNAME]" feels robotic | Use personalization meaningfully or not at all |
| Celebrating your milestones | Developers don't care about your funding | Focus on what matters to them |
---
## Tools
| Tool | Use Case |
|------|----------|
| **[Octolens](https://octolens.com)** | Monitor developer sentiment about your emails — see if people complain about frequency or praise specific updates on Twitter, Reddit, Hacker News |
| **Customer.io** | Sophisticated automation for developer-focused email |
| **Postmark** | High deliverability transactional email |
| **Buttondown** | Developer-friendly newsletter platform |
| **Resend** | Modern email API built for developers |
| **Loops** | Email for SaaS with good segmentation |
---
## Related Skills
- `developer-audience-context` — Foundation for knowing what content resonates
- `developer-churn` — Re-engagement strategies for at-risk users
- `changelog-updates` — Structuring product updates
- `developer-onboarding` — Full onboarding strategy beyond just email
GitHub 仓库
相关推荐技能
content-collections
元Content Collections 是一个 TypeScript 优先的构建工具,可将本地 Markdown/MDX 文件转换为类型安全的数据集合。它专为构建博客、文档站和内容密集型 Vite+React 应用而设计,提供基于 Zod 的自动模式验证。该工具涵盖从 Vite 插件配置、MDX 编译到生产环境部署的完整工作流。
polymarket
元这个Claude Skill为开发者提供完整的Polymarket预测市场开发支持,涵盖API调用、交易执行和市场数据分析。关键特性包括实时WebSocket数据流,可监控实时交易、订单和市场动态。开发者可用它构建预测市场应用、实施交易策略并集成实时市场预测功能。
creating-opencode-plugins
元该Skill帮助开发者创建OpenCode插件,用于接入命令、文件、LSP等25+种事件。它提供了插件结构、事件API规范和JavaScript/TypeScript实现模式,适合需要拦截操作、扩展功能或自定义事件处理的场景。开发者可通过它快速构建响应式模块来增强OpenCode AI助手的能力。
sglang
元SGLang是一个专为LLM设计的高性能推理框架,特别适用于需要结构化输出的场景。它通过RadixAttention前缀缓存技术,在处理JSON、正则表达式、工具调用等具有重复前缀的复杂工作流时,能实现极速生成。如果你正在构建智能体或多轮对话系统,并追求远超vLLM的推理性能,SGLang是理想选择。
