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.
Use after an issue's PR has been merged to wrap up the issue branch — close the issue, switch back to dev, fast-forward, and delete the local and remote feature branches.
$ npx skills add yvanvds/yse-soundengine --skill cleanup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install yvanvds/yse-soundengine cleanup --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/yvanvds/yse-soundengine.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/cleanup .claude/skills/cleanup && 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 "cleanup" agent skill from https://github.com/yvanvds/yse-soundengine/tree/dev/.claude/skills/cleanup into .claude/skills/cleanup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cleanup", 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/yvanvds/yse-soundengine/tree/dev/.claude/skills/cleanupType 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 yvanvds/yse-soundengine --skill cleanup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install yvanvds/yse-soundengine cleanup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yvanvds/yse-soundengine.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/cleanup .agents/skills/cleanup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cleanup" agent skill from https://github.com/yvanvds/yse-soundengine/tree/dev/.claude/skills/cleanup into .agents/skills/cleanup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cleanup", 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 yvanvds/yse-soundengine --skill cleanup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install yvanvds/yse-soundengine cleanup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yvanvds/yse-soundengine.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/cleanup .cursor/skills/cleanup && 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 "cleanup" agent skill from https://github.com/yvanvds/yse-soundengine/tree/dev/.claude/skills/cleanup into .cursor/skills/cleanup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cleanup", 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/yvanvds/yse-soundengine.git --path .claude/skills/cleanup--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 yvanvds/yse-soundengine --skill cleanup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install yvanvds/yse-soundengine cleanup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yvanvds/yse-soundengine.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/cleanup .gemini/skills/cleanup && 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 "cleanup" agent skill from https://github.com/yvanvds/yse-soundengine/tree/dev/.claude/skills/cleanup into .gemini/skills/cleanup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cleanup", 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 yvanvds/yse-soundengine cleanupInstalls 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 yvanvds/yse-soundengine --skill cleanup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/yvanvds/yse-soundengine.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/cleanup .github/skills/cleanup && 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 "cleanup" agent skill from https://github.com/yvanvds/yse-soundengine/tree/dev/.claude/skills/cleanup into .github/skills/cleanup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cleanup", 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 yvanvds/yse-soundengine --skill cleanup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install yvanvds/yse-soundengine cleanup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/yvanvds/yse-soundengine.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/cleanup .opencode/skills/cleanup && 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 "cleanup" agent skill from https://github.com/yvanvds/yse-soundengine/tree/dev/.claude/skills/cleanup into .opencode/skills/cleanup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cleanup", 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.
cleanupUse after an issue's PR has been merged to wrap up the issue branch — close the issue, switch back to dev, fast-forward, and delete the local and remote feature branches.
Cleanup is an agent skill from yvanvds/yse-soundengine. Use after an issue's PR has been merged to wrap up the issue branch — close the issue, switch back to dev, fast-forward, and delete the local and remote feature branches. Triggers on phrases like "cleanup", "cleanup issue N", "wrap up <branch", "post-merge cleanup", "I just merged the PR, clean up". Do NOT trigger before the PR is merged, on the dev or master branches themselves, or for cleanup of branches that were never linked to an issue (release-prep, sync PRs, etc.).
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with GitHub. The repository describes itself as: advanced 3D sound engine. The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 911ea2d. 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:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and 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.
Cleanup loads about 2k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 1,049 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 yvanvds/yse-soundengine at commit 911ea2d, republished under its MIT licence (© yvanvds). 1,049 words, ~1,996 tokens.
.claude/skills/cleanup/SKILL.md (or your agent's skills folder).CLAUDE.md establishes the project's branch flow: every change starts as a
GitHub issue, gets a branch named <issue-number>-<short-slug> from dev,
and PRs back to dev. Once the PR is merged, four loose ends remain:
dev don't trigger
GitHub's Closes #N auto-close — that only fires on the default branch
master).deleteBranchOnMerge is false
on this repo).dev is behind the merged PR.This skill handles all four in one pass and leaves the workspace on a
fresh dev ready for the next issue.
Yes:
No:
dev, master, or a release branch — pass the
feature branch name as an argument instead.<issue-number>-<slug> naming pattern;
branches that don't match need manual cleanup.Two forms:
/cleanup # infer the target from the current branch
/cleanup 110 # by issue number
/cleanup 110-sphinx-cdecl-warnings # by branch nameWhen no argument is given, git branch --show-current is the target. The
issue number is the leading integer of the branch name, matched as
^(\d+)-. If the current branch doesn't match the pattern, bail with a
message telling the user to pass an explicit argument.
git branch --list "<n>-*" (local) or
gh pr list --search "<n> in:title" --json headRefName (remote, if
local already gone).^(\d+)- regex.git branch --show-current; extract issue number
the same way.dev or master and no argument was
given — there's nothing to infer.All four must hold or the skill bails with a clear error:
git status --porcelain is empty (clean working tree). Otherwise
switching branches would silently carry changes across or refuse.gh pr list --head <branch> --state merged --json number,mergedAt
returns at least one merged PR. Capture the PR number for the close
comment. If zero results, surface: "No merged PR found for <branch>;
did you mean to wait until after merge?"gh issue view <n> --json state succeeds. If the issue is already
closed, skip step 4 silently and continue.dev or master.git log dev..<branch> --oneline — if non-empty, the local branch carries
commits that aren't on dev. That usually means the PR was squash- or
rebase-merged and the local branch's commit SHAs differ from what landed.
This is normal and expected for squash merges. Note it; do not refuse.
Step 6's git branch -d will refuse on unsafe deletes anyway.
If the issue is open:
gh issue close <n> --comment "Resolved by #<pr> (merged to dev)."Use --reason completed. Skip if already closed.
git checkout dev
git pull --ff-only origin dev--ff-only prevents the skill from creating a merge commit if dev has
diverged locally (which would itself be a flag that something is off —
surface and stop).
git branch -d <branch>Use -d, not -D. If git refuses because the branch isn't fully merged
(common with squash merges), surface the actual git error and ask the
user whether to force-delete:
Local branch
<branch>has commits not ondev(likely a squash merge — the change is on dev under a different SHA). Force-delete withgit branch -D <branch>?
Wait for the user's reply before running -D. Don't quietly upgrade.
git push origin --delete <branch>If the remote branch is already gone (e.g., someone else deleted it via
the GitHub UI), git push will exit non-zero with a "remote ref does not
exist" message. Treat that specific error as success and continue.
git fetch --pruneCleans up origin/<branch> so git branch -a reflects reality.
Cleaned up #<n>:
Issue: closed (Resolved by #<pr>)
Local branch: deleted (<branch>)
Remote branch: deleted (origin/<branch>)
Current branch: dev (up to date with origin/dev)If any step was skipped (issue already closed, branch already deleted), note it explicitly rather than silently.
git branch -D) without
asking. Squash-merge mismatch is the common reason -d refuses, but
there's also the bad reason: the user forgot to push commits. Always
surface and confirm.git pull without --ff-only. A divergent local dev
means something is off — surface it, don't auto-merge.<pr> (merged to dev)" format matches the manual closes already in
the history and gives readers a one-click hop to the PR.fixes #X, also closes #Y). The skill targets one issue — the one named by the branch.
Multiple referenced issues are rare here; let the user handle them
explicitly.gh pr list --head <branch> is the authorization check.release-*, release/*, or any branch not
matching ^\d+-. Those are managed by the release skill or by hand.User: "/cleanup"
You:
git branch --show-current → 110-sphinx-cdecl-warnings. Issue
number 110.git status --porcelain → empty.gh pr list --head 110-sphinx-cdecl-warnings --state merged → PR
#111, merged.gh issue view 110 --json state → OPEN.gh issue close 110 --comment "Resolved by #111 (merged to dev)." →
closed.git checkout dev && git pull --ff-only origin dev → fast-forwarded.git branch -d 110-sphinx-cdecl-warnings → deleted.git push origin --delete 110-sphinx-cdecl-warnings → deleted.git fetch --prune → pruned origin/110-sphinx-cdecl-warnings.<n>-<slug> where
<n> is the GitHub issue number. CLAUDE.md §1.gh CLI is authenticated.dev is the integration branch; merged PRs target dev.deleteBranchOnMerge is false on this repo (verified via
gh repo view --json deleteBranchOnMerge). Remote-branch deletion is
this skill's responsibility, not GitHub's. If that setting is ever
flipped to true, step 7's "already gone" handling becomes the common
path.© yvanvds, 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 .claude/skills/cleanup of yvanvds/yse-soundengine.
Open the folder on GitHubat commit 911ea2d
Cleanup 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 |
|---|---|---|---|---|---|---|
| Cleanup this skillyvanvds/yse-soundengine | 238 | — | ~2k | Automated safety check: Pass | MIT | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Diagnosing Superpowers Sessionsobra/superpowers | 296k | 3 repos | ~1.7k | Automated safety check: Pass | MIT | |
| GitHub Deep Researchbytedance/deer-flow | 83k | 5 repos | ~1.3k | Automated safety check: Pass | MIT | |
| Greplooponyx-dot-app/onyx | 32k | 4 repos | ~3.3k | Automated safety check: Pass | MIT | |
| Update V8 Versionopeninterpreter/openinterpreter | 69k | 2 repos | ~845 | 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.
obra/superpowers
Investigates a session where Superpowers went wrong, reads the transcripts on disk and produces an evidence-cited report, optionally prepared as a bug report for the maintainers.
bytedance/deer-flow
Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.
onyx-dot-app/onyx
Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.
openinterpreter/openinterpreter
Bumps the pinned v8 and rusty_v8 versions in Codex, validates the release-candidate path with the v8-canary check, and traces failures to upstream build changes.
mvanhorn/last30days-skill
Research what people actually say about any topic in the last 30 days.
yvanvds/yse-soundengine
A skill your agent uses when extending the C API at YseEngine/capi/ — wrapping a new engine class, method, enum, or callback — or when auditing the C API for drift from the engine's public surface.
yvanvds/yse-soundengine
A skill your agent uses when fixing compiler warnings, static analyzer findings (clang-tidy, etc.), or runtime errors/crashes in the libYSE codebase.
yvanvds/yse-soundengine
A skill your agent uses when the user asks to cut a new release of libYSE — phrases like "release a new version", "cut a patch/minor/major release", "publish a new release", "ship X.Y.Z".
Works with
Use after an issue's PR has been merged to wrap up the issue branch — close the issue, switch back to dev, fast-forward, and delete the local and remote feature branches. Cleanup is an agent skill from yvanvds/yse-soundengine. Use after an issue's PR has been merged to wrap up the issue branch — close the issue, switch back to dev, fast-forward, and delete the local and remote feature branches.
Cleanup fits situations like: phrases like cleanup; cleanup issue N; wrap up <branch; post-merge cleanup.
Run `npx skills add yvanvds/yse-soundengine --skill cleanup -a claude-code`. Or copy the skill folder (.claude/skills/cleanup in yvanvds/yse-soundengine) into .claude/skills/cleanup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add yvanvds/yse-soundengine --skill cleanup -a codex`. Or copy the skill folder (.claude/skills/cleanup in yvanvds/yse-soundengine) into .agents/skills/cleanup 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 yvanvds/yse-soundengine --skill cleanup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cleanup, .gemini/skills/cleanup, .github/skills/cleanup and .opencode/skills/cleanup in your project.
Going by SKILL.md and its folder, Cleanup needs the command-line tools its instructions call (git and gh).
SKILL.md contains no URLs. Its commands use git and 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.
Cleanup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8k 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 Cleanup: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Diagnosing Superpowers Sessions (obra/superpowers, 296k stars), GitHub Deep Research (bytedance/deer-flow, 83k stars) and Greploop (onyx-dot-app/onyx, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
yvanvds (a GitHub user) maintains it in yvanvds/yse-soundengine, which has 238 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on September 29, 2026.
Source: yvanvds/yse-soundengine on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.