changelog
GitHub自动化生成面向用户的版本更新日志。通过审查合并的PR筛选用户可见变更,按主题编写MDX格式条目并合并至指定目录,最后重建总日志文件以提交PR。
Trigger Scenarios
Install
npx skills add elie222/inbox-zero --skill changelog -g -y
SKILL.md
Frontmatter
{
"name": "changelog",
"description": "Add a new changelog entry to docs\/changelog-entries\/",
"disable-model-invocation": true
}
Changelog
Add changelog entries as individual files in docs/changelog-entries/, then regenerate docs/changelog.mdx before opening or updating the PR.
Use a single long-lived branch for changelog automation: automation/changelog. The automation should update the existing open changelog PR from that branch when possible instead of opening multiple concurrent changelog PRs.
Principles
- User-facing only. No infrastructure, CI, security hardening, billing internals, queue fixes, cron changes, self-hosting features, or anything users don't directly see or interact with.
- Lead with a headline. Each entry has a theme name in the
descriptionfield (e.g., "Chat Everywhere", not "v2.28"). The theme should immediately tell users what changed. - One short paragraph explaining the headline feature — what it does and why it matters. Write for end users, not developers.
- 3–5 bullets max for other notable improvements in that release. If you can't fill 3 bullets, roll the changes into the next entry that has a strong headline.
- Skip releases without a standout feature. Not every deploy needs a changelog entry. Only write one when there's something worth headlining.
- Casual, clear tone. Use "you" and "your", not "users". No jargon. No version numbers as headlines.
Format
Create or update docs/changelog-entries/YYYY-MM-DD.mdx with frontmatter + markdown:
---
description: "Headline Theme"
---
One or two sentences about the main feature.
- Bullet one
- Bullet two
- Bullet three
The date is derived from the filename automatically.
Do not hand-edit docs/changelog.mdx. Regenerate it with node docs/scripts/build-changelog.mjs.
What to include
- New features users can try
- Meaningful UX improvements they'll notice
- New platform/integration support
What to skip
- Bug fixes (unless they were widely reported)
- Security hardening (unless there was a public incident)
- Infrastructure, performance, CI/CD changes
- Billing or pricing internals
- Self-hosting or developer-only changes
- Internal refactors, lint fixes, dependency updates
Process
- Review recent merged PRs:
gh pr list --repo elie222/inbox-zero --state merged --limit 30 --json number,title,mergedAt - Filter to user-facing changes only
- Group into a theme — find the headline
- Check for an existing open changelog PR from
automation/changelogtomain:gh pr list --repo elie222/inbox-zero --head automation/changelog --base main --state open --json number,title,url - Create or update today's file
docs/changelog-entries/YYYY-MM-DD.mdxwith frontmatter (description) and markdown content - If today's file already exists, merge the new updates into that file instead of creating a second entry for the same day
- Regenerate
docs/changelog.mdx:node docs/scripts/build-changelog.mjs - Commit both
docs/changelog-entries/YYYY-MM-DD.mdxanddocs/changelog.mdx - If the open PR from
automation/changelogexists, update that branch and PR; otherwise create it fromautomation/changelog
Branch workflow
Before making changes, reset the automation branch to the latest main so each run starts from a clean base:
git fetch origin
git checkout -B automation/changelog origin/main
After updating the changelog files, push that branch and create or update the PR from automation/changelog to main.
Version History
- 633a2ab Current 2026-08-20 17:13


