forge-update-changelog
Update Changelog
Update CHANGELOG.md with user-facing changes from recent development work.
Input
Primary input: optional start reference — a date (YYYY-MM-DD) or commit hash.
Optional last parameter: -- <additional context>
Interpret $ARGUMENTS as one of:
<date><commit><date> -- <additional context><commit> -- <additional context>-- <additional context>
If no start reference is provided, look at commits since the last changelog update. Use any additional context to influence grouping, emphasis, or release framing.
Process
Step 1: Read Current Changelog
Read CHANGELOG.md to understand the existing format and last update.
Step 2: Gather Recent Commits
git log --format="%h %s" --since="1 month ago"
# Or from a specific commit:
git log --oneline <commit>..HEAD
Step 3: Filter and Deduplicate
Include only changes users would notice: features, bug fixes, performance improvements.
Skip internal changes: refactors, tests, chore, CI, docs (unless user-facing help docs).
Deduplicate against existing entries. Compare each candidate commit against what's already in the changelog — if a commit is already covered by an existing entry (even with different wording), skip it.
Step 4: Write Entries
Group by category (Features, Improvements, Bug Fixes, Performance). Adapt categories to the project's domain when appropriate, and factor in any optional additional context.
Writing rules:
- Active voice: "Create shareable links" not "Shareable links were added"
- Describe what users can do differently, not how the implementation works — even for technical projects. "Project setup is now smarter and faster" not "Adopted three-tier context model with signal-to-noise scoring"
- Bold the feature name: Feature name - description
- One line per entry
- Combine multiple commits for one feature into a single entry
Step 5: Update CHANGELOG.md
Add a new section at the top (after the header):
## Month Year
### Category
- **Feature name** - Brief description
---
Step 6: Verify
- Only user-facing changes included
- No technical jargon
- Consistent formatting with existing entries
- No duplicates with existing changelog content
Example transformation — feat(auth): add OAuth2 login with Google becomes **Google sign-in** - Sign in with your Google account for faster access.
Guidelines
- User perspective — ask "Would a user notice or care about this?"
- No duplicates — check existing entries before adding
- Combine related commits — multiple commits for one feature = one entry
- Positive framing — "Fixed X" is better than "X was broken"
Related Skills
Before: Use forge-address-pr-feedback to address reviewer feedback before merging.
Example Usage
/forge-update-changelog
/forge-update-changelog 2025-01-01
/forge-update-changelog 2025-01-01 -- emphasize user-visible setup workflow improvements
More from mgratzer/forge
forge-setup-project
Set up or update a project's context infrastructure for agentic engineering — AGENTS.md as lean hot memory, docs/ as earned warm memory, with signal-to-noise scoring for existing guidance. Use when starting a new project, retrofitting an existing codebase, or auditing current guidance quality.
29forge-address-pr-feedback
Analyze and address unresolved feedback on a GitHub pull request. Use when the user has received PR review comments and wants to systematically address each piece of feedback, or when the user mentions PR feedback, review comments, or addressing reviewer concerns.
26forge-implement-issue
⚠️ Renamed to forge-implement. This stub exists for migration — remove it and install forge-implement instead.
23forge-reflect-pr
Review the current PR branch for refactoring opportunities, missing tests, documentation updates, and cleanup before finalizing. Use when the user has finished implementing a feature and wants to self-review before requesting peer review.
22forge-implement
Implement a feature or fix from an Issue, plan file, or free-text description, following project standards. Use when the user wants to start working on an Issue, implement a feature, fix a bug, or build from a plan or roadmap.
12forge-reflect
Review current changes with a lean review flow. Works on a PR, branch diff, or uncommitted changes. Tiny low-risk diffs stay inline; larger or riskier changes use fresh-context review. Use when the user wants to self-review before committing, pushing, or requesting peer review.
10