Skip to content
cccskills
FreePublished on GitHub

pr-approve

Approve a GitHub pull request, inferring the target from context when no PR is given. Use when the user invokes `$pr-approve`, asks to approve a PR, or approves a pull request mentioned earlier in the conversation.

The English summary is being prepared. Showing the original description.

Works withGitHub
See how to install

Files included (2)

  • SKILL.md2.9 KB
  • agents/openai.yaml259 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

pr-approve

Approve a GitHub pull request via gh pr review --approve.

Workflow

1. Resolve the target PR

If a PR number, #1234, or URL was given directly, strip a leading # and use it as the sole candidate — skip inference.

Otherwise, gather candidates from context:

  • Current branch's PR:
    gh pr view --json number --jq .number 2>/dev/null
    
  • Conversation context: scan the current session for PR references — #<number>, pull/<number> paths, or full github.com/.../pull/<number> URLs mentioned by the user or in prior output.

Deduplicate the results.

  • Zero candidates → ask directly: "Which PR would you like to approve? (number or URL)"
  • One candidate → continue to step 2.
  • Multiple candidates → continue to step 2, fetch metadata for all of them, and let the user choose in step 3.

2. Fetch metadata for each candidate

gh pr view <number> --json number,url,title,state,isDraft,mergedAt,headRefName,baseRefName,author,reviewDecision,reviews,reviewRequests,statusCheckRollup

Get the authenticated user's login once:

gh api user --jq .login

Derive per PR:

  • Lifecycle state: merged if mergedAt is set, else closed if state == "CLOSED", else open.
  • My approval status, in priority order: an existing review from the authenticated login (approved by you / changes requested by you); else being in reviewRequests[] (waiting on your review); else reviewDecision == "APPROVED" (approved by others); else not requested.
  • Checks status from statusCheckRollup[], priority order: any failing conclusion → failing; any in-progress/queued status → running; any cancelled conclusion → cancelled; all success → passing; empty rollup → waiting.

3. Confirm

Single candidate — show the card and ask for a yes/no:

#<number> <title>
<state> · <my approval status> · <headRefName> → <baseRefName> · @<author> · checks <checks status>
<url>

Approve this PR?

Multiple candidates — present each as #<number> <title> with the same detail line, and ask the user to pick one or more (multi-select). That selection is itself the confirmation — don't ask again.

If the user declines or picks nothing, stop without approving anything.

4. Approve

For each confirmed PR:

gh pr review <number> --approve

If gh refuses (self-authored PR, already approved, etc.), report that specific failure and continue with the rest.

5. Report

✅ Approved PR #<number>
<pr_url>

Report any failures separately with their reason instead of a ✅ line.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Quick-save the last assistant response as a verbatim note in the 2ndBrain Obsidian vault (~/2ndBrain/quick-notes/<year>/). Use when the user asks to quick-save/save the last response to 2ndBrain, or invokes $2ndbrain or /skill:2ndbrain.

The English summary is being prepared. Showing the original description.

phatblat/dotfiles12Updated Oct 20, 2026

Write commit messages under the agent-commits convention - a Conventional Commits fork with no chore catch-all, intent-only type tokens, facts in trailers, and legally-grounded AI provenance (Assisted-by, never Co-authored-by). Use when composing a commit in a repo whose commitlint.config.js extends agent-commits, when deciding between feat/fix/refactor/perf, or when recording AI participation.

The English summary is being prepared. Showing the original description.

phatblat/dotfiles12Updated Oct 20, 2026

Coordinate multi-agent work through durable artifacts in git instead of chat. Use this whenever a task involves sending a message to another agent, agent mailboxes or handoffs, claiming work from a shared queue, notifying another agent or crew (OpenClaw, Grok Bot, Claude Code, Codex, Gas Town/Gas City workers) that work is ready, or whenever the user mentions the artifact bus, message bus, agent mail, beads mail, doorbells, or pings between agents — even if they don't say "bus" explicitly.

The English summary is being prepared. Showing the original description.

phatblat/dotfiles12Updated Oct 20, 2026

aven

Free

Use aven to find tasks, update status, and leave durable handoff context.

The English summary is being prepared. Showing the original description.

phatblat/dotfiles12Updated Oct 20, 2026

Plan, order and deliver a batch of backlog items (e.g. every High item) in a Conventional Docs repo, one decision, branch, worktree, draft PR, review and merge per item. Use when asked to work through the backlog, implement all items of a priority, or sequence several backlog items end to end.

The English summary is being prepared. Showing the original description.

phatblat/dotfiles12Updated Oct 20, 2026

boris

Free

Codex workflow tips from Boris Cherny and the Codex team. Use when setting up Codex or optimizing workflows: parallel sessions, worktrees, plan mode, AGENTS.md, skills, subagents, hooks, MCP, permissions, and sandboxing.

The English summary is being prepared. Showing the original description.

phatblat/dotfiles12Updated Oct 20, 2026

See all skills by phatblat

Report a problem with this skill