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