$npx -y skills add jonathimer/devmarketing-skills --skill developer-advocacyWhen the user wants to do developer advocacy activities including conference talks, live coding, podcasts, and building in public. Trigger phrases include "developer advocacy," "devrel," "conference talk," "CFP," "call for papers," "live coding," "podcast," "building in public,"
| 1 | # Developer Advocacy |
| 2 | |
| 3 | This skill helps you with developer advocacy activities: conference talks, live coding demos, podcast appearances, and building in public. Covers talk proposals, demo prep, social presence, and measuring impact. |
| 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 trying to reach (conferences they attend, podcasts they listen to) |
| 12 | - What topics resonate (pain points, interests) |
| 13 | - Your product's positioning (what story to tell) |
| 14 | - Voice & tone (how formal/technical to be) |
| 15 | |
| 16 | If the context file doesn't exist, run the `developer-audience-context` skill first. |
| 17 | |
| 18 | --- |
| 19 | |
| 20 | ## Conference Talks |
| 21 | |
| 22 | ### Finding the Right Conferences |
| 23 | |
| 24 | | Conference Type | Best For | Examples | |
| 25 | |-----------------|----------|----------| |
| 26 | | **Large industry** | Brand awareness, reach | KubeCon, AWS re:Invent, React Summit | |
| 27 | | **Regional** | Local community, accessible | Local meetups, city tech conferences | |
| 28 | | **Niche** | Targeted audience, expertise | GraphQL Conf, RustConf | |
| 29 | | **Company-hosted** | Ecosystem presence | Vercel Ship, GitHub Universe | |
| 30 | | **Unconferences** | Community connection | BarCamps, DevOpsDays | |
| 31 | |
| 32 | ### Talk Proposal (CFP) Framework |
| 33 | |
| 34 | **The winning formula:** |
| 35 | ``` |
| 36 | Specific Problem + Unique Angle + Clear Takeaways = Accepted Talk |
| 37 | ``` |
| 38 | |
| 39 | **CFP Template:** |
| 40 | |
| 41 | ```markdown |
| 42 | # Title |
| 43 | [Action verb] + [specific outcome] + [with/using what] |
| 44 | Example: "Building Real-Time Features with Edge Functions and WebSockets" |
| 45 | |
| 46 | # Abstract (100-200 words) |
| 47 | [Hook: Problem or curiosity gap] |
| 48 | [What you'll cover] |
| 49 | [What attendees will learn/be able to do] |
| 50 | |
| 51 | # Description (detailed, for reviewers) |
| 52 | [Problem context] |
| 53 | [Why this approach] |
| 54 | [Talk structure] |
| 55 | [Your credibility to give this talk] |
| 56 | |
| 57 | # Outline |
| 58 | - [Time] Introduction / Problem statement |
| 59 | - [Time] Section 1 |
| 60 | - [Time] Section 2 |
| 61 | - [Time] Section 3 |
| 62 | - [Time] Live demo / walkthrough |
| 63 | - [Time] Key takeaways / Q&A |
| 64 | |
| 65 | # Audience |
| 66 | [Who this is for] |
| 67 | [Prerequisite knowledge] |
| 68 | [What they'll learn] |
| 69 | |
| 70 | # Bio |
| 71 | [Your relevant experience] |
| 72 | [Why you're qualified] |
| 73 | ``` |
| 74 | |
| 75 | ### Title Patterns That Work |
| 76 | |
| 77 | | Pattern | Example | |
| 78 | |---------|---------| |
| 79 | | **How I X** | "How I Reduced Deploy Time by 80%" | |
| 80 | | **X in Y Minutes** | "Kubernetes Security in 15 Minutes" | |
| 81 | | **The X of Y** | "The Psychology of Error Messages" | |
| 82 | | **Beyond X** | "Beyond Console.log: Modern Debugging" | |
| 83 | | **X for Y** | "GraphQL for REST Developers" | |
| 84 | | **Lessons from X** | "Lessons from 1000 Production Outages" | |
| 85 | |
| 86 | ### Talk Types |
| 87 | |
| 88 | | Type | Length | Best For | |
| 89 | |------|--------|----------| |
| 90 | | **Lightning** | 5-10 min | Single concept, quick demo | |
| 91 | | **Standard** | 25-45 min | Technical deep-dive | |
| 92 | | **Keynote** | 45-60 min | Big picture, inspiring | |
| 93 | | **Workshop** | 2-4 hours | Hands-on learning | |
| 94 | | **Panel** | 30-60 min | Discussion, multiple perspectives | |
| 95 | |
| 96 | ### Talk Prep Checklist |
| 97 | |
| 98 | | Phase | Tasks | |
| 99 | |-------|-------| |
| 100 | | **2 months before** | Outline, start slides, test demos | |
| 101 | | **1 month before** | Draft complete, first practice run | |
| 102 | | **2 weeks before** | Slides polished, demos solid, practice 3x | |
| 103 | | **1 week before** | Record yourself, get feedback, finalize | |
| 104 | | **Day before** | Test all tech, backup slides, rest | |
| 105 | | **Day of** | Arrive early, test A/V, hydrate | |
| 106 | |
| 107 | --- |
| 108 | |
| 109 | ## Live Coding & Demos |
| 110 | |
| 111 | ### The Demo Danger Zone |
| 112 | |
| 113 | | Risk | Mitigation | |
| 114 | |------|------------| |
| 115 | | **Internet fails** | Pre-record backup, local server | |
| 116 | | **Typo freezes you** | Practice typing same code 20x | |
| 117 | | **Error you can't fix** | Have working checkpoints to jump to | |
| 118 | | **Runs over time** | Time yourself, cut ruthlessly | |
| 119 | | **Code too small** | Zoom in, use large font (24pt+) | |
| 120 | | **Dark theme blinding** | Use high-contrast, light-friendly theme | |
| 121 | |
| 122 | ### Demo Prep Framework |
| 123 | |
| 124 | **The 10-3-1 Rule:** |
| 125 | - Run your demo **10 times** in practice |
| 126 | - Have **3 checkpoints** you can jump to if stuck |
| 127 | - **1 backup** (video recording of it working) |
| 128 | |
| 129 | **Pre-demo checklist:** |
| 130 | - [ ] Close unnecessary apps |
| 131 | - [ ] Clear browser history/tabs |
| 132 | - [ ] Notifications OFF (Slack, email, calendar) |
| 133 | - [ ] Font size: 24pt+ for terminal, 20pt+ for editor |
| 134 | - [ ] Git stash/branch for clean starting point |
| 135 | - [ ] Environment variables ready |
| 136 | - [ ] Test on the actual projector/screen if possible |
| 137 | |
| 138 | ### Live Coding Tips |
| 139 | |
| 140 | | Tip | Why | |
| 141 | |-----|-----| |
| 142 | | **Type slowly** | Audience needs to follow | |
| 143 | | **Narrate what you type** | "I'm creating a new handler..." | |
| 144 | | **Explain errors** | "This error means X, let me fix it" | |
| 145 | | **Use snippets** | For boilerplate, not core concepts | |
| 146 | | **Show the result** | Always run the code, show output | |
| 147 | | **Checkpoint commits** | `git checkout |