Finishing a Development Branch
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
Review an existing fix PR using the audited repro and full diff, preserving branch and approval rules.
$ npx skills add omnigent-ai/omnigent --skill resolve-review-pr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install omnigent-ai/omnigent resolve-review-pr --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/omnigent-ai/omnigent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-review-pr .claude/skills/resolve-review-pr && 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 "resolve-review-pr" agent skill from https://github.com/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-review-pr into .claude/skills/resolve-review-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-review-pr", 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/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-review-prType 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 omnigent-ai/omnigent --skill resolve-review-pr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install omnigent-ai/omnigent resolve-review-pr --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-review-pr .agents/skills/resolve-review-pr && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "resolve-review-pr" agent skill from https://github.com/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-review-pr into .agents/skills/resolve-review-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-review-pr", 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 omnigent-ai/omnigent --skill resolve-review-pr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install omnigent-ai/omnigent resolve-review-pr --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-review-pr .cursor/skills/resolve-review-pr && 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 "resolve-review-pr" agent skill from https://github.com/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-review-pr into .cursor/skills/resolve-review-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-review-pr", 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/omnigent-ai/omnigent.git --path dev/resolve-agent/skills/resolve-review-pr--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 omnigent-ai/omnigent --skill resolve-review-pr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install omnigent-ai/omnigent resolve-review-pr --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-review-pr .gemini/skills/resolve-review-pr && 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 "resolve-review-pr" agent skill from https://github.com/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-review-pr into .gemini/skills/resolve-review-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-review-pr", 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 omnigent-ai/omnigent resolve-review-prInstalls 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 omnigent-ai/omnigent --skill resolve-review-pr -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .github/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-review-pr .github/skills/resolve-review-pr && 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 "resolve-review-pr" agent skill from https://github.com/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-review-pr into .github/skills/resolve-review-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-review-pr", 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 omnigent-ai/omnigent --skill resolve-review-pr -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install omnigent-ai/omnigent resolve-review-pr --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/dev/resolve-agent/skills/resolve-review-pr .opencode/skills/resolve-review-pr && 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 "resolve-review-pr" agent skill from https://github.com/omnigent-ai/omnigent/tree/main/dev/resolve-agent/skills/resolve-review-pr into .opencode/skills/resolve-review-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "resolve-review-pr", 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.
resolve-review-prReview an existing fix PR using the audited repro and full diff, preserving branch and approval rules.
Resolve Review PR is an agent skill from omnigent-ai/omnigent. Review an existing fix PR using the audited repro and full diff, preserving branch and approval rules.
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. The repository describes itself as: Omnigent is an open-source AI agent framework and meta-harness: orchestrate Claude Code, Codex, Cursor, Pi, and custom agents — swap harnesses without rewriting, enforce policies… The licence is Apache-2.0.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit c6a81cd. 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.
Resolve Review PR loads about 3.1k tokens when it runs. Until then it costs about 30 tokens; SKILL.md has 1,871 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 omnigent-ai/omnigent at commit c6a81cd, republished under its Apache-2.0 licence (© omnigent-ai). 1,871 words, ~3,106 tokens.
.claude/skills/resolve-review-pr/SKILL.md (or your agent's skills folder).You are reviewing someone else's candidate fix, not writing your own. The reproduction test is evidence only after independent validation. Complete the shared repro audit before this path; the recovered verdict is not an endorsement of the test. A passing repro alone does not prove the PR fixes the bug.
Check out the PR head into your worktree (gh pr checkout <number>), then
ensure the repro test at test_path is present on top of it (it is your
artifact, not theirs — re-apply it if the checkout doesn't carry it). If a test
you keep — the repro test, or one the PR adds — names a ticket/issue in its
filename or code, rename it and strip the reference per the "name by the
problem, never the ticket" rule in 2B.4.
Run the same audited repro test against the PR. Compare it with the behavioral failure on the recorded unfixed base:
reproduced
facet; all live facets must pass for the PR to fully resolve it.Record the journey against the PR head — always. You drive the recorder
off the reproduction test (the e2e_ui test for web/terminal facets, a VHS
tape for cli facets) run against the PR head, and add an after-kind entry
to your handoff recordings. This is not gated on the repro handoff
carrying footage — you have the test and the journey, which is all the recorder
needs, so produce the after-clip whether or not any before-clip was recovered.
Use the same lanes as 2B.5 — see dev/recording-lanes.md
(build the SPA first, record via OMNIGENT_E2E_RECORD_DIR, per-surface web /
mobile / terminal / cli / desktop mechanics) — saving to
recordings/<slug>/after-<facet>.<ext> with a caption for what the clip
shows. The test result determines the verdict separately; the footage must
show the product journey and its visible outcome, never the test runner. When
the handoff does carry a before clip, carry it
through and produce the after; when it carries none, still produce the
after and note the missing before. Only omit the after clip when it is
genuinely unobtainable (recorder tooling missing, or the fixture can't come
online after the SPA build and the leaked runner env is stripped) — say so
explicitly in your review comment and in evidence, naming the blocker. An
online: false seen while OMNIGENT_RUNNER_ID is still set is your own
un-stripped env, not a blocker: re-run with the env -u prefix from
dev/recording-lanes.md first. A missing upstream before-clip is never that
blocker. Never drop it silently.
Review the diff for quality, not just green. Decide whether this is the
best practical approach for the repository, not merely an approach that
makes the reproduction pass. Identify the plausible alternatives suggested by
the surrounding architecture and compare them briefly: does this PR fix the
root cause at the correct layer, follow the established abstraction, minimize
special cases and long-term maintenance cost, and preserve security,
compatibility, and performance? Does it miss facets or obvious adjacent edge
cases, or introduce a regression in the surrounding code? Complete the shared
impact assessment and run its checks for the whole PR. Record why the selected
approach is preferable in the review. Apply resolve-investigate to the
reported configuration, competing causes, and historical design rationale;
explicitly identify policy changes even when the repro test passes.
"Best" means the strongest maintainable fit for this codebase and bug, not a
license to replace a sound, idiomatic contribution with a theoretically purer
rewrite or a personal style preference.
Check the full PR for scope, including changes made before you arrived.
Establish one concrete reported failure or requested outcome and its
acceptance criteria from bug_url and the PR's linked issue. Different
layers or root causes can contribute to that outcome. If the issue bundles
independent problems, identify separable follow-ups in the review. Propose the
best-supported scope and keep working on clear requirements. Only a concrete
missing input or authorization conflict blocks that work; unresolved design
choices remain explicit for PR review under resolve-investigate.
For each change, ask whether removing it would leave the intended fix incomplete, incorrect, unsafe, or inadequately tested or documented. Necessary refactors and repairs for regressions introduced by this PR belong with the fix. Apply Keep the fix focused and complete from the main instructions, including its allowance for small incidental correctness or robustness improvements. Other independent features, bug fixes, cleanup, and upgrades do not belong, even in the same file or when tests pass. Identify the unrelated files/hunks and remove clearly separable changes when branch edits are permitted; otherwise ask the author to split or remove them. Do not guess when changes are entangled. Carry only in-scope work into any fork takeover.
Address Polly's scope findings through the ordinary review process in Step
4.3 before approving this existing PR. Keep your own edits within the same
scope. Request clarification when its relationship to the reported bug is
uncertain; do not approve until clarified. Record unresolved scope concerns
in the review and fix_summary.
Report on the existing PR. Post your fail→pass (or fail→still-fails) result
and any diff concerns now as a gh pr comment / gh pr review --comment, and
record its pr_url in your output. The outcome reflects what you found
(fixed when the PR resolves every live facet, the shared impact assessment
has no unresolved required checks, the diff is sound, and the changes stay
within the scope rule above;
partially_fixed / not_fixed otherwise, with specifics). Default to
commenting, not competing — if the PR is close and its approach is sound,
review it and let the author iterate; don't open a rival PR over fixable nits.
The review verdict (approve / request-changes) comes at the end, after Step 4 settles (4.5) — because whether you end up pushing to the PR is decided there. When you get to it, submit the final review this way:
Match the review verdict to what you found — and approve when you're a clean,
independent reviewer. You are a [bot], so your review never satisfies the
merge gate (a human maintainer's approval is always required); it's an
indicator for that maintainer. Choose:
fixed and you never pushed to or authored this code (pure reviewer: the
repro test passes against the PR as-is, CI green, Polly and OCR settled,
the branch is mergeable — not CONFLICTING/DIRTY — the current diff stays within the
reported problem, and no fix from you was needed) →
submit an approving review: gh pr review <pr> --approve --body '…'. A genuine independent verification — the "someone checked it, take
your pass" signal a maintainer wants. Note in the body that it's an automated
reviewer's approval and a maintainer's approval is still required to merge.
Both reviewers must have completed on the current head, with every
finding fixed or individually justified and the Step 4.3 live gate passing.
If either review cannot be obtained, do not approve: leave a --comment
review stating the behavioral evidence and the missing review, and preserve
an incomplete handoff for the maintainer.not_fixed / partially_fixed → gh pr review <pr> --request-changes --body '…' naming what still fails or which unrelated changes must be
removed or split out, even if the reproduction passes.--comment review and let a human
approve.Write the final review for someone scanning the PR timeline. Lead with a
plain-English verdict and next action, then use short bullets with labels
such as Cause and fix, Verified, and Needs attention. Aim for about
100 words when the fix is clean; name every blocking finding even if that
takes more space. Say when a check was unavailable. Keep investigation
history, branch bookkeeping, and full test details in the handoff fields.
For workflow-owned publication, put this exact Markdown in review_body;
the publisher adds the tested commit and its marker.
Then drive it to landable — go to Step 4. Once you've kept the PR as the
fix (the sound-PR default), it gets the same landing treatment as a PR you
authored: ui-preview, green CI, settled Polly and OCR reviews, a copy-paste
live-validation command, and a maintainer tagged (Step 4, all sub-steps). The
one difference is whose branch a fix lands on — Step 4's "push or take over"
rule handles it: push fixes directly when the PR branch is in-repo; when it's a
fork PR you can't push to and it needs a fix, take over by opening your
own PR that carries their commits + your fix (crediting them). If the fork PR
needs no fix, keep it as-is. Either way you do iterate CI, Polly, and OCR, rather
than triggering one review and stopping — and on a fork PR you must actually
dispatch both reviewers and wait for current-head completion proof (see 4.3).
Record mode: "reviewed_existing_pr"
and its pr_url when you keep it; if a fork takeover made you open your own,
record mode: "authored_fix" with the fork PR in reviewed_pr_url.
When the existing PR's approach is wrong, open your own fix instead. The
default above is for a sound PR. But if reviewing shows the PR is not a viable
base — its approach is fundamentally incorrect (masks the symptom, wrong layer,
doesn't address the root cause), needlessly complex, or so low-quality that
correcting it in review would be more work than a clean fix — don't force a
comment-only outcome. Say precisely why the existing approach won't do (in a
review comment on that PR, so the author knows), identify the preferable approach
and its concrete advantages, then switch to the author path
(Step 2B) and open your own PR that resolves the bug correctly. In your PR,
reference the existing one and summarize why a fresh approach was warranted.
Record mode: "authored_fix", put Supersedes #<old> on its own line in the new
PR body, and keep the reviewed PR open while the replacement is under review.
The trusted post-merge workflow closes the old PR only after the replacement
actually merges. Comment on the old PR immediately with the replacement link so
the contributor understands the handoff, but do not close it yourself. Use
this escape hatch deliberately, not for style preferences — a working,
root-cause-sound PR should be reviewed and improved in place, not replaced.
When you keep the PR, you drive it to landable per Step 4 — pushing fixes directly when its branch is in-repo, or (for a fork PR you can't push to that needs a fix) taking over into your own PR that carries their commits plus your fix. So there are two reasons you end up authoring your own PR from the review path: the existing approach is wrong (this escape hatch), or the approach is fine but it's an unpushable fork PR that needs changes (Step 4's take-over). Never rewrite a sound approach wholesale — a fork takeover replays the contributor's commits and adds to them, it doesn't discard their work.
© omnigent-ai, 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 dev/resolve-agent/skills/resolve-review-pr of omnigent-ai/omnigent.
Open the folder on GitHubat commit c6a81cd
Resolve Review PR 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 |
|---|---|---|---|---|---|---|
| Resolve Review PR this skillomnigent-ai/omnigent | 11k | — | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | 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 | |
| PR Design DocOpenHands/OpenHands | 90k | — | ~2.4k | Automated safety check: Pass | MIT | |
| WooCommerce Code Reviewwoocommerce/woocommerce | 11k | 3 repos | ~1.1k | Automated safety check: Pass | Custom licence |
obra/superpowers
Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.
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.
OpenHands/OpenHands
For a non-trivial pull request, write a self-contained HTML design doc under the temporary .pr/ directory and link a visibility-appropriate preview in the PR description, so maintainers grasp the…
woocommerce/woocommerce
Reviews WooCommerce code changes against the project's standards, flagging backend PHP architecture, naming, documentation, data integrity and testing violations.
payloadcms/payload
A skill your agent uses when a Payload pull request needs a concise visual walkthrough for reviewers.
omnigent-ai/omnigent
Brings up the Omnigent server and Postgres as a Docker compose stack on any Docker host, and covers the Dockerfile's runtime and host build targets for extending it to a new platform.
omnigent-ai/omnigent
Scans Python agent code for framework imports and recommends the matching Omnigent executor type, or says when the framework is not natively supported yet.
omnigent-ai/omnigent
Runs the Omnigent load test with real hosts and multi-turn sessions against a mocked LLM, then explains the latency results from summary.md.
omnigent-ai/omnigent
Spins up an isolated Omnigent server, runner and mock model to prove a user-facing behavior or bug fix with recorded evidence instead of reasoning from code.
omnigent-ai/omnigent
Spins up a local Omnigent server and exercises the Antigravity (Gemini) SDK harness end to end: building agents, running real turns, smoke tests and bug-bashing.
omnigent-ai/omnigent
Gives patterns for generating a minimal, valid Omnigent agent directory: the config.yaml fields, the right executor type, and the files each agent needs.
Categories
Review an existing fix PR using the audited repro and full diff, preserving branch and approval rules. Resolve Review PR is an agent skill from omnigent-ai/omnigent. Review an existing fix PR using the audited repro and full diff, preserving branch and approval rules.
Resolve Review PR fits situations like: tasks that involve Pull requests.
Run `npx skills add omnigent-ai/omnigent --skill resolve-review-pr -a claude-code`. Or copy the skill folder (dev/resolve-agent/skills/resolve-review-pr in omnigent-ai/omnigent) into .claude/skills/resolve-review-pr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add omnigent-ai/omnigent --skill resolve-review-pr -a codex`. Or copy the skill folder (dev/resolve-agent/skills/resolve-review-pr in omnigent-ai/omnigent) into .agents/skills/resolve-review-pr 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 omnigent-ai/omnigent --skill resolve-review-pr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/resolve-review-pr, .gemini/skills/resolve-review-pr, .github/skills/resolve-review-pr and .opencode/skills/resolve-review-pr in your project.
Going by SKILL.md and its folder, Resolve Review PR needs the command-line tools its instructions call (gh).
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.
Resolve Review PR 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 Resolve Review PR: Finishing a Development Branch (obra/superpowers, 297k stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars), Check PR (onyx-dot-app/onyx, 32k stars) and PR Design Doc (OpenHands/OpenHands, 90k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
omnigent-ai (a GitHub organization) maintains it in omnigent-ai/omnigent, which has 10,711 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 10, 2026.
Source: omnigent-ai/omnigent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.