1---2name: developer-advocacy3description: Plans DevRel work: conference CFPs, talk prep, live-coding demos (10-3-1 checkpoints), podcast pitches, building-in-public, and advocacy metrics. Use when the user mentions developer advocacy, DevRel, CFP, conference talk, live coding, podcast guesting, or building in public. Not for product marketing copy, authoring SKILL.md, or implementing the product. Never skip audience context or share customer or security data while building in public.4license: MIT5---6
7# Developer Advocacy
8
9## When to Use
10
11Use this skill when the user wants to plan or execute developer advocacy activities. Trigger phrases include:
12
13- "developer advocacy" / "devrel"
14- "conference talk" / "CFP" / "call for papers"
15- "live coding" / "demo prep"
16- "podcast" / "podcast pitch"
17- "building in public" / "social presence"
18- "advocacy metrics" / "advocacy report"
19
20This skill covers the full advocacy lifecycle: finding conferences, writing talk proposals, preparing live demos, pitching and appearing on podcasts, building in public, managing social presence, and measuring impact.
21
22## Prerequisites
23
241. **Load audience context first.** Before any advocacy work, read `.agents/developer-audience-context.md` to understand:
25 - Who you're trying to reach (conferences they attend, podcasts they listen to)
26 - What topics resonate (pain points, interests)
27 - Your product's positioning (what story to tell)
28 - Voice & tone (how formal/technical to be)
29
302. If the context file does not exist, run the `developer-audience-context` skill first to generate it.
31
323. **Templates live in this skill.** Use them at these moments:
33 - Conference talk proposal — CFP template in §1.2.
34 - Live coding demo — pre-demo checklist in §2.2.
35 - Podcast guest pitch — pitch template in §3.2.
36 - Monthly advocacy report — report template in §6.3.
37
38## Procedure
39
40### 1. Conference Talks
41
42#### 1.1 Finding the Right Conferences
43
44| Conference Type | Best For | Examples |
45|-----------------|----------|----------|
46| **Large industry** | Brand awareness, reach | KubeCon, AWS re:Invent, React Summit |
47| **Regional** | Local community, accessible | Local meetups, city tech conferences |
48| **Niche** | Targeted audience, expertise | GraphQL Conf, RustConf |
49| **Company-hosted** | Ecosystem presence | Vercel Ship, GitHub Universe |
50| **Unconferences** | Community connection | BarCamps, DevOpsDays |
51
52#### 1.2 Writing a Talk Proposal (CFP)
53
54**Winning formula:**
55
56```
57Specific Problem + Unique Angle + Clear Takeaways = Accepted Talk
58```
59
60**CFP Template:**
61
62```markdown
63# Title
64[Action verb] + [specific outcome] + [with/using what]
65Example: "Building Real-Time Features with Edge Functions and WebSockets"
66
67# Abstract (100-200 words)
68[Hook: Problem or curiosity gap]
69[What you'll cover]
70[What attendees will learn/be able to do]
71
72# Description (detailed, for reviewers)
73[Problem context]
74[Why this approach]
75[Talk structure]
76[Your credibility to give this talk]
77
78# Outline
79- [Time] Introduction / Problem statement
80- [Time] Section 1
81- [Time] Section 2
82- [Time] Section 3
83- [Time] Live demo / walkthrough
84- [Time] Key takeaways / Q&A
85
86# Audience
87[Who this is for]
88[Prerequisite knowledge]
89[What they'll learn]
90
91# Bio
92[Your relevant experience]
93[Why you're qualified]
94```
95
96**Title patterns that work:**
97
98| Pattern | Example |
99|---------|---------|
100| **How I X** | "How I Reduced Deploy Time by 80%" |
101| **X in Y Minutes** | "Kubernetes Security in 15 Minutes" |
102| **The X of Y** | "The Psychology of Error Messages" |
103| **Beyond X** | "Beyond Console.log: Modern Debugging" |
104| **X for Y** | "GraphQL for REST Developers" |
105| **Lessons from X** | "Lessons from 1000 Production Outages" |
106
107**Talk types:**
108
109| Type | Length | Best For |
110|------|--------|----------|
111| **Lightning** | 5-10 min | Single concept, quick demo |
112| **Standard** | 25-45 min | Technical deep-dive |
113| **Keynote** | 45-60 min | Big picture, inspiring |
114| **Workshop** | 2-4 hours | Hands-on learning |
115| **Panel** | 30-60 min | Discussion, multiple perspectives |
116
117#### 1.3 Talk Prep Checklist
118
119| Phase | Tasks |
120|-------|-------|
121| **2 months before** | Outline, start slides, test demos |
122| **1 month before** | Draft complete, first practice run |
123| **2 weeks before** | Slides polished, demos solid, practice 3x |
124| **1 week before** | Record yourself, get feedback, finalize |
125| **Day before** | Test all tech, backup slides, rest |
126| **Day of** | Arrive early, test A/V, hydrate |
127
128### 2. Live Coding & Demos
129
130#### 2.1 The 10-3-1 Rule
131
132- Run your demo **10 times** in practice
133- Have **3 checkpoints** you can jump to if stuck
134- **1 backup** (video recording of it working)
135
136#### 2.2 Pre-Demo Checklist
137
138- [ ] Close unnecessary apps
139- [ ] Clear browser history/tabs
140- [ ] Notifications OFF (Slack, email, calendar)
141- [ ] Font size: 24pt+ for terminal, 20pt+ for editor
142- [ ] Git stash/branch for clean starting point
143- [ ] Environment variables ready
144- [ ] Test on the actual projector/screen if possible
145
146#### 2.3 Demo Danger Zone — Risk Mitigation
147
148| Risk | Mitigation |
149|------|------------|
150| **Internet fails** | Pre-record backup, local server |
151| **Typo freezes you** | Practice typing same code 20x |
152| **Error you can't fix** | Have working checkpoints to jump to |
153| **Runs over time** | Time yourself, cut ruthlessly |
154| **Code too small** | Zoom in, use large font (24pt+) |
155| **Dark theme blinding** | Use high-contrast, light-friendly theme |
156
157#### 2.4 Live Coding Tips
158
159| Tip | Why |
160|-----|-----|
161| **Type slowly** | Audience needs to follow |
162| **Narrate what you type** | "I'm creating a new handler..." |
163| **Explain errors** | "This error means X, let me fix it" |
164| **Use snippets** | For boilerplate, not core concepts |
165| **Show the result** | Always run the code, show output |
166| **Checkpoint commits** | `git checkout checkpoint-1` |
167
168### 3. Podcast Guesting
169
170#### 3.1 Finding Podcasts
171
172| Approach | How |
173|----------|-----|
174| **Direct search** | "top [your tech] podcasts" |
175| **Guest networks** | Podmatch, Matchmaker.fm |
176| **Peer asks** | "What podcasts do you listen to?" |
177| **Twitter search** | "[topic] podcast episode" |
178| **Listen Notes** | Podcast search engine |
179
180#### 3.2 Pitch Template
181
182```
183Subject: Guest Idea: [Specific Topic] for [Podcast Name]
184
185Hi [Host Name],
186
187I've been listening to [Podcast] for [time] — loved your episode on [specific episode].
188
189I'd love to come on and talk about [specific topic]. Here's the angle:
190
191[2-3 sentences on what you'd discuss and why it matters to their audience]
192
193A bit about me:
194- [Relevant credential 1]
195- [Relevant credential 2]
196- [Link to past podcast/talk]
197
198Would this be a fit?
199
200[Your name]
201```
202
203#### 3.3 Pre-Podcast Prep
204
205| Prep Item | Details |
206|-----------|---------|
207| **Research the show** | Listen to 2-3 episodes, understand format |
208| **Research the host** | Their interests, style, Twitter |
209| **Prep talking points** | 3-5 main things you want to say |
210| **Prep stories** | Specific examples, not generalities |
211| **Audio setup** | Good mic, quiet room, headphones |
212| **Water nearby** | You'll be talking a lot |
213
214#### 3.4 During the Podcast
215
216| Do | Don't |
217|----|-------|
218| Tell stories with specifics | Give generic advice |
219| Pause before answering | Um and ah nervously |
220| Disagree respectfully | Always agree to be polite |
221| Promote subtly | Hard sell your product |
222| Be concise | Ramble without structure |
223| Show enthusiasm | Be monotone |
224
225#### 3.5 Post-Podcast
226
227| Action | Timing |
228|--------|--------|
229| Thank the host | Same day |
230| Share when published | Immediately |
231| Engage with comments | First week |
232| Cross-promote | Your newsletter, blog |
233| Stay in touch | Ongoing relationship |
234
235### 4. Building in Public
236
237#### 4.1 What to Share
238
239| Category | Content Ideas |
240|----------|---------------|
241| **Progress** | "Shipped X today, here's what I learned" |
242| **Challenges** | "Stuck on X, tried Y and Z, here's what worked" |
243| **Decisions** | "Why we chose X over Y" |
244| **Metrics** | Revenue, users, growth (transparently) |
245| **Behind scenes** | Team, process, tools |
246| **Learnings** | "Mistake we made and how we fixed it" |
247
248#### 4.2 Build in Public Formats
249
250| Format | Platform | Cadence |
251|--------|----------|---------|
252| **Tweet thread** | Twitter/X | Daily-weekly |
253| **Changelog** | Blog, Notion, website | Weekly |
254| **Indie hacker posts** | Indie Hackers, HN | Monthly |
255| **Video update** | YouTube, Loom | Weekly-monthly |
256| **Newsletter** | Email | Weekly |
257| **Livestream** | Twitch, YouTube | Weekly |
258
259#### 4.3 What NOT to Share
260
261| Avoid | Why |
262|-------|-----|
263| **Customer data** | Privacy, trust |
264| **Team conflicts** | Professionalism |
265| **Security details** | Vulnerability |
266| **Competitor attacks** | Looks petty |
267| **Venting** | Not productive |
268
269### 5. Social Presence (Twitter/X)
270
271#### 5.1 Content Mix
272
273| Content Type | % of Posts | Example |
274|--------------|------------|---------|
275| **Value content** | 60% | Tips, tutorials, insights |
276| **Engagement** | 20% | Replies, retweets with commentary |
277| **Personal** | 10% | Behind-the-scenes, personality |
278| **Promotion** | 10% | Your product, talks, content |
279
280#### 5.2 Tweet Formats That Work
281
282| Format | Example |
283|--------|---------|
284| **Thread** | "10 things I learned building X" |
285| **Hot take** | "Unpopular opinion: [opinion]" |
286| **Quick tip** | "TIL: You can do X by..." |
287| **Question** | "What's your favorite way to..." |
288| **Meme/humor** | Tech jokes, relatable content |
289| **Showcase** | "Just shipped X, here's how it works" |
290| **Appreciation** | "Shoutout to @person for..." |
291
292#### 5.3 Engagement Strategy
293
294| Action | Frequency |
295|--------|-----------|
296| Tweet original content | Daily |
297| Reply to others | 5-10x daily |
298| Quote tweet with value | 2-3x weekly |
299| DM interesting people | Weekly |
300| Join Twitter Spaces | As relevant |
301
302#### 5.4 Growing Your Presence
303
304| Tactic | Implementation |
305|--------|----------------|
306| **Consistency** | Post daily, engage daily |
307| **Niche down** | Be known for ONE thing first |
308| **Reply game** | Add value to big accounts' tweets |
309| **Collaborate** | Twitter Spaces, threads together |
310| **Cross-promote** | Newsletter, talks, blog |
311
312### 6. Measuring Impact
313
314#### 6.1 Advocacy Metrics
315
316| Activity | Metrics |
317|----------|---------|
318| **Talks** | Attendees, feedback scores, recording views |
319| **Content** | Views, shares, engagement |
320| **Social** | Followers, engagement rate, reach |
321| **Podcasts** | Listener estimates, traffic spikes |
322| **Community** | Growth, engagement, sentiment |
323
324#### 6.2 Attribution Signals
325
326Developer advocacy impact is notoriously hard to measure. Use these proxy metrics:
327
328| Signal | What It Indicates |
329|--------|-------------------|
330| **Traffic spikes** | Content/talk/podcast drove visits |
331| **"How did you hear about us?"** | Direct attribution |
332| **Social mentions** | Brand awareness |
333| **Inbound leads quality** | Community-qualified leads |
334| **Conference invites** | Growing reputation |
335
336#### 6.3 Monthly Advocacy Report
337
338```markdown
339# Developer Advocacy Report - [Month]
340
341## Talks & Appearances
342- [Talk 1]: [Conference], [Attendees], [Link]
343- [Podcast 1]: [Show], [Episode link]
344
345## Content Published
346- [Article 1]: [Views], [Engagement]
347- [Video 1]: [Views]
348
349## Social Growth
350- Twitter: +X followers, Y impressions
351- Notable tweets: [Links]
352
353## Community
354- Discord/Slack: +X members, Y messages
355- Notable threads/discussions
356
357## Learnings
358- What worked: [X]
359- What didn't: [Y]
360- Trying next: [Z]
361```
362
363### 7. Advocacy Career Path
364
365| Level | Focus |
366|-------|-------|
367| **Junior DA** | Content creation, community support, talk prep |
368| **Developer Advocate** | Talks, own content strategy, community building |
369| **Senior DA** | Strategy, mentoring, major conferences |
370| **Staff DA** | Cross-company impact, industry thought leadership |
371| **Head of DevRel** | Team building, strategy, executive alignment |
372
373| Skill | How to Develop |
374|-------|----------------|
375| **Public speaking** | Meetups, Toastmasters, practice |
376| **Writing** | Blog consistently, get feedback |
377| **Video** | YouTube, live streaming, improve iteratively |
378| **Technical depth** | Build projects, contribute to OSS |
379| **Community** | Moderate, organize events, connect people |
380
381### 8. Tools
382
383| Tool | Use Case |
384|------|----------|
385| **[Octolens](https://octolens.com)** | Monitor your name/brand across GitHub, Twitter, Reddit, HN, Stack Overflow. Track conference mentions. Find podcast opportunities. Measure share of voice. |
386| **Cal.com / Calendly** | Schedule podcast appearances |
387| **StreamYard** | Live streaming setup |
388| **Descript** | Video/podcast editing |
389| **Canva / Figma** | Slides and graphics |
390| **Otter.ai** | Transcription for talks |
391| **Notion** | Talk prep, content calendar |
392| **Buffer / Typefully** | Social scheduling |
393
394## Pitfalls
395
396- **Skipping audience context.** Writing a CFP or pitch without loading `.agents/developer-audience-context.md` leads to generic proposals that get rejected. Always load context first.
397- **No demo backup.** Live demos fail. If you have no pre-recorded fallback or checkpoint commits, you risk a blank screen in front of hundreds of attendees. Follow the 10-3-1 rule.
398- **Hard-selling on podcasts.** Overt product pitches damage host relationships and reduce future invitations. Promote subtly; lead with value and stories.
399- **Oversharing sensitive data.** Never share customer data, security details, or team conflicts when building in public. This breaks privacy, trust, and professionalism.
400- **Ignoring attribution.** Advocacy without measurement is invisible to leadership. Always include proxy metrics and "how did you hear about us?" tracking in your reporting.
401- **Inconsistent social presence.** Posting in bursts then going silent kills algorithmic reach. Post daily and engage daily for sustained growth.
402- **Under-practicing talks.** One practice run is not enough. Aim for 3 full run-throughs in the final 2 weeks, plus a recording for self-review.
403
404## Verification
405
4061. **Audience context loaded:**
407 ```powershell
408 Test-Path .agents\developer-audience-context.md
409 ```
410 Expected output: `True`. If `False`, run the `developer-audience-context` skill first.
411
4122. **CFP completeness check** — Confirm your proposal has all required sections:
413 ```powershell
414 Select-String -Path .\cfp-draft.md -Pattern "^# (Title|Abstract|Description|Outline|Audience|Bio)"
415 ```
416 Expected: 6 matching lines. If fewer, add the missing sections.
417
4183. **Demo checkpoint commits exist:**
419 ```powershell
420 git tag --list "checkpoint-*"
421 ```
422 Expected: at least 3 tags (e.g., `checkpoint-1`, `checkpoint-2`, `checkpoint-3`).
423
4244. **Font size for live coding** — Verify terminal and editor fonts are 24pt+ and 20pt+ respectively before the talk. Visually confirm on the projector if possible.
425
4265. **Monthly report generated** — Confirm the report file exists and contains all sections:
427 ```powershell
428 Select-String -Path .\advocacy-report.md -Pattern "^## (Talks & Appearances|Content Published|Social Growth|Community|Learnings)"
429 ```
430 Expected: 5 matching lines.
431
432## Related Skills
433
434- `developer-audience-context` — Know who you're reaching
435- `devrel-content` — Written content strategy
436- `community-building` — Community management
437- `open-source-marketing` — OSS-specific advocacy
438- `hacker-news-strategy` — HN engagement
439
440## Limitations
441
442- Use this skill only when the task clearly matches its upstream source and local project context.
443- Verify commands, generated code, dependencies, credentials, and external service behavior before applying changes.
444- Do not treat examples as a substitute for environment-specific tests, security review, or user approval for destructive or costly actions.