Generate professional Bytebase release notes by analyzing git commits, building PR dependency graphs, checking Terraform impact, searching Linear for customer feedback, and following established conventions. Creates Linear tracking issue and owner confirmation comments (with user approval before each write operation). Use when preparing release notes for minor or patch versions.
View on GitHubbytebase/team-skills
bytebase-team-skills
January 20, 2026
Select agents to install to:
npx add-skill https://github.com/bytebase/team-skills/blob/main/skills/write-release-notes/SKILL.md -a claude-code --skill write-release-notesInstallation paths:
.claude/skills/write-release-notes/# Release Notes Generator A systematic skill for generating professional Bytebase release notes by analyzing git commits, building PR dependency graphs, checking Terraform impact, and following established conventions. ## Overview This skill helps you create release notes for Bytebase releases by: 1. Determining release version (minor vs patch) from branch names 2. Extracting commits between versions 3. **Building PR dependency graph (DAG)** to identify related changes 4. **Identifying root cause PRs** that drive cascading changes 5. Analyzing code changes to understand impact 6. Checking Terraform configuration implications 7. Searching Linear for customer feedback 8. Learning from previous release note patterns 9. Categorizing and prioritizing changes with ownership 10. **Excluding internal follow-ups** (fixes for features in this release) 11. Writing concise, user-focused release notes (no implementation details or reasoning) 12. Saving draft to `docs/release-notes/draft-X.Y.Z.md` for iteration 13. Creating Linear issue with title `<version>-<date>_release_note` **(with user confirmation)** 14. Adding confirmation comments with proper @mentions for each owner **(with user confirmation)** **Note**: All Linear write operations (creating issues, posting comments) require explicit user confirmation before execution. ## Step-by-Step Process ### Phase 1: Version Identification (CRITICAL) #### 1.1 Find the Version Range ```bash # List available tags git tag --list "*<major>.<minor>*" | sort -V # Check for release branches git branch -a | grep -E "release/<major>.<minor>" # Get the latest tag git describe --tags --abbrev=0 ``` #### 1.2 Determine Version Type **IMPORTANT**: The version type affects what sections are allowed in the release notes. | Version Change | Type | Example | |----------------|------|---------| | 3.12.x → 3.13.0 | **Minor** | Minor digit increases | | 3.12.0 → 3.12.1 | **Patch** | Patch digit increases | **Rules by version type:** | Se