write-changelog
Automates the drafting of release notes by collecting closed issues and merged PRs from a GitHub milestone.
Install
mkdir -p .claude/skills/write-changelog-microsoft && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/10641" && unzip -o skill.zip -d .claude/skills/write-changelog-microsoft && rm skill.zipInstalls to .claude/skills/write-changelog-microsoft
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Write a CHANGELOG.md entry for a new extension release. Use when: writing changelog, updating changelog, adding release notes, preparing a release, documenting milestone changes. Requires a milestone name and extension version number.Key capabilities
- →Gather milestone issues and PRs
- →Classify release items into categories
- →Generate formatted changelog entries
- →Validate changelog links and structure
How it works
The skill queries GitHub for closed items in a milestone, sorts them into changes, fixes, and contributors, and inserts a formatted entry into the changelog.
Inputs & outputs
When to use write-changelog
- →Drafting release notes
- →Generating changelog entries
- →Documenting milestone changes
- →Preparing a release
About this skill
Write Changelog Entry
Generate a new entry in CHANGELOG.md for an extension release by gathering closed issues and merged PRs from a GitHub milestone.
Inputs
The user must provide:
- Extension version number - the version for the changelog heading (e.g.
0.134.0) - GitHub milestone name - the milestone to query (e.g.
1.112.0)
Procedure
1. Gather Milestone Items
Search for all closed items in the milestone scoped to microsoft/vscode-pull-request-github:
- Issues (bugs/features): Search for closed issues with
milestone:"<name>" repo:microsoft/vscode-pull-request-github is:closed - Merged PRs: Search for merged PRs with
milestone:"<name>" repo:microsoft/vscode-pull-request-github is:pr is:merged
2. Classify Items
Sort every item into one of these buckets:
| Bucket | Criteria |
|---|---|
| Changes | Feature requests, enhancements, new settings, new commands, infrastructure improvements (e.g. dependency upgrades, build system changes) |
| Fixes | Items labeled bug, or PRs that fix a specific issue |
| Thank You | Merged PRs authored by external contributors (user type is not Bot, and user is not a GitHub staff / site_admin) |
| Skip | Version-bump PRs (title is just a version like "0.132.0"), test plan items, items from other repos |
3. Write the Entry
Insert the new section at the top of CHANGELOG.md, directly after the # Changelog heading and before the previous release section.
Follow this format exactly:
## <version>
### Changes
- Description of change one.
- Description of change two with setting `"settingName"`.
### Fixes
- Short description of bug. https://github.com/microsoft/vscode-pull-request-github/issues/<number>
- Another bug fix. https://github.com/microsoft/vscode-pull-request-github/issues/<number>
**_Thank You_**
* [@username (Display Name)](https://github.com/username): Short description of contribution [PR #1234](https://github.com/microsoft/vscode-pull-request-github/pull/1234)
Format Rules
- Changes: Write a concise, user-facing description. Do NOT link to issues. Use backticks for setting names and commands. Each entry is a single
-bullet. - Fixes: Use the issue title (cleaned up for readability) followed by a space and the full issue URL. Each entry is a single
-bullet. If a fix came from a PR without a linked issue, describe it without a URL. - Thank You: Use
*bullets (not-). Format:[@login (Name)](profile-url): Description [PR #number](pr-url). Only include for external community contributors. - Sections: Omit any section (
### Changes,### Fixes,**_Thank You_**) if there are no items for it. - No blank lines between bullets within a section.
- One blank line between sections.
4. Validate
- Confirm the new section is positioned correctly (after
# Changelog, before the previous version). - Verify all issue/PR links are correct and point to
microsoft/vscode-pull-request-github. - Ensure no duplicate entries.
When not to use it
- →General documentation writing
- →Non-GitHub milestone tracking
Prerequisites
Limitations
- →Limited to microsoft/vscode-pull-request-github repo
- →Requires manual validation of links
How it compares
It enforces a strict, standardized changelog format and classification process, ensuring consistency across extension releases.
Compared to similar skills
write-changelog side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| write-changelog (this skill) | 0 | 5mo | No flags | Beginner |
| docs-write | 22 | 6mo | No flags | Beginner |
| content-research-writer | 15 | 10mo | No flags | Beginner |
| doc-coauthoring | 16 | 8mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by microsoft
View all by microsoft →You might also like
docs-write
metabase
Write documentation following Metabase's conversational, clear, and user-focused style. Use when creating or editing documentation files (markdown, MDX, etc.).
content-research-writer
ComposioHQ
Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.
doc-coauthoring
anthropics
Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.
research-grants
davila7
Write competitive research proposals for NSF, NIH, DOE, and DARPA. Agency-specific formatting, review criteria, budget preparation, broader impacts, significance statements, innovation narratives, and compliance with submission requirements.
teams-channel-post-writer
daymade
Creates educational Teams channel posts for internal knowledge sharing about Claude Code features, tools, and best practices. Applies when writing posts, announcements, or documentation to teach colleagues effective Claude Code usage, announce new features, share productivity tips, or document lessons learned. Provides templates, writing guidelines, and structured approaches emphasizing concrete examples, underlying principles, and connections to best practices like context engineering. Activates for content involving Teams posts, channel announcements, feature documentation, or tip sharing.
write-docs
tldraw
Writing SDK documentation for tldraw. Use when creating new documentation articles, updating existing docs, or when documentation writing guidance is needed. Applies to docs in apps/docs/content/.