본문으로 건너뛰기
cccskills
Codex 공식무료GitHub에 공개

final-release-review

Review a JavaScript SDK release plan or final candidate against the previous release. Check compatibility, packaging, regressions, and Changesets version records, then recommend shipping or blocking with supporting evidence and a separate assessment of documentation coverage.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Assess a JS SDK release candidate or release plan against the previous release and recommend ship or block.

설치 방법 보기

이럴 때 유용합니다

  • Review the next SDK release plan
  • Assess whether a final release candidate can ship
  • Check generated versions and changelogs for consistency
  • Review documentation coverage and draft minor-release notes

포함된 파일(4)

  • SKILL.md15.8 KB
  • agents/openai.yaml289 B
  • references/review-checklist.md11.5 KB
  • scripts/find_latest_release_tag.sh422 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Final Release Review

Purpose

Audit BASE_TAG...TARGET in one of two modes:

  • Pre-release planning: use when the user asks to plan the next release or reviews origin/main before the Changesets version PR exists. Derive the planned release type from the active changesets in TARGET. Do not treat unchanged package versions as a blocker.
  • Final candidate: use when the user asks for a final candidate decision or TARGET contains a Changesets-generated version commit. Derive the candidate type from the consumed changesets, then verify the generated package versions and changelogs.

Treat Changesets as the source of truth for patch versus minor. Let $changeset-validation judge whether each changeset uses the correct bump for its package diff; do not independently replace a valid declared bump with a semantic-version judgment from this review. Independently audit runtime compatibility, regressions, packaging, and release risks. Keep documentation readiness separate from the release gate.

