bmad-os-changelog-social
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
CRITICAL: ALWAYS write to files - Create files in _bmad-output/social/ directory:
{repo-name}-discord-{version}.md- Discord announcement{repo-name}-twitter-{version}.md- Twitter post{repo-name}-linkedin-{version}.md- LinkedIn post (if applicable)
Also present a preview in the chat:
## Discord Announcement
[paste Discord content here]
## Twitter Post
[paste Twitter content here]
Files created:
_bmad-output/social/{filename}
Offer to make adjustments if the user wants different emphasis, tone, or content.