.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 spot breaking changes, regressions, and improvement chances.BLOCKED):
BASE...TARGET (for example, failing targeted test, incompatible behavior in diff, or removed behavior without fallback).BLOCKED.'*.*.*').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).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 finding 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 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 with 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:
- <working tree status, tag/target assumptions, or re-run guidance>
If no risks are found, include a “No material risks identified” line under Risk assessment and still provide a ship call. If you did not run local verification, do not add a verification status section or use it as a release blocker; note any assumptions briefly in Notes.
If the report is not blocked, omit the Unblock checklist section.
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.