azure/changelog-generation
>- **WORKFLOW SKILL** — Generates release changelog entries and bumps versions for azd core or azd extensions. Identifies merged PRs since the last release, fetches PR details via GitHub MCP, classifies changes, and writes user-facing changelog entries with proper formatting, attribution, and spell checking. changelog for azd core, bump version, prepare release notes, write changelog entries, extension release, core release, update CHANGELOG.md. deploying releases, publishing extensions to registry.
npx skills add https://github.com/Azure/azure-dev --skill changelog-generation
WORKFLOW SKILL — Generates release changelog entries for azd core or extensions.
INVOKES: GitHub MCP tools, git CLI, gh CLI, cspell CLI, ask_user.
Auto-detect scope from the current working directory:
cli/azd/extensions/<name>/ directory.<name> as the target extension.ask_user:> I detected you're in <cwd>, so I'll generate changelog for [core azd CLI | extension <name>]. Is that correct?
Choices:
cli/azd/extensions/ and ask the user to select the target.CHANGELOG.md, version.txt, and extension.yaml. If any are missing, stop and list which files are absent.Files to update (core): cli/azd/CHANGELOG.md, cli/version.txt, cli/azd/pkg/azdext/version.go
Files to update (extension): <extension>/CHANGELOG.md, <extension>/version.txt, <extension>/extension.yaml
For version derivation rules, see references/scope-rules.md § Version Files.
-beta.* and (Unreleased)), use today's date. Update cli/version.txt and cli/azd/pkg/azdext/version.go (Version constant) to the released version.ask_user. Update both version.txt and extension.yaml — they must match exactly.Present the version and date to the user for confirmation before writing any files.
Per references/scope-rules.md § Commit Discovery.
For each commit remaining after the user's pre-filter in Step 3, extract its PR number using the rules in references/pr-processing.md (each commit maps to exactly one canonical PR). Apply the automated exclusion rules and complete the full sub-workflow before moving to the next. Do not batch or abbreviate — and do not skip a PR unless an explicit error-handling rule applies and the user confirms skipping.
Track processed PR numbers. If a PR number was already processed in a previous commit, skip it. If the commit subject starts with Revert, skip both the revert commit and note the original PR number to avoid including the reverted change.
Per references/pr-processing.md:
(#1234)) or locate by SHA.Azure, repo: azure-dev).pull/NNNN), not issue numbers (issues/NNNN), to maintain consistency with the [[#PR]] format convention.### <Category> heading that has no bullet entries beneath it (i.e., the next line is blank followed by another ### heading or ## heading or end of section). This is mandatory — never leave empty ### Breaking Changes, ### Features Added, ### Bugs Fixed, or ### Other Changes sections in the final output.- bullet under a category heading contains a [[#NNNN]] link. If any entry is missing a link, flag it and require either adding the PR reference or explicitly justifying the omission. When a single large PR warrants multiple changelog bullets, each must reference the same PR number.[[#NNNN]] PR number against the commit list from Step 3. Flag any PR that does not appear in the commit range — it may be a duplicate from a prior release or an incorrectly attributed entry.ask_user.Choices:
cspell lint "<changelog-path>" --relative --config "$(git rev-parse --show-toplevel)/cli/azd/.vscode/cspell.yaml" --no-progress
If new names or handles trigger errors, add them to .vscode/cspell-github-user-aliases.txt.
gh CLI: gh pr view {number} --json title,author,body,labels,filesversion.txt and extension.yaml → warn, ask which is correctTake azure/changelog-generation from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.