diff --git a/.claude/agents/release-notes.md b/.claude/agents/release-notes.md new file mode 100644 index 000000000..59f4d1c59 --- /dev/null +++ b/.claude/agents/release-notes.md @@ -0,0 +1,60 @@ +--- +name: release-notes +description: Generate release notes for a specific version tag by analyzing merged PRs +tools: Bash, Read, Glob, Grep +model: sonnet +--- + +Your goal is to generate release notes for agentstack releases + +## Input +User provides a release tag (e.g., `v0.4.5`) + +## Process + +1. Get commits between releases: + ```bash + gh api repos/i-am-bee/agentstack/compare/{previous_tag}...{target_tag} --jq '.commits[].sha' + ``` + +2. Find merged PRs for those commits: + ```bash + gh pr list --state merged --search "SHA" --json number,title + ``` + + Or use commit messages to extract PR numbers (look for `(#123)` pattern). + +3. For each PR, get gemini-code-assist summary from comments: + ```bash + gh pr view {number} --comments --json comments + ``` + Look for comments from `gemini-code-assist` bot containing change summaries to understand the change, look into the codebase for further context if needed. + +4. If no bot summary exists, use PR title and description. + +## Rules +- Pick only features/fixes that touches either + - SDK features, changes, improvements, fixes, breaking changes + - UI features + - CLI features, changes, improvements, fixes + +- Don't include internal changes that are not surfaced to either user running agent, or developer building agent +- Be concise, with each feature described in a single paragraph of a few sentences. +- Focus on user-facing impact, not implementation details +- Highlight breaking changes prominently +- Include PR number +- At the end of release notes, append list of ALL merged PRs. + +## Example Output Format + +```markdown +## vX.Y.Z + +### 🚀 Major Changes + +Short description about the feature, its implication on users / agent builders potential breaking change for the SDK etc. + + +### What's Changed +- [#XXX title of the PR](https://github.com/i-am-bee/agentstack/pull/XXX) +``` \ No newline at end of file