Replace generate-release-log script with agent skill#91611
Replace generate-release-log script with agent skill#91611devjiwonchoi wants to merge 1 commit intocanaryfrom
Conversation
Failing test suitesCommit: 2d3b4fd | About building and testing Next.js
Expand output● app dir - prefetching › should not unintentionally modify the requested prefetch by escaping the uri encoded query params |
Stats from current PR✅ No significant changes detected📊 All Metrics📖 Metrics GlossaryDev Server Metrics:
Build Metrics:
Change Thresholds:
⚡ Dev Server
📦 Dev Server (Webpack) (Legacy)📦 Dev Server (Webpack)
⚡ Production Builds
📦 Production Builds (Webpack) (Legacy)📦 Production Builds (Webpack)
📦 Bundle SizesBundle Sizes⚡ TurbopackClient Main Bundles
Server Middleware
Build DetailsBuild Manifests
📦 WebpackClient Main Bundles
Polyfills
Pages
Server Edge SSR
Middleware
Build DetailsBuild Manifests
Build Cache
🔄 Shared (bundler-independent)Runtimes
📝 Changed Files (4 files)Files with changes:
View diffspages-api-tu..ntime.dev.jsDiff too large to display pages-api.runtime.dev.jsDiff too large to display pages-turbo...ntime.dev.jsDiff too large to display pages.runtime.dev.jsDiff too large to display 📎 Tarball URL |
ce44b9e to
7e25d9b
Compare
7e25d9b to
23dc8a3
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 23dc8a3618
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
.agents/skills/generate-release-log/evals/arg-from-to/PROMPT.md
Outdated
Show resolved
Hide resolved
23dc8a3 to
c614ce0
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c614ce08ed
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
c614ce0 to
2d3b4fd
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2d3b4fd8c9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| **1 arg:** Use as to-tag. | ||
|
|
||
| - **Prerelease tag** (contains `-`, e.g. `-canary.`, `-beta.`, `-alpha.`): find previous tag via `git describe --tags --abbrev=0 <to-tag>^`. Use that as from-tag. | ||
| - **Stable tag** (bare `vMAJOR.MINOR.PATCH`, no `-` suffix): find the previous stable release. Parse the version — if minor > 0, use `v<major>.<minor-1>.0`. If minor == 0, find the highest stable tag from the previous major via `git tag -l 'v<major-1>.*.0' --sort=-version:refname | grep -v '-' | head -1`. Validate the derived tag exists with `git tag -l`. |
There was a problem hiding this comment.
Derive stable from-tag from previous patch first
For single-argument stable releases, the rule if minor > 0, use v<major>.<minor-1>.0 skips the patch component entirely, so generating a log for something like v16.2.1 would incorrectly start at v16.1.0 instead of v16.2.0. That pulls in already-released changes across an entire minor cycle and makes the release notes inaccurate for patch releases.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
We'll probably want to detect if previous releases were backports or triggered from canary so we know if we should start from them or not. Alternatively we just require specifying start and end explicitly only
| git log --first-parent --reverse --format='%s|||%aE' <from>..<to> | ||
| ``` | ||
|
|
||
| Filter out version bump commits matching `^v\d+\.\d+\.\d+(-canary\.\d+)?$`. If zero commits remain, report empty range and stop. |
There was a problem hiding this comment.
Expand version-bump filter beyond canary tags
The version-bump exclusion regex only handles optional -canary.N, but this skill explicitly supports other prerelease tags like beta/alpha. In beta/alpha release ranges, commits whose subject is just a version tag (for example vX.Y.Z-beta.1) will be misclassified as regular changes and appear in the changelog.
Useful? React with 👍 / 👎.
Replace the old GitHub API-based script with a git-based agent skill that captures every commit between canary tags. Includes eval snapshots for 3 tag ranges to validate categorization consistency.
2d3b4fd to
22a15fd
Compare
|
@codex review |
Why
The old
scripts/generate-release-log.mjsdepended on already-generated GitHub releases to collect changes. If a release wasn't published (e.g., due to a failing deployment), those changes would be silently omitted from the changelog.Since we already leverage an agent, we're replacing the script with a Claude Code skill that uses
git logdirectly — no dependency on GitHub releases existing. Same git-based approach, just a skill instead of a standalone program.How it works
git describe), or accepts explicit<from-tag> <to-tag>argumentsgit log --first-parentbetween the two tags, filtering out version bump commitsgh apilookup for non-noreply emails), excluding botsrelease-<version>.txtin repo root with sectioned changelog and creditsWhat changed
.agents/skills/generate-release-log/SKILL.md— the skill definitionevals/— 3 eval test cases (arg-from-to,arg-to,natural-language) with prompts and expected outputsscripts/generate-release-log.mjs— the old GitHub API-based script