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.
Open a PR/MR if missing, or refresh an existing one's title and description so they match the current diff.
$ npx skills add OutThisLife/brooklyn-skills --skill pr-update -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install OutThisLife/brooklyn-skills pr-update --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/OutThisLife/brooklyn-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/pr-update .claude/skills/pr-update && 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 "pr-update" agent skill from https://github.com/OutThisLife/brooklyn-skills/tree/main/skills/pr-update into .claude/skills/pr-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-update", 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/OutThisLife/brooklyn-skills/tree/main/skills/pr-updateType 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 OutThisLife/brooklyn-skills --skill pr-update -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install OutThisLife/brooklyn-skills pr-update --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OutThisLife/brooklyn-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/pr-update .agents/skills/pr-update && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "pr-update" agent skill from https://github.com/OutThisLife/brooklyn-skills/tree/main/skills/pr-update into .agents/skills/pr-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-update", 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 OutThisLife/brooklyn-skills --skill pr-update -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install OutThisLife/brooklyn-skills pr-update --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OutThisLife/brooklyn-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/pr-update .cursor/skills/pr-update && 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 "pr-update" agent skill from https://github.com/OutThisLife/brooklyn-skills/tree/main/skills/pr-update into .cursor/skills/pr-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-update", 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/OutThisLife/brooklyn-skills.git --path skills/pr-update--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 OutThisLife/brooklyn-skills --skill pr-update -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install OutThisLife/brooklyn-skills pr-update --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OutThisLife/brooklyn-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/pr-update .gemini/skills/pr-update && 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 "pr-update" agent skill from https://github.com/OutThisLife/brooklyn-skills/tree/main/skills/pr-update into .gemini/skills/pr-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-update", 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 OutThisLife/brooklyn-skills pr-updateInstalls 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 OutThisLife/brooklyn-skills --skill pr-update -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/OutThisLife/brooklyn-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/pr-update .github/skills/pr-update && 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 "pr-update" agent skill from https://github.com/OutThisLife/brooklyn-skills/tree/main/skills/pr-update into .github/skills/pr-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-update", 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 OutThisLife/brooklyn-skills --skill pr-update -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install OutThisLife/brooklyn-skills pr-update --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/OutThisLife/brooklyn-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/pr-update .opencode/skills/pr-update && 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 "pr-update" agent skill from https://github.com/OutThisLife/brooklyn-skills/tree/main/skills/pr-update into .opencode/skills/pr-update/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "pr-update", 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.
pr-updateOpen a PR/MR if missing, or refresh an existing one's title and description so they match the current diff.
PR Update is an agent skill from OutThisLife/brooklyn-skills. Open a PR/MR if missing, or refresh an existing one's title and description so they match the current diff. Preserves any media already in the body. Use when the user says /pr-update, open a PR, update the PR, refresh the PR title/description, or wants the PR opener/manager flow.
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 Git. The repository describes itself as: Skills that drive best-in-class engineering. The licence is MIT.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 8a97904. 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:
gitghglabjqFrom 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:
github.comFrom 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 Update loads about 1.3k tokens when it runs. Until then it costs about 73 tokens; SKILL.md has 633 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 formatting with logic, commit secrets/`.env`, or rewriteAutomated 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 OutThisLife/brooklyn-skills at commit 8a97904, republished under its MIT licence (© OutThisLife). 633 words, ~1,326 tokens.
.claude/skills/pr-update/SKILL.md (or your agent's skills folder).One skill for create and update. Make the title + body match the branch as it is now. Do not strip media from an existing description.
git status / git diff / git log / git diff <default>...HEAD (and
remote tracking) so you know the full change set — not just the latest
commit.gh pr view / glab mr view).-u if needed).gh pr create / gh pr edit (or glab equivalents).[#123](https://github.com/org/repo/pull/123), GitLab ! equivalent).
Never a bare #123. This is the one place the rule is written down; the
other skills just follow it.## Summary
<1-3 bullets of what changed and why>
## Test plan
- [ ] <concrete checks>no-tropes before publishing.Shape the branch's commits as part of opening/refreshing the PR.
Check effective user.name and user.email before committing. GitHub login
does not set commit attribution. If email is unset or Git infers a local-host
address, stop before publishing and confirm an account-associated email.
Never publish after ignoring Git's inferred-identity warning.
One concern per commit. Default to a topical split (2–5 is typical) even if not asked; don't dump everything into one blob unless the user wants it.
Match the repo's recent commit style (git log --oneline -15); subject = why.
No "WIP" / "fix stuff".
Rebuild with soft reset + path-staged commits (no git rebase -i — needs a
TTY). Show the final git log --oneline <default>..HEAD before force-push.
Two traps in that recipe:
git merge-base HEAD origin/<default>),
never to origin/<default> itself — it moves mid-task and will stage other
people's commits as yours.git reset <base> -- <path> leaves that path unstaged, so the next
git commit silently captures its pre-edit version. Verify the content
landed (git show <sha>:<path> | grep <new symbol>) before force-push.Keep authorship when reshaping others' work (Co-authored-by / cherry-pick),
especially during pr-triage salvage.
Don't mix pure formatting with logic, commit secrets/.env, or rewrite
commits already on the default branch without asking.
When a PR/MR already has a body, never delete media.
Treat as media (keep verbatim, same URLs/markup/order when possible):
, [...](...) to
media)<img>, <video>, <source>, <br> used between media blocksUpdate flow:
jq -r '.description' before using line-oriented file tools; one long escaped JSON string can be truncated even when the overall file fits. Reject truncated content rather than rebuilding a partial description.If a refresh would drop media, stop and keep the old body (or only edit the title) rather than publishing a media-stripped description.
pr-ready), triage/salvage
(pr-triage), merging.# GitHub — read
gh pr view --json url,title,body,baseRefName,headRefName
# GitHub — create
gh pr create --title "…" --body "$(cat <<'EOF'
…
EOF
)"
# GitHub — update (body from file avoids shell-eating newlines/media)
gh pr view --json body -q .body > /tmp/pr-body.md
# …edit /tmp/pr-body.md carefully…
gh pr edit --title "…" --body-file /tmp/pr-body.md
# GitLab
glab mr view
glab mr create
glab mr update <N> --title "…" --description-file /tmp/pr-body.md© OutThisLife, 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/pr-update of OutThisLife/brooklyn-skills.
Open the folder on GitHubat commit 8a97904
PR Update 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 Update this skillOutThisLife/brooklyn-skills | 199 | — | ~1.3k | Automated safety check: Notes | MIT | |
| Finishing a Development Branchobra/superpowers | 297k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | |
| Contributor-First PR MergeHKUDS/OpenHarness | 16k | 1 repos | ~847 | Automated safety check: Pass | MIT | |
| Open Code Review CLIalibaba/open-code-review | 45k | — | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| 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 |
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.
HKUDS/OpenHarness
Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.
alibaba/open-code-review
Runs the ocr command-line tool to review Git changes, a commit or a branch comparison with an AI model, returning line-level comments and optionally applying fixes.
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.
Egonex-AI/Understand-Anything
Reads your git changes or a pull request against a prebuilt knowledge graph of the project to explain what changed, which components are affected and what is risky.
OutThisLife/brooklyn-skills
Draft X/Twitter posts about shipped work. An agent skill from OutThisLife/brooklyn-skills.
OutThisLife/brooklyn-skills
Safely reclaim disk space on macOS without touching personal or agent data.
OutThisLife/brooklyn-skills
List my open MRs/PRs in the current repo/worktree, each with its tracker ticket.
OutThisLife/brooklyn-skills
Clear everything blocking an existing PR/MR from merging — rebase onto the default branch, get CI green, and resolve review threads (Copilot and human).
OutThisLife/brooklyn-skills
Maintainer triage on OTHER people's PRs/MRs — verdict of approve, supersede, or close, salvage with credit, close the cluster.
OutThisLife/brooklyn-skills
Kick off a task in a fresh isolated git worktree instead of the current checkout.
Works with
Categories
Open a PR/MR if missing, or refresh an existing one's title and description so they match the current diff. PR Update is an agent skill from OutThisLife/brooklyn-skills. Open a PR/MR if missing, or refresh an existing one's title and description so they match the current diff.
PR Update fits situations like: the user says /pr-update; refresh the PR title/description; wants the PR opener/manager flow.
Run `npx skills add OutThisLife/brooklyn-skills --skill pr-update -a claude-code`. Or copy the skill folder (skills/pr-update in OutThisLife/brooklyn-skills) into .claude/skills/pr-update in your project. Claude Code loads it when a task matches its description.
Run `npx skills add OutThisLife/brooklyn-skills --skill pr-update -a codex`. Or copy the skill folder (skills/pr-update in OutThisLife/brooklyn-skills) into .agents/skills/pr-update 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 OutThisLife/brooklyn-skills --skill pr-update -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-update, .gemini/skills/pr-update, .github/skills/pr-update and .opencode/skills/pr-update in your project.
Going by SKILL.md and its folder, PR Update needs the command-line tools its instructions call (git, gh, glab and jq).
SKILL.md names 1 domain. In commands or code: github.com; the agent is likely to contact it when it follows the instructions. 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.
PR Update 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 PR Update: Finishing a Development Branch (obra/superpowers, 297k stars), Contributor-First PR Merge (HKUDS/OpenHarness, 16k stars), Open Code Review CLI (alibaba/open-code-review, 45k 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.
OutThisLife (a GitHub user) maintains it in OutThisLife/brooklyn-skills, which has 199 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 5, 2026.
Source: OutThisLife/brooklyn-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.