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.
Claim the next safe agent-ready issue from Linear, implement it, and open a PR.
$ npx skills add finna/Finn-loop --skill finn-build -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install finna/Finn-loop finn-build --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/finna/Finn-loop.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/finn-build .claude/skills/finn-build && 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 "finn-build" agent skill from https://github.com/finna/Finn-loop/tree/main/skills/finn-build into .claude/skills/finn-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "finn-build", 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/finna/Finn-loop/tree/main/skills/finn-buildType 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 finna/Finn-loop --skill finn-build -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install finna/Finn-loop finn-build --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/finna/Finn-loop.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/finn-build .agents/skills/finn-build && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "finn-build" agent skill from https://github.com/finna/Finn-loop/tree/main/skills/finn-build into .agents/skills/finn-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "finn-build", 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 finna/Finn-loop --skill finn-build -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install finna/Finn-loop finn-build --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/finna/Finn-loop.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/finn-build .cursor/skills/finn-build && 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 "finn-build" agent skill from https://github.com/finna/Finn-loop/tree/main/skills/finn-build into .cursor/skills/finn-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "finn-build", 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/finna/Finn-loop.git --path skills/finn-build--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 finna/Finn-loop --skill finn-build -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install finna/Finn-loop finn-build --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/finna/Finn-loop.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/finn-build .gemini/skills/finn-build && 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 "finn-build" agent skill from https://github.com/finna/Finn-loop/tree/main/skills/finn-build into .gemini/skills/finn-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "finn-build", 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 finna/Finn-loop finn-buildInstalls 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 finna/Finn-loop --skill finn-build -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/finna/Finn-loop.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/finn-build .github/skills/finn-build && 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 "finn-build" agent skill from https://github.com/finna/Finn-loop/tree/main/skills/finn-build into .github/skills/finn-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "finn-build", 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 finna/Finn-loop --skill finn-build -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install finna/Finn-loop finn-build --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/finna/Finn-loop.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/finn-build .opencode/skills/finn-build && 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 "finn-build" agent skill from https://github.com/finna/Finn-loop/tree/main/skills/finn-build into .opencode/skills/finn-build/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "finn-build", 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.
finn-buildClaim the next safe agent-ready issue from Linear, implement it, and open a PR.
Finn Build is an agent skill from finna/Finn-loop. Claim the next safe agent-ready issue from Linear, implement it, and open a PR. Use when asked to run Finn-loop's builder, work the approved queue, or fix Finn-loop review feedback. Designed for /loop; one pass does one unit of work.
Its SKILL.md is about 1.3k 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: The Finn-loop: a 3-skill AI software factory for Claude Code — spec, build, review. Humans merge. The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7941b62. 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:
ghgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh and git, 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.
Finn Build loads about 1.3k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 741 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 finna/Finn-loop at commit 7941b62, republished under its MIT licence (© finna). 741 words, ~1,313 tokens.
.claude/skills/finn-build/SKILL.md (or your agent's skills folder).One pass = one unit of work: fix review feedback on one existing PR, or build
one issue end to end. Under /loop, each iteration runs this skill once.
Before changing Linear, GitHub, branches, or files:
origin is reachable.gh repo view --json defaultBranchRef --jq .defaultBranchRef.name; never
assume it is main.git status --porcelain must be empty). If it
is dirty, report the paths and end the pass. Never stash, reset, overwrite,
or commit unrelated work.List open PRs labeled loop-changes-requested, including their labels:
gh pr list --state open --label loop-changes-requested --json number,title,headRefName,headRefOid,labels,updatedAt,urlSkip every PR carrying needs-human-review; it has left the automated repair
queue until a human resolves the escalation.
If any PR remains, choose the least recently updated one. Read its linked
Linear issue and latest Finn-loop review of COMMIT_SHA verdict. Check out its
branch, fix only the "Must fix before merge" items, run the relevant checks,
push, remove loop-changes-requested, and comment with what changed. End this
pass.
If a proposed fix would cross an issue non-goal or requires a product decision,
do not implement it. Comment the exact conflict, add needs-human-review,
remove loop-changes-requested, and end the pass. This prevents the next loop
iteration from retrying a decision only a human can make.
Using the Linear connector, list issues on team TEAM that meet every
condition:
agent-readyblockedSort by priority, then oldest first. If the queue is empty, say so and end the pass. Do not invent work and do not pick a blocked issue.
Assign yourself and move the issue to the team's started workflow state
(prefer In Progress when available). Claim before reading deeply or writing
code. Re-fetch the issue immediately after the update; if it is blocked,
assigned to somebody else, or no longer agent-ready, do not work it and
return to step 2.
The assignee prevents different people from taking the same issue. It is not an atomic lock between simultaneous sessions authenticated as the same Linear user, so only one builder loop may run per team.
Fetch the full issue including comments and relations. Implement only its
acceptance criteria. Non-goals are binding. Compare every AC-N against every
NG-N before editing. No unrelated changes and no opportunistic refactors.
If an acceptance criterion is ambiguous, conflicts with a non-goal, or depends on an unresolved blocker, go to step 8. Never guess.
origin and create or resume a branch
named TEAM-NNN-short-slug, using the issue's real identifier.Run the project's relevant lint, typecheck, build, and narrowest useful tests. All checks attributable to this change must pass before opening a PR. If a broad check has a pre-existing unrelated failure, run the relevant targeted check, preserve the evidence, and disclose both results in the PR.
Review git diff and git status before shipping. Stop if the diff contains
unrelated work or generated secrets.
Push and open a PR with gh pr create. Its description must include:
Closes TEAM-NNN, using the real Linear issue identifierAC-N, one preservation line per
NG-N, and Other behavior changes: NoneIf Other behavior changes: None is not true, stop and get the Linear issue
amended before opening the PR.
Comment the PR URL on the Linear issue. Move it to the team's review state if one exists; otherwise leave it in the started state for the Linear-GitHub integration to manage. Never merge and never enable auto-merge. End the pass.
Comment one specific question a human can answer asynchronously, apply the
blocked label, and unassign yourself. Leave agent-ready in place: the pick
query explicitly excludes blocked, so the issue safely reappears only after
a human answers and removes that label.
Never use "this is unclear" as the question. State the exact decision, the available options, and which acceptance criterion it affects. End the pass so the next iteration can pick different work.
© finna, 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/finn-build of finna/Finn-loop.
Open the folder on GitHubat commit 7941b62
Finn Build 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 |
|---|---|---|---|---|---|---|
| Finn Build this skillfinna/Finn-loop | 319 | — | ~1.3k | Automated safety check: Pass | MIT | |
| 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.
finna/Finn-loop
Review open PRs against their linked Linear issues and required GitHub checks, then post a three-group verdict with Finn-loop labels.
finna/Finn-loop
Interview the user about a raw idea until confident, then file a build-ready issue in Linear.
Works with
Categories
Claim the next safe agent-ready issue from Linear, implement it, and open a PR. Finn Build is an agent skill from finna/Finn-loop. Claim the next safe agent-ready issue from Linear, implement it, and open a PR.
Finn Build fits situations like: asked to run Finn-loops builder; work the approved queue; fix Finn-loop review feedback.
Run `npx skills add finna/Finn-loop --skill finn-build -a claude-code`. Or copy the skill folder (skills/finn-build in finna/Finn-loop) into .claude/skills/finn-build in your project. Claude Code loads it when a task matches its description.
Run `npx skills add finna/Finn-loop --skill finn-build -a codex`. Or copy the skill folder (skills/finn-build in finna/Finn-loop) into .agents/skills/finn-build 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 finna/Finn-loop --skill finn-build -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/finn-build, .gemini/skills/finn-build, .github/skills/finn-build and .opencode/skills/finn-build in your project.
Going by SKILL.md and its folder, Finn Build needs the command-line tools its instructions call (gh and git).
SKILL.md contains no URLs. Its commands use gh and git, 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.
Finn Build 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.3k tokens (SKILL.md is roughly 5.3k 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 Finn Build: 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.
finna (a GitHub user) maintains it in finna/Finn-loop, which has 319 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on July 23, 2026.
Source: finna/Finn-loop on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.