From 852c69f402acc059f0062f0015ce071cc24e3be1 Mon Sep 17 00:00:00 2001 From: Jonathan Lebon Date: Mon, 1 Jun 2026 20:33:15 -0400 Subject: [PATCH] tree: convert polish-notes OpenCode command to agent skill Move from .opencode/commands/ to .agents/skills/ so this works across agent harnesses, not just OpenCode. Assisted-by: Pi (Claude Opus 4.6) --- .agents/skills/polish-notes/SKILL.md | 89 ++++++++++++++++++++++++++ .opencode/commands/polish-notes.md | 93 ---------------------------- 2 files changed, 89 insertions(+), 93 deletions(-) create mode 100644 .agents/skills/polish-notes/SKILL.md delete mode 100644 .opencode/commands/polish-notes.md diff --git a/.agents/skills/polish-notes/SKILL.md b/.agents/skills/polish-notes/SKILL.md new file mode 100644 index 0000000..2fc3337 --- /dev/null +++ b/.agents/skills/polish-notes/SKILL.md @@ -0,0 +1,89 @@ +--- +name: polish-notes +description: Polish raw GitHub release notes into user-impact-focused summaries. Use when preparing release notes for a new chunkah version. +--- + +# Polish release notes + +Polish raw GitHub-generated release notes for chunkah. + +## Input + +The user provides the version to release (e.g. `v0.4.0` or `0.4.0`) and +optionally a path to a file containing raw release notes. Strip any `v` prefix +to get the bare version (e.g. `0.4.0`). + +If no file path is provided, run `just release generate-notes ` +to fetch raw notes from GitHub. Request to run in the host context if you get a +403. + +The raw notes contain entries in this format: + +```text +* by @ in +``` + +## Process + +1. Use `gh release list --repo coreos/chunkah --limit 5` to fetch recent + release tags, then `gh release view --repo coreos/chunkah` to read + their release notes. Use these as a reference for how items were categorized + in past releases. +2. For each PR entry, parse the PR number from its URL, then use `gh pr view + --repo coreos/chunkah --json body,commits` to fetch the PR + description and commit messages. Fetch all PR details in parallel to + minimize latency. +3. From the PR body and commit messages, determine the user-facing impact of + the change (e.g. performance improvement, bug fix, new feature). +4. Write a brief summary emphasizing impact to users, not implementation + details. Keep it to 1-3 sentences. +5. Categorize each item into one of the sections below, using the previous + release notes as a guide for consistency. + +## Output format + +Group items under these section headings (omit sections with no items): + +- **Major changes** - New features, significant behavior changes, performance + improvements, or breaking changes that users should know about. +- **Minor changes** - Small enhancements, new options, improved warnings, or + documentation updates that are user-visible. +- **Internal changes** - Refactoring, CI fixes, test improvements, or code + cleanup with no direct user-facing impact. +- **Packaging changes** - Dependency bumps, spec file changes, Packit fixes, or + build system updates. + +Rewrite each entry as: + +```text +* () +``` + +If the raw notes contain a "## New Contributors" section, preserve it verbatim +at the bottom of the output, after all other sections. + +## Example + +Input: + +```text +* tar: stream file reads instead of buffering into `Vec` by @jlebon in + https://github.com/coreos/chunkah/pull/72 +``` + +Output: + +```markdown +## Major changes + +* Dramatically reduced memory usage by streaming file reads instead of + buffering entire files and tar layers into memory, cutting peak RSS to ~75 MB + (from ~6.5 GB of allocations for an FCOS image) + (https://github.com/coreos/chunkah/pull/72) +``` + +## Final steps + +After drafting the output, check for spelling and grammar issues and fix them. +Write the final result to `.release-notes-.md` in the repo root +(e.g. `.release-notes-0.4.0.md`). diff --git a/.opencode/commands/polish-notes.md b/.opencode/commands/polish-notes.md deleted file mode 100644 index b782120..0000000 --- a/.opencode/commands/polish-notes.md +++ /dev/null @@ -1,93 +0,0 @@ ---- -description: Polish raw GitHub release notes into user-impact-focused summaries ---- - -# Polish release notes - -Polish raw GitHub-generated release notes for chunkah. - -## Input - -The first argument (`$1`) is the version to release (e.g. `v0.4.0` or -`0.4.0`). Strip any `v` prefix to get the bare version (e.g. `0.4.0`). - -If a second argument (`$2`) is provided, it is the path to a file -containing the raw release notes. Read the raw notes from that file. - -If no second argument is provided, run -`just release generate-notes ` to fetch raw notes from -GitHub. Request to run in the host context if you get a 403. - -The raw notes contain entries in this format: - -```text -* by @ in -``` - -## Process - -1. Use `gh release list --repo coreos/chunkah --limit 5` to fetch - recent release tags, then - `gh release view --repo coreos/chunkah` to read their release - notes. Use these as a reference for how items were categorized in - past releases. -2. For each PR entry, parse the PR number from its URL, then use - `gh pr view --repo coreos/chunkah --json body,commits` to - fetch the PR description and commit messages. Fetch all PR details - in parallel to minimize latency. -3. From the PR body and commit messages, determine the user-facing - impact of the change (e.g. performance improvement, bug fix, new - feature). -4. Write a brief summary emphasizing impact to users, not - implementation details. Keep it to 1-3 sentences. -5. Categorize each item into one of the sections below, using the - previous release notes as a guide for consistency. - -## Output format - -Group items under these section headings (omit sections with no items): - -- **Major changes** - New features, significant behavior changes, - performance improvements, or breaking changes that users should know - about. -- **Minor changes** - Small enhancements, new options, improved - warnings, or documentation updates that are user-visible. -- **Internal changes** - Refactoring, CI fixes, test improvements, or - code cleanup with no direct user-facing impact. -- **Packaging changes** - Dependency bumps, spec file changes, Packit - fixes, or build system updates. - -Rewrite each entry as: - -```text -* () -``` - -If the raw notes contain a "## New Contributors" section, preserve it -verbatim at the bottom of the output, after all other sections. - -## Example - -Input: - -```text -* tar: stream file reads instead of buffering into `Vec` - by @jlebon in https://github.com/coreos/chunkah/pull/72 -``` - -Output: - -```markdown -## Major changes - -* Dramatically reduced memory usage by streaming file reads - instead of buffering entire files and tar layers into memory, - cutting peak RSS to ~75 MB (from ~6.5 GB of allocations for - an FCOS image) (https://github.com/coreos/chunkah/pull/72) -``` - -## Final steps - -After drafting the output, check for spelling and grammar issues and -fix them. Write the final result to `.release-notes-.md` -in the repo root (e.g. `.release-notes-0.4.0.md`).