Changelog Social
Generate engaging social media announcements from changelog entries.
Workflow
Step 1: Extract Changelog Entry
Read ./CHANGELOG.md and extract the latest version entry. The changelog follows this format:
## [VERSION] ### 🎁 Features * **Title** — Description ### 🐛 Bug Fixes * **Title** — Description ### 📚 Documentation * **Title** — Description ### 🔧 Maintenance * **Title** — Description
Parse:
- •Version number (e.g.,
6.0.0-Beta.5) - •Features - New functionality, enhancements
- •Bug Fixes - Fixes users will care about
- •Documentation - New or improved docs
- •Maintenance - Dependency updates, tooling improvements
Step 2: Get Git Contributors
Use git log to find contributors since the previous version. Get commits between the current version tag and the previous one:
# Find the previous version tag first git tag --sort=-version:refname | head -5 # Get commits between versions with PR numbers and authors git log <previous-tag>..<current-tag> --pretty=format:"%h|%s|%an" --grep="#"
Extract PR numbers from commit messages that contain # followed by digits. Compile unique contributors.
Step 3: Generate Discord Announcement
Limit: 2,000 characters per message. Split into multiple messages if needed.
Use this template style:
🚀 **BMad vVERSION RELEASED!** 🎉 [Brief hype sentence] 🪥 **KEY HIGHLIGHT** - [One-line summary] 🎯 **CATEGORY NAME** • Feature one - brief description • Feature two - brief description • Coming soon: Future teaser 🔧 **ANOTHER CATEGORY** • Fix or feature • Another item 📚 **DOCS OR OTHER** • Item • Item with link 🌟 **COMMUNITY PHILOSOPHY** (optional - include for major releases) • Everything is FREE - No paywalls • Knowledge shared, not sold 📊 **STATS** X commits | Y PRs merged | Z files changed 🙏 **CONTRIBUTORS** @username1 (X PRs!), @username2 (Y PRs!) @username3, @username4, username5 + dependabot 🛡️ Community-driven FTW! 🌟 📦 **INSTALL:** `npx bmad-method@VERSION install` ⭐ **SUPPORT US:** 🌟 GitHub: github.com/bmad-code-org/BMAD-METHOD/ 📺 YouTube: youtube.com/@BMadCode ☕ Donate: buymeacoffee.com/bmad 🔥 **Next version tease!**
Content Strategy:
- •Focus on user impact - what's better for them?
- •Highlight annoying bugs fixed that frustrated users
- •Show new capabilities that enable workflows
- •Keep it punchy - use emojis and short bullets
- •Add personality - excitement, humor, gratitude
Step 4: Generate Twitter Post
Limit: 25,000 characters per tweet (Premium). With Premium, use a single comprehensive post matching the Discord style (minus Discord-specific formatting). Aim for 1,500-3,000 characters for better engagement.
Threads are optional — only use for truly massive releases where you want multiple engagement points.
See examples/twitter-example.md for the single-post Premium format.
Content Selection Guidelines
Include:
- •New features that change workflows
- •Bug fixes for annoying/blocking issues
- •Documentation that helps users
- •Performance improvements
- •New agents or workflows
- •Breaking changes (call out clearly)
Skip/Minimize:
- •Internal refactoring
- •Dependency updates (unless user-facing)
- •Test improvements
- •Minor style fixes
Emphasize:
- •"Finally fixed" issues
- •"Faster" operations
- •"Easier" workflows
- •"Now supports" capabilities
Examples
Reference example posts in examples/ for tone and formatting guidance:
- •discord-example.md — Full Discord announcement with emojis, sections, contributor shout-outs
- •twitter-example.md — Twitter thread format (5 tweets max for major releases)
- •linkedin-example.md — Professional post for major/minor releases with significant features
When to use LinkedIn:
- •Major version releases (e.g., v6.0.0 Beta, v7.0.0)
- •Minor releases with exceptional new features
- •Community milestone announcements
Read the appropriate example file before generating to match the established style and voice.
Output Format
Present both announcements in clearly labeled sections:
## Discord Announcement [paste Discord content here] ## Twitter Post [paste Twitter content here]
Offer to make adjustments if the user wants different emphasis, tone, or content.