Changelog Generator — Release Management Pipeline
An agent team collaborates to generate git history analysis, change classification, release notes, migration guides, and announcements.
Execution Mode
Agent Team — Five agents communicate directly via SendMessage and perform cross-validation.
Agent Composition
| Agent |
File |
Role |
Type |
| commit-analyst |
.claude/agents/commit-analyst.md |
Git history analysis |
general-purpose |
| change-classifier |
.claude/agents/change-classifier.md |
Change classification, impact assessment |
general-purpose |
| release-note-writer |
.claude/agents/release-note-writer.md |
Release note writing |
general-purpose |
| migration-guide-writer |
.claude/agents/migration-guide-writer.md |
Migration guide |
general-purpose |
| announcement-writer |
.claude/agents/announcement-writer.md |
Announcement writing (blog/social media/email) |
general-purpose |
Workflow
Phase 1: Preparation (performed directly by the orchestrator)
- Extract the following from user input:
- Version range: Previous version tag ~ current commit/tag
- Project information: Project name, repository URL, language/framework
- Release type: Regular/hotfix/pre-release
- Announcement channels: Which channels are needed among blog/social media/email/Slack
- Existing CHANGELOG (optional): Existing CHANGELOG.md to follow its format
- Create the
_workspace/ directory at the project root
- Organize the input and save it to
_workspace/00_input.md
- Verify the git repository and finalize the version range
- If pre-existing files are available, copy them to
_workspace/ and skip the corresponding phase
- Determine the execution mode based on the scope of the request
Phase 2: Team Assembly and Execution
| Order |
Task |
Owner |
Dependencies |
Deliverable |
| 1 |
Commit analysis |
analyst |
None |
_workspace/01_commit_analysis.md |
| 2 |
Change classification |
classifier |
Task 1 |
_workspace/02_change_classification.md |
| 3a |
Release notes |
note-writer |
Task 2 |
_workspace/03_release_notes.md |
| 3b |
Migration guide |
migration-writer |
Task 2 |
_workspace/04_migration_guide.md |
| 4 |
Announcement |
announcement |
Tasks 3a, 3b |
_workspace/05_announcement.md |
Tasks 3a (release notes) and 3b (migration guide) run in parallel.
Inter-agent communication flow:
- analyst completes > passes commit list and diffs to classifier
- classifier completes > passes classification results to note-writer, passes Breaking Changes details to migration-writer
- note-writer completes > passes highlights and version number to announcement
- migration-writer completes > passes migration key summary to announcement, passes guide link to note-writer
Phase 3: Integration and Final Deliverables
- Verify version number consistency across all deliverables
- Validate that Breaking Change information is consistent across release notes, migration guide, and announcements
- If an existing CHANGELOG.md exists, add the new version at the top
- Report the final summary to the user
Execution Modes by Request Scope
| User Request Pattern |
Execution Mode |
Agents Deployed |
| "Full release prep", "changelog + announcement" |
Full pipeline |
All 5 agents |
| "Just create a CHANGELOG" |
Notes mode |
analyst + classifier + note-writer |
| "Migration guide only" |
Migration mode |
analyst + classifier + migration-writer |
| "Just write the release announcement" (notes complete) |
Announcement mode |
announcement only |
| "Classify these commits" |
Classification mode |
analyst + classifier |
Data Transfer Protocol
| Strategy |
Method |
Purpose |
| File-based |
_workspace/ directory |
Store and share primary deliverables |
| Message-based |
SendMessage |
Real-time key information transfer |
| Git commands |
bash execution |
Extract commit logs, diffs, tag information |
Error Handling
| Error Type |
Strategy |
| No git repository |
Request user to directly input commit list/change history |
| No tags |
Substitute with most recent N commits or date range |
| Conventional Commits not used |
LLM-based classification from commit messages + diffs |
| No Breaking Changes |
migration-writer produces only a "not required" confirmation document |
| Agent failure |
Retry once > if still failing, proceed without that deliverable |
Test Scenarios
Normal Flow
Prompt: "Create full release notes from v1.2.0 to v2.0.0"
Expected result:
- Commit analysis: Extract all commits between the two tags, map PRs/issues
- Change classification: Identify Breaking Changes since it is a MAJOR release, verify SemVer
- Release notes: Keep a Changelog format, 3-5 highlights
- Migration: Before/after code examples, step-by-step procedures
- Announcement: Blog + social media + email formats
Existing File Reuse Flow
Prompt: "I have these release notes, just write the announcement" + release notes attached
Expected result:
- Copy existing release notes to
_workspace/03_release_notes.md
- Announcement mode: Deploy announcement only
- Skip analyst, classifier, note-writer, and migration-writer
Error Flow
Prompt: "Create release notes" (no git repository)
Expected result:
- Detect absence of git repository
- Request user to directly input the change list
- Classify input content > generate release notes
Agent Extension Skills
Extension skills that enhance agent domain expertise:
| Skill |
File |
Target Agent |
Role |
| semver-analyzer |
.claude/skills/semver-analyzer/skill.md |
change-classifier, release-note-writer |
SemVer rules, Breaking Change assessment matrix, Conventional Commits mapping |
| commit-parser |
.claude/skills/commit-parser/skill.md |
commit-analyst, change-classifier |
Commit parsing regex, non-conventional commit classification, PR/issue mapping, impact scoring |
1---2name: changelog-generator3description: Full pipeline where an agent team collaborates to perform release management. Use this skill for requests like 'create release notes', 'generate CHANGELOG', 'write changelog', 'prepare version release', 'migration guide', 'release announcement', 'organize changes', 'new version announcement', and other release management tasks. Note: CI/CD pipeline construction, automated deployment configuration, and version management policy establishment are outside the scope of this skill.4---56# Changelog Generator — Release Management Pipeline78An agent team collaborates to generate git history analysis, change classification, release notes, migration guides, and announcements.910## Execution Mode1112**Agent Team** — Five agents communicate directly via SendMessage and perform cross-validation.1314## Agent Composition1516| Agent | File | Role | Type |17|-------|------|------|------|18| commit-analyst | `.claude/agents/commit-analyst.md` | Git history analysis | general-purpose |19| change-classifier | `.claude/agents/change-classifier.md` | Change classification, impact assessment | general-purpose |20| release-note-writer | `.claude/agents/release-note-writer.md` | Release note writing | general-purpose |21| migration-guide-writer | `.claude/agents/migration-guide-writer.md` | Migration guide | general-purpose |22| announcement-writer | `.claude/agents/announcement-writer.md` | Announcement writing (blog/social media/email) | general-purpose |2324## Workflow2526### Phase 1: Preparation (performed directly by the orchestrator)27281. Extract the following from user input:29 - **Version range**: Previous version tag ~ current commit/tag30 - **Project information**: Project name, repository URL, language/framework31 - **Release type**: Regular/hotfix/pre-release32 - **Announcement channels**: Which channels are needed among blog/social media/email/Slack33 - **Existing CHANGELOG** (optional): Existing CHANGELOG.md to follow its format342. Create the `_workspace/` directory at the project root353. Organize the input and save it to `_workspace/00_input.md`364. Verify the git repository and finalize the version range375. If pre-existing files are available, copy them to `_workspace/` and skip the corresponding phase386. **Determine the execution mode** based on the scope of the request3940### Phase 2: Team Assembly and Execution4142| Order | Task | Owner | Dependencies | Deliverable |43|-------|------|-------|-------------|-------------|44| 1 | Commit analysis | analyst | None | `_workspace/01_commit_analysis.md` |45| 2 | Change classification | classifier | Task 1 | `_workspace/02_change_classification.md` |46| 3a | Release notes | note-writer | Task 2 | `_workspace/03_release_notes.md` |47| 3b | Migration guide | migration-writer | Task 2 | `_workspace/04_migration_guide.md` |48| 4 | Announcement | announcement | Tasks 3a, 3b | `_workspace/05_announcement.md` |4950Tasks 3a (release notes) and 3b (migration guide) run **in parallel**.5152**Inter-agent communication flow:**53- analyst completes > passes commit list and diffs to classifier54- classifier completes > passes classification results to note-writer, passes Breaking Changes details to migration-writer55- note-writer completes > passes highlights and version number to announcement56- migration-writer completes > passes migration key summary to announcement, passes guide link to note-writer5758### Phase 3: Integration and Final Deliverables59601. Verify version number consistency across all deliverables612. Validate that Breaking Change information is consistent across release notes, migration guide, and announcements623. If an existing CHANGELOG.md exists, add the new version at the top634. Report the final summary to the user6465## Execution Modes by Request Scope6667| User Request Pattern | Execution Mode | Agents Deployed |68|---------------------|---------------|----------------|69| "Full release prep", "changelog + announcement" | **Full pipeline** | All 5 agents |70| "Just create a CHANGELOG" | **Notes mode** | analyst + classifier + note-writer |71| "Migration guide only" | **Migration mode** | analyst + classifier + migration-writer |72| "Just write the release announcement" (notes complete) | **Announcement mode** | announcement only |73| "Classify these commits" | **Classification mode** | analyst + classifier |7475## Data Transfer Protocol7677| Strategy | Method | Purpose |78|----------|--------|---------|79| File-based | `_workspace/` directory | Store and share primary deliverables |80| Message-based | SendMessage | Real-time key information transfer |81| Git commands | bash execution | Extract commit logs, diffs, tag information |8283## Error Handling8485| Error Type | Strategy |86|-----------|----------|87| No git repository | Request user to directly input commit list/change history |88| No tags | Substitute with most recent N commits or date range |89| Conventional Commits not used | LLM-based classification from commit messages + diffs |90| No Breaking Changes | migration-writer produces only a "not required" confirmation document |91| Agent failure | Retry once > if still failing, proceed without that deliverable |9293## Test Scenarios9495### Normal Flow96**Prompt**: "Create full release notes from v1.2.0 to v2.0.0"97**Expected result**:98- Commit analysis: Extract all commits between the two tags, map PRs/issues99- Change classification: Identify Breaking Changes since it is a MAJOR release, verify SemVer100- Release notes: Keep a Changelog format, 3-5 highlights101- Migration: Before/after code examples, step-by-step procedures102- Announcement: Blog + social media + email formats103104### Existing File Reuse Flow105**Prompt**: "I have these release notes, just write the announcement" + release notes attached106**Expected result**:107- Copy existing release notes to `_workspace/03_release_notes.md`108- Announcement mode: Deploy announcement only109- Skip analyst, classifier, note-writer, and migration-writer110111### Error Flow112**Prompt**: "Create release notes" (no git repository)113**Expected result**:114- Detect absence of git repository115- Request user to directly input the change list116- Classify input content > generate release notes117118## Agent Extension Skills119120Extension skills that enhance agent domain expertise:121122| Skill | File | Target Agent | Role |123|-------|------|-------------|------|124| semver-analyzer | `.claude/skills/semver-analyzer/skill.md` | change-classifier, release-note-writer | SemVer rules, Breaking Change assessment matrix, Conventional Commits mapping |125| commit-parser | `.claude/skills/commit-parser/skill.md` | commit-analyst, change-classifier | Commit parsing regex, non-conventional commit classification, PR/issue mapping, impact scoring |