Awesome-omni-skill Changelog Generator
Generate professional changelogs from git commits with industry-standard categories. Automatically activates when users request changelog generation with time periods.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tools/changelog-generator" ~/.claude/skills/diegosouzapw-awesome-omni-skill-changelog-generator-6f2db0 && rm -rf "$T"
skills/tools/changelog-generator/SKILL.mdChangelog Generator
Automatically generates professional changelogs from git commits with intelligent filtering, categorization, and multiple output formats for the Quorum project.
Description
This skill provides comprehensive changelog generation for Quorum project releases, creating both technical documentation and user-friendly communications. It analyzes git commits, filters for relevant changes, categorizes improvements, and generates polished output in multiple formats.
Use this skill when the user mentions:
- Generating changelogs with any time period specification
- Creating release notes or development summaries
- Preparing user communications about new features
- Summarizing changes for stakeholders or beta testers
- Analyzing development progress over specific timeframes
Automatically triggers on phrases like:
- "generate changelog" / "generate a changelog"
- "create changelog" / "create a changelog"
- "changelog for the past [X] days"
- "changelog for the last [X] weeks"
- "generate changelog for [time period]"
- "create release notes"
- "summarize recent changes"
- "changelog for [X] days"
Time period examples that trigger the skill:
- "generate changelog for the past 30 days"
- "create changelog for last 3 days"
- "changelog for 2 weeks"
- "generate changelog for yesterday"
- "changelog since last month"
Core Capabilities
1. Technical Changelog Generation
- Script:
changelog-generator.sh - Audience: Developers, technical stakeholders
- Content: Detailed technical changes with GitHub links
- Categories: New Features, Enhancements, Bug Fixes, Localization, Compatibility, Maintenance
- Format: Markdown + Text versions with commit references
2. User-Friendly Changelog Generation
- Script:
changelog-user-friendly.sh - Audience: End users, beta testers, non-technical stakeholders
- Content: Benefit-focused descriptions without technical jargon
- Categories: New Features, Enhancements, Bug Fixes, Localization, Compatibility, Maintenance
- Format: Engaging copy optimized for user excitement
3. Intelligent Commit Analysis
- Conventional Commit Support: Leverages consistent emoji + conventional commit format
- Precise Categorization: Maps commit types directly to changelog categories
- Smart Filtering: Uses configurable patterns to identify user-facing changes
- Quality Enhancement: Post-processes output for clarity and engagement
Commit Type → Category Mapping
/✨ feat:
→ 🎉 New Featuresfeat:
/🎨 style:
/🚀 perf:
→ ✨ Enhancementsperf:
/🐛 fix:
→ 🐛 Bug Fixesfix:
/🌐 i18n:
→ 🌐 Localizationi18n:
/🧹 chore:
→ 🔧 Maintenance (technical only)⚙️ refactor:- Platform-specific commits → 📱 Compatibility
4. Multiple Output Formats
- Markdown: For documentation, GitHub releases, and web content
- Plain Text: For social media, emails, and messaging platforms
- Analysis Files: For review and further processing
Available Scripts
Technical Changelog (changelog-generator.sh
)
changelog-generator.sh./changelog-generator.sh [DAYS] [BRANCH] [CLAUDE_ENHANCE] [OUTPUT_DIR] [--show]
Parameters:
: Number of days to analyze (default: 7)DAYS
: Git branch to analyze (default: cross-platform)BRANCH
: Enable Claude post-processing (default: false)CLAUDE_ENHANCE
: Output directory (default: skill/changelogs/)OUTPUT_DIR
: Display results immediately--show
Example:
./changelog-generator.sh 14 develop true
User-Friendly Changelog (changelog-user-friendly.sh
)
changelog-user-friendly.sh./changelog-user-friendly.sh [DAYS] [BRANCH] [CLAUDE_ENHANCE] [OUTPUT_DIR] [--show]
Parameters:
: Number of days to analyze (default: 14)DAYS
: Git branch to analyze (default: cross-platform)BRANCH
: Enable Claude enhancement (default: true)CLAUDE_ENHANCE
: Output directory (default: skill/changelogs/)OUTPUT_DIR
: Display preview--show
Example:
./changelog-user-friendly.sh 30 main true
Output Structure
All changelogs are stored within the skill directory:
.claude/skills/changelog-generator/ ├── changelogs/ │ ├── quorum-changelog_2025-11-16.md │ ├── quorum-changelog_2025-11-16.txt │ ├── quorum-changelog-user-friendly_2025-11-16_14-30.md │ ├── quorum-changelog-user-friendly_2025-11-16_14-30.txt │ └── commits-analysis_2025-11-16_14-30.txt └── ...
Configuration Files
Commit Filters (filters/
)
filters/User-Facing Commits (
user-facing-commits.txt):
✨ feat: feat: 🐛 fix: fix: 🎨 style: style: 🚀 perf: perf: Add Implement Fix Improve Enhance Update
Exclude Patterns (
exclude-patterns.txt):
playground audit component complexity primitive typescript build lint task: doc: chore: refactor: test: build:
Templates (templates/
) - MANDATORY
templates/IMPORTANT: You MUST read and follow these templates exactly for consistent output.
Templates define the exact structure, formatting, and layout for each output format. Before generating any changelog:
- Read the appropriate template file(s) for the requested output format
- Follow the template structure exactly - same headers, separators, sections
- Use the same formatting conventions - bullet styles, emoji placement, spacing
| Output Type | Template File | Purpose |
|---|---|---|
| User-friendly (Markdown) | | Discord, documentation, web |
| User-friendly (Plain text) | | Telegram, email, messaging |
| Technical (Markdown) | | GitHub releases, dev docs |
| Social media | | Twitter, short announcements |
Template Variables:
- The date range covered (e.g., "December 11-13, 2025"){{DATE_RANGE}}
- Project name (Quorum){{PROJECT_NAME}}
- Main changelog content{{CONTENT}}
Key Formatting Rules from Templates:
- Use
as section separators in Markdown (NOT---
unicode lines)━━━ - Use
as section separators in Plain text (NOT---
unicode lines)━━━ - Use
for bullet points• - Use subcategory emojis from the reference table in templates
- Include the footer with improvement count and date range
- Include the Quorum links at the bottom
Instructions
When the user requests changelog generation, follow this workflow:
Step 1: Determine Changelog Type
Analyze the request to identify:
- Technical Changelog: For developers, detailed commit tracking, technical stakeholders
- User-Friendly Changelog: For end users, marketing, beta announcements, feature highlights
- Custom Analysis: Specific date ranges, branches, or focus areas
Step 2: Read Templates (MANDATORY)
Before writing any output, you MUST read the template files:
# For user-friendly changelogs, read BOTH: templates/user-friendly-format.md # For markdown output templates/user-friendly-format.txt # For plain text output # For technical changelogs: templates/technical-format.md
This ensures consistent formatting across all changelogs.
Step 3: Execute Appropriate Script & Generate Output
For Technical Changelogs:
- Run
with appropriate parameterschangelog-generator.sh - Review generated output for accuracy
- Enhance with additional context if needed
- Save in both markdown and text formats following template structure
For User-Friendly Changelogs:
- Run
to generate commit analysis (or use git log directly)changelog-user-friendly.sh - Use the analysis to create engaging, benefit-focused descriptions
- Apply user-friendly writing guidelines:
- Focus on user capabilities, not technical details
- Use active language and exciting tone
- Keep bullet points concise (under 15 words)
- Group related changes into single descriptions
- Generate both markdown and text versions using the exact template structure
- Include project-specific formatting (test links, access instructions)
Step 4: Apply Enhancement Guidelines
User-Friendly Enhancement Rules:
✅ DO:
- Focus on what users can accomplish with new features
- Use exciting, active language that motivates testing
- Group multiple technical commits into single user-facing features
- Keep descriptions scannable and concise
- Include practical benefits and improvements
❌ DON'T:
- Use technical jargon (refactor, implement, optimize, etc.)
- Mention file paths, code references, or technical debt
- Write obvious statements ("works better now")
- Create long, detailed explanations
- Include internal development processes
Example Transformations:
Multiple commits:
- "Add pin message functionality to MessageComponent"
- "Implement pin UI component with animations"
- "Add unpin capability and state management"
Becomes: 📌 Pinned Messages & Content Management
- Pin important messages in channels for easy member access
Step 5: Quality Assurance
Technical Changelog Check:
- All commit links work and point to correct repository
- Categories are properly populated with relevant changes
- Statistics accurately reflect included vs. filtered commits
- Markdown formatting is valid and renders correctly
User-Friendly Changelog Check:
- Non-technical users can understand all descriptions
- Each bullet point focuses on user benefits
- Tone is exciting and encourages feature testing
- No technical jargon or implementation details remain
- Categories only appear if they contain relevant content
Step 6: Output and Delivery
- Save files in the specified output directory
- Provide file paths to the user for easy access
- Show preview if requested with --show flag
- Offer additional formats if needed (social media posts, email content, etc.)
Example Usage Scenarios
Scenario 1: Weekly Technical Update
User Request: "Generate a technical changelog for the last week"
Skill Response:
- Runs
changelog-generator.sh 7 cross-platform false - Generates technical changelog with categorized commits
- Provides markdown and text versions
- Shows summary statistics
Scenario 2: User-Friendly Release Announcement
User Request: "Create a user-friendly changelog for the beta users"
Skill Response:
- Runs
changelog-user-friendly.sh 14 cross-platform true - Analyzes commits and categorizes by user impact
- Generates engaging descriptions focusing on user benefits
- Creates both markdown (for documentation) and text (for messaging)
- Includes project-specific formatting and test links
Scenario 3: Custom Date Range Analysis
User Request: "What changed between September 1st and October 15th?"
Skill Response:
- Calculates appropriate parameters for date range
- Runs appropriate script with custom parameters
- Generates comprehensive changelog covering the period
- Highlights major features and improvements
Scenario 4: Multi-Format Release Package
User Request: "Prepare release materials for version 2.1"
Skill Response:
- Generates technical changelog for developer documentation
- Creates user-friendly version for announcement
- Provides text versions for social media and email
- Suggests additional formats (GitHub release notes, newsletter content)
Integration with Development Workflow
Pre-Release Process
- Generate technical changelog for internal review
- Create user-friendly version for public announcement
- Review with stakeholders using generated previews
- Finalize content with any manual adjustments
- Deploy across channels using appropriate formats
Continuous Documentation
- Weekly technical summaries for development team
- Bi-weekly user updates for beta testing community
- Monthly feature highlights for broader audience
- Ad-hoc analysis for specific feature releases
Quality Standards
- Accuracy: All information verified against actual commits
- Clarity: Technical content accessible to intended audience
- Engagement: User-friendly content motivates feature adoption
- Consistency: Formatting and tone align with project standards
Advanced Features
Custom Filtering
- Modify
configuration files for project-specific needsfilters/ - Add new commit patterns or exclude additional noise
- Create branch-specific or feature-specific filters
Template Customization
- Edit
files to match brand guidelinestemplates/ - Add project-specific headers, footers, or formatting
- Include custom variables and substitutions
Multi-Branch Analysis
- Compare changes across multiple branches
- Generate merge-specific changelogs
- Track feature branch progress
Integration Hooks
- Connect with CI/CD pipelines for automated changelog generation
- Integrate with release management tools
- Export to external documentation systems
This skill transforms the manual, error-prone process of changelog creation into an automated, intelligent system that produces professional documentation while saving significant time and ensuring consistency.