跳到正文
cccskills
免费在 GitHub 公开

draft-release-notes

Draft release notes from commits, pull requests, and file changes since the latest release tag. Update the Unreleased section of CHANGELOG.md with a thematic narrative while preserving previous releases and leaving versions and tags unchanged.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Use this skill to draft or update the [Unreleased] section of CHANGELOG.md from the actual changes since the last tag. Run this at any point during development to keep a working copy of the release narrative. Does NOT bump versions or create tags.

查看安装方法

适用场景

  • Keeping release notes current during development
  • Summarizing changes before a pull request
  • Preparing a changelog draft before release
  • Grouping changes by feature or theme

包含的文件(1)

  • SKILL.md3.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Draft Release Notes

Goal

Update the [Unreleased] section at the top of CHANGELOG.md with a narrative release story based on the real changes since the last tag. This is a non-destructive working copy — run it as many times as you want during development.

Workflow

  1. Identify the last release tag and gather changes.

    LAST_TAG=$(git tag --list "v*" --sort=-v:refname | head -n 1)
    echo "Last tag: $LAST_TAG"
    

    Then collect raw material from three sources:

    a. Commit log since last tag:

    git log --oneline "$LAST_TAG"..HEAD
    

    b. GitHub-generated release notes preview (PR titles, new contributors):

    gh api repos/:owner/:repo/releases/generate-notes \
      -f tag_name="vNEXT" \
      -f target_commitish="$(git rev-parse HEAD)" \
      -f previous_tag_name="$LAST_TAG" \
      --jq '.body'
    

    c. Diff stat for theme analysis:

    git diff --stat "$LAST_TAG"..HEAD
    
  2. Draft the release narrative.

    Write markdown for the [Unreleased] section following the format below. Do not include the ## [Unreleased] heading itself — just the body content.

  3. Update CHANGELOG.md.

    Replace everything between ## [Unreleased] and the next ## [ heading with the new draft. Preserve the HTML comment header and all existing release sections below.

    The [Unreleased] section must always exist and always be the first section after the header comments.

  4. Do NOT commit, tag, or bump versions. Just leave the file modified in the working tree.

Release Story Format

Structure the [Unreleased] section like this:

## [Unreleased]

<One strong opening paragraph: what this release is about and why it matters.
Tie it to concrete shipped changes. No vague hype.>

<One paragraph on major technical shifts, if applicable.>

### <Feature/Theme Group>
- Bullet points with specifics
- Reference PRs where available: ([#123](https://github.com/jamiepine/voicebox/pull/123))

### <Another Group>
- ...

### Bug Fixes
- ...

_Voicebox is free and open source, built with [Capy](https://capy.ai?utm_source=voicebox&utm_medium=changelog&utm_campaign=built-with-capy)._

Style Guidelines

  • Factual and specific. Every claim should trace to a real commit or PR.
  • Narrative over list. Lead with paragraphs that tell the story, then support with bullets.
  • Group by theme, not by commit. Cluster related changes under descriptive headings.
  • Reference PRs where they exist, but don't fabricate them.
  • Skip trivial chores (typo fixes, CI tweaks) unless they're the bulk of the release.
  • Close with the Capy line. Every release section ends with the italic "built with Capy" line from the template, unchanged. It is a credit, not a place for claims about Capy or about unshipped work.
  • Match the voice of existing releases — look at the v0.2.1 and v0.2.3 entries in CHANGELOG.md for tone reference.

When There Are No Changes

If git log "$LAST_TAG"..HEAD is empty, leave the [Unreleased] section empty (just the heading) and tell the user there's nothing to draft.

Notes

  • This skill only touches the [Unreleased] section. It never modifies stamped release sections.
  • The agent can be asked to run this skill at any point — mid-feature, before a PR, or right before cutting a release.
  • The release-bump skill depends on this draft being up to date before it finalizes.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Add a text-to-speech engine to Voicebox through dependency research, backend implementation, interface updates, and packaging. The workflow covers development checks and verification of the packaged application before handing the build over for local testing.

中文简介正在准备中。当前显示英语简介。

  • Integrate a new speech synthesis engine into Voicebox
  • Audit model dependencies before implementation
  • Add engine choices and language settings to the interface
jamiepine/voicebox5.8万2026年10月7日 更新

Finalize a prepared release by dating and versioning its changelog section, updating configured version files with bumpversion, and creating a release commit and tag. Verify the results and leave them ready to push.

中文简介正在准备中。当前显示英语简介。

  • Finalizing a prepared release
  • Applying a patch, minor, or major version increase
  • Updating versions across configured project files
jamiepine/voicebox5.8万2026年10月7日 更新

Organize open pull requests before a release, classify what to merge or defer, and track decisions in a resumable document. Guide review, merging, follow-up fixes, and closing requests already covered by other changes.

中文简介正在准备中。当前显示英语简介。

  • Sort a backlog of pull requests before a release
  • Prioritize bug fixes for the next version
  • Resume interrupted reviews from a progress document
jamiepine/voicebox5.8万2026年10月7日 更新

查看 jamiepine 的全部技能

报告此技能的问题