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.
Covers what to do on opening a pull request and after every push: apply a label, watch CI to green, answer every review comment and escalate real design trade-offs.
$ npx skills add pydantic/pydantic-ai --skill pushing-commits-to-the-repo -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pydantic/pydantic-ai pushing-commits-to-the-repo --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/pydantic/pydantic-ai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/pushing-commits-to-the-repo .claude/skills/pushing-commits-to-the-repo && 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 "pushing-commits-to-the-repo" agent skill from https://github.com/pydantic/pydantic-ai/tree/main/.agents/skills/pushing-commits-to-the-repo into .claude/skills/pushing-commits-to-the-repo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pushing-commits-to-the-repo", 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/pydantic/pydantic-ai/tree/main/.agents/skills/pushing-commits-to-the-repoType 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 pydantic/pydantic-ai --skill pushing-commits-to-the-repo -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pydantic/pydantic-ai pushing-commits-to-the-repo --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pydantic/pydantic-ai.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/pushing-commits-to-the-repo .agents/skills/pushing-commits-to-the-repo && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pushing-commits-to-the-repo" agent skill from https://github.com/pydantic/pydantic-ai/tree/main/.agents/skills/pushing-commits-to-the-repo into .agents/skills/pushing-commits-to-the-repo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pushing-commits-to-the-repo", 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 pydantic/pydantic-ai --skill pushing-commits-to-the-repo -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pydantic/pydantic-ai pushing-commits-to-the-repo --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pydantic/pydantic-ai.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/pushing-commits-to-the-repo .cursor/skills/pushing-commits-to-the-repo && 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 "pushing-commits-to-the-repo" agent skill from https://github.com/pydantic/pydantic-ai/tree/main/.agents/skills/pushing-commits-to-the-repo into .cursor/skills/pushing-commits-to-the-repo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pushing-commits-to-the-repo", 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/pydantic/pydantic-ai.git --path .agents/skills/pushing-commits-to-the-repo--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 pydantic/pydantic-ai --skill pushing-commits-to-the-repo -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pydantic/pydantic-ai pushing-commits-to-the-repo --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pydantic/pydantic-ai.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/pushing-commits-to-the-repo .gemini/skills/pushing-commits-to-the-repo && 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 "pushing-commits-to-the-repo" agent skill from https://github.com/pydantic/pydantic-ai/tree/main/.agents/skills/pushing-commits-to-the-repo into .gemini/skills/pushing-commits-to-the-repo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pushing-commits-to-the-repo", 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 pydantic/pydantic-ai pushing-commits-to-the-repoInstalls 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 pydantic/pydantic-ai --skill pushing-commits-to-the-repo -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pydantic/pydantic-ai.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/pushing-commits-to-the-repo .github/skills/pushing-commits-to-the-repo && 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 "pushing-commits-to-the-repo" agent skill from https://github.com/pydantic/pydantic-ai/tree/main/.agents/skills/pushing-commits-to-the-repo into .github/skills/pushing-commits-to-the-repo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pushing-commits-to-the-repo", 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 pydantic/pydantic-ai --skill pushing-commits-to-the-repo -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pydantic/pydantic-ai pushing-commits-to-the-repo --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pydantic/pydantic-ai.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/pushing-commits-to-the-repo .opencode/skills/pushing-commits-to-the-repo && 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 "pushing-commits-to-the-repo" agent skill from https://github.com/pydantic/pydantic-ai/tree/main/.agents/skills/pushing-commits-to-the-repo into .opencode/skills/pushing-commits-to-the-repo/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pushing-commits-to-the-repo", 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.
pushing-commits-to-the-repoCovers what to do on opening a pull request and after every push: apply a label, watch CI to green, answer every review comment and escalate real design trade-offs.
This skill treats pushing as the start of a loop. Work stops only when CI is green and no review comment is left unresolved. On opening a PR, the agent fetches the repository's actual label list with gh label list instead of guessing, applies one label naming what the PR is (bug, enhancement or documentation) plus a topic label where one fits, and quotes the real error if labeling fails rather than assuming it lacks permission. Before pushing it attempts the push and reads any real error, and it leaves nothing unstaged or uncommitted unless your instructions say otherwise.
After each push it watches CI to a terminal state, fixing failures that are its own and stating with evidence when a failure is a known flake or already present on main. Every comment, from bots and humans, gets triaged: a valid one is fixed, answered with what changed and given a thumbs-up reaction, an invalid one is answered with concrete code evidence and a thumbs-down, and none is ignored or resolved without a reply. When a comment needs a maintainer decision, the agent posts the background, its reasoning, the decision needed, the trade-offs and a recommendation, then polls for a reply every 30 minutes.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 69ea1e5. 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:
ghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
PR Push and Review Loop loads about 2.4k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 1,374 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 pydantic/pydantic-ai at commit 69ea1e5, republished under its MIT licence (© pydantic). 1,374 words, ~2,357 tokens.
.claude/skills/pushing-commits-to-the-repo/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Pushing starts a loop; it does not end the task. Work stops only when CI is green AND no comment is left unresolved.
Follow the title and template rules in the root AGENTS.md.
Keep visible body content within 40 lines. Exclude template lines and collapsed <details>
contents from the count. For a feature or behavior change, use this order:
none when there is none.<details> only when it helps reviewers reproduce the behavior.Nothing is valid.Use one collapsed <details> section per goal only when the PR has multiple independent goals.
For a trivial PR, use the issue link, a short summary, and the test plan.
Use one fenced diff tree from the public entry point to the changed observable result.
path/file.py :: Class.method() or path/file.py :: function().└─. Preserve enough unchanged nodes to show each edge.… unchanged machinery ….Assign title, body, and label updates to the same subagent. Reconcile labels whenever the title or body changes.
Run .agents/skills/pushing-commits-to-the-repo/label-catalog and give the subagent the printed file path.
The checked-in catalog supplies clones and worktrees without label-read requests.
Run the helper with --refresh after creating, renaming, or updating repository labels.
Commit refreshed catalog changes.
The helper uses at most two requests and verifies completeness before replacing the catalog.
Never fetch labels individually or pass raw label API responses.
Keep the category label aligned with the PR's purpose (bug, feature, docs, chore, refactor).
Add existing topic labels for every subject materially covered by the final title, body, and diff.
Ignore incidental references, checklist text, and verification boilerplate when choosing topics.
Remove topic labels only when the final scope no longer supports those labels.
Preserve size, priority, review, and automation labels. Do not create or rename labels unless the user requests that change.
Apply label additions and removals in a batch with the title/body update. Verify the resulting metadata.
Apply exactly one package label: pkg:core, pkg:harness, pkg:clai2, pkg:evals, pkg:graph or pkg:clai.
Use the catalog descriptions to choose. Tests and docs count toward the package they cover.
Use pkg:core for repository infrastructure. For changes spanning packages, choose the package whose users the change serves.
Labelling needs triage permission on the repo (Pydantic team members and their agents). If it fails, quote the actual error rather than concluding you lack permission. Size labels are applied automatically — don't set them.
A small mechanical text/data refresh changes no code, runtime behavior, CI logic, or substantive instruction or review policy. A catalog-row refresh is one example.
For this case, skip local pre-push-review and any additional substantive review dispatch. Do not
ask for a second-opinion choice. Automatic configured CI and hosted reviews still run.
pre-push-review before each push. Address every finding, commit the
fixes, and repeat the review until it returns no findings. This applies before the first PR push
and between every later PR iteration.pre-push-review verdict belongs to the diff it read. Any later commit voids it — re-run against
the new diff instead of carrying the earlier pass forward, and name the commit range each verdict
covers when you report it.douwebot reviewThe repo has two standards reviewers, and they are independent:
CI Review runs automatically once the CI workflow succeeds on the PR's current head. It
submits an APPROVE or REQUEST_CHANGES verdict and has the more rigorous process — severity
scale, sub-agent fan-out, per-finding verification.douwebot runs only when the douwebot label is applied, on a stronger model. It posts
inline findings and a formal APPROVE or REQUEST_CHANGES review, and it deletes the label when
it finishes, so each application buys exactly one review of the diff as it stands at that moment.Applying the label adds a second opinion; it does not suppress or replace CI Review.
Once the loop above has terminated — CI green, every comment triaged — decide whether to apply it before handing the PR back or requesting merge:
gh pr edit <number> --add-label douwebot. This requires triage permission on the repo
(Pydantic team members and their agents). If it fails, quote the actual error — don't skip it
based on an assumed lack of permission.AGENTS.md or CLAUDE.md
at any depth, CLAUDE.local.md, .mcp.json, or anything under .claude/, .agents/ or
agent_docs/ — a security guard against a PR editing the reviewer's own instructions. The guard
is skipped for an author with write or admin access on the repo. Don't apply the label to a PR the
guard covers; the red check is the guard working.Run this final metadata check after CI, comments, and any selected douwebot review have settled:
base...HEAD diff, final test status, title, body, labels, and complete catalog.AGENTS.md.current or exact corrections: replacement title/body and label additions/removals.current.© pydantic, 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 in .agents/skills/pushing-commits-to-the-repo of pydantic/pydantic-ai.
Open the folder on GitHubat commit 69ea1e5
PR Push and Review Loop 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 |
|---|---|---|---|---|---|---|
| PR Push and Review Loop this skillpydantic/pydantic-ai | 21k | — | ~2.4k | Automated safety check: Pass | MIT | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Pull Request Babysitterthedotmack/claude-mem | 99k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Renovate Actions PR Reviewbacknotprop/plannotator | 9.3k | — | ~640 | Automated safety check: Pass | Apache-2.0 | |
| Orca ReviewContinuum-AI-Corp/Orca-Code-Review | 175 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Code Reviewoaslananka/kicad-mcp-pro | 122 | — | ~3.9k | Automated safety check: Pass | MIT |
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
thedotmack/claude-mem
Keeps watching a pull request, fixing real review and CI problems and resolving stale threads, until it is clean and ready to merge.
backnotprop/plannotator
Reviews Renovate pull requests that bump GitHub Actions by checking pinned SHAs against upstream tags, scanning changelogs and confirming workflows stay compatible.
Continuum-AI-Corp/Orca-Code-Review
Review code changes yourself, locally, with OrcaCode Review's severity contract and merge gate — no GitHub Action, no OrcaRouter account, no API key.
oaslananka/kicad-mcp-pro
A skill your agent uses for GitHub Copilot pull request and code reviews in oaslananka/kicad-mcp-pro.
github/gh-aw
Drives an open pull request to merge-ready from inside a GitHub Copilot cloud agent, resolving review threads and local checks concurrently, without merging or retriggering CI.
pydantic/pydantic-ai
Adds optional capabilities to Pydantic AI agents from pydantic-ai-harness, led by Code Mode, which runs many tool calls as one sandboxed Python script.
pydantic/pydantic-ai
Build AI agents with Pydantic AI — tools, capabilities (including on-demand loading), workspaces, structured output, streaming, testing, and multi-agent patterns.
pydantic/pydantic-ai
Evaluate and complete an issue or PR where the submitted patch fixes only a narrow symptom of the reported pain point.
pydantic/pydantic-ai
Record, rewrite, and debug VCR cassettes for HTTP recordings.
pydantic/pydantic-ai
Migrate Python Agno applications to Pydantic AI and, only when needed, Pydantic AI Harness.
pydantic/pydantic-ai
Migrate Python applications from the Claude Agent SDK to Pydantic AI and, only when needed, Pydantic AI Harness.
Categories
Covers what to do on opening a pull request and after every push: apply a label, watch CI to green, answer every review comment and escalate real design trade-offs. This skill treats pushing as the start of a loop. Work stops only when CI is green and no review comment is left unresolved.
PR Push and Review Loop fits situations like: opening a pull request in a repository that triages by labels; pushing follow-up commits and waiting for CI to finish; replying to every bot and human review comment on a PR; raising a design trade-off to maintainers instead of guessing.
Run `npx skills add pydantic/pydantic-ai --skill pushing-commits-to-the-repo -a claude-code`. Or copy the skill folder (.agents/skills/pushing-commits-to-the-repo in pydantic/pydantic-ai) into .claude/skills/pushing-commits-to-the-repo in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pydantic/pydantic-ai --skill pushing-commits-to-the-repo -a codex`. Or copy the skill folder (.agents/skills/pushing-commits-to-the-repo in pydantic/pydantic-ai) into .agents/skills/pushing-commits-to-the-repo 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 pydantic/pydantic-ai --skill pushing-commits-to-the-repo -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pushing-commits-to-the-repo, .gemini/skills/pushing-commits-to-the-repo, .github/skills/pushing-commits-to-the-repo and .opencode/skills/pushing-commits-to-the-repo in your project.
Going by SKILL.md and its folder, PR Push and Review Loop needs the command-line tools its instructions call (gh). Our summary lists: The gh command-line tool, with label permissions on the repository.
SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. 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.
PR Push and Review Loop is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.4k 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 PR Push and Review Loop: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Pull Request Babysitter (thedotmack/claude-mem, 99k stars), Renovate Actions PR Review (backnotprop/plannotator, 9.3k stars) and Orca Review (Continuum-AI-Corp/Orca-Code-Review, 175 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pydantic (a GitHub organization, an official publisher) maintains it in pydantic/pydantic-ai, which has 20,537 GitHub stars. The repository holds 20 skills in this directory. The repository was last updated on October 11, 2026.
Source: pydantic/pydantic-ai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.