|
| 1 | +--- |
| 2 | +name: dev-proxy-release-announcement |
| 3 | +description: This skill should be used when the user asks to "write a Dev Proxy release announcement", "create release notes for Dev Proxy", "write announcement for Dev Proxy version", or needs to convert a Dev Proxy changelog into a marketing-focused release article. |
| 4 | +--- |
| 5 | + |
| 6 | +# Dev Proxy Release Announcement Writer |
| 7 | + |
| 8 | +Create compelling release announcements for Dev Proxy versions based on changelog input. |
| 9 | + |
| 10 | +## About Dev Proxy |
| 11 | + |
| 12 | +Dev Proxy is an API simulator that helps developers build better apps. Developers use it to emulate APIs and their behaviors, ensuring apps integrate with APIs following market best practices. |
| 13 | + |
| 14 | +## Gathering Changelog Input |
| 15 | + |
| 16 | +STOP - Before writing an announcement, obtain a GitHub release URL. |
| 17 | + |
| 18 | +Request from the user a link to the Dev Proxy GitHub release (draft or published). Then: |
| 19 | + |
| 20 | +1. Fetch the release page to get the list of changes |
| 21 | +2. Follow links to related issues and PRs to understand: |
| 22 | + - What problem each change solves |
| 23 | + - Technical details of the implementation |
| 24 | + - User impact and breaking changes |
| 25 | +3. Use this context to write the announcement |
| 26 | + |
| 27 | +**For draft releases:** Remind the user to delete the draft after publishing the announcement - otherwise it breaks the build. |
| 28 | + |
| 29 | +## Voice and Tone |
| 30 | + |
| 31 | +Write as a master copywriter and part of the Dev Proxy team. Understand that buying is emotional - use words to tap into readers' emotions. |
| 32 | + |
| 33 | +**Perspective:** |
| 34 | +- Write in first-person plural ("We're excited...", "We've improved...") |
| 35 | +- Position as team members sharing news, not a changelog dump |
| 36 | + |
| 37 | +**Principles:** |
| 38 | +- Skip filler words ("We're pleased to inform you that...", "This release contains...") |
| 39 | +- Focus on user benefits, not just features |
| 40 | +- Make technical changes relatable and actionable |
| 41 | +- Use regular dashes (`-`), never em-dashes (`–` or `—`) |
| 42 | +- Use sentence case for titles (only first word and proper nouns capitalized) |
| 43 | + |
| 44 | +**Engagement techniques:** |
| 45 | +- Use rhetorical questions ("The upside?", "Why this matters:") |
| 46 | +- Add "Why this matters" sections for significant features |
| 47 | +- Use emotional hooks ("Future-proof", "with confidence", "no more mysterious failures") |
| 48 | +- Keep conversational - explain problems before solutions |
| 49 | + |
| 50 | +## Changelog Analysis |
| 51 | + |
| 52 | +Analyze the changelog to separate functional from non-functional changes: |
| 53 | + |
| 54 | +**Include (functional changes):** |
| 55 | +- New features |
| 56 | +- Bug fixes affecting user behavior |
| 57 | +- Breaking changes |
| 58 | +- Performance improvements |
| 59 | + |
| 60 | +**Exclude (non-functional changes):** |
| 61 | +- Dependabot updates (codeql-action, checkout, setup-dotnet, etc.) |
| 62 | +- Docker workflow updates (metadata-action, setup-qemu-action) |
| 63 | +- Internal CI/CD pipeline changes |
| 64 | +- GitHub Actions version bumps |
| 65 | + |
| 66 | +## Breaking Changes |
| 67 | + |
| 68 | +For major version releases, lead with breaking changes prominently. |
| 69 | + |
| 70 | +Structure each breaking change with: |
| 71 | +- **What changed** - technical description |
| 72 | +- **Impact** - how it affects users |
| 73 | + |
| 74 | +Frame bug fixes as improvements: "This was a bug - Dev Proxy wasn't accurately emulating..." |
| 75 | + |
| 76 | +Explain the version bump follows semantic versioning (SemVer). |
| 77 | + |
| 78 | +## Graph API Emulation |
| 79 | + |
| 80 | +When describing Microsoft Graph mocking fixes: |
| 81 | +- Emphasize alignment with how Microsoft Graph actually works |
| 82 | +- Highlight consistency across environments |
| 83 | +- Position fixes as bringing Dev Proxy closer to real Graph behavior |
| 84 | + |
| 85 | +## Announcement Structure |
| 86 | + |
| 87 | +```markdown |
| 88 | +# Dev Proxy vX.X.X - [Brief description in sentence case] |
| 89 | + |
| 90 | +**Authors: Waldek Mastykarz, Garry Trinder** |
| 91 | + |
| 92 | +[Opening paragraph - excitement, key highlights] |
| 93 | + |
| 94 | +### **In this version:** |
| 95 | + |
| 96 | +- [Bullet list of main changes] |
| 97 | + |
| 98 | +--- |
| 99 | + |
| 100 | +### **[Section title]** |
| 101 | + |
| 102 | +[Description - use "What changed:" and "Impact:" for breaking changes] |
| 103 | + |
| 104 | +--- |
| 105 | + |
| 106 | +### **Why upgrade to vX.X.X?** |
| 107 | + |
| 108 | +✅ **Benefit 1** - description |
| 109 | +✅ **Benefit 2** - description |
| 110 | + |
| 111 | +### **Try it now** |
| 112 | + |
| 113 | +Download **Dev Proxy vX.X.X** today and build better API-connected applications with confidence! |
| 114 | + |
| 115 | +Got feedback or ideas? [Join us](https://github.com/dotnet/dev-proxy/discussions) and be part of the conversation. |
| 116 | +``` |
| 117 | + |
| 118 | +## Formatting Rules |
| 119 | + |
| 120 | +- `###` for main headings (bold: `### **Section title**`) |
| 121 | +- `####` for subsections within breaking changes |
| 122 | +- Regular dashes only |
| 123 | +- ✅ for benefit lists |
| 124 | +- Bold plugin names: `**PluginName**` |
| 125 | +- Code format for commands: `` `devproxy --version` `` |
| 126 | + |
| 127 | +## Output Location |
| 128 | + |
| 129 | +Store in: `Projects/Dev Proxy/Release announcements/vX.X.X.md` |
| 130 | + |
| 131 | +## Workflow |
| 132 | + |
| 133 | +1. Gather changelog (see "Gathering Changelog Input" above) |
| 134 | +2. Analyze and categorize changes |
| 135 | +3. Identify breaking changes and their impact |
| 136 | +4. Draft announcement following the structure |
| 137 | +5. Check for duplicate content across sections |
| 138 | +6. Verify dashes are regular, not em-dashes |
| 139 | +7. Confirm title uses sentence case |
| 140 | + |
| 141 | +## Reference Files |
| 142 | + |
| 143 | +- **`references/example-announcement.md`** - Complete v2.0.0 announcement example |
0 commit comments