skills/developer-email-sequences/SKILL.md
When the user wants to create email sequences for developers including onboarding, product updates, re-engagement, or changelog communications. Trigger phrases include "developer emails," "onboarding sequence," "email drip," "developer newsletter," "changelog email," "re-engagement campaign," or "email cadence."
npx skillsauth add jonathimer/devmarketing-skills developer-email-sequencesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill helps you craft email sequences that developers actually read. No spam, no fluff — just useful content delivered at the right frequency.
Load your developer audience context:
.agents/developer-audience-context.md existsdeveloper-audience-context skill firstAudit existing emails:
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.
Goal: Get developers to their first "Hello World" moment.
Timing:
Structure:
| Email | 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]
Goal: Turn first-time users into regular users.
Trigger: After first successful API call or integration.
Timing:
Structure:
| Email | 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 |
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:
Goal: Win back developers who've gone quiet.
Trigger: No activity for 30/60/90 days.
Timing:
Structure:
| Email | 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]
| 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.
Do:
Don't:
Example: Good code snippet
# Python 3.8+
import yourapi
client = yourapi.Client("your-api-key")
result = client.analyze("Hello, world!")
print(result.sentiment) # "positive"
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:
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:
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:
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
development
When the user wants to create developer YouTube content, technical screencasts, or video tutorials. Trigger phrases include "YouTube," "developer video," "screencast," "video tutorial," "live coding," "YouTube for developers," "tech YouTube," or "YouTube thumbnails."
development
When the user wants to build a developer following on Twitter/X, write technical threads, or understand what works for dev audiences on X. Trigger phrases include "Twitter," "X," "developer Twitter," "tech Twitter," "technical threads," "building dev following," or "Twitter for developers."
development
Design pricing models that developers understand, accept, and can predict. Trigger phrases: usage-based pricing, API pricing, metered billing, developer pricing, pricing page, cost calculator, pay as you go, pricing transparency, competitive pricing, developer billing
development
When the user wants to create step-by-step technical tutorials, quickstarts, or code walkthroughs. Trigger phrases include "tutorial," "quickstart," "getting started guide," "walkthrough," "step by step," "how to guide," "hands-on guide," or "code tutorial."