PR Babysitter
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
Run an independent local Codex (gpt-6.1-sol, medium) review of a GitHub pull request and relay its verdict.
$ npx skills add Mentra-Community/MentraOS --skill codex-pr-review -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Mentra-Community/MentraOS codex-pr-review --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/Mentra-Community/MentraOS.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/codex-pr-review .claude/skills/codex-pr-review && 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 "codex-pr-review" agent skill from https://github.com/Mentra-Community/MentraOS/tree/dev/.agents/skills/codex-pr-review into .claude/skills/codex-pr-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codex-pr-review", 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/Mentra-Community/MentraOS/tree/dev/.agents/skills/codex-pr-reviewType 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 Mentra-Community/MentraOS --skill codex-pr-review -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Mentra-Community/MentraOS codex-pr-review --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mentra-Community/MentraOS.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/codex-pr-review .agents/skills/codex-pr-review && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "codex-pr-review" agent skill from https://github.com/Mentra-Community/MentraOS/tree/dev/.agents/skills/codex-pr-review into .agents/skills/codex-pr-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codex-pr-review", 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 Mentra-Community/MentraOS --skill codex-pr-review -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Mentra-Community/MentraOS codex-pr-review --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mentra-Community/MentraOS.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/codex-pr-review .cursor/skills/codex-pr-review && 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 "codex-pr-review" agent skill from https://github.com/Mentra-Community/MentraOS/tree/dev/.agents/skills/codex-pr-review into .cursor/skills/codex-pr-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codex-pr-review", 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/Mentra-Community/MentraOS.git --path .agents/skills/codex-pr-review--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 Mentra-Community/MentraOS --skill codex-pr-review -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Mentra-Community/MentraOS codex-pr-review --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mentra-Community/MentraOS.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/codex-pr-review .gemini/skills/codex-pr-review && 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 "codex-pr-review" agent skill from https://github.com/Mentra-Community/MentraOS/tree/dev/.agents/skills/codex-pr-review into .gemini/skills/codex-pr-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codex-pr-review", 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 Mentra-Community/MentraOS codex-pr-reviewInstalls 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 Mentra-Community/MentraOS --skill codex-pr-review -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Mentra-Community/MentraOS.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/codex-pr-review .github/skills/codex-pr-review && 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 "codex-pr-review" agent skill from https://github.com/Mentra-Community/MentraOS/tree/dev/.agents/skills/codex-pr-review into .github/skills/codex-pr-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codex-pr-review", 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 Mentra-Community/MentraOS --skill codex-pr-review -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Mentra-Community/MentraOS codex-pr-review --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Mentra-Community/MentraOS.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/codex-pr-review .opencode/skills/codex-pr-review && 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 "codex-pr-review" agent skill from https://github.com/Mentra-Community/MentraOS/tree/dev/.agents/skills/codex-pr-review into .opencode/skills/codex-pr-review/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "codex-pr-review", 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.
codex-pr-reviewRun an independent local Codex (gpt-6.1-sol, medium) review of a GitHub pull request and relay its verdict.
Codex PR Review is an agent skill from Mentra-Community/MentraOS. Run an independent local Codex (gpt-6.1-sol, medium) review of a GitHub pull request and relay its verdict. Use for every PR an agent opens or updates, and whenever the user asks to review a PR "with Codex". The review is posted on the PR as approve / request-changes; it never edits, commits or merges.
Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Pull requests. It works with GitHub. The repository describes itself as: MentraOS is the leading smart glasses OS. See live captions, stream your view, talk to AI, and capture photos hands-free on compatible glasses. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit bc626e0. 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.
Shell commands in SKILL.md call:
codexgitghbunFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
learn.chatgpt.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
MENTRA_RELEASE_COORDINATOR_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Codex PR Review loads about 3.1k tokens when it runs. Until then it costs about 80 tokens; SKILL.md has 1,483 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); files beside SKILL.md are not scanned.
The full file from Mentra-Community/MentraOS at commit bc626e0, republished under its Apache-2.0 licence (© Mentra-Community). 1,483 words, ~3,069 tokens.
.claude/skills/codex-pr-review/SKILL.md (or your agent's skills folder).One command does everything. Run it in the background and wait for it; do not re-verify the Codex binary, the scripts, the token minter or the gh login first. The script fails loudly if anything is missing.
nohup scripts/codex-review/codex-pr-review.sh <repo-dir> <pr-number> [extra-prompt-file] > <log> 2>&1 &Then wait on the log (until grep -q 'codex-pr-review: done\|FAILED' <log>; do sleep 15; done)
and keep working. Every exit path prints exactly one of those markers, including preflight
failures. A run normally takes 5-20 minutes. The watchdog kills an attempt, with every
process it spawned, after 8 minutes without an event from the Codex process, or 30 minutes
total, and retries once unless the verdict was already posted. Never launch a bare
codex exec for a review.
<repo-dir>-pr-<n>, so the main checkout is
never touched. If GitHub has not advertised the PR's Git pull ref yet, it fetches the
exact head from the PR API and rechecks that head before starting the review. It never
substitutes a moving branch tip. The tool marks worktrees it created with a <repo-dir>-pr-<n>.codex-review-owned
sentinel; on reruns it resets and cleans only those (ignored files such as node_modules
are kept) and refuses a path at that location it did not create. A per-PR lock refuses a
second concurrent run; a lock whose owner is dead is reclaimed through a short-lived
<lock>.reclaim mutex, so two reclaimers cannot clobber each other.
Cancelling the script (Ctrl-C, SIGTERM) stops the runner and every process of the
attempt before the lock is released; the runner pid is kept in the lock so a runner that
outlives a hard-killed wrapper still counts as live.
A worktree created by an earlier version of the script has no sentinel: add the file by
hand (any content) or remove the worktree with git worktree remove.mentra-release-coordinator GitHub App
token minted by mentra-release-coordinator-token.mjs; anyone else's PR posts from the
logged-in account. Override with GH_ACCOUNT=app|own.gh pr review <n> --approve or
--request-changes whose body starts with Reviewed by local Codex (gpt-6.1-sol, medium).
and lists what was checked. If GitHub refuses the formal review it falls back to --comment
with Approve. or Request changes. as the first line.codex-review.sh (watchdog + one retry) and prints Codex's final message. The runner
starts codex exec --json by default, or the small stdio app-server adapter for a configured
desktop project. Both use their own server event stream as the heartbeat, so other Codex sessions
on the machine can never be mistaken for this one; every process of the attempt carries a
unique CODEX_REVIEW_ATTEMPT marker so it can be terminated even if Codex exits first. Success means
a review carrying the marker was found on the head commit after the run started, checked
through the GitHub API by review-receipt.sh; the runner performs the same check before any
retry so a verdict posted just before a crash is never duplicated. Artifacts:
$CODEX_REVIEW_HOME/<repo>-pr-<n>-<timestamp>/{prompt.txt,last-message.txt,runner.log,events-<attempt>.jsonl}
(default ~/.codex-reviews).On the host that runs reviews, create a folder and add it as a local Codex project named Review. Save its absolute path once:
mkdir -p "$HOME/dev/Codex-Reviews" "${CODEX_REVIEW_HOME:-$HOME/.codex-reviews}"
printf '%s\n' "$HOME/dev/Codex-Reviews" > "${CODEX_REVIEW_HOME:-$HOME/.codex-reviews}/project-directory"Future skill invocations use codex app-server --stdio and the documented
initialize → thread/start → turn/start protocol, with that folder as the
saved session's starting directory. The server creates a persistent interactive
session and the adapter gives it a <repo> #<PR> · review title. This matters:
codex exec has a separate session source that default history lists exclude;
changing its cwd alone does not establish desktop visibility. --thread-source
is an analytics label and does not change that history source.
The reviewer receives the separate PR worktree path for all code inspection and tests;
worktree ownership, locks, watchdogs and verdict checks still apply. Existing sessions
are not moved. This is configured per host: a Mini review needs the folder registered
as a project on the Mini's connection. Do not use --ephemeral or a separate
CODEX_HOME, which would hide sessions from the usual desktop account.
For durable project assignment, initialize the same host's codex app-server --stdio
and call its documented project/list method. Follow pagination and match the
project's roots[].path to the exact configured directory. Save that returned ID in
$CODEX_REVIEW_HOME/project-id (default ~/.codex-reviews/project-id) or set
CODEX_REVIEW_PROJECT_ID. Desktop-tool list_projects IDs can use a different
namespace: do not copy those IDs into this configuration. The adapter passes the
app-server ID as thread/start.projectId and verifies the response. It never reads
or edits Codex's database. Without an ID, grouping depends on the registered folder;
verify visibility on the next actual review rather than creating a duplicate review
as a probe.
Override the saved path with CODEX_REVIEW_PROJECT_DIR=/absolute/path, or set it to
an empty string for one invocation to start in the PR worktree instead. Without a
saved path or override, the existing exec behavior is unchanged. A configured
missing directory is an error, so reviews cannot silently appear somewhere else.
An explicit directory override ignores the saved project ID; also pass
CODEX_REVIEW_PROJECT_ID if that different folder needs a durable assignment.
Project reviews require Node.js and a Codex version supporting the app-server
protocol. Incompatible protocol, failed/interrupted turns and missing final text
fail the attempt; they never produce a successful review merely from progress.
Protocol reference: Codex App Server,
including its sourceKinds history filter. The adapter uses the server's normal
session source; it does not relabel existing sessions or spoof a source.
| Variable | Default | Purpose |
|---|---|---|
CODEX_BIN | codex | Codex CLI binary. Point it at a specific install if the shim on PATH does not support exec. |
CODEX_REVIEW_MODEL / CODEX_REVIEW_EFFORT | gpt-6.1-sol / medium | Model and reasoning effort. |
CODEX_REVIEW_HOME | ~/.codex-reviews | Where prompts, final messages and runner logs are kept. |
CODEX_REVIEW_PROJECT_DIR | Saved project-directory file, otherwise PR worktree | Starting directory for future sessions; register that folder in Codex to group reviews. |
CODEX_REVIEW_PROJECT_ID | Saved project-id file, otherwise unset | Optional durable project assignment for the configured project on this host. |
MENTRA_RELEASE_COORDINATOR_KEY | ~/.config/mentra-release-coordinator/private-key.pem | App private key (0600) for posting on your own PRs. |
GH_ACCOUNT | auto | app or own, see above. |
STALL_SECONDS / MAX_SECONDS / ATTEMPTS / POLL_SECONDS | 480 / 1800 / 2 / 5 | Watchdog limits and poll interval. |
LOCK_STALE_SECONDS | 60 | Age after which a lock directory without a pid file is reclaimed. |
The App must be installed on the target repository or the mint fails with HTTP 422 and the run falls back to a comment review from the logged-in account.
With an already configured GitHub App installation credential, set GH_ACCOUNT=own
to retain that credential. An explicit account skips the user-only /user lookup;
it does not grant additional access or change the review receipt requirements.
The usual self-review comment fallback still applies. Controllers can inspect
scripts/codex-review/codex-pr-review.sh --capabilities before admitting this mode.
bun test scripts/codex-review runs the lifecycle suite with fake gh and codex binaries:
markers on every exit path, worktree ownership, lock behaviour, receipt-before-retry,
and stall handling. Project transport tests cover the real JSON protocol, completion
ordering, final-text validation, cancellation and detached-child cleanup. They do
not claim a live desktop sidebar check. CI runs them on changes under scripts/codex-review/.
Only when the review needs context Codex cannot get from the PR itself (a design decision made in chat, a known-flaky test to ignore). Do not use it to steer the verdict on a specific comment; let Codex weigh comments itself.
codex-pr-review: FAILED, read runner.log, report the failure, and do not claim a review
was posted.git worktree remove, never
--force; if the checkout is still needed or removal refuses, keep it and
report why. Store shared dependencies outside disposable review worktrees.© Mentra-Community, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/codex-pr-review of Mentra-Community/MentraOS.
Open the folder on GitHubat commit bc626e0
Codex PR Review 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 |
|---|---|---|---|---|---|---|
| Codex PR Review this skillMentra-Community/MentraOS | 2.4k | — | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Check PRonyx-dot-app/onyx | 32k | 2 repos | ~2.3k | Automated safety check: Pass | MIT | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Create Pull Requestcline/cline | 70k | 1 repos | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Pull Request Title and Body Writeropeninterpreter/openinterpreter | 69k | 2 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 |
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
onyx-dot-app/onyx
Checks a GitHub, GitLab, or Perforce (p4) pull request (or merge request, or shelved changelist) for unresolved review comments, failing status checks, and incomplete PR descriptions.
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
cline/cline
Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.
openinterpreter/openinterpreter
Rewrites the title and body of one or more pull requests with gh, leading with why the change was made, then what changed, and describing only the net result.
prisma/orm
Runs a loop on a GitHub pull request: fetch review state, triage comments into actions, implement them and resolve threads, repeating until nothing actionable is left.
Mentra-Community/MentraOS
Investigate a Mentra routine failure from an Admin testRun URL or run/request ID, fetch authenticated results and verified artifacts with the existing incident-report token, trace the exact routine…
Mentra-Community/MentraOS
Update MentraOS firmwarelive.json from the published BES and MTK feeds and prepare a PR, preserving production MTK upgrade paths.
Mentra-Community/MentraOS
Triage failing GitHub PR checks: list failures with gh, fetch capped Actions logs, skip non-Actions checks, and summarize root cause.
Mentra-Community/MentraOS
Add or change backend deployment environment variables through Doppler shared configs and native Porter syncs.
Mentra-Community/MentraOS
Diagnose an ongoing or finished Mentra nightly suite, group demonstrated shared failures, implement fixes, and carry PRs through independent Codex review and merge.
Mentra-Community/MentraOS
Prepare an external Mentra miniapp for bundling into mobile/assets/miniapps (version bump, pack, zip install, regenerate bundledMiniapps).
Works with
Categories
Run an independent local Codex (gpt-6.1-sol, medium) review of a GitHub pull request and relay its verdict. Codex PR Review is an agent skill from Mentra-Community/MentraOS.1-sol, medium) review of a GitHub pull request and relay its verdict.
Codex PR Review fits situations like: every PR an agent opens; whenever the user asks to review a PR with Codex.
Run `npx skills add Mentra-Community/MentraOS --skill codex-pr-review -a claude-code`. Or copy the skill folder (.agents/skills/codex-pr-review in Mentra-Community/MentraOS) into .claude/skills/codex-pr-review in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Mentra-Community/MentraOS --skill codex-pr-review -a codex`. Or copy the skill folder (.agents/skills/codex-pr-review in Mentra-Community/MentraOS) into .agents/skills/codex-pr-review 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 Mentra-Community/MentraOS --skill codex-pr-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/codex-pr-review, .gemini/skills/codex-pr-review, .github/skills/codex-pr-review and .opencode/skills/codex-pr-review in your project.
Going by SKILL.md and its folder, Codex PR Review needs the command-line tools its instructions call (codex, git, gh and bun) and credentials named MENTRA_RELEASE_COORDINATOR_KEY. Our summary lists: Node.js; A credential in MENTRA_RELEASE_COORDINATOR_KEY.
SKILL.md names 1 domain. As links in the text: learn.chatgpt.com. 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. Review the folder before installing.
Codex PR Review is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.1k tokens (SKILL.md is roughly 12k 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 Codex PR Review: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Check PR (onyx-dot-app/onyx, 32k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars) and Create Pull Request (cline/cline, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Mentra-Community (a GitHub organization) maintains it in Mentra-Community/MentraOS, which has 2,381 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 10, 2026.
Source: Mentra-Community/MentraOS on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.