docs-changelog

Generates and formats changelog files for new releases with version-aware templates and highlight extraction. Handles three release types: stable minor versions, stable patches, and preview releases, each with distinct file update procedures Automatically processes raw markdown release notes by reformatting PR URLs to markdown links and removing contributor sections Generates concise 3–5 point highlight summaries for release announcements, prioritizing new features over bug fixes Supports both announcement-style entries for the main changelog index and detailed highlights for release-specific pages

INSTALLATION
npx skills add https://github.com/google-gemini/gemini-cli --skill docs-changelog
Run in your project or agent environment. Adjust flags if your CLI version differs.

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.md

for the correct style and tone.

Initial Processing

  • Analyze Version: Determine the release path based on the version

string.

  • If version contains "nightly", STOP. No changes are made.
  • If version ends in .0, follow the Path A: New Minor Version

procedure.

  • If version does not end in .0, follow the Path B: Patch Version

procedure.

  • Process Time: Convert the TIME input into two formats for later use:

yyyy-mm-dd and Month dd, yyyy.

  • Process Body:
  • Save the incoming BODY content 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.

Path A: New Minor Version

Use this path if the version number ends in .0.

Important: Based on the version, you must choose to follow either section

A.1 for stable releases or A.2 for preview releases. Do not follow the

instructions for the other section.

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.md and the

example within

.gemini/skills/docs-changelog/references/index_template.md as your

guide. This format includes PR links and authors. Stick to 1 or 2 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.md and preview.md Highlights" section

above.

  • Take the content from

.gemini/skills/docs-changelog/references/latest_template.md.

  • Populate the template with the version, release_date, generated

highlights, and the processed content from the temporary file.

  • Completely replace the contents of docs/changelogs/latest.md with

the populated template.

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, generated

highlights, and the processed content from the temporary file.

  • Completely replace the contents of docs/changelogs/preview.md

with the populated template.

Path B: Patch Version

Use this path if the version number does not end in .0.

Important: Based on the version, you must choose to follow either section

B.1 for stable patches or B.2 for preview patches. Do not follow the

instructions for the other section.

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. The line should read,

# Latest stable release: {{version}}

-

Update the rease date. The line should read,

Released: {{release_date_month_dd_yyyy}}

-

Determine if a "What's Changed" section exists in the temporary file

If so, continue to step 4. Otherwise, skip to step 5.

-

Prepend the processed "What's Changed" list from the temporary file

to the existing "What's Changed" list in latest.md. Do not change or

replace the existing list, only add to the beginning of it.

-

In the "Full Changelog", edit only the end of the URL. Identify the

last part of the URL that looks like ...{previous_version} and update

it to be ...{version}.

Example: assume the patch version is v0.29.1. Change

Full Changelog: https://github.com/google-gemini/gemini-cli/compare/v0.28.2…v0.29.0

to

Full Changelog: https://github.com/google-gemini/gemini-cli/compare/v0.28.2…v0.29.1

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. The line should read,

# Preview release: {{version}}

-

Update the rease date. The line should read,

Released: {{release_date_month_dd_yyyy}}

-

Determine if a "What's Changed" section exists in the temporary file

If so, continue to step 4. Otherwise, skip to step 5.

-

Prepend the processed "What's Changed" list from the temporary file

to the existing "What's Changed" list in preview.md. Do not change or

replace the existing list, only add to the beginning of it.

-

In the "Full Changelog", edit only the end of the URL. Identify the

last part of the URL that looks like ...{previous_version} and update

it to be ...{version}.

Example: assume the patch version is v0.29.0-preview.1. Change

Full Changelog: https://github.com/google-gemini/gemini-cli/compare/v0.28.2…v0.29.0-preview.0

to

Full Changelog: https://github.com/google-gemini/gemini-cli/compare/v0.28.2…v0.29.0-preview.1

Finalize

  • After making changes, if npm run format fails, it may be necessary to run

npm install first to ensure all formatting dependencies are available.

Then, run npm run format to ensure consistency.

  • Delete any temporary files created during the process.
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card