Borrowing it
Nothing to install: this file belongs to xiaolai/vmark. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/xiaolai/vmark/main/.claude/commands/merge-prs.mdgit clone --depth 1 https://github.com/xiaolai/vmarkWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/xiaolai/vmark/merge-prs)<a href="https://agentmods.dev/commands/xiaolai/vmark/merge-prs"><img src="https://agentmods.dev/badge/commands/xiaolai/vmark/merge-prs/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/xiaolai/vmark/merge-prs"><img src="https://agentmods.dev/badge/commands/xiaolai/vmark/merge-prs.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00015 | $0.01096 |
| Opus 5.5 | $0.00006 | $0.00438 |
| Sonnet 5.5 | $0.00003 | $0.00219 |
| Haiku 4.5 | $0.00002 | $0.00110 |
Grade A, and why
merge-prs scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 154 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Merge PRs
Safely review and merge open pull requests. Sequential processing with rebase handling between merges.
Input
$ARGUMENTS
Phase 1: Discover PRs
Parse $ARGUMENTS to determine which PRs to process:
| Input | Scope |
|---|---|
#12 #34 #56 |
Specific PR numbers |
--mine |
All open PRs authored by current user |
--pattern fix/issue-* |
PRs whose head branch matches the glob |
| (empty) | Same as --mine |
Fetch PR details:
gh pr list --author @me --state open --json number,title,headRefName,statusCheckRollup,reviewDecision,mergeable
If no open PRs found: report "No open PRs to process" and STOP.
Phase 2: Pre-merge Review
For each PR, collect and display a status table:
| # | Title | Branch | Checks | Mergeable | Action |
|---|-------|--------|--------|-----------|--------|
| 12 | fix: resolve X (fixes #123) | fix/issue-123-slug | ✅ pass | ✅ yes | Ready |
| 34 | feat: add Y (fixes #456) | feat/issue-456-slug | ❌ fail | ✅ yes | Blocked |
| 56 | fix: handle Z (fixes #789) | fix/issue-789-slug | ✅ pass | ⚠️ conflict | Needs rebase |
Status checks
For each PR:
gh pr checks {N}
Classification
| Checks | Mergeable | Status |
|---|---|---|
| Pass | Yes | Ready — can merge |
| Fail | Any | Blocked — checks must pass first |
| Pass | Conflict | Needs rebase — will rebase before merge |
| Pending | Any | Waiting — checks still running |
Present the table to the user and ask for confirmation before proceeding.
Options to offer:
- Merge all ready PRs (skip blocked/waiting)
- Merge specific PRs by number
- Cancel
Phase 3: Sequential Merge
Process PRs one at a time in the order confirmed by the user.
For each PR:
3a. Final check
gh pr view {N} --json mergeable,statusCheckRollup,mergeStateStatus
- If checks failed since Phase 2: skip, report, continue to next.
- If conflict detected: attempt rebase (Phase 3b).
3b. Rebase if needed
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 154 lines · 15 tokens per session scan A 3f1e1de414cf
merge-prs is a command published in the GitHub repository xiaolai/vmark (878 stars, last pushed yesterday), licensed ISC. It adds 15 tokens to every session and 1,096 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
speckit.spex.submit
Push and create PR for team review, with optional watch mode for CI monitoring.
git
The pre-finish status: branch, hygiene findings, message checks, workflow lint, template state.
merge-conflict-analysis
You are analyzing merge conflicts for PR #${{ pr-number }}.
factory
Linha de montagem multi-agente (Software Factory) — spec-writer → builder em worktree isolado → 4 revisores paralelos (Security, Code, UI, UX) → approver com gate de risco e dashboard visual.
repo-audit
Audit a codebase (local or remote GitHub/GitLab) against architecture principles and requirements, surfacing drift, risk, and missing decisions.
release-tag
Create and push a version tag after a release PR has been merged.