Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Generate categorized release notes from any source (GitHub, Linear, Jira, or manual input) with optional publishing
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 162% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 108% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 293% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 107% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 167% | 0% |
Check agent_mode in 00-inbox/MY-PROFILE.md frontmatter:
agent_mode: team — use parallel agents to collect data from all active sources simultaneouslyagent_mode: solo — collect data sequentially from the primary tracker/generate-release-notes00-inbox/MY-INTEGRATIONS.md to determine data sources and publishing options00-inbox/MY-PROFILE.md for active projectsdate '+%Y-%m-%d %H:%M' using BashLaunch data collection agents using the Task tool with run_in_background: true:
Agent: "github-release-collector" (if GitHub is active)
Collect all merged PRs and release data for the specified version/period.
Repository: [CUSTOMIZE: your-org/your-repo]
Period: [START_DATE] to [END_DATE]
1. Get merged PRs in the period:
gh pr list --repo [CUSTOMIZE: your-org/your-repo] --state merged --search "merged:[START_DATE]..[END_DATE]" --json number,title,author,labels,body,mergedAt --limit 200
2. Check for existing GitHub release (if version tag exists):
gh release view [VERSION_TAG] --repo [CUSTOMIZE: your-org/your-repo] --json name,body,tagName,createdAt 2>/dev/null
3. Get commits between tags (if applicable):
gh api repos/[CUSTOMIZE: your-org/your-repo]/compare/[PREV_TAG]...[CURRENT_TAG] --jq '.commits[] | {sha: .sha[:7], message: .commit.message, author: .author.login}'
Categorize each PR by its labels or title prefix:
- "feat"/"feature"/"enhancement" labels → Enhancements
- "fix"/"bug"/"bugfix" labels → Bug Fixes
- "tech"/"refactor"/"chore"/"infrastructure" labels → Technical Improvements
- "docs"/"documentation" labels → Documentation
- "security" labels → Security
- "breaking"/"breaking-change" labels → Breaking Changes
- "deprecation" labels → Deprecations
Return: categorized list of changes with PR numbers, titles, authors, and descriptionsAgent: "linear-release-collector" (if Linear is active)
Collect completed issues for the specified cycle/period.
1. Use ToolSearch to load Linear tools
2. List cycles: mcp__claude_ai_Linear_2__list_cycles
3. Find the target cycle or filter by date range
4. List all completed issues in the cycle/period: mcp__claude_ai_Linear_2__list_issues
5. For each issue, get details including labels and project
Categorize by label or issue type:
- Feature/Enhancement labels → Enhancements
- Bug labels → Bug Fixes
- Technical/Infrastructure labels → Technical Improvements
- Documentation labels → Documentation
Return: categorized list of changes with issue IDs, titles, assignees, and descriptionsAgent: "jira-release-collector" (if Jira is active)
Collect issues for the specified version/sprint.
Project: [CUSTOMIZE: YOUR-PROJECT-KEY]
1. Search by fixVersion:
JQL: project = "[CUSTOMIZE: YOUR-PROJECT-KEY]" AND fixVersion = "[VERSION]" AND status = Done ORDER BY issuetype, priority DESC
OR search by sprint:
JQL: project = "[CUSTOMIZE: YOUR-PROJECT-KEY]" AND sprint = "[SPRINT_NAME]" AND status = Done ORDER BY issuetype, priority DESC
2. For each issue, collect: key, summary, issuetype, priority, assignee, labels, description
Categorize by issue type:
- Story/Feature → Enhancements
- Bug → Bug Fixes
- Task/Technical Task → Technical Improvements
- Documentation → Documentation
Return: categorized list with issue keys, titles, assignees, types, and descriptionsRun the primary tracker collection sequentially.
If no tracker is active or the user prefers manual input:
No project tracker detected. You can provide release items manually.
Please list the changes in this release. I'll categorize them for you.
Format: one change per line, optionally prefix with [feature], [fix], [tech], [docs], [security], [breaking]Organize collected items into standard categories:
Within each category, order by:
markdown--- type: release-notes project: [project-name] version: [version] date: [YYYY-MM-DD] created: [YYYY-MM-DD HH:MM] audience: external tags: ["#release-notes", "#[project-name]", "#v[version]"] items_count: [total count] categories: enhancements: [count] bug_fixes: [count] technical: [count] security: [count] breaking_changes: [count] --- # Release Notes — [Project Name] [Version] **Release Date:** [Date] ## What's New [2-3 sentence executive summary of the most important changes in this release] --- ### Breaking Changes > **Action Required:** The following changes may require updates to your workflow. - **[Change title]** — [User-friendly description of what changed and what to do] --- ### New Features & Enhancements - **[Feature title]** — [User-friendly description focused on the benefit to users] - **[Feature title]** — [User-friendly description] ### Bug Fixes - **[Fix title]** — [What was broken and how it's fixed, in user terms] - **[Fix title]** — [Description] ### Security Updates - **[Update title]** — [Description without exposing vulnerability details] ### Deprecations - **[Deprecated feature]** — [What's being deprecated, timeline, and migration path] --- ### Known Issues - [Known issue description] — [Workaround if available] --- *For questions or feedback, [CUSTOMIZE: contact info or link]*
markdown--- type: release-notes project: [project-name] version: [version] date: [YYYY-MM-DD] created: [YYYY-MM-DD HH:MM] audience: internal tags: ["#release-notes", "#[project-name]", "#v[version]"] source_tracker: [github/linear/jira/manual] --- # Release Notes — [Project Name] [Version] (Internal) **Release Date:** [Date] **Cycle/Sprint:** [Name if applicable] ## Summary [Executive summary with key stats: N features, N fixes, N tech improvements] --- ### Breaking Changes - **[Title]** ([PR/Issue #link]) — [Technical description] — @[author] ### New Features & Enhancements - **[Title]** ([PR/Issue #link]) — [Description] — @[author] ### Bug Fixes - **[Title]** ([PR/Issue #link]) — [Description] — @[author] ### Technical Improvements - **[Title]** ([PR/Issue #link]) — [Description] — @[author] ### Documentation - **[Title]** ([PR/Issue #link]) — [Description] — @[author] --- ### Stats - **Total items:** [N] - **Contributors:** [list of contributors] - **PRs merged:** [N] - **Issues resolved:** [N] --- ### Known Issues & Follow-ups - [ ] [Issue description] — Owner: [name]
Present the generated release notes to the user:
Release notes draft is ready for [Project] [Version].
Summary:
- [N] New Features & Enhancements
- [N] Bug Fixes
- [N] Technical Improvements
- [N] other items
Audience: [external/internal]
Would you like to:
a) Review the full release notes
b) Save as-is to the vault
c) Make changes
d) Publish to [active platform] (requires your approval)NEVER auto-publish. Always wait for explicit user approval.
Save to: 04-projects/[project]/release-notes/release-[version]-YYYY-MM-DD.md
bashmkdir -p "04-projects/[project]/release-notes"
Only proceed if the user explicitly approves.
gh release create [VERSION_TAG] \
--repo [CUSTOMIZE: your-org/your-repo] \
--title "[Project] [Version]" \
--notes-file [path-to-release-notes]Use WebFetch to publish via Confluence REST API:
- Space: [CUSTOMIZE: YOUR-SPACE-KEY]
- Parent page: [CUSTOMIZE: Release-Notes-parent-page-id]
- Title: "Release Notes — [Project] [Version]"1. Use ToolSearch to load Notion tools
2. Use mcp__claude_ai_Notion__notion-create-pagesUse WebFetch to publish via HackMD APIAfter publishing, update the vault copy with the published URL.
| Scenario | Behavior | |----------|----------| | No tracker active | Accept manual input, or scan git log for commits in the date range | | Tracker API fails | Fall back to git log analysis: git log --oneline [PREV_TAG]..[CURRENT_TAG] | | No version tag specified | Use date range instead, or list recent completed work | | Mixed sources | Merge and deduplicate items from multiple trackers | | No publishing platform | Save to vault only | | Very large release | Split into "Highlights" section + full changelog |
Other measured skills in the registry, with their headline benchmark lift.