docs-changelog
SKILL.md
Procedure: Updating Changelog for New Releases
Objective
To standardize the process of updating changelog files (latest.md,
preview.md, index.md) based on automated release information.
Inputs
- version: The release version string (e.g.,
v0.28.0,v0.29.0-preview.2). - TIME: The release timestamp (e.g.,
2026-02-12T20:33:15Z). - BODY: The raw markdown release notes, containing a "What's Changed" section and a "Full Changelog" link.
Guidelines for latest.md and preview.md Highlights
- Aim for 3-5 key highlight points.
- Each highlight point must start with a bold-typed title that summarizes the
change (e.g.,
**New Feature:** A brief description...). - Prioritize summarizing new features over other changes like bug fixes or chores.
- Avoid mentioning features that are "experimental" or "in preview" in Stable Releases.
- DO NOT include PR numbers, links, or author names in these highlights.
- Refer to
.gemini/skills/docs-changelog/references/highlights_examples.mdfor the correct style and tone.
Initial Processing
- Analyze Version: Determine the release path based on the
versionstring.- If
versioncontains "nightly", STOP. No changes are made. - If
versionends in.0, follow the Path A: New Minor Version procedure. - If
versiondoes not end in.0, follow the Path B: Patch Version procedure.
- If
- Process Time: Convert the
TIMEinput into two formats for later use:yyyy-mm-ddandMonth dd, yyyy. - Process Body:
- Save the incoming
BODYcontent to a temporary file for processing. - In the "What's Changed" section of the temporary file, reformat all pull
request URLs to be markdown links with the PR number as the text (e.g.,
[#12345](URL)). - If a "New Contributors" section exists, delete it.
- Preserve the "Full Changelog" link. The processed content of this temporary file will be used in subsequent steps.
- Save the incoming
Path A: New Minor Version
Use this path if the version number ends in .0.
A.1: Stable Release (e.g., v0.28.0)
For a stable release, you will generate two distinct summaries from the changelog: a concise announcement for the main changelog page, and a more detailed highlights section for the release-specific page.
-
Create the Announcement for
index.md:- Generate a concise announcement summarizing the most important changes. Each announcement entry must start with a bold-typed title that summarizes the change.
- Important: The format for this announcement is unique. You must
use the existing announcements in
docs/changelogs/index.mdand the example within.gemini/skills/docs-changelog/references/index_template.mdas your guide. This format includes PR links and authors. - Add this new announcement to the top of
docs/changelogs/index.md.
-
Create Highlights and Update
latest.md:- Generate a comprehensive "Highlights" section, following the guidelines
in the "Guidelines for
latest.mdandpreview.mdHighlights" section above. - Take the content from
.gemini/skills/docs-changelog/references/latest_template.md. - Populate the template with the
version,release_date, generatedhighlights, and the processed content from the temporary file. - Completely replace the contents of
docs/changelogs/latest.mdwith the populated template.
- Generate a comprehensive "Highlights" section, following the guidelines
in the "Guidelines for
A.2: Preview Release (e.g., v0.29.0-preview.0)
- Update
preview.md:- Generate a comprehensive "Highlights" section, following the highlight guidelines.
- Take the content from
.gemini/skills/docs-changelog/references/preview_template.md. - Populate the template with the
version,release_date, generatedhighlights, and the processed content from the temporary file. - Completely replace the contents of
docs/changelogs/preview.mdwith the populated template.
Path B: Patch Version
Use this path if the version number does not end in .0.
B.1: Stable Patch (e.g., v0.28.1)
- Target File:
docs/changelogs/latest.md - Perform the following edits on the target file:
- Update the version in the main header.
- Update the "Released:" date.
- Prepend the processed "What's Changed" list from the temporary file to the existing "What's Changed" list in the file.
- In the "Full Changelog" URL, replace only the trailing version with the new patch version.
B.2: Preview Patch (e.g., v0.29.0-preview.3)
- Target File:
docs/changelogs/preview.md - Perform the following edits on the target file:
- Update the version in the main header.
- Update the "Released:" date.
- Prepend the processed "What's Changed" list from the temporary file to the existing "What's Changed" list in the file.
- In the "Full Changelog" URL, replace only the trailing version with the new patch version.
Finalize
- After making changes, run
npm run formatto ensure consistency. - Delete any temporary files created during the process.