docs-changelog

作者: google-gemini

为新的发布版本生成并格式化变更日志文件,支持版本感知模板和亮点提取。处理三种发布类型:稳定小版本、稳定补丁和预览版本,每种类型都有不同的文件更新流程。自动处理原始Markdown发布说明,将PR URL重新格式化为Markdown链接,并移除贡献者部分。生成简洁的3-5点亮点摘要用于发布公告,优先展示新功能而非错误修复。支持...

npx skills add https://github.com/google-gemini/gemini-cli --skill docs-changelog

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.

来自 google-gemini 的更多技能

agent-tui
google-gemini
Main Agents: Do NOT use this skill directly. If you need to test the TUI, invoke the `tui_tester` subagent. Drive terminal UI (TUI) applications…
gemini-api-cli
google-gemini
使用Gemini API CLI工具的指南。当你需要通过命令行与Gemini API交互、管理代理或生成媒体(图像、……)时使用。
behavioral-evals
google-gemini
创建、运行、修复和推广行为评估的指南。用于验证代理决策逻辑、调试故障、调试提示…
gemini-live-api-dev
google-gemini
通过WebSocket与Gemini进行实时双向流式传输,支持音频、视频和文本对话。具备音频输入/输出(16 kHz PCM)、视频帧、文本以及带语音活动检测的自动转录功能,可实现中断处理。包含原生音频特性:情感对话、主动音频和思考模式;支持同步和异步工具调用的函数调用;以及Google搜索接地功能。提供会话管理,包括上下文压缩、恢复等。
gemini-omni-flash-api
google-gemini
使用此技能进行生成式视频编辑、文本转视频、图像参考视频生成以及首帧到视频的过渡动画,基于…
gemini-api-dev
google-gemini
使用Google的Gemini模型构建应用程序,支持多模态内容、函数调用和结构化输出,覆盖Python、JavaScript、Go和Java语言。可访问当前Gemini 3模型(Pro、Flash、Pro Image),具备100万token上下文;旧版Gemini 2.x和1.5模型已弃用。支持文本生成、图像/音频/视频理解、函数调用、结构化JSON输出、代码执行、上下文缓存和嵌入功能。提供官方SDK:google-genai(Python)...
gemini-interactions-api
google-gemini
Gemini模型与代理的统一接口,支持服务端状态、流式传输和工具编排。兼容当前多款模型(gemini-3-flash-preview、gemini-3-pro-preview、gemini-2.5-flash/pro)及Deep Research代理;自动将已弃用的模型ID替换为当前替代方案。通过previous_interaction_id将对话历史卸载至服务端,实现有状态的多轮交互,无需手动管理历史记录。内置工具编排功能包括...
deliver
google-gemini
将简报的浓缩版发布到 Google Chat 或 Slack 的传入 webhook,使每日运行自行投递——当没有 webhook 时静默跳过……