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.
Sets up, checks or changes the optional Jev judge, the TypeSafe decision model that ship-check asks about review findings (is this real harm, is a small one worth fixing now, what proof does a small…
$ npx skills add joetawil7/first-pass --skill jev -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install joetawil7/first-pass jev --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/joetawil7/first-pass.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jev .claude/skills/jev && 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 "jev" agent skill from https://github.com/joetawil7/first-pass/tree/main/skills/jev into .claude/skills/jev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jev", 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/joetawil7/first-pass/tree/main/skills/jevType 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 joetawil7/first-pass --skill jev -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install joetawil7/first-pass jev --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joetawil7/first-pass.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/jev .agents/skills/jev && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jev" agent skill from https://github.com/joetawil7/first-pass/tree/main/skills/jev into .agents/skills/jev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jev", 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 joetawil7/first-pass --skill jev -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install joetawil7/first-pass jev --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joetawil7/first-pass.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/jev .cursor/skills/jev && 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 "jev" agent skill from https://github.com/joetawil7/first-pass/tree/main/skills/jev into .cursor/skills/jev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jev", 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/joetawil7/first-pass.git --path skills/jev--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 joetawil7/first-pass --skill jev -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install joetawil7/first-pass jev --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joetawil7/first-pass.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/jev .gemini/skills/jev && 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 "jev" agent skill from https://github.com/joetawil7/first-pass/tree/main/skills/jev into .gemini/skills/jev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jev", 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 joetawil7/first-pass jevInstalls 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 joetawil7/first-pass --skill jev -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/joetawil7/first-pass.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/jev .github/skills/jev && 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 "jev" agent skill from https://github.com/joetawil7/first-pass/tree/main/skills/jev into .github/skills/jev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jev", 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 joetawil7/first-pass --skill jev -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install joetawil7/first-pass jev --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joetawil7/first-pass.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/jev .opencode/skills/jev && 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 "jev" agent skill from https://github.com/joetawil7/first-pass/tree/main/skills/jev into .opencode/skills/jev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jev", 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.
jevSets up, checks or changes the optional Jev judge, the TypeSafe decision model that ship-check asks about review findings (is this real harm, is a small one worth fixing now, what proof does a small…
Jev is an agent skill from joetawil7/first-pass. Sets up, checks or changes the optional Jev judge, the TypeSafe decision model that ship-check asks about review findings (is this real harm, is a small one worth fixing now, what proof does a small fix need). Shows whether it is on for each repo, which key it uses, switches it on or off, and sends one test request. Runs only when the user types it.
Its SKILL.md is about 1.4k 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 Code review. The repository describes itself as: Rules and checks that make Claude Code look around a change, not just at the lines it writes: ten questions before code, a reviewer that didn't write it, proof before done, bugs… The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f5bc413. 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:
nodeFrom 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:
api.typesafe.aiAlso links to:
docs.typesafe.aiconsole.typesafe.aiFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
TYPESAFE_API_KEYCOMPANY_A_TYPESAFE_API_KEYCOMPANY_B_TYPESAFE_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Jev loads about 1.4k tokens when it runs. Until then it costs about 89 tokens; SKILL.md has 726 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 noted patterns worth knowing about, such as sudo or a known installer.
E_API_KEY", "file": "/abs/path/company-a/.env.local", "repos": ["/abs/path/company-a", "/abs/path/company-a-site"] },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 joetawil7/first-pass at commit f5bc413, republished under its MIT licence (© joetawil7). 726 words, ~1,360 tokens.
.claude/skills/jev/SKILL.md (or your agent's skills folder).Jev is TypeSafe's decision model: it picks one option from a list and says how sure it is.
With the Claude Code plugin, ship-check can ask it three things about a review's findings:
Without the judge, the rules make each call as written. Nothing here is needed to use first-pass.
For each finding asked about: its scenario, its worst case, who meets it and, for proof,
the fix in one line, after secrets, emails and phone numbers are blanked. They go to
TypeSafe's API (https://api.typesafe.ai/v1/systemone) with the key. TypeSafe charges per
word sent; check the current price on its models page (https://docs.typesafe.ai/models)
before telling the user a number. Its data terms: https://docs.typesafe.ai/legal.
For the current folder, and for one repo of each group the user keeps apart (two companies with separate accounts):
node "${CLAUDE_SKILL_DIR}/../../scripts/cli.mjs" jev status <repo>It prints on or off, why, where the key comes from (a variable name and a file, never the key) and the config file's path.
From what they typed (nothing: show the status and ask; "off" or "on": do that), or ask in one message:
The config file is the path jev status printed (first-pass/jev.json in the Claude Code
config folder, ~/.claude unless CLAUDE_CONFIG_DIR says otherwise). Read it first if it
exists and change only what the user asked:
One key for everything:
{ "keys": [{ "env": "TYPESAFE_API_KEY" }] }A key per account:
{
"keys": [
{ "env": "COMPANY_A_TYPESAFE_API_KEY", "file": "/abs/path/company-a/.env.local", "repos": ["/abs/path/company-a", "/abs/path/company-a-site"] },
{ "env": "COMPANY_B_TYPESAFE_API_KEY", "repos": ["/abs/path/company-b"] }
]
}env: the variable's name. It is read from the environment first, then from file.file: optional, an env file holding NAME=value.repos: absolute paths. The deepest one that holds the folder wins, and a checkout of a
named repo elsewhere (a worktree, a clean checkout in the temp folder) counts as that repo,
even inside a folder named for another key. An entry without repos covers every folder,
and is allowed only as the only entry: with separate accounts, a folder no entry names has
the judge off, never another account's key."off": true switches the judge off everywhere and keeps the rest. "model" pins a
version (default jev-latest); pin one when you have tuned against it."url": only to send somewhere other than TypeSafe's endpoint (https, or this machine for
a test server); jev status then shows it. Leave it out otherwise, and remove one the user
did not ask for.file path, check git ignores it: git -C <its repo> check-ignore -q <file>. If it is not ignored, say so and don't use it.Run jev status <repo> again for each group, then once per key:
node "${CLAUDE_SKILL_DIR}/../../scripts/cli.mjs" jev test <repo>It sends one made-up finding (no code, no customer data) and prints Jev's pick and how sure it was. A refused key or no answer prints why.
Jev judge: <on for <repos> (key from <NAME>, in the environment | in <file>) | off, <why>>, one line per key
Verified: jev test → <Jev's pick and confidence, or the error>, one line per key
Config: <the file, and what changed>© joetawil7, MIT. 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 skills/jev of joetawil7/first-pass.
Open the folder on GitHubat commit f5bc413
Jev 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 |
|---|---|---|---|---|---|---|
| Jev this skilljoetawil7/first-pass | 95 | — | ~1.4k | Automated safety check: Notes | MIT | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Code Review ChecklistshareAI-lab/learn-claude-code | 78k | 4 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Backend Code Reviewlangflow-ai/langflow | 155k | — | ~3.5k | Automated safety check: Notes | MIT | |
| Mole Bug Patternstw93/Mole | 70k | — | ~2k | Automated safety check: Pass | GPL-3.0 | |
| Backend Code Reviewlanggenius/dify | 158k | — | ~676 | Automated safety check: Pass | Custom licence |
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
shareAI-lab/learn-claude-code
Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.
langflow-ai/langflow
Review backend code for quality, security, maintainability, and best practices based on established checklist rules.
tw93/Mole
A catalog of recurring bug shapes in the Mole Mac cleaner, used to review safety-sensitive diffs for deletion safety, unbounded commands, shell traps and weak tests.
langgenius/dify
Reviews backend code under api/ for concrete, reproducible defects, routes to rule packs for architecture, schema, repositories and SQLAlchemy, and ranks findings from P0 to P3.
woocommerce/woocommerce
Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.
joetawil7/first-pass
Bug-fix routine that fixes the whole class of bug, not just the reported instance.
joetawil7/first-pass
Learns the words a user habitually writes to their coding agent that make its answers worse ("be 100% sure", "don't assume", "full review", "are you sure?", "all fine, right?"), from what they…
joetawil7/first-pass
Run before writing or changing code for any feature, bug fix or refactor that touches data, jobs, money, outside services or user-facing behaviour.
joetawil7/first-pass
Rewrites the prompt typed after the command before any work starts, then works from the rewrite.
joetawil7/first-pass
Reviews a change before it is merged, from little or no input.
joetawil7/first-pass
The definition of done. An agent skill from joetawil7/first-pass.
Categories
Sets up, checks or changes the optional Jev judge, the TypeSafe decision model that ship-check asks about review findings (is this real harm, is a small one worth fixing now, what proof does a small…. Jev is an agent skill from joetawil7/first-pass. Sets up, checks or changes the optional Jev judge, the TypeSafe decision model that ship-check asks about review findings (is this real harm, is a small one worth fixing now, what proof does a small fix need).
Jev fits situations like: tasks that involve Code review.
Run `npx skills add joetawil7/first-pass --skill jev -a claude-code`. Or copy the skill folder (skills/jev in joetawil7/first-pass) into .claude/skills/jev in your project. Claude Code loads it when a task matches its description.
Run `npx skills add joetawil7/first-pass --skill jev -a codex`. Or copy the skill folder (skills/jev in joetawil7/first-pass) into .agents/skills/jev 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 joetawil7/first-pass --skill jev -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jev, .gemini/skills/jev, .github/skills/jev and .opencode/skills/jev in your project.
Going by SKILL.md and its folder, Jev needs the command-line tools its instructions call (node) and credentials named TYPESAFE_API_KEY, COMPANY_A_TYPESAFE_API_KEY and COMPANY_B_TYPESAFE_API_KEY. Our summary lists: A credential in TYPESAFE_API_KEY; A credential in COMPANY_A_TYPESAFE_API_KEY.
SKILL.md names 3 domains. In commands or code: api.typesafe.ai; the agent is likely to contact it when it follows the instructions. As links in the text: docs.typesafe.ai and console.typesafe.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Jev is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.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 Jev: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars), Backend Code Review (langflow-ai/langflow, 155k stars) and Mole Bug Patterns (tw93/Mole, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
joetawil7 (a GitHub user) maintains it in joetawil7/first-pass, which has 95 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 9, 2026.
Source: joetawil7/first-pass on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.