.agents/skills/final-release-review/SKILL.md
Use this skill when validating the latest release candidate commit (default tip of origin/main) for release. It guides you to fetch remote tags, pick the previous release tag, and thoroughly inspect the BASE_TAG...TARGET diff for breaking changes, introduced bugs/regressions, improvement opportunities, and release risks.
The review must be stable and actionable: avoid variance between runs by using explicit gate rules, and never produce a BLOCKED call without concrete evidence and clear unblock actions.
pwd → path-to-workspace/openai-agents-python.v*):
BASE_TAG="$(.agents/skills/final-release-review/scripts/find_latest_release_tag.sh origin 'v*')"
origin/main, ensure fresh): git fetch origin main --prune then TARGET="$(git rev-parse origin/main)".git diff --stat "${BASE_TAG}"..."${TARGET}"
git diff --dirstat=files,0 "${BASE_TAG}"..."${TARGET}"
git log --oneline --reverse "${BASE_TAG}".."${TARGET}"
git diff --name-status "${BASE_TAG}"..."${TARGET}"
references/review-checklist.md to find breaking-change, regression, and release-polish candidates..agents/references/README.md.BLOCKED):
BASE...TARGET (for example, failing targeted test, incompatible behavior in diff, or removed behavior without fallback).'*.*.*').origin/main tip) has already passed $code-change-verification in CI unless the user says otherwise.--stat, --dirstat, and --name-status outputs to spot hot directories and file types.git diff --word-diff BASE...TARGET -- <path>.references/review-checklist.md (breaking changes, regression clues, improvement opportunities). Keep this broad scan so refactors, error handling, concurrency, dependencies, docs drift, and missing coverage remain visible..agents/references/README.md. Trace the affected value, state, item, or side effect across all required downstream surfaces instead of stopping at the edited function.Evidence, Impact, and Action.BLOCKED.All output must be in English.
Use the following report structure in every response produced by this skill. Be proactive and decisive: make a clear ship/block call near the top, and assign an explicit risk level (LOW/MODERATE/HIGH) to each finding with a short impact statement. Avoid overly cautious hedging when the risk is low and tests passed.
Always use the fixed repository URL in the Diff section (https://github.com/openai/openai-agents-python/compare/...). Do not use ${GITHUB_REPOSITORY} or any other template variable. Format risk levels as bold emoji labels: 🟢 LOW, 🟡 MODERATE, 🔴 HIGH.
Every Risk assessment item must contain an actionable next step. If the report uses **🔴 BLOCKED**, include an Unblock checklist section with at least one concrete command/task and a pass condition.
### Release readiness review (<tag> -> TARGET <ref>)
This is a release readiness report done by `$final-release-review` skill.
### Diff
https://github.com/openai/openai-agents-python/compare/<tag>...<target-commit>
### Release call:
**<🟢 GREEN LIGHT TO SHIP | 🔴 BLOCKED>** <one-line rationale>
### Scope summary:
- <N files changed (+A/-D); key areas touched: ...>
### Risk assessment (ordered by impact):
1) **<Finding or release consideration title>**
- Risk: **<🟢 LOW | 🟡 MODERATE | 🔴 HIGH>**. <Impact statement in one sentence.>
- Evidence: <specific diff/test/commit signal; avoid generic statements>
- Files: <path(s)>
- Action: <concrete next step command/task and pass criteria>
2) ...
### Unblock checklist (required when Release call is BLOCKED):
1. [ ] <concrete check/fix>
- Exit criteria: <what must be true to unblock>
2. ...
### Notes:
- <BASE/TARGET or other assumptions that materially affect the release call>
For a green gate, the Risk assessment must still itemize the important verified release considerations as 🟢 LOW when the diff has behavior, API, package, schema, protocol, configuration, observability, or user-workflow impact. Do not use "No material risks identified" as the sole Risk assessment for such a release. That fallback is allowed only when the diff has no reportable contract or user-facing surface, such as a metadata-only release. Do not add a verification-status section or report routine check results. If the report is not blocked, omit the Unblock checklist section.
Typical green items include a correctly versioned default change with its exact opt-in or opt-out path, a durable schema bump with backward-read behavior, an optional-extra or supported-version expansion that retains compatibility, or a tracing change with an explicit opt-out. Keep each item tied to consumer impact and a release-handoff pass condition.
scripts/find_latest_release_tag.sh: Fetches remote tags and returns the newest tag matching a pattern (default v*).references/review-checklist.md: Detailed signals and commands for spotting breaking changes, regressions, and release polish gaps.