Land one PR end-to-end (changelog + thanks, lint, merge, back to main).
Scanned 9/2/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry --skill accept-pr --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Accept Pr?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-accept-pr-claude-skill-registry)More formats (shields.io, HTML) on the badges page.
---
name: accept-pr
description: Land one PR end-to-end (changelog + thanks, lint, merge, back to main).
---
# Accept PR
Input: PR number or URL (required). Default merge mode: rebase.
0) Guardrails
- Must end on `main` (or repo default branch if no `main`).
- `git status -sb` clean before/after. No uncommitted changes.
- If PR is draft, has conflicts, or base branch != `main`: stop + ask.
- If PR is from a fork and you can’t push: stop + ask.
1) Capture context
- `START_BRANCH="$(git branch --show-current)"`
- `gh pr view <PR> --json number,title,author,baseRefName,headRefName,isDraft,mergeable,maintainerCanModify`
- Skim: `gh pr view <PR> --comments` and `gh pr diff <PR>`
2) Checkout + suggested fixes
- `gh pr checkout <PR>`
- Apply fixes (and tests if needed). Keep edits minimal; follow repo conventions.
- Ensure change/feature/regression is well-tested. If no tests exist, do the manual checks the repo expects and note it.
- Commit with explicit paths (no `git add .`), then push: `git push origin HEAD`
3) Changelog (and thank contributor)
- Edit `CHANGELOG.md` (or project changelog file).
- Add entry under the top “Unreleased”/latest section (match existing style).
- Include PR + thanks, e.g.: `- <short change> (#<num>) — thanks @<author>`
- Commit + push changelog if it changed.
4) Lint
- Run repo linter/gate (prefer existing scripts; fix until green).
- If there’s no obvious lint target, search: `rg -n "lint|biome|eslint|swiftlint|ruff" package.json Makefile scripts -S`
5) Merge (then delete PR branch)
- Prefer rebase merge: `gh pr merge <PR> --rebase --delete-branch`
- If rebase is disallowed, fallback to repo preference (`--merge` or `--squash`).
6) Sync `main` + exit clean
- `git checkout main || git checkout "$(git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@')"`
- `git pull --ff-only`
- Verify merged: `gh pr view <PR> --json mergedAt,mergeCommit`
- `git status -sb` (clean) + ensure you’re on `main`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!