New to Claude Skills? Learn how to install them →

google-gemini on GitHub

Changelog Generator

OfficialFree

Automate and standardize your changelog updates.

Get this skill

Free · Opens the source repo

What Changelog Generator does

The Changelog Generator skill is designed to streamline the process of creating and updating changelog files for software releases. By providing a version string, a release timestamp, and raw markdown release notes, this skill automates the generation of the latest.md, preview.md, and index.md files, ensuring consistency and adherence to formatting guidelines. The skill is particularly useful for developers and teams who need to maintain clear and professional changelogs for their projects, enhancing communication with users and contributors about changes and updates.

When using the Changelog Generator, users can expect a systematic approach to processing version information. The skill distinguishes between new minor versions and patch versions, applying different procedures based on the version string. For minor releases, it generates concise announcements and detailed highlights, while for patch versions, it updates existing changelogs without overwriting important historical data. This helps maintain a clear record of changes over time, which is essential for both project management and user transparency.

In addition to generating changelogs, the skill includes guidelines for highlighting key changes, ensuring that the most significant updates are easily identifiable. By focusing on new features and avoiding mention of experimental changes in stable releases, the Changelog Generator helps teams present their updates in a user-friendly manner. This skill is ideal for software development teams looking to improve their release documentation process and maintain high standards in their project communication.

When to use it

Use this skill when preparing for a new software release to quickly generate and format changelog files based on version and release notes.

When not to use it

This skill may not be suitable for projects that do not follow semantic versioning or require highly customized changelog formats.

What you can build with it

Automating Release Documentation

Use the Changelog Generator to automatically create changelog files for your software releases, saving time and reducing errors.

Standardizing Changelog Formats

Ensure that all your changelogs follow a consistent format by using this skill to handle the formatting and content generation.

Improving Team Communication

Utilize the skill to provide clear and concise release notes to your team and users, enhancing transparency about updates.

How to install Changelog Generator

View source

1. Install with the skills CLI

npx skills add google-gemini/gemini-cli/docs-changelog --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by google-gemini

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

  1. 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.
  2. Process Time: Convert the TIME input into two formats for later use: yyyy-mm-dd and Month dd, yyyy.
  3. 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.

  1. 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.
  2. 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)

  1. 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:
    1. Update the version in the main header. The line should read, # Latest stable release: {{version}}

    2. Update the rease date. The line should read, Released: {{release_date_month_dd_yyyy}}

    3. Determine if a "What's Changed" section exists in the temporary file If so, continue to step 4. Otherwise, skip to step 5.

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

    5. 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:
    1. Update the version in the main header. The line should read, # Preview release: {{version}}

    2. Update the rease date. The line should read, Released: {{release_date_month_dd_yyyy}}

    3. Determine if a "What's Changed" section exists in the temporary file If so, continue to step 4. Otherwise, skip to step 5.

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

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

Frequently asked questions about Changelog Generator

Similar skills