Generate changelog entries from archived tickets and update CHANGELOG.md.
View on GitHubplugins/core/skills/write-changelog/SKILL.md
February 4, 2026
Select agents to install to:
npx add-skill https://github.com/qmu/workaholic/blob/main/plugins/core/skills/write-changelog/SKILL.md -a claude-code --skill write-changelogInstallation paths:
.claude/skills/write-changelog/# Write Changelog Generate and update CHANGELOG.md with entries from archived tickets. ## Generate Entries Run the bundled script to generate changelog entries: ```bash bash .claude/skills/write-changelog/sh/generate.sh <branch-name> <repo-url> ``` The script outputs formatted markdown grouped by category (Added, Changed, Removed). ### Output Format ```markdown ### Added - Title ([hash](commit-url)) - [ticket](ticket-path) ### Changed - Title ([hash](commit-url)) - [ticket](ticket-path) ### Removed - Title ([hash](commit-url)) - [ticket](ticket-path) ``` Only categories with entries are included. ### Entry Format Each entry includes: - **Title**: H1 heading from ticket file - **hash**: Short commit hash linking to GitHub commit - **ticket**: Relative path to archived ticket file ## Derive Issue URL From branch name: - Extract issue number from branch (e.g., `i111-20260113-1832` -> `111`) - Branch format: `i<issue>-<date>-<time>` or `feat-<date>-<time>` (no issue) ## Update CHANGELOG.md Add a new section at the top of the changelog (after the `# Changelog` header): ```markdown ## [branch-name](issue-url) <entries from script> ``` If no issue number exists in branch name, use just the branch name without link: ```markdown ## branch-name ``` ## Verify Structure Ensure the changelog maintains proper structure: - Title line at top: `# Changelog` - Newest section first - Blank lines between sections