Claude Code Plugins

Community-maintained marketplace

Feedback

Land one PR end-to-end (changelog + thanks, lint, merge, back to main).

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

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.

  1. 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>
  1. 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
  1. 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.
  1. 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
  1. 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).
  1. 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.