When a pull request merges into the default branch, classifies the change and adds an entry to the CHANGELOG.md 'Unreleased' section (Keep a Changelog format), committing it back to the default branch. Skips non-user-facing changes (docs, chore, tests, CI) and bot PRs.
- Identifier
changelog-generator- Version
- 1.1.1
- Steps
- 3
- Triggers
- 1
- changelog
- documentation
- release
- automated
When it runs
pull_request.merged- Settle delay
- 10s after the event
Only when all hold
- pullRequest.baseBranch in main, master
- actor.username not in dependabot, dependabot[bot], renovate, renovate[bot], github-actions, github-actions[bot]
- actor.username not contains [bot]
The pipeline
The graph below is the one the workflow opens with in the builder — same steps, same layout, drawn on the same canvas. The run playing through it is a simulation; the branches and conditions are real.
- 01PR Merged → default branch
triggerThe event that starts the run.
- 02Clone Default Branch
git.cloneShallow-clones the repository at the right ref.
- 03Update CHANGELOG.md
agent.runOne agent works the task with its toolkit.
The agent
Changelog Writer
- Base type
- Tech Writer
- Temperature
- 0.2
- Max iterations
- 20
- Tools
- 7
Git provider · 3
get_pull_request_diffGet Pull Request Diff · readcreate_or_update_fileCreate or Update File · writeadd_comment_to_pull_requestAdd Comment to Pull Request · write
Filesystem · 3
read_fileRead File · readedit_fileEdit File · writelist_dirList Directory · read
Status · 1
update_statusUpdate Status · write
Related playbooks
Release Notes
Generates clean, categorized release notes from merged PRs when a release publishes.
Auto Docs Update on Merge
Watches merged PRs and opens follow-up PRs when code changes affect existing docs.
Release PR Description
Writes user-facing, categorized release notes into the body of every release/* pull request.