$npx -y skills add jonathimer/devmarketing-skills --skill developer-newsletterWhen 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.
| 1 | # Developer Newsletter |
| 2 | |
| 3 | 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. |
| 4 | |
| 5 | --- |
| 6 | |
| 7 | ## Before You Start |
| 8 | |
| 9 | **Load your audience context first.** Read `.agents/developer-audience-context.md` to understand: |
| 10 | |
| 11 | - Who you're writing for (role, seniority, tech stack) |
| 12 | - What content resonates (problems, interests) |
| 13 | - Where else they consume content (to avoid duplicate effort) |
| 14 | - Voice & tone (how casual/technical) |
| 15 | |
| 16 | If the context file doesn't exist, run the `developer-audience-context` skill first. |
| 17 | |
| 18 | --- |
| 19 | |
| 20 | ## Newsletter Strategy |
| 21 | |
| 22 | ### Define Your Newsletter Type |
| 23 | |
| 24 | | Type | Description | Example | |
| 25 | |------|-------------|---------| |
| 26 | | **Product updates** | Changelog, new features, tips | Vercel's updates | |
| 27 | | **Curated links** | Best content from around the web | TLDR, Bytes | |
| 28 | | **Original content** | Your own articles, tutorials | Cassidy Williams | |
| 29 | | **Community digest** | What happened in your community | Dev community roundups | |
| 30 | | **Educational series** | Teaching a topic over time | Course-style newsletters | |
| 31 | |
| 32 | **Best practice**: Pick ONE primary type. You can mix in others, but have a clear identity. |
| 33 | |
| 34 | ### Frequency Matrix |
| 35 | |
| 36 | | Frequency | Best For | Risk | |
| 37 | |-----------|----------|------| |
| 38 | | **Daily** | Curated links, news | Fatigue, hard to maintain | |
| 39 | | **Weekly** | Most newsletters | Sweet spot for most | |
| 40 | | **Bi-weekly** | Original content heavy | Can lose momentum | |
| 41 | | **Monthly** | Product updates, digests | Easy to forget you exist | |
| 42 | |
| 43 | **Developer preference**: Weekly is the sweet spot. Developers are busy and inbox-protective. |
| 44 | |
| 45 | --- |
| 46 | |
| 47 | ## Content Mix Framework |
| 48 | |
| 49 | ### The 70-20-10 Rule |
| 50 | |
| 51 | | Percentage | Content Type | Purpose | |
| 52 | |------------|--------------|---------| |
| 53 | | **70%** | Value content | Teach, inform, help | |
| 54 | | **20%** | Product content | Updates, features, how-tos | |
| 55 | | **10%** | Promotional | CTAs, asks, sales | |
| 56 | |
| 57 | ### Content Categories |
| 58 | |
| 59 | Build a rotation of these: |
| 60 | |
| 61 | | Category | Examples | |
| 62 | |----------|----------| |
| 63 | | **Tutorials** | "How to implement X" | |
| 64 | | **News analysis** | "What Y announcement means for you" | |
| 65 | | **Tool/library roundups** | "5 libraries for handling Z" | |
| 66 | | **Code snippets** | "Quick tip: better error handling" | |
| 67 | | **Community highlights** | "Best from our Discord this week" | |
| 68 | | **Industry takes** | "Why I think X is overhyped" | |
| 69 | | **Behind the scenes** | "How we built feature Y" | |
| 70 | | **Q&A** | "You asked, we answered" | |
| 71 | |
| 72 | --- |
| 73 | |
| 74 | ## Writing Developer Emails |
| 75 | |
| 76 | ### Subject Line Framework |
| 77 | |
| 78 | What works for developers: |
| 79 | |
| 80 | | Pattern | Example | Why It Works | |
| 81 | |---------|---------|--------------| |
| 82 | | **Specific benefit** | "Cut your build time by 40%" | Concrete value | |
| 83 | | **Technical curiosity** | "The JavaScript feature nobody uses" | Triggers curiosity | |
| 84 | | **Direct announcement** | "v2.0 is here: async/await support" | Clear, newsworthy | |
| 85 | | **Number + topic** | "7 TypeScript tricks senior devs use" | Scannable, specific | |
| 86 | | **Question** | "Are you still using callbacks?" | Pattern interrupt | |
| 87 | | **Breaking news** | "React 19 is out: what you need to know" | Timely, urgent | |
| 88 | |
| 89 | What doesn't work: |
| 90 | |
| 91 | | Avoid | Why | |
| 92 | |-------|-----| |
| 93 | | ALL CAPS | Spam signals | |
| 94 | | "Quick question" | Manipulative | |
| 95 | | Excessive emoji | Looks like marketing | |
| 96 | | "You won't believe..." | Clickbait fatigue | |
| 97 | | No subject line | Just... no | |
| 98 | |
| 99 | ### Pre-header Text |
| 100 | |
| 101 | The preview text after the subject line. Use it. |
| 102 | |
| 103 | | Subject | Pre-header | |
| 104 | |---------|------------| |
| 105 | | "v2.0 is here" | "Plus: breaking changes to watch for" | |
| 106 | | "This week in Node.js" | "fetch() drama, npm security, and a cool CLI" | |
| 107 | |
| 108 | ### Email Structure |
| 109 | |
| 110 | ``` |
| 111 | [Short personal intro - 1-2 sentences] |
| 112 | |
| 113 | [Main content sections with clear headers] |
| 114 | |
| 115 | [Code snippet if relevant] |
| 116 | |
| 117 | [Quick links section] |
| 118 | |
| 119 | [Sign-off with personality] |
| 120 | ``` |
| 121 | |
| 122 | ### Code in Email |
| 123 | |
| 124 | Code rendering is tricky in email. Options: |
| 125 | |
| 126 | | Approach | Pros | Cons | |
| 127 | |----------|------|------| |
| 128 | | **Inline code** (`backticks`) | Works everywhere | No highlighting | |
| 129 | | **Plain text block** | Reliable | Ugly | |
| 130 | | **Image of code** | Beautiful | Can't copy, accessibility issues | |
| 131 | | **"View in browser" link** | Full formatting | Friction | |
| 132 | | **Styled HTML tables** | Decent formatting | Complex, can break | |
| 133 | |
| 134 | **Recommendation**: Keep code short. Use inline code for small snippets, link to full examples. |
| 135 | |
| 136 | ```html |
| 137 | <pre style="background-color: #1e1e1e; color: #d4d4d4; padding: 16px; border-radius: 4px; font-family: 'Fira Code', monospace; font-size: 14px; overflow-x: auto;"> |
| 138 | const result = await fetch('/api/data'); |
| 139 | </pre> |
| 140 | ``` |
| 141 | |
| 142 | --- |
| 143 | |
| 144 | ## Subject Line Testing |
| 145 | |
| 146 | ### A/B Test Framework |
| 147 | |
| 148 | Test one variable at a time: |
| 149 | |
| 150 | | Var |