DevSpace Manual QA Setup
Waishnav/devspace
Prepares the current DevSpace checkout or worktree for isolated local manual QA, covering QA state seeding, UI asset builds and snapshot resets.
Prepare a local Python SDK release candidate in a dedicated worktree.
$ npx skills add openai/openai-agents-python --skill release-candidate-prep -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install openai/openai-agents-python release-candidate-prep --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/openai/openai-agents-python.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/release-candidate-prep .claude/skills/release-candidate-prep && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "release-candidate-prep" agent skill from https://github.com/openai/openai-agents-python/tree/main/.agents/skills/release-candidate-prep into .claude/skills/release-candidate-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-candidate-prep", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/openai/openai-agents-python/tree/main/.agents/skills/release-candidate-prepType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add openai/openai-agents-python --skill release-candidate-prep -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install openai/openai-agents-python release-candidate-prep --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openai/openai-agents-python.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/release-candidate-prep .agents/skills/release-candidate-prep && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "release-candidate-prep" agent skill from https://github.com/openai/openai-agents-python/tree/main/.agents/skills/release-candidate-prep into .agents/skills/release-candidate-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-candidate-prep", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openai/openai-agents-python --skill release-candidate-prep -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install openai/openai-agents-python release-candidate-prep --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openai/openai-agents-python.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/release-candidate-prep .cursor/skills/release-candidate-prep && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "release-candidate-prep" agent skill from https://github.com/openai/openai-agents-python/tree/main/.agents/skills/release-candidate-prep into .cursor/skills/release-candidate-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-candidate-prep", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/openai/openai-agents-python.git --path .agents/skills/release-candidate-prep--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add openai/openai-agents-python --skill release-candidate-prep -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install openai/openai-agents-python release-candidate-prep --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openai/openai-agents-python.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/release-candidate-prep .gemini/skills/release-candidate-prep && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "release-candidate-prep" agent skill from https://github.com/openai/openai-agents-python/tree/main/.agents/skills/release-candidate-prep into .gemini/skills/release-candidate-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-candidate-prep", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install openai/openai-agents-python release-candidate-prepInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add openai/openai-agents-python --skill release-candidate-prep -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/openai/openai-agents-python.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/release-candidate-prep .github/skills/release-candidate-prep && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "release-candidate-prep" agent skill from https://github.com/openai/openai-agents-python/tree/main/.agents/skills/release-candidate-prep into .github/skills/release-candidate-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-candidate-prep", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add openai/openai-agents-python --skill release-candidate-prep -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install openai/openai-agents-python release-candidate-prep --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/openai/openai-agents-python.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/release-candidate-prep .opencode/skills/release-candidate-prep && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "release-candidate-prep" agent skill from https://github.com/openai/openai-agents-python/tree/main/.agents/skills/release-candidate-prep into .opencode/skills/release-candidate-prep/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-candidate-prep", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
release-candidate-prepPrepare a local Python SDK release candidate in a dedicated worktree.
Release Candidate Prep is an agent skill from openai/openai-agents-python, published by the product's own GitHub organization. Prepare a local Python SDK release candidate in a dedicated worktree. Use only when explicitly invoked with a version.
Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/prepare.py` and `scripts/test_prepare.py`).
It sits in Development, covering Git worktrees. It works with Python and OpenAI. The repository describes itself as: A lightweight, powerful framework for multi-agent workflows. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 71c2da4. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 2 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
makegitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
pypi.orgFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
OPENAI_API_KEYGITHUB_TOKENGH_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Release Candidate Prep loads about 4.9k tokens when it runs. Until then it costs about 35 tokens; SKILL.md has 2,417 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from openai/openai-agents-python at commit 71c2da4, republished under its MIT licence (© openai). 2,417 words, ~4,885 tokens.
.claude/skills/release-candidate-prep/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Use this skill only when the user explicitly invokes $release-candidate-prep and supplies a release version without a leading v, for example VERSION=0.20.1. This skill is the manual fallback for the GitHub Actions release workflow. Ordinary bot releases use .github/workflows/release-candidate.yml; do not invoke this local worktree procedure inside Actions.
For normal Release Please releases, use $final-release-review <release PR URL> instead.
Do not create a manual candidate to review or finish the bot PR.
origin/main, create one dedicated detached release worktree, run branch-free release-readiness gates there, create or replace the local release/v<version> in that worktree only after those gates pass, update the five release-owned files, and create one local commit. If the branch already exists locally or remotely, the required final local state is still exact current origin/main plus only the new release commit; an existing local branch may be replaced only when it is not checked out in another worktree.main commit. Do not fast-forward it, switch its branch, or materialize release files there. Leave the dedicated release worktree in place for green handoff, blocked review, or recoverable failure.gh.pyproject.toml, uv.lock, .release-please-manifest.json, src/agents/version.py, and tests/fixtures/released_api_contract.json. Runtime, documentation, workflow, or other repository changes must land on main before release preparation.main, the dedicated worktree is not clean and detached at refreshed origin/main, an existing local release branch is checked out in another worktree, the prospective packaged-contract gate fails after the allowed dependency-bootstrap recovery, the planning review blocks, or origin/main advances after those gates run.$final-release-review as the controlling release checker, not only as a report generator. Its planning gate must be green before branch creation, and its final-candidate gate must inspect the materialized worktree and be green before PR-ready handoff. Any candidate content, commit, or base change invalidates the previous green result.OPENAI_API_KEY from every child command. Release preparation does not require a live OpenAI API request.Require one semver-like version without a leading v. Do not infer a version from milestones, branch names, or local modifications. Announce that the skill will create and retain a dedicated release worktree with one local commit, keep the source checkout unchanged, and not write to GitHub.
Read $final-release-review completely before starting. Its final-candidate report is the release pull request description. Do not use $pr-draft-summary for the release candidate itself; this skill owns the fixed release branch, commit subject, title, and description. Continue to use $pr-draft-summary normally when implementing changes to this skill or other repository behavior.
From the repository root, run:
env -u OPENAI_API_KEY -u GITHUB_TOKEN -u GH_TOKEN UV_DEFAULT_INDEX=https://pypi.org/simple uv run --frozen python .agents/skills/release-candidate-prep/scripts/prepare.py preflight --version <version> --worktree-root <codex-worktree-root>The helper must complete all of these operations or fail with an actionable error while leaving the source checkout on its original main commit:
main branch, and clean working tree.release/v<version> exists locally or remotely. Permit replacement, but fail if the local branch is checked out in another worktree.main into origin/main without merging or switching the source checkout.git worktree list; never reuse or delete a collision.origin/main, then require that worktree to be clean, detached, and at the exact 40-character base commit.main at its original commit.Record the base commit as <preflight-base>, the source-checkout commit as <source-head>, and the path as <release-worktree>. Do not create or switch branches yet. Keep the detached worktree if a later gate blocks so its exact reviewed source remains inspectable.
Bootstrap the dedicated worktree before starting either readiness gate:
env -u OPENAI_API_KEY -u GITHUB_TOKEN -u GH_TOKEN UV_DEFAULT_INDEX=https://pypi.org/simple make syncThis dependency installation is mandatory environment preparation, not candidate materialization. It matches the prospective-contract CI job, which installs all optional dependencies before generating the contract. After synchronization, require <release-worktree> to remain clean except for ignored environment or .tmp output. If synchronization changes a tracked or untracked repository path, stop with that evidence instead of treating the changed checkout as the reviewed source.
Run both gates against exact <preflight-base> before materializing any candidate:
Start the prospective packaged-contract gate from <release-worktree>:
env -u OPENAI_API_KEY -u GITHUB_TOKEN -u GH_TOKEN UV_DEFAULT_INDEX=https://pypi.org/simple make check-prospective-released-api-contractInvoke $final-release-review from <release-worktree> in pre-release planning mode with TARGET=<preflight-base> and the requested version as the release intent. Require its release-checker result to be GREEN LIGHT TO SHIP. Keep the target pinned to the commit rather than allowing a later origin/main refresh to change the reviewed source, and require all local source, contract, and package inspection to use the dedicated worktree.
These gates are independent consumers of the same clean source commit. Start the prospective command as a long-running session and perform the read-only planning review while it runs when the execution environment supports overlap. Wait for both results before continuing. If concurrency is unavailable, run them sequentially with the prospective gate first; correctness must not depend on overlap.
If the prospective command reports only that optional dependency modules are unavailable, treat the result as a recoverable environment-bootstrap failure rather than a contract-gate decision. Do not ask the user to choose between synchronization and fixing main. Rerun the credential-free make sync command, require the worktree to remain clean, and retry the prospective command exactly once. Do not use this recovery for a contract mismatch, packaging or runtime compatibility failure, changed repository path, or any other substantive gate failure.
If dependency synchronization still fails, the prospective command still reports unavailable dependency modules after the single retry, or either gate otherwise fails or blocks, stop without creating release/v<version>, leave the source checkout unchanged, retain the detached worktree, and report its path plus the exact failure or the planning review's unblock checklist. Classify a dependency installation failure as environment or dependency setup, a contract-generation mismatch as public-surface or tests/fixtures/released_api_contract_policy.json work on main, and a packaged compatibility failure by its actual failing source, packaging, platform, or runtime path. A blocked planning review should direct runtime or documentation-timing follow-up to main as applicable. Do not continue merely because the review produced a well-formed report.
After both gates pass, require all of the following before materialization:
main at the same commit it had before preflight.<release-worktree> is clean except for ignored .tmp output, remains detached, and has HEAD == <preflight-base>.<preflight-base> and the requested release intent.Run:
env -u OPENAI_API_KEY -u GITHUB_TOKEN -u GH_TOKEN UV_DEFAULT_INDEX=https://pypi.org/simple uv run --frozen python .agents/skills/release-candidate-prep/scripts/prepare.py materialize --version <version> --expected-base <preflight-base> --expected-source-head <source-head> --worktree <release-worktree>The helper must complete all of these operations or fail with an actionable error:
main, version, registered-worktree, detached-HEAD, and release-branch replaceability checks.origin/main again without moving the source checkout.origin/main and <release-worktree> HEAD to equal <preflight-base>. If origin/main advanced, retain the old detached worktree and rerun preflight plus both readiness gates in a new exact-base worktree.pyproject.toml, the root version in .release-please-manifest.json, and the literal __version__ fallback in src/agents/version.py.make sync with UV_DEFAULT_INDEX=https://pypi.org/simple.make update-released-api-contract VERSION=<version> and then make check-released-api-contract VERSION=<version>.<release-worktree>, leave them unstaged and uncommitted, and confirm that the source checkout remains unchanged.release/v<version> inside <release-worktree> to exact <preflight-base> while preserving the validated unstaged manifest. Do not retain commits or content from an older local or remote candidate. This delayed replacement must leave an existing local branch unchanged when candidate generation fails.If the helper fails after branch creation, preserve its local branch, dedicated worktree, and working-tree evidence. Report the failing command and state rather than guessing whether a partial run is safe to resume. Never remove the worktree as automatic cleanup.
Run the remaining commands from <release-worktree>. Inspect all release-owned files before staging:
git status --short
git diff --check
git diff -- pyproject.toml uv.lock .release-please-manifest.json src/agents/version.py tests/fixtures/released_api_contract.jsonConfirm all of the following:
pyproject.toml, the editable openai-agents entry in uv.lock, the root entry in .release-please-manifest.json, and the source fallback in src/agents/version.py declare the requested version.v<version> and its baseline_commit is the exact origin/main source commit on which the release branch is based.public_properties, canonical_imports, or public_modules policy additions have been reviewed explicitly; the updater deliberately does not infer them.Stage only the manifest and create exactly one local commit:
git add pyproject.toml uv.lock .release-please-manifest.json src/agents/version.py tests/fixtures/released_api_contract.json
git commit -m "release: <version>"Do not amend unrelated content into the commit.
Invoke $final-release-review from <release-worktree> in final-candidate mode with the release commit as TARGET=HEAD. This invocation is a release checker: it must inspect the complete candidate diff and the actual checked-out release/v<version> contents, including pyproject.toml, the editable openai-agents entry in uv.lock, .release-please-manifest.json, src/agents/version.py, and tests/fixtures/released_api_contract.json. The branch, package metadata, lockfile, Release Please manifest, source fallback, contract baseline, contract baseline_commit, and intended version must agree.
If the review is blocked, stop. Return its unblock checklist, retain the local branch, commit, and worktree for follow-up, and do not present the candidate as PR-ready. A report body does not authorize continuation when the release call is blocked. After any fix, regenerate the API contract when the public surface may have changed, restore a single release commit, and rerun the complete final-candidate review.
The earlier planning review proves that the source commit was ready before branch creation. This final-candidate review remains required because it verifies the materialized branch, version metadata, lockfile, and frozen contract together. Treat its green release call as the handoff gate, then reuse its complete report as the release pull request description; do not substitute the planning report.
After a green review, fetch origin main again without credentials from <release-worktree> and compare it with the release commit's parent. If they differ, the candidate is stale. First verify that the branch is clean, has exactly one local commit, and that the commit changes only the five-file release manifest. Rebase that commit onto the new origin/main so Git detects any conflicting release metadata. After a clean rebase, move the local release branch back to origin/main with a mixed reset, which preserves the rebased release tree as unstaged task-owned changes. Restore all five release-owned files (pyproject.toml, uv.lock, .release-please-manifest.json, src/agents/version.py, and tests/fixtures/released_api_contract.json) from origin/main, run make sync, and require the worktree to be clean at the new base. Run make check-prospective-released-api-contract only in that internally consistent base state, where the installed project version and frozen contract baseline agree. Then update pyproject.toml, the root entry in .release-please-manifest.json, and the literal __version__ fallback in src/agents/version.py to <version>, run make sync, run make update-released-api-contract VERSION=<version> and make check-released-api-contract VERSION=<version>, review the exact manifest again, and recreate the single release: <version> commit. The base and candidate content changed, so the previous green check is invalid: rerun $final-release-review from the worktree and require a new green release call. Repeat until the reviewed local branch is exactly one commit ahead of current origin/main and that commit changes only the five-file release manifest.
If replay conflicts or another path changes, stop with recoverable evidence. Do not force a resolution that expands the release commit beyond its manifest.
For a green, current candidate, return the $final-release-review report plus this release-specific block in English:
# Release Pull Request
## Branch
release/v<version>
## Commit
release: <version>
## Title
Release <version>
## Description
<the complete final-candidate report from $final-release-review>Apply the repository's GitHub paste-readiness rules to the report. Use native #123 references for this repository and owner/repo#123 for another repository. Keep the required compare URL. Do not include local paths, Codex citations, operational diagnostics, or app directives inside the copy-ready description.
Also report the dedicated worktree path, local branch, commit SHA, parent origin/main commit, and the exact five-file manifest outside the copy-ready block. State explicitly that the source checkout was left unchanged, nothing was pushed, and no pull request was created. Leave the worktree in place for the user's handoff.
Include the standalone manual release procedure in the handoff: before merging, an authorized maintainer pauses Release Please, waits for its queued/running jobs, and closes any superseded bot release PR. Release Please resumes only after the manual candidate's tag and GitHub Release exist. This skill does not perform those GitHub operations.
If release/v<version> already exists on origin, inspect its exact current commit with credential-free git ls-remote --heads origin release/v<version> immediately before handoff and record it as <observed-remote-release-commit>. State explicitly that the local branch has replaced the old candidate and now contains exact current origin/main plus only the new release: <version> commit. Because this skill never mutates GitHub, provide the user with the exact git push --force-with-lease=refs/heads/release/v<version>:<observed-remote-release-commit> origin release/v<version> command to replace the remote branch themselves; never run it. A normal push or an unspecified lease is insufficient for this replacement case. If the remote branch changes after inspection, the explicit lease must reject the push instead of overwriting unseen work.
© openai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (scripts) in .agents/skills/release-candidate-prep of openai/openai-agents-python.
Open the folder on GitHubat commit 71c2da4
Release Candidate Prep next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Release Candidate Prep this skillopenai/openai-agents-python | 30k | — | ~4.9k | Automated safety check: Pass | MIT | |
| DevSpace Manual QA SetupWaishnav/devspace | 5.2k | — | ~440 | Automated safety check: Pass | MIT | |
| Nagentdavidondrej/skills | 4.1k | — | ~1.7k | Automated safety check: Notes | MIT | |
| Inference Format Optimizera2ui-project/a2ui | 17k | — | ~985 | Automated safety check: Pass | Apache-2.0 | |
| Worktree Env Setupmeta-pytorch/attention-gym | 1.3k | — | ~858 | Automated safety check: Pass | BSD-3-Clause | |
| Live Extension UI Automationqixing-jk/all-api-hub | 4.9k | — | ~2.6k | Automated safety check: Pass | AGPL-3.0 |
Waishnav/devspace
Prepares the current DevSpace checkout or worktree for isolated local manual QA, covering QA state seeding, UI asset builds and snapshot resets.
davidondrej/skills
Launch a new bb worker thread with the right project, model, worktree, and task brief.
a2ui-project/a2ui
Iterative benchmarking, evaluation, and algorithmic optimization of alternative A2UI inference formats (such as Express, Atom, and Elemental).
meta-pytorch/attention-gym
Sets up an isolated per-worktree Python environment for attention-gym development using nightly PyTorch and the CI-mirroring uv flow.
qixing-jk/all-api-hub
Control, debug, and test the live dev browser extension UI (Options, Popup, Sidepanel) via CDP with persistent login states and accounts.
1838904818/audit-repo
Audit a software repository and turn reproducible signals into a prioritized, evidence-backed health report or compare audit snapshots over time.
openai/openai-agents-python
Review completed implementation changes before final verification.
openai/openai-agents-python
Audit or fix sensitive-data exposure in Python SDK diagnostics, exceptions, logging, and telemetry.
openai/openai-agents-python
Assess a Python SDK release candidate or release plan against the previous release and recommend ship or block.
openai/openai-agents-python
Run the required final formatting, lint, type, and test checks after eligible SDK changes pass review.
openai/openai-agents-python
Analyze logs and source from a completed manual examples run.
openai/openai-agents-python
Carry implementation through an isolated worktree and local handoff.
Categories
Prepare a local Python SDK release candidate in a dedicated worktree. Release Candidate Prep is an agent skill from openai/openai-agents-python, published by the product's own GitHub organization. Prepare a local Python SDK release candidate in a dedicated worktree.
Release Candidate Prep fits situations like: tasks that involve Git worktrees.
Run `npx skills add openai/openai-agents-python --skill release-candidate-prep -a claude-code`. Or copy the skill folder (.agents/skills/release-candidate-prep in openai/openai-agents-python) into .claude/skills/release-candidate-prep in your project. Claude Code loads it when a task matches its description.
Run `npx skills add openai/openai-agents-python --skill release-candidate-prep -a codex`. Or copy the skill folder (.agents/skills/release-candidate-prep in openai/openai-agents-python) into .agents/skills/release-candidate-prep in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openai/openai-agents-python --skill release-candidate-prep -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-candidate-prep, .gemini/skills/release-candidate-prep, .github/skills/release-candidate-prep and .opencode/skills/release-candidate-prep in your project.
Going by SKILL.md and its folder, Release Candidate Prep needs Python for the scripts in its folder, the command-line tools its instructions call (make and git) and credentials named OPENAI_API_KEY, GITHUB_TOKEN and GH_TOKEN. Our summary lists: Python 3; A credential in OPENAI_API_KEY; A credential in GITHUB_TOKEN.
SKILL.md names 1 domain. In commands or code: pypi.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Release Candidate Prep is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Release Candidate Prep: DevSpace Manual QA Setup (Waishnav/devspace, 5.2k stars), Nagent (davidondrej/skills, 4.1k stars), Inference Format Optimizer (a2ui-project/a2ui, 17k stars) and Worktree Env Setup (meta-pytorch/attention-gym, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
openai (a GitHub organization, an official publisher) maintains it in openai/openai-agents-python, which has 29,873 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 7, 2026.
Source: openai/openai-agents-python on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.