changelog-writer
Generates changelogs and release notes from git commits, PR titles, and issue references. Organizes changes by impact type (breaking, features, fixes, improvements), formats according to Keep a Changelog standard, and provides version tagging and semantic versioning suggestions. Use when users request "create changelog", "write release notes", "document version changes", or "prepare release".
What this skill does
# Changelog & Release Notes Writer Generate professional changelogs and release notes from version control history. ## Core Workflow 1. **Analyze commits**: Parse git history since last release 2. **Categorize changes**: Group by type (feat, fix, docs, etc.) 3. **Identify breaking changes**: Flag incompatible changes 4. **Extract highlights**: Surface most important changes 5. **Format document**: Follow Keep a Changelog format 6. **Suggest version**: Recommend semantic version bump 7. **Generate release notes**: Create user-friendly summary ## Commit Analysis ### Extract Information From - Commit messages (preferably conventional commits) - PR titles and descriptions - Issue references (#123) - Merge commit messages - Commit authors ### Parse Patterns ``` feat(auth): add OAuth2 support ^ ^ ^ | | └─ Description | └─ Scope (optional) └─ Type ``` **Types to Categories:** - `feat` → Added - `fix` → Fixed - `docs` → Documentation - `style`, `refactor` → Changed - `perf` → Performance - `test` → Testing - `chore`, `ci` → Internal - `BREAKING CHANGE` → Breaking Changes ## Changelog Format (Keep a Changelog) ```markdown # Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added - New feature X - Support for Y ### Changed - Updated Z behavior ### Fixed - Resolved issue #123 ## [2.1.0] - 2024-01-15 ### Added - OAuth2 authentication support - User profile management API - Dark mode toggle ### Changed - Improved error messages - Updated dependencies to latest versions ### Deprecated - Legacy authentication method (will be removed in 3.0.0) ### Fixed - Memory leak in WebSocket connection - Incorrect date formatting in reports - Race condition in concurrent requests ### Security - Patched XSS vulnerability in user input ## [2.0.0] - 2023-12-01 ### Breaking Changes - ⚠️ Removed support for Node.js 16 - ⚠️ Changed API response format for `/users` endpoint - ⚠️ Renamed `config.yaml` to `config.yml` ### Added - Complete API rewrite with improved performance - WebSocket support for real-time updates ### Migration Guide See [MIGRATION_v2.md](./docs/MIGRATION_v2.md) for upgrade instructions. [unreleased]: https://github.com/user/project/compare/v2.1.0...HEAD [2.1.0]: https://github.com/user/project/compare/v2.0.0...v2.1.0 [2.0.0]: https://github.com/user/project/releases/tag/v2.0.0 ``` ## Release Notes Format ````markdown # Release v2.1.0 - "Feature Release Name" Released: January 15, 2024 ## 🎉 Highlights This release brings major improvements to authentication and user experience: - **OAuth2 Support**: Users can now sign in with Google, GitHub, and Microsoft - **Dark Mode**: Toggle between light and dark themes - **Performance**: 40% faster API response times ## ✨ New Features - OAuth2 authentication with popular providers (#456) - User profile management API (#478) - Dark mode toggle in settings (#492) - Export data in CSV format (#501) ## 🐛 Bug Fixes - Fixed memory leak in WebSocket connections (#489) - Resolved incorrect date formatting in reports (#495) - Fixed race condition in concurrent API requests (#503) ## 🔄 Changes - Improved error messages across the application - Updated all dependencies to latest stable versions - Refined UI animations for smoother experience ## 🔒 Security - Patched XSS vulnerability in user input validation - Updated JWT library to address CVE-2024-1234 ## 📚 Documentation - Added OAuth2 setup guide - Updated API reference with new endpoints - Improved troubleshooting section ## 🙏 Contributors Thank you to all contributors who made this release possible: - @alice - OAuth2 implementation - @bob - Dark mode feature - @charlie - Bug fixes and testing ## 📦 Installation ```bash npm install [email protected] # or yarn add [email protected] ``` ```` ## 🔗 Links - [Full Changelog](https://github.com/user/project/compare/v2.0.0...v2.1.0) - [Documentation](https://docs.projectname.com) - [Migration Guide](./docs/MIGRATION_v2.md) --- **Note:** This is a minor release. No breaking changes. Safe to upgrade from 2.0.x. ```` ## Semantic Versioning Rules Given a version number MAJOR.MINOR.PATCH (e.g., 2.1.0): 1. **MAJOR** (2.x.x → 3.x.x) - Breaking changes - Incompatible API changes - Removed features 2. **MINOR** (2.1.x → 2.2.x) - New features - Backward-compatible functionality - Deprecated features 3. **PATCH** (2.1.0 → 2.1.1) - Bug fixes - Security patches - Performance improvements **Special versions:** - `0.x.x` - Initial development (breaking changes allowed in minor) - `x.y.0-alpha.1` - Pre-release - `x.y.0-beta.2` - Beta release - `x.y.0-rc.1` - Release candidate ## Git Commands for Changelog Generation ```bash # Get commits since last tag git log $(git describe --tags --abbrev=0)..HEAD --oneline # Get commits between two tags git log v2.0.0..v2.1.0 --oneline # Get commits with PR numbers git log --merges --pretty=format:"%s" v2.0.0..HEAD # Get contributors git log v2.0.0..HEAD --format='%aN' | sort -u # Get commit count by type git log v2.0.0..HEAD --oneline | grep -E '^[a-f0-9]+ (feat|fix|docs)' | cut -d' ' -f2 | sort | uniq -c ```` ## Breaking Changes Detection Look for these indicators: - Commit message contains `BREAKING CHANGE:` - Commit type has `!` (e.g., `feat!:`) - PR labeled with "breaking-change" - Major dependency updates - API endpoint changes - Config file format changes **Document clearly:** ````markdown ### Breaking Changes ⚠️ **API Response Format Changed** The `/api/users` endpoint now returns: ```json // Before { "data": [...] } // After { "users": [...], "total": 100 } ``` ```` **Migration:** Update your API client to access `users` instead of `data`. ```` ## Automation Tools ### Using conventional-changelog ```bash npm install -g conventional-changelog-cli # Generate changelog conventional-changelog -p angular -i CHANGELOG.md -s # Generate for specific version conventional-changelog -p angular -i CHANGELOG.md -s -r 0 ```` ### Using git-cliff ```bash # Install git-cliff cargo install git-cliff # Generate changelog git-cliff --tag v2.1.0 > CHANGELOG.md # Generate release notes git-cliff --tag v2.1.0 --unreleased ``` ### GitHub Release Script ```bash #!/bin/bash # scripts/release.sh VERSION=$1 PREVIOUS_TAG=$(git describe --tags --abbrev=0) # Generate release notes gh release create "$VERSION" \ --title "Release $VERSION" \ --notes "$(git log $PREVIOUS_TAG..HEAD --pretty=format:'- %s')" ``` ## User-Facing vs Developer-Facing ### User-Facing (Release Notes) - Focus on benefits and features - Less technical jargon - Include screenshots/demos - Highlight user experience improvements - Provide upgrade instructions ### Developer-Facing (Changelog) - Technical details - API changes - Breaking changes with migration guides - Dependencies updates - Internal refactorings ## Templates by Project Type ### Library/Package Focus on: API changes, breaking changes, new methods ### Application Focus on: New features, bug fixes, UI improvements ### CLI Tool Focus on: New commands, flag changes, behavior changes ### API Service Focus on: Endpoint changes, performance, security ## Best Practices 1. **Be specific**: "Fixed login bug" → "Fixed session timeout on mobile" 2. **Link issues**: Reference GitHub issues (#123) 3. **Credit contributors**: Acknowledge work 4. **Highlight impact**: Mark breaking changes clearly 5. **Group logically**: By type, not chronologically 6. **Update regularly**: With each release 7. **Follow conventions**: Keep a Changelog format 8. **Semantic versioning**: Use correctly ## Changelog Entry Examples ### Good Examples ```markdown ### Added - OAuth2 authentication support (#456) - @alice - Export data in CSV format with custom
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.