Developer Newsletter
When to Use
Use this skill when you need when the user wants to create, write, or improve a newsletter for developer audiences. Trigger phrases include "newsletter," "email marketing," "developer email," "weekly digest," "dev newsletter," "email subscribers," "newsletter growth," or "email list.".
This skill helps you build and write newsletters that developers actually open, read, and look forward to receiving. Covers content strategy, writing, growth, and deliverability.
Before You Start
Load your audience context first. Read .agents/developer-audience-context.md to understand:
- Who you're writing for (role, seniority, tech stack)
- What content resonates (problems, interests)
- Where else they consume content (to avoid duplicate effort)
- Voice & tone (how casual/technical)
If the context file doesn't exist, run the developer-audience-context skill first.
Newsletter Strategy
Define Your Newsletter Type
| Type |
Description |
Example |
| Product updates |
Changelog, new features, tips |
Vercel's updates |
| Curated links |
Best content from around the web |
TLDR, Bytes |
| Original content |
Your own articles, tutorials |
Cassidy Williams |
| Community digest |
What happened in your community |
Dev community roundups |
| Educational series |
Teaching a topic over time |
Course-style newsletters |
Best practice: Pick ONE primary type. You can mix in others, but have a clear identity.
Frequency Matrix
| Frequency |
Best For |
Risk |
| Daily |
Curated links, news |
Fatigue, hard to maintain |
| Weekly |
Most newsletters |
Sweet spot for most |
| Bi-weekly |
Original content heavy |
Can lose momentum |
| Monthly |
Product updates, digests |
Easy to forget you exist |
Developer preference: Weekly is the sweet spot. Developers are busy and inbox-protective.
Content Mix Framework
The 70-20-10 Rule
| Percentage |
Content Type |
Purpose |
| 70% |
Value content |
Teach, inform, help |
| 20% |
Product content |
Updates, features, how-tos |
| 10% |
Promotional |
CTAs, asks, sales |
Content Categories
Build a rotation of these:
| Category |
Examples |
| Tutorials |
"How to implement X" |
| News analysis |
"What Y announcement means for you" |
| Tool/library roundups |
"5 libraries for handling Z" |
| Code snippets |
"Quick tip: better error handling" |
| Community highlights |
"Best from our Discord this week" |
| Industry takes |
"Why I think X is overhyped" |
| Behind the scenes |
"How we built feature Y" |
| Q&A |
"You asked, we answered" |
Writing Developer Emails
Subject Line Framework
What works for developers:
| Pattern |
Example |
Why It Works |
| Specific benefit |
"Cut your build time by 40%" |
Concrete value |
| Technical curiosity |
"The JavaScript feature nobody uses" |
Triggers curiosity |
| Direct announcement |
"v2.0 is here: async/await support" |
Clear, newsworthy |
| Number + topic |
"7 TypeScript tricks senior devs use" |
Scannable, specific |
| Question |
"Are you still using callbacks?" |
Pattern interrupt |
| Breaking news |
"React 19 is out: what you need to know" |
Timely, urgent |
What doesn't work:
| Avoid |
Why |
| ALL CAPS |
Spam signals |
| "Quick question" |
Manipulative |
| Excessive emoji |
Looks like marketing |
| "You won't believe..." |
Clickbait fatigue |
| No subject line |
Just... no |
Pre-header Text
The preview text after the subject line. Use it.
| Subject |
Pre-header |
| "v2.0 is here" |
"Plus: breaking changes to watch for" |
| "This week in Node.js" |
"fetch() drama, npm security, and a cool CLI" |
Email Structure
[Short personal intro - 1-2 sentences]
[Main content sections with clear headers]
[Code snippet if relevant]
[Quick links section]
[Sign-off with personality]
Code in Email
Code rendering is tricky in email. Options:
| Approach |
Pros |
Cons |
Inline code (backticks) |
Works everywhere |
No highlighting |
| Plain text block |
Reliable |
Ugly |
| Image of code |
Beautiful |
Can't copy, accessibility issues |
| "View in browser" link |
Full formatting |
Friction |
| Styled HTML tables |
Decent formatting |
Complex, can break |
Recommendation: Keep code short. Use inline code for small snippets, link to full examples.
<pre style="background-color: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 4px; font-family: 'Fira Code', monospace; font-size: 14px; overflow-x: auto;">
const result = await fetch('/api/data');
</pre>
Subject Line Testing
A/B Test Framework
Test one variable at a time:
| Variable |
Version A |
Version B |
| Length |
"TypeScript 5.0 features" |
"7 TypeScript 5.0 features that will change how you write code" |
| Specificity |
"New features" |
"Async imports, decorators, and 5 more" |
| Format |
Statement |
Question |
| Personalization |
Generic |
"[Name], your weekly digest" |
| Emoji |
None |
One relevant emoji |
Subject Line Checklist
Before sending:
Growth Tactics
Organic Growth
| Tactic |
Implementation |
| Blog footer CTA |
"Get posts like this in your inbox" with inline form |
| Content upgrades |
"Download the full checklist" for email |
| Exit intent |
Popup when leaving (use sparingly) |
| Twitter/social mentions |
"I write about this weekly in my newsletter" |
| Documentation CTA |
Subscribe box in docs footer |
| Open source README |
Newsletter link in project README |
| Conference talks |
"Sign up for slides + bonus content" |
Referral Programs
| Reward Tier |
Reward Example |
| 1 referral |
Shoutout in newsletter |
| 5 referrals |
Exclusive content / early access |
| 10 referrals |
Swag (stickers, t-shirt) |
| 25 referrals |
1:1 call / premium access |
Cross-Promotion
Partner with complementary newsletters:
| Your Newsletter |
Good Partners |
| React-focused |
TypeScript, Node.js, frontend newsletters |
| DevOps |
Cloud, Kubernetes, infrastructure newsletters |
| AI/ML |
Python, data science newsletters |
Swap mentions, not full ads.
Avoiding Spam Filters
Technical Setup
| Requirement |
What to Do |
| SPF |
Add DNS record authorizing your sender |
| DKIM |
Sign emails cryptographically |
| DMARC |
Policy for handling auth failures |
| Custom domain |
Send from news@yourcompany.com, not personal |
| Warm up |
Start with small sends, increase gradually |
Content Hygiene
| Do |
Don't |
| Plain text version |
HTML only |
| Reasonable image ratio |
All images, no text |
| Clear unsubscribe |
Hidden or difficult unsub |
| Consistent sending |
Sporadic, unpredictable |
| Clean list |
Bounces, inactive, purchased |
Red Flag Words
Avoid in subject lines and body:
| Category |
Words to Avoid |
| Urgency |
Act now, Limited time, Expires |
| Free stuff |
Free, No cost, No obligation |
| Money |
$$, Cash, Earn, Investment |
| Exaggeration |
Amazing, Incredible, Best ever |
| Spam classics |
Click here, Winner, Congratulations |
Email Service Providers
Developer-Friendly Options
| ESP |
Best For |
Dev Features |
| Buttondown |
Simple, markdown-first |
API, RSS import, minimal |
| ConvertKit |
Creator newsletters |
Automations, landing pages |
| Mailchimp |
General purpose |
Robust API, integrations |
| Resend |
Developer-first |
React Email, great DX |
| Loops |
SaaS companies |
Product-focused features |
| Beehiiv |
Growth-focused |
Referrals, monetization |
DIY Options
| Tool |
Use Case |
| Resend + React Email |
Custom transactional + marketing |
| Postmark |
Reliability-focused |
| SendGrid |
Scale-focused |
Metrics & Benchmarks
Key Metrics
| Metric |
Developer Newsletter Benchmark |
| Open rate |
30-50% (higher than B2C) |
| Click rate |
5-15% |
| Unsubscribe rate |
<0.5% per send |
| Spam complaints |
<0.1% |
| List growth rate |
5-10% monthly |
What to Track
| Metric |
What It Tells You |
| Open rate by subject |
Subject line effectiveness |
| Click rate by link |
Content resonance |
| Reply rate |
Engagement depth |
| Unsubscribe after send |
Content fit |
| Forward rate |
Shareability |
| Growth source |
Best acquisition channels |
Newsletter Template
Subject: [Specific, benefit-driven headline]
Pre-header: [Teaser that complements subject]
---
Hey [first name],
[1-2 sentence personal intro or hook]
## [Main Section 1]
[2-3 paragraphs with value]
\`\`\`javascript
// Quick code example if relevant
\`\`\`
## [Main Section 2]
[Content]
## Quick Links
- [Link 1]: One-line description
- [Link 2]: One-line description
- [Link 3]: One-line description
## From the Community
[Highlight something from Discord/Twitter/GitHub]
---
[Personal sign-off]
[Name]
P.S. [Optional: extra CTA, fun fact, or teaser]
Tools
| Tool |
Use Case |
| Octolens |
Monitor developer conversations for newsletter content ideas. Track what topics are trending on HN, Reddit, and Twitter. |
| Buttondown/ConvertKit/Beehiiv |
Newsletter platforms |
| SparkLoop |
Referral program management |
| Mailmeteor/Email Octopus |
Budget-friendly sending |
| Mail-Tester |
Check spam score before sending |
| Litmus/Email on Acid |
Email rendering preview |
Related Skills
developer-audience-context — Know who you're writing for
devrel-content — Source content for your newsletter
community-building — Generate community content
developer-advocacy — Build your personal brand alongside newsletter
Limitations
- Use this skill only when the task clearly matches its upstream source and local project context.
- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.
1---
2name: developer-newsletter
3description: When the user wants to create, write, or improve a newsletter for developer audiences. Trigger phrases include "newsletter," "email marketing," "developer email," "weekly digest," "dev newsletter," "email subscribers," "newsletter growth," or "email list."
4risk: critical
5source: https://github.com/jonathimer/devmarketing-skills/tree/main/skills/developer-newsletter
6source_repo: jonathimer/devmarketing-skills
7source_type: community
8date_added: 2026-07-01
9license: MIT
10license_source: https://github.com/jonathimer/devmarketing-skills/blob/main/LICENSE
11---
12
13# Developer Newsletter
14## When to Use
15
16Use this skill when you need when the user wants to create, write, or improve a newsletter for developer audiences. Trigger phrases include "newsletter," "email marketing," "developer email," "weekly digest," "dev newsletter," "email subscribers," "newsletter growth," or "email list.".
17
18
19This skill helps you build and write newsletters that developers actually open, read, and look forward to receiving. Covers content strategy, writing, growth, and deliverability.
20
21---
22
23## Before You Start
24
25**Load your audience context first.** Read `.agents/developer-audience-context.md` to understand:
26
27- Who you're writing for (role, seniority, tech stack)
28- What content resonates (problems, interests)
29- Where else they consume content (to avoid duplicate effort)
30- Voice & tone (how casual/technical)
31
32If the context file doesn't exist, run the `developer-audience-context` skill first.
33
34---
35
36## Newsletter Strategy
37
38### Define Your Newsletter Type
39
40| Type | Description | Example |
41|------|-------------|---------|
42| **Product updates** | Changelog, new features, tips | Vercel's updates |
43| **Curated links** | Best content from around the web | TLDR, Bytes |
44| **Original content** | Your own articles, tutorials | Cassidy Williams |
45| **Community digest** | What happened in your community | Dev community roundups |
46| **Educational series** | Teaching a topic over time | Course-style newsletters |
47
48**Best practice**: Pick ONE primary type. You can mix in others, but have a clear identity.
49
50### Frequency Matrix
51
52| Frequency | Best For | Risk |
53|-----------|----------|------|
54| **Daily** | Curated links, news | Fatigue, hard to maintain |
55| **Weekly** | Most newsletters | Sweet spot for most |
56| **Bi-weekly** | Original content heavy | Can lose momentum |
57| **Monthly** | Product updates, digests | Easy to forget you exist |
58
59**Developer preference**: Weekly is the sweet spot. Developers are busy and inbox-protective.
60
61---
62
63## Content Mix Framework
64
65### The 70-20-10 Rule
66
67| Percentage | Content Type | Purpose |
68|------------|--------------|---------|
69| **70%** | Value content | Teach, inform, help |
70| **20%** | Product content | Updates, features, how-tos |
71| **10%** | Promotional | CTAs, asks, sales |
72
73### Content Categories
74
75Build a rotation of these:
76
77| Category | Examples |
78|----------|----------|
79| **Tutorials** | "How to implement X" |
80| **News analysis** | "What Y announcement means for you" |
81| **Tool/library roundups** | "5 libraries for handling Z" |
82| **Code snippets** | "Quick tip: better error handling" |
83| **Community highlights** | "Best from our Discord this week" |
84| **Industry takes** | "Why I think X is overhyped" |
85| **Behind the scenes** | "How we built feature Y" |
86| **Q&A** | "You asked, we answered" |
87
88---
89
90## Writing Developer Emails
91
92### Subject Line Framework
93
94What works for developers:
95
96| Pattern | Example | Why It Works |
97|---------|---------|--------------|
98| **Specific benefit** | "Cut your build time by 40%" | Concrete value |
99| **Technical curiosity** | "The JavaScript feature nobody uses" | Triggers curiosity |
100| **Direct announcement** | "v2.0 is here: async/await support" | Clear, newsworthy |
101| **Number + topic** | "7 TypeScript tricks senior devs use" | Scannable, specific |
102| **Question** | "Are you still using callbacks?" | Pattern interrupt |
103| **Breaking news** | "React 19 is out: what you need to know" | Timely, urgent |
104
105What doesn't work:
106
107| Avoid | Why |
108|-------|-----|
109| ALL CAPS | Spam signals |
110| "Quick question" | Manipulative |
111| Excessive emoji | Looks like marketing |
112| "You won't believe..." | Clickbait fatigue |
113| No subject line | Just... no |
114
115### Pre-header Text
116
117The preview text after the subject line. Use it.
118
119| Subject | Pre-header |
120|---------|------------|
121| "v2.0 is here" | "Plus: breaking changes to watch for" |
122| "This week in Node.js" | "fetch() drama, npm security, and a cool CLI" |
123
124### Email Structure
125
126```
127[Short personal intro - 1-2 sentences]
128
129[Main content sections with clear headers]
130
131[Code snippet if relevant]
132
133[Quick links section]
134
135[Sign-off with personality]
136```
137
138### Code in Email
139
140Code rendering is tricky in email. Options:
141
142| Approach | Pros | Cons |
143|----------|------|------|
144| **Inline code** (`backticks`) | Works everywhere | No highlighting |
145| **Plain text block** | Reliable | Ugly |
146| **Image of code** | Beautiful | Can't copy, accessibility issues |
147| **"View in browser" link** | Full formatting | Friction |
148| **Styled HTML tables** | Decent formatting | Complex, can break |
149
150**Recommendation**: Keep code short. Use inline code for small snippets, link to full examples.
151
152```html
153<pre style="background-color: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 4px; font-family: 'Fira Code', monospace; font-size: 14px; overflow-x: auto;">
154const result = await fetch('/api/data');
155</pre>
156```
157
158---
159
160## Subject Line Testing
161
162### A/B Test Framework
163
164Test one variable at a time:
165
166| Variable | Version A | Version B |
167|----------|-----------|-----------|
168| **Length** | "TypeScript 5.0 features" | "7 TypeScript 5.0 features that will change how you write code" |
169| **Specificity** | "New features" | "Async imports, decorators, and 5 more" |
170| **Format** | Statement | Question |
171| **Personalization** | Generic | "[Name], your weekly digest" |
172| **Emoji** | None | One relevant emoji |
173
174### Subject Line Checklist
175
176Before sending:
177
178- [ ] Under 50 characters (mobile preview)
179- [ ] No spam trigger words (free, act now, limited time)
180- [ ] Specific, not vague
181- [ ] Matches email content (no bait and switch)
182- [ ] Would YOU open this?
183
184---
185
186## Growth Tactics
187
188### Organic Growth
189
190| Tactic | Implementation |
191|--------|----------------|
192| **Blog footer CTA** | "Get posts like this in your inbox" with inline form |
193| **Content upgrades** | "Download the full checklist" for email |
194| **Exit intent** | Popup when leaving (use sparingly) |
195| **Twitter/social mentions** | "I write about this weekly in my newsletter" |
196| **Documentation CTA** | Subscribe box in docs footer |
197| **Open source README** | Newsletter link in project README |
198| **Conference talks** | "Sign up for slides + bonus content" |
199
200### Referral Programs
201
202| Reward Tier | Reward Example |
203|-------------|----------------|
204| **1 referral** | Shoutout in newsletter |
205| **5 referrals** | Exclusive content / early access |
206| **10 referrals** | Swag (stickers, t-shirt) |
207| **25 referrals** | 1:1 call / premium access |
208
209### Cross-Promotion
210
211Partner with complementary newsletters:
212
213| Your Newsletter | Good Partners |
214|-----------------|---------------|
215| React-focused | TypeScript, Node.js, frontend newsletters |
216| DevOps | Cloud, Kubernetes, infrastructure newsletters |
217| AI/ML | Python, data science newsletters |
218
219Swap mentions, not full ads.
220
221---
222
223## Avoiding Spam Filters
224
225### Technical Setup
226
227| Requirement | What to Do |
228|-------------|------------|
229| **SPF** | Add DNS record authorizing your sender |
230| **DKIM** | Sign emails cryptographically |
231| **DMARC** | Policy for handling auth failures |
232| **Custom domain** | Send from `news@yourcompany.com`, not personal |
233| **Warm up** | Start with small sends, increase gradually |
234
235### Content Hygiene
236
237| Do | Don't |
238|-----|-------|
239| Plain text version | HTML only |
240| Reasonable image ratio | All images, no text |
241| Clear unsubscribe | Hidden or difficult unsub |
242| Consistent sending | Sporadic, unpredictable |
243| Clean list | Bounces, inactive, purchased |
244
245### Red Flag Words
246
247Avoid in subject lines and body:
248
249| Category | Words to Avoid |
250|----------|----------------|
251| **Urgency** | Act now, Limited time, Expires |
252| **Free stuff** | Free, No cost, No obligation |
253| **Money** | $$, Cash, Earn, Investment |
254| **Exaggeration** | Amazing, Incredible, Best ever |
255| **Spam classics** | Click here, Winner, Congratulations |
256
257---
258
259## Email Service Providers
260
261### Developer-Friendly Options
262
263| ESP | Best For | Dev Features |
264|-----|----------|--------------|
265| **Buttondown** | Simple, markdown-first | API, RSS import, minimal |
266| **ConvertKit** | Creator newsletters | Automations, landing pages |
267| **Mailchimp** | General purpose | Robust API, integrations |
268| **Resend** | Developer-first | React Email, great DX |
269| **Loops** | SaaS companies | Product-focused features |
270| **Beehiiv** | Growth-focused | Referrals, monetization |
271
272### DIY Options
273
274| Tool | Use Case |
275|------|----------|
276| **Resend + React Email** | Custom transactional + marketing |
277| **Postmark** | Reliability-focused |
278| **SendGrid** | Scale-focused |
279
280---
281
282## Metrics & Benchmarks
283
284### Key Metrics
285
286| Metric | Developer Newsletter Benchmark |
287|--------|-------------------------------|
288| **Open rate** | 30-50% (higher than B2C) |
289| **Click rate** | 5-15% |
290| **Unsubscribe rate** | <0.5% per send |
291| **Spam complaints** | <0.1% |
292| **List growth rate** | 5-10% monthly |
293
294### What to Track
295
296| Metric | What It Tells You |
297|--------|------------------|
298| **Open rate by subject** | Subject line effectiveness |
299| **Click rate by link** | Content resonance |
300| **Reply rate** | Engagement depth |
301| **Unsubscribe after send** | Content fit |
302| **Forward rate** | Shareability |
303| **Growth source** | Best acquisition channels |
304
305---
306
307## Newsletter Template
308
309```markdown
310Subject: [Specific, benefit-driven headline]
311Pre-header: [Teaser that complements subject]
312
313---
314
315Hey [first name],
316
317[1-2 sentence personal intro or hook]
318
319## [Main Section 1]
320
321[2-3 paragraphs with value]
322
323\`\`\`javascript
324// Quick code example if relevant
325\`\`\`
326
327## [Main Section 2]
328
329[Content]
330
331## Quick Links
332
333- [Link 1]: One-line description
334- [Link 2]: One-line description
335- [Link 3]: One-line description
336
337## From the Community
338
339[Highlight something from Discord/Twitter/GitHub]
340
341---
342
343[Personal sign-off]
344
345[Name]
346
347P.S. [Optional: extra CTA, fun fact, or teaser]
348```
349
350---
351
352## Tools
353
354| Tool | Use Case |
355|------|----------|
356| **[Octolens](https://octolens.com)** | Monitor developer conversations for newsletter content ideas. Track what topics are trending on HN, Reddit, and Twitter. |
357| **Buttondown/ConvertKit/Beehiiv** | Newsletter platforms |
358| **SparkLoop** | Referral program management |
359| **Mailmeteor/Email Octopus** | Budget-friendly sending |
360| **Mail-Tester** | Check spam score before sending |
361| **Litmus/Email on Acid** | Email rendering preview |
362
363---
364
365## Related Skills
366
367- `developer-audience-context` — Know who you're writing for
368- `devrel-content` — Source content for your newsletter
369- `community-building` — Generate community content
370- `developer-advocacy` — Build your personal brand alongside newsletter
371
372## Limitations
373
374- Use this skill only when the task clearly matches its upstream source and local project context.
375- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
376- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.