Runs the required test, lint, and formatting stack for the OpenAI Agents repository.
Install
mkdir -p .claude/skills/code-change-verification && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/943" && unzip -o skill.zip -d .claude/skills/code-change-verification && rm skill.zipInstalls to .claude/skills/code-change-verification
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Run the mandatory verification stack when changes affect runtime code, tests, or build/test behavior in the OpenAI Agents Python repository.Key capabilities
- →Run automated formatting on codebase
- →Execute linting to enforce quality standards
- →Perform type checking to ensure code safety
- →Run full test suite in parallel
- →Provide heartbeat updates during verification
How it works
The skill executes a sequential pipeline of formatting, linting, type checking, and testing, utilizing parallel execution for the latter three steps with fail-fast behavior.
Inputs & outputs
When to use code-change-verification
- →Run project-wide linting
- →Execute full test suite
- →Verify type checking for code changes
About this skill
Code Change Verification
Overview
Ensure work is only marked complete after formatting, linting, type checking, and tests pass. Use this skill when changes affect runtime code, tests, or build/test configuration. You can skip it for docs-only or repository metadata unless a user asks for the full stack. This is a post-review final gate: when $implementation-final-review applies, do not invoke the broad stack until its clean-review condition applies to the stable task diff.
Quick start
- Keep this skill at
./.agents/skills/code-change-verificationso it loads automatically for the repository. - Codex on macOS/Linux:
/usr/bin/env -u OPENAI_API_KEY OPENAI_AGENTS_TEST_IN_CODEX_SANDBOX=1 UV_DEFAULT_INDEX=https://pypi.org/simple bash .agents/skills/code-change-verification/scripts/run.sh. - Other macOS/Linux environments:
env UV_DEFAULT_INDEX=https://pypi.org/simple bash .agents/skills/code-change-verification/scripts/run.sh. - Windows:
powershell -ExecutionPolicy Bypass -File .agents/skills/code-change-verification/scripts/run.ps1. - On macOS/Linux, the script runs
make format,make lint,make typecheck, andmake testssequentially and stops at the first failure. Parallelism inside each Make target, including pytest workers, is unchanged. - The Bash script streams each command's output directly. The Windows wrapper retains parallel lint, typecheck, and test steps with periodic heartbeat updates.
- If any command fails, fix the issue, rerun the script, and report the failing output.
- Confirm completion only when all commands succeed with no remaining issues.
Start condition and host capacity
- During iterative review, use only focused tests and a narrowly targeted static check when the changed typing boundary requires one. Defer repository-wide
make typecheckand the rest of this complete stack until review is clean. - Immediately before starting the complete stack, use available read-only task or process evidence to check whether another repository-wide test, typecheck, build, examples runner, or integration command is already active on the same host.
- When concrete contention is visible, continue useful non-heavy work such as review, remediation, evidence preparation, or focused checks, then check again later. Do not create or wait on a repository lock, host-wide mutex, or sentinel file.
- Start automatically once review is clean, the diff is stable, and observable host capacity is available. Do not require a user-triggered
finalizemessage. If host telemetry is unavailable, do not block solely because capacity cannot be measured.
Codex execution policy
Repository verification and all child processes must remain in the normal Codex workspace sandbox. Never request elevated sandbox permissions for the verification wrapper, and never retry the wrapper with broader host access after a failure.
On macOS, tests marked requires_native_macos_sandbox need to start their own sandbox-exec process. The Codex command sets OPENAI_AGENTS_TEST_IN_CODEX_SANDBOX=1, which skips only that marker before nested sandbox creation. All other tests remain enabled. Ordinary local and CI runs do not set this variable and therefore keep the marked tests enabled.
The marked tests run separately on a disposable GitHub-hosted macOS runner. If that trusted runner is unavailable, report the missing native-macOS coverage; do not compensate by weakening the Codex sandbox boundary.
Environment setup
The verification scripts assume repository dependencies are already installed. Do not run make sync as part of every verification pass; use it for a fresh checkout, after dependency files change, or when dependency resolution fails before the checks start.
On Linux, some Python packages with native extensions may require system packages such as libffi-dev, Python development headers, or build tools. If verification cannot start because one of these packages is missing, treat it as a local environment setup issue. Install the missing dependency when possible, or report the failing command and missing dependency in the PR test plan before rerunning verification in a prepared environment.
Manual workflow
- For a fresh checkout, or if dependencies are not installed or have changed, run
make syncfirst to install dev requirements viauv. - Run from the repository root with
make formatfirst, thenmake lint,make typecheck, andmake tests. - Do not skip steps; stop and fix issues immediately when a command fails.
- Run the manual steps sequentially and stop at the first failure. Keep the parallelism provided by each Make target.
- Re-run the full stack after applying fixes so the commands execute in the required order.
Resources
scripts/run.sh
- Runs
make format,make lint,make typecheck, andmake testssequentially from the repository root. It streams output, preserves the first failure or cancellation status, and cleans up the active step's process group before continuing or exiting.
scripts/run.ps1
- Windows-friendly wrapper that runs the same sequence with
make formatfirst and the remaining steps in parallel with fail-fast semantics, plus periodic heartbeat updates while work is still running. Use from PowerShell with execution policy bypass if required by your environment.
When not to use it
- →Do not use for documentation-only changes
- →Do not use for repository metadata updates
Prerequisites
Limitations
- →Requires specific system packages for native extensions
- →Verification must be re-run in full after applying fixes
How it compares
It replaces manual, piecemeal verification with a standardized, automated pipeline that ensures all quality gates are met before completion.
Compared to similar skills
code-change-verification side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| code-change-verification (this skill) | 4 | 6mo | Review | Beginner |
| verification-loop | 0 | 6mo | Review | Intermediate |
| scholar-verify | 0 | 4mo | No flags | Intermediate |
| python-testing-patterns | 77 | 4mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by openai
View all by openai →You might also like
verification-loop
tom237ttkk
A comprehensive verification system for Codex work sessions.
scholar-verify
37chengshan
Run ScholarAI's required validation matrix for Symphony-driven changes based on the touched surfaces.
python-testing-patterns
wshobson
Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.
pr-review
pytorch
Review PyTorch pull requests for code quality, test coverage, security, and backward compatibility. Use when reviewing PRs, when asked to review code changes, or when the user mentions "review PR", "code review", or "check this PR".
pytest
prowler-cloud
Pytest testing patterns for Python. Trigger: When writing or refactoring pytest tests (fixtures, mocking, parametrize, markers). For Prowler-specific API/SDK testing conventions, also use prowler-test-api or prowler-test-sdk.
discovering-make-commands
streamlit
Lists available make commands for Streamlit development. Use for build, test, lint, or format tasks.