Quick start

  1. Ensure the repository root is openai-agents-js.
  2. Sync remote tags and choose the previous release:
    BASE_TAG="$(.agents/skills/final-release-review/scripts/find_latest_release_tag.sh origin 'v*')"
    
  3. Refresh and resolve the target, defaulting to origin/main:
    git fetch origin main --prune
    TARGET="$(git rev-parse origin/main)"
    
    Resolve an explicitly supplied tag or ref to its peeled commit with git rev-parse "${TARGET_REF}^{commit}"; use the commit SHA rather than an annotated tag object in the report and compare URL.
  4. Resolve review mode independently from the release type:
    1. Honor an explicit user request for pre-release planning or final-candidate review.
    2. Otherwise, use final-candidate mode when TARGET contains a Changesets-generated version commit or package versions have been bumped beyond BASE.
    3. Otherwise, use pre-release planning mode.
  5. Resolve the Changesets release state and type:
    1. In planning mode, inspect every active .changeset/*.md file at TARGET except .changeset/README.md.
    2. In final-candidate mode, identify the version commit and read each changeset it deleted from the commit's first parent. Also inspect generated packages/*/package.json and packages/*/CHANGELOG.md changes.
    3. Record every source changeset, package entry, and declared bump.
    4. Set the release-level type to the highest valid declared bump: minor over patch. Account for the fixed package group in .changeset/config.json; do not infer a lower type from an individual package version.
    5. Treat a major entry, malformed frontmatter, mixed active and consumed release sets, or package changes with no applicable changeset as an invalid release state. Do not coerce it to patch or minor.
  6. Snapshot the release diff:
    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}"
    
  7. Audit the diff with references/review-checklist.md and prove or dismiss each candidate against the released contract.
  8. Discover and review relevant open documentation PRs using current read-only GitHub state. Do not infer coverage from local branches, titles, or historical context.
  9. Report the Changesets release state, ship/block gate, risk assessment, documentation coverage, and conditional minor-release Key Changes draft.

Changesets release policy

  • Use active changeset frontmatter in pre-release planning and consumed changeset frontmatter in a generated final candidate as the authoritative release-type declaration.
  • Assume required changeset validation passed in CI unless current evidence says otherwise. If its status is unavailable, say so; do not silently rerun the semantic bump classification inside this skill.
  • When current evidence shows a missing, malformed, stale, or inconsistent changeset, report the release-preparation defect. In planning mode, give the exact correction without pretending a candidate exists. In final-candidate mode, block until the Changesets inputs and generated outputs agree.
  • A target with no releasable package changes and no changesets has release type none. Do not invent a patch release.
  • In planning mode, package versions may still match BASE. The Changesets workflow owns the later version bump.
  • In final-candidate mode, verify that the consumed release type, generated package versions, fixed-group propagation, changelogs, and version commit agree. A mismatch is blocking.
  • A user-supplied patch or minor label is context, not an override for repository Changesets state. Report disagreement and use the repository declaration.
  • Distinguish an undocumented migration from the absence of a usable migration or compatibility path. Missing documentation is non-blocking; an actual supported-path break with no usable migration or fallback can block regardless of the declared bump.

Deterministic gate policy

  • Default to 🟢 GREEN LIGHT TO SHIP unless at least one blocking trigger is proven.
  • Use 🔴 BLOCKED only with concrete release-blocking evidence and an actionable unblock condition.
  • Blocking triggers:
    • A confirmed regression or bug introduced in BASE_TAG...TARGET.
    • In final-candidate mode, invalid Changesets state or a mismatch between consumed changesets and generated versions, changelogs, or fixed-group updates.
    • A confirmed breaking public API, protocol, config, or durable-state change with no usable migration, fallback, or compatibility path.
    • A concrete data-loss, corruption, or security-impacting change with unresolved mitigation.
    • A release-critical packaging, build, or runtime path broken by the diff.
  • The following are never blocking by themselves:
    • Large diff size, broad refactoring, or many touched files.
    • Speculative "could regress" concerns without evidence.
    • Not rerunning CI checks locally.
    • Missing, incomplete, unmerged, stale, or post-release documentation.
    • Unchanged package version metadata in pre-release planning mode.
  • A documentation review may reveal an underlying runtime or compatibility defect. Block only for that defect, not for the documentation state.
  • A green gate must still explain important user-visible release surfaces.

Workflow

Prepare and map the diff

  • Fetch current remote tags and the target ref. Keep working-tree changes out of the comparison.
  • Prefer a user-specified base tag, but still refresh remote tags.
  • Assume the target passed repository CI, including $code-change-verification and $changeset-validation, unless told otherwise. Do not rerun routine unit, lint, formatting, type, coverage, or changeset checks by default.
  • Use diff stats, directory distribution, commit order, and name status to identify high-risk areas. Read changed tests as behavioral evidence, not as proof by themselves.

Audit contracts and prove findings

  • Compare BASE and TARGET rather than reviewing TARGET in isolation.
  • For public APIs, compare exports, identity, TypeScript signatures, parameter order, defaults, enums, and documented behavior.
  • For packages, compare supported Node.js and TypeScript versions, dependencies, peers, optional dependencies, package exports, published contents, version metadata, and ESM/CJS/type behavior.
  • For persisted state, schemas, protocols, config, and environment variables, identify the released durable boundary and verify backward reads or a usable migration path.
  • Route runtime changes through the owning reference in .agents/references/README.md and trace required consumers and symmetry axes.
  • Promote a candidate only when the diff proves a contract violation, reachable supported-path regression, or concrete user-visible release consideration.
  • Use the smallest identical BASE-versus-TARGET public-path or packed-artifact probe when static evidence cannot resolve a decision-relevant question.
  • Assign 🟢 LOW to verified safe considerations, 🟡 MODERATE to concrete unresolved regression signals, and 🔴 HIGH to confirmed blockers.
  • Include Evidence, Impact, Files, and Action for every risk item. Do not manufacture test or code work for a safe release consideration.

Review documentation coverage

  • First derive a documentation-obligation inventory from the runtime audit: breaking changes, migrations, defaults, opt-ins or opt-outs, major features, public APIs, provider and dependency compatibility, durable schemas, and changed user workflows.
  • Before reporting any obligation as uncovered, inspect current open PRs through approved read-only GitHub access. Never use gh in this repository and never mutate GitHub.
  • Discover candidates using the Changesets release type, likely version, feature names, linked implementation PRs, branch names, and changed documentation paths. Do not rely on the PR title alone.
  • For each candidate, record its PR number or URL and latest head SHA, then review its complete current diff and any discussion that materially affects a coverage claim. Several PRs may collectively cover the inventory.
  • Keep the release target diff and documentation-PR diffs separate. Do not imply that an open docs PR is already part of the release target.
  • Classify aggregate coverage as covered, partially covered, not covered, stale/conflicting, or unverified.
  • If current read-only GitHub access is unavailable, use unverified, explain the search limitation, and do not claim that no docs PR exists.
  • For every obligation that is not demonstrably covered, suggest the exact post-release file, section, example or claim, and required migration or compatibility wording. Mark suggestions provisional when coverage is unverified.
  • Treat an unmerged docs PR as an acceptable post-release handoff. Note when it should remain unmerged until the SDK release is available.

Draft minor-release Key Changes

  • Include a copy-ready Key Changes draft whenever the authoritative Changesets release type is minor. Omit it for patch or none unless the user requests it.

  • Derive the draft from verified user-facing contracts and changeset summaries, not raw commit counts or directory summaries.

  • Follow the established JS release format:

    ## Key Changes
    
    ### <User-facing theme>
    
    <A concise paragraph describing the behavior, exact public names, and migration or fallback when applicable.>
    
  • Use one section when there is one major theme and normally two to seven sections for a broader minor release. Do not add a synthetic Highlights list.

  • Put breaking behavior and the supported migration or fallback first. If the minor release has no breaking changes, say so in the relevant introductory section or first theme.

  • Cover the major release themes without reproducing the generated ## What's Changed list. Preserve exact public names, defaults, version bounds, opt-outs, and compatibility qualifiers.

  • Use only stable published documentation URLs. Do not include open branch links; mention open docs PRs separately in Documentation coverage.

  • Produce the draft even when the release is blocked, but do not let polished release copy hide the blocker.

Form the recommendation

  • State BASE_TAG, TARGET commit, review mode, Changesets state and source, authoritative release type, and generated candidate version when known.
  • Summarize key directories and file counts without turning every commit into a report item.
  • List only substantiated blockers and the most important verified release considerations, normally two to five grouped by user impact.
  • Keep documentation coverage in its own non-blocking section.
  • If blocked, include an exact unblock checklist and pass condition. If no concrete unblock action exists, do not block.
  • Do not include routine command results, pass counts, skips, deselections, or a validation-status inventory.

Output format (required)

Produce the report in English using this structure and the repository's AGENTS.md section "GitHub-ready Output". Deliver the entire report, including any Key Changes draft, inside one copyable markdown code block by default; the template below is the literal content of that block. Honor an explicit request for raw text without fences.

Inside the report, use the fixed compare URL https://github.com/openai/openai-agents-js/compare/<tag>...<target-commit> as a bare URL. Use native GitHub references such as #123 for documentation and version PRs. Do not create Markdown links or wrap an already rendered link again. Use repository-relative paths in inline code for file evidence, never absolute local paths or local-file links. If the user requests no file paths, use affected component or documentation section names, including in the Changesets source and risk fields. Keep host-specific citations and annotations outside the report's code block.

Before sending, check the copyable source for one intact compare URL, native PR references, portable file evidence, and absence of nested link wrappers or host-specific markup. Preserve the review's original evidence and scope when only correcting its formatting.

### 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-js/compare/<tag>...<target-commit>

### Release intent

- Review mode: <pre-release planning | final candidate>
- Changesets state: <active | consumed | none | invalid>
- Changesets source: <repository-relative changeset paths or version commit; use a release-set description when paths are excluded; include validation limitation when material>
- Release type: <patch | minor | none | invalid>
- Candidate version: <version when generated, or not yet generated in planning mode>
- Versioning verdict: <declared plan | generated candidate consistent | correction required | invalid candidate>

### 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.>
   - Evidence: <specific BASE-versus-TARGET evidence>
   - Files: <repository-relative paths, or affected components when paths are excluded>
   - Action: <next step and pass condition>

### Documentation coverage (non-blocking)

- Coverage source: <native PR reference and head SHA, multiple PRs, none found after a successful search, or search unavailable or partial>
- Status: <covered | partially covered | not covered | stale/conflicting | unverified>
- Covered obligations: <concise list or none>
- Gaps or post-release suggestions: <exact files, sections, claims, or none>
- Publication timing: <merge after release when docs describe unreleased behavior, or not applicable>

### Unblock checklist

1. [ ] <required only when blocked>
   - Exit criteria: <what must be true>

### Key Changes draft

<Include the copy-ready `## Key Changes` block only for a Changesets-declared minor release.>

### Notes

- <Material assumptions only>
  • Omit Unblock checklist when the release is green.
  • Omit Key Changes draft for patch or none unless requested.
  • For a behavior-impacting green release, retain at least one 🟢 LOW consideration; do not return only "No material risks identified".
  • For a metadata-only release with no reportable user-facing contract, a concise empty-risk statement is acceptable.

Resources

  • scripts/find_latest_release_tag.sh: refresh remote tags and return the newest matching release tag.
  • references/review-checklist.md: detailed Changesets resolution, discovery signals, docs-coverage review, and evidence requirements.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

changeset-validation

Codex 공식무료

Check package changes against changesets, the files describing release updates, to assess summaries and required version increases. Use it to review pull requests or uncommitted changes and obtain a structured verdict with errors, warnings, and the required bump.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Reviewing changeset compliance in a pull request
  • Checking release notes against uncommitted changes
  • Choosing the appropriate version bump
openai/openai-agents-js3.9천2026년 10월 21일 업데이트

code-change-verification

Codex 공식무료

Run final checks after reviewed SDK changes, covering dependency installation, builds, types, generated declarations, linting, tests, and formatting. The workflow requires every check to pass before the work is marked complete.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Final verification after SDK code changes
  • Checking changes to tests or build configuration
  • Rechecking the full validation sequence after fixes
openai/openai-agents-js3.9천2026년 10월 21일 업데이트

credit-note-fixer

Codex 공식무료

Fix a small formatting bug in a credit note shell script while keeping the output label as credit and the amount positive. Run the specified targeted test and summarize the bug, fix, and verification command.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Fix a credit note output formatting bug
  • Check the credit label and positive amount
  • Run the specified test and report the fix
openai/openai-agents-js3.9천2026년 10월 21일 업데이트

csv-workbench

Codex 공식무료

Analyze CSV files with Python and get concise numerical summaries. The skill checks column structure before calculating requested aggregates, includes units when available, and explains assumptions when data is missing or incorrectly formatted.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Quick summaries of CSV data
  • Calculating requested aggregates
  • Reporting assumptions about missing or malformed data
openai/openai-agents-js3.9천2026년 10월 21일 업데이트

docs-sync

Codex 공식무료

Compare English SDK documentation with source code to find missing features, incorrect defaults, and outdated explanations. Produce evidence-backed findings or update the requested pages, with verification matched to the scope of the documentation changes.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Audit documentation for a specific SDK feature
  • Check documentation against branch changes
  • Correct outdated option names and defaults
openai/openai-agents-js3.9천2026년 10월 21일 업데이트

examples-run-analysis

Codex 공식무료

Analyze existing logs and source files from a completed example run to verify that intended actions actually occurred. Review every entry, classify failures and skips, and report evidence without running examples, controlling processes, or modifying files.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Verify behavior after a completed example run
  • Check whether exit-zero examples performed their intended actions
  • Separate repository failures from environment restrictions
openai/openai-agents-js3.9천2026년 10월 21일 업데이트

openai의 스킬 모두 보기

이 스킬의 문제 신고