$npx -y skills add jonathimer/devmarketing-skills --skill open-source-marketingWhen the user wants to market an open source project authentically. Trigger phrases include "open source marketing," "OSS marketing," "GitHub marketing," "promote my library," "grow stars," "launch open source," "open source growth," or "contributor marketing.
| 1 | # Open Source Marketing |
| 2 | |
| 3 | This skill helps you market open source projects without being cringe. Covers GitHub optimization, community building, contributor experience, launch strategies, and sustainable growth. |
| 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 would use this project (role, tech stack, problem) |
| 12 | - Where they discover tools (communities, social, search) |
| 13 | - What alternatives exist (why would they switch?) |
| 14 | - How they evaluate OSS (stars, activity, docs, community) |
| 15 | |
| 16 | If the context file doesn't exist, run the `developer-audience-context` skill first. |
| 17 | |
| 18 | --- |
| 19 | |
| 20 | ## The OSS Marketing Mindset |
| 21 | |
| 22 | ### What Works vs. What Doesn't |
| 23 | |
| 24 | | Works | Doesn't Work | |
| 25 | |-------|--------------| |
| 26 | | Building in public | Spamming "check out my project" | |
| 27 | | Solving real problems | Building solutions seeking problems | |
| 28 | | Genuine community engagement | Transactional follows/unfollows | |
| 29 | | Great docs and DX | "The code is self-documenting" | |
| 30 | | Celebrating contributors | Taking sole credit | |
| 31 | | Consistent presence | Launch and disappear | |
| 32 | |
| 33 | ### The Growth Equation |
| 34 | |
| 35 | ``` |
| 36 | Growth = (Real value) × (Discoverability) × (First-use experience) |
| 37 | ``` |
| 38 | |
| 39 | If any factor is zero, growth is zero. |
| 40 | |
| 41 | --- |
| 42 | |
| 43 | ## GitHub Optimization |
| 44 | |
| 45 | ### README Excellence |
| 46 | |
| 47 | Your README is your landing page. Optimize it. |
| 48 | |
| 49 | **Structure:** |
| 50 | |
| 51 | ```markdown |
| 52 | # Project Name |
| 53 | |
| 54 | [One-line description that explains what it does] |
| 55 | |
| 56 | [Badges: build status, version, license, downloads] |
| 57 | |
| 58 | [Screenshot or GIF showing it in action] |
| 59 | |
| 60 | ## Why [Project Name]? |
| 61 | |
| 62 | - ✅ [Benefit 1 - specific, not fluffy] |
| 63 | - ✅ [Benefit 2] |
| 64 | - ✅ [Benefit 3] |
| 65 | |
| 66 | ## Quick Start |
| 67 | |
| 68 | \`\`\`bash |
| 69 | npm install project-name |
| 70 | \`\`\` |
| 71 | |
| 72 | \`\`\`javascript |
| 73 | // 5 lines that show immediate value |
| 74 | \`\`\` |
| 75 | |
| 76 | ## Installation |
| 77 | |
| 78 | [Detailed installation for all platforms] |
| 79 | |
| 80 | ## Usage |
| 81 | |
| 82 | [Core usage patterns with examples] |
| 83 | |
| 84 | ## Documentation |
| 85 | |
| 86 | [Link to full docs] |
| 87 | |
| 88 | ## Contributing |
| 89 | |
| 90 | We love contributions! See [CONTRIBUTING.md](CONTRIBUTING.md). |
| 91 | |
| 92 | ## License |
| 93 | |
| 94 | [License type] - see [LICENSE](LICENSE) |
| 95 | ``` |
| 96 | |
| 97 | ### README Checklist |
| 98 | |
| 99 | | Element | Why It Matters | |
| 100 | |---------|---------------| |
| 101 | | **Clear name** | Memorable, searchable, spellable | |
| 102 | | **One-liner** | "A [type] for [audience] that [does what]" | |
| 103 | | **Badges** | Social proof, health signals | |
| 104 | | **Visual** | GIF > Screenshot > Nothing | |
| 105 | | **Quick start** | <5 lines to first value | |
| 106 | | **Why this?** | Differentiation from alternatives | |
| 107 | | **Installation** | All platforms, copy-paste | |
| 108 | | **Examples** | Real use cases, not contrived | |
| 109 | | **Docs link** | More detail available | |
| 110 | | **Contributing** | Community welcome | |
| 111 | |
| 112 | ### Repository Optimization |
| 113 | |
| 114 | | Element | Best Practice | |
| 115 | |---------|--------------| |
| 116 | | **Description** | 100 chars max, keyword-rich | |
| 117 | | **Topics** | 5-10 relevant tags for discoverability | |
| 118 | | **Website** | Link to docs or landing page | |
| 119 | | **Releases** | Semantic versioning, changelogs | |
| 120 | | **Issues** | Templates for bugs/features | |
| 121 | | **Discussions** | Enable for community Q&A | |
| 122 | | **Sponsors** | Enable if you want funding | |
| 123 | |
| 124 | ### Issue & PR Templates |
| 125 | |
| 126 | **Bug report template:** |
| 127 | |
| 128 | ```markdown |
| 129 | --- |
| 130 | name: Bug Report |
| 131 | about: Report a bug to help us improve |
| 132 | --- |
| 133 | |
| 134 | ## Bug Description |
| 135 | [Clear description] |
| 136 | |
| 137 | ## Steps to Reproduce |
| 138 | 1. |
| 139 | 2. |
| 140 | 3. |
| 141 | |
| 142 | ## Expected Behavior |
| 143 | [What should happen] |
| 144 | |
| 145 | ## Actual Behavior |
| 146 | [What actually happens] |
| 147 | |
| 148 | ## Environment |
| 149 | - OS: |
| 150 | - Node version: |
| 151 | - Package version: |
| 152 | |
| 153 | ## Additional Context |
| 154 | [Screenshots, logs, etc.] |
| 155 | ``` |
| 156 | |
| 157 | **Feature request template:** |
| 158 | |
| 159 | ```markdown |
| 160 | --- |
| 161 | name: Feature Request |
| 162 | about: Suggest an idea for this project |
| 163 | --- |
| 164 | |
| 165 | ## Problem |
| 166 | [What problem does this solve?] |
| 167 | |
| 168 | ## Proposed Solution |
| 169 | [How would you like it to work?] |
| 170 | |
| 171 | ## Alternatives Considered |
| 172 | [Other approaches you've thought about] |
| 173 | |
| 174 | ## Additional Context |
| 175 | [Examples, mockups, etc.] |
| 176 | ``` |
| 177 | |
| 178 | --- |
| 179 | |
| 180 | ## Community Building |
| 181 | |
| 182 | ### Community Spaces |
| 183 | |
| 184 | | Platform | Best For | Setup Effort | |
| 185 | |----------|----------|--------------| |
| 186 | | **GitHub Discussions** | Q&A, announcements | Low | |
| 187 | | **Discord** | Real-time chat, community feel | Medium | |
| 188 | | **Slack** | Enterprise communities | Medium | |
| 189 | | **Forum (Discourse)** | Async, searchable discussions | High | |
| 190 | |
| 191 | Start with GitHub Discussions. Add Discord when you have 50+ active users. |
| 192 | |
| 193 | ### Community Principles |
| 194 | |
| 195 | | Principle | Implementation | |
| 196 | |-----------|----------------| |
| 197 | | **Be responsive** | Respond to issues within 48 hours (even if just "looking into it") | |
| 198 | | **Celebrate contributions** | Thank every contributor publicly | |
| 199 | | **Be transparent** | Share roadmap, explain decisions | |
| 200 | | **Set expectations** | Clear SLA for maintainer response | |
| 201 | | **Welcome newcomers** | "good first issue" labels, mentorship | |
| 202 | |
| 203 | ### Contributor Funnel |
| 204 | |
| 205 | ``` |
| 206 | Use |