pr-shepherd
Takes a finished eve branch from review to merge.
Skill by vercelOfficial
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/vercel-pr-shepherd
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/pr-shepherd
What's inside
- Skill name
pr-shepherd- Description
- Takes a finished eve branch from review to merge. Opens the PR early, runs a fresh-context reviewer subagent, fixes critical findings, addresses, replies to, and resolves review comments, pushes, monitors CI (rerunning flaky jobs or fixing real failures), then squash-merges or enables auto-merge. Use after the initial implementation is complete, or when asked to open, babysit, land, or "get a PR green".
- License
- Apache-2.0
- Metadata
- internal: true
- Instructions
- 241 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# PR shepherd
Start after the first implementation is complete and checked locally. Finish
when the PR has no unresolved review threads, no unanswered comments, and green
CI on the latest head commit, and it is merged or set to auto-merge.
Open the PR first. Review bots and teammates comment while the rest of the work
runs, so an early PR gets more feedback in each round.
## 1. Open the PR
1. Make sure the branch is committed with `git commit -s` and that commits are
signed (see [`AGENTS.md`](../../../AGENTS.md)). Add a changeset if the change
touches the published `eve` package.
2. Run the fast checks from `AGENTS.md`: `pnpm fmt`, `pnpm lint`,
`pnpm typecheck`, plus the narrowest relevant unit tests.
3. Push the branch, then open the PR. Use the
[`gh-pr-description`](../gh-pr-description/SKILL.md) skill for the body and
pass it with `--body-file`. Open it ready for review, not as a draft, unless
the user asks for a draft.
4. Record the PR number. Every later step uses it.
If a PR already exists for the branch (`gh pr view --json number,url`), reuse it.
## 2. Fresh-context review
Spawn one reviewer subagent with no conversation history. Give it the PR number
and the branch, not your reasoning. A fresh reviewer catches what the author
explains away. Use a prompt like this one:
> Review PR #<n> in this repository (`gh pr view <n>`, `gh pr diff <n>`). Read
> `AGENTS.md` first and apply its coding, security, testing, docs, and changeset
> rules. Read surrounding code as needed to verify behavior. Do not edit files.
> Report findings ordered by severity (critical, important, minor). For each
> finding, give the file and line, the concrete failure or risk, and a suggested
> fix. Say plainly when you find nothing critical.
While the reviewer runs, you can already collect PR comments (step 3).
Triage the findings yourself. Verify each one against the code before you act.
- Fix: correctness bugs, races, security or data-loss risks, broken public
behavior or docs, missing tests for changed behavior, a missing changeset,
and invariant violations.
- Skip: style nits, speculative refactors, and scope creep. Mention notable
skipped items to the user in the final report.
## 3. Address PR comments
Collect all feedback.
Unresolved inline review threads, with the IDs you need to reply and resolve:
```sh
gh api graphql -F owner='{owner}' -F repo='{repo}' -F number=<n> -f query='
query($owner: String!, $repo: String!, $number: Int!) {
repository(owner: $owner, name: $repo) {
pullRequest(number: $number) {
reviewThreads(first: 100) {
nodes {
id isResolved isOutdated path line
comments(first: 50) { nodes { author { login } body url } }
}
}
}
}
}' --jq '.data.repository.pullRequest.reviewThreads.nodes[] | select(.isResolved | not)'
```
Top-level comments and review summaries (these cannot be resolved):
```sh
gh pr view <n> --json comments,reviews \
--jq '.comments[], .reviews[] | select(.body != "") | {author: .author.login, body}'
```
Expect two review bots:
- `roboeve[bot]` reviews once, on the commit that opened the PR, usually within
2–15 minutes. It does not review later pushes.
- Vercel Agent Review (`vercel[bot]`) runs as a check on every push and can post
new threads on later commits. It re-checks its own threads after a fix and
resolves them itself, so skip threads it already resolved.
Ignore informational bot posts such as Vercel deployment and bundle analysis
comments, unless they report a problem this PR caused.
For each thread, decide: fix, decline with a reason, or defer to a follow-up.
Apply the same triage bar as step 2. Bot suggestions get the same scrutiny as
human ones; confirm the problem is real before you change code. If a comment
needs a product or design decision only the user can make, ask the user.
## 4. Commit, push, reply, resolve
1. Combine the fixes from steps 2 and 3. Rerun the fast checks and the
narrowest tests that cover the fixes.
2. Commit with `git commit -s` and push. Add new commits instead of amending or
force-pushing, so reply SHAs stay valid. PRs are squash-merged and `main`
does not require branches to be up to date, so do not rebase only to catch
up. If `gh pr view <n> --json mergeable` reports `CONFLICTING`, merge
`origin/main` into the branch with `git merge --signoff origin/main`. Rebase
or force-push only when the user asks or to repair signing or DCO.
3. If the fixes changed behavior that the PR body describes, update the body
with `gh-pr-description`.
4. Reply in each thread after the fix is on the remote. Keep replies short and
specific, in the style already used on eve PRs:
- `Fixed in <sha>. <What changed, in one or two sentences.>`
- `Not changing this: <reason grounded in the code or a repo rule>.`
- `Agreed, this is a real gap. Tracking it in a follow-up: <scope>.`
Reply by thread ID. The REST replies endpoint accepts only a thread's first
comment, so it fails on later rounds.
```sh
gh api graphql -f id='<thread id>' -f body='Fixed in abc1234. ...' -f query='
mutation($id: ID!, $body: String!) { addPullRequestReviewThreadReply(input: { pullRequestReviewThreadId: $id, body: $body }) { comment { url } } }'
```
5. Resolve threads that are fixed and pushed. Also resolve bot threads thatFrom vercel/eve, Apache-2.0.
More from vercel/eve
- 0.625score
technical-writing
vercelOfficial
Write, edit, review, or audit user-facing documentation for the eve repository.
SkillAFreshness: A★ 5.7KClaude Code +9 - 0.620score
eve
vercelOfficial
Build durable backend AI agents with the eve framework.
SkillAFreshness: A★ 5.7KClaude Code +9 - 0.620score
gh-pr-description
vercelOfficial
Drafts and reviews GitHub pull request descriptions for the eve repository.
SkillAFreshness: A★ 5.7KClaude Code +9 - 0.618score
lookup-agent-run
vercelOfficial
Find an eve Agent Run from a run ID, project, request reference, or approximate time using authorized evidence available to the consumer.
SkillAFreshness: A★ 5.7KClaude Code +9 - 0.615score
kennel-handbook
vercelOfficial
Front-desk handbook for the Maple Street kennel, with its reference files.
SkillAFreshness: A★ 5.7KClaude Code +9 - 0.615score
investigate
vercelOfficial
Investigate a specific issue report with strict, evidence-driven diagnosis.
SkillAFreshness: A★ 5.7KClaude Code +9 - 0.614score
review
vercelOfficial
Comprehensive security and correctness audit.
SkillAFreshness: A★ 5.7KClaude Code +9 - 0.612score
pdf-forms
vercelOfficial
Fill and validate the billing desk's PDF forms, such as refund authorizations.
SkillAFreshness: A★ 5.7KClaude Code +9 - 0.612score
toolkit-guide
vercelOfficial
How to triage an account and verify packaged skill resources with the toolkit CRM extension.
SkillAFreshness: A★ 5.7KClaude Code +9 - 0.605score
support__escalation-policy
vercelOfficial
When and how to escalate a support case to engineering.
SkillAFreshness: A★ 5.7KClaude Code +9 - 0.605score
local-guide
vercelOfficial
The consuming agent's own guide skill.
SkillAFreshness: A★ 5.7KClaude Code +9 - 0.593score
test-audit
vercelOfficial
Invoke whenever writing, changing, reviewing, or sweeping tests in the eve repository.
SkillAFreshness: A★ 5.7KClaude Code +9
Signals
- Stars
- 5,665
- Forks
- 627
- Open issues
- 288
- Last commit (this folder)
- Oct 19, 2026 (9 days ago)
- Last release
- Oct 23, 2026 (6 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/vercel/eve
- Website
- eve.dev
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from vercel
- 0.636score
add-harness-package
vercelOfficial
Guide for adding new AI SDK harness packages.
SkillAFreshness: A★ 27.5KClaude Code +9 - 0.636score
adr-skill
vercelOfficial
Create and maintain Architecture Decision Records (ADRs) optimized for agentic coding workflows.
SkillAFreshness: A★ 27.5KClaude Code +9 - 0.636score
list-npm-package-content
vercelOfficial
List the contents of an npm package tarball before publishing.
SkillAFreshness: A★ 27.5KClaude Code +9 - 0.632score
develop-ai-functions-example
vercelOfficial
Develop examples for AI SDK functions.
SkillAFreshness: A★ 27.5KClaude Code +9 - 0.632score
major-version-mode
vercelOfficial
Context for working on the next AI SDK major release.
SkillAFreshness: A★ 27.5KClaude Code +9 - 0.632score
migrate-ai-sdk-v6-to-v7
vercelOfficial
Migrate applications from AI SDK 6.x to AI SDK 7.0.
SkillAFreshness: A★ 27.5KClaude Code +9
Cite this page
pr-shepherd skill. Agent Mart. https://agentmart.dev/skills/vercel-pr-shepherd (last updated 2026-10-24)