merge

merge is a skill for Claude Code from mikestankavich/claude-ship-workflow. It costs 0 tokens per session (4,621 once invoked), scanned A, original, MIT.

Instructions for merging a reviewed pull request, which is a proposed set of changes awaiting approval in Git.

In plain words
What is it for?
Use them to identify the current branch’s pull request, verify approval, watch CI checks, and merge only when conditions pass.
Why use it?
They prevent accidental merges by checking the correct pull request, explicit human approval, and automated checks.

Skill for Claude Code

Written for Claude Code: argument-hint in frontmatter.

Part of the csw plugin — 5 skills shipped together

Good fit Use them to identify the current branch’s pull request, verify approval, watch CI checks, and merge only when conditions pass.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/mikestankavich/claude-ship-workflow/merge
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add mikestankavich/claude-ship-workflow --skill merge
Clone the repo
git clone --depth 1 https://github.com/mikestankavich/claude-ship-workflow

Made for: Claude Code.

Or install csw, the plugin that ships this one along with the rest of its 5 skills.

Wrote 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.

agentmods badge for merge

README.md
[![agentmods](https://agentmods.dev/badge/skills/mikestankavich/claude-ship-workflow/merge/github.svg)](https://agentmods.dev/skills/mikestankavich/claude-ship-workflow/merge)
Your own site
<a href="https://agentmods.dev/skills/mikestankavich/claude-ship-workflow/merge"><img src="https://agentmods.dev/badge/skills/mikestankavich/claude-ship-workflow/merge/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.

agentmods 80×15 button for merge

Your own site · 80×15
<a href="https://agentmods.dev/skills/mikestankavich/claude-ship-workflow/merge"><img src="https://agentmods.dev/badge/skills/mikestankavich/claude-ship-workflow/merge.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 0 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,621 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00000 $0.04621
Opus 5 $0.00000 $0.02311
Sonnet 5 $0.00000 $0.00924
Haiku 4.5 $0.00000 $0.00462

Measured 2d ago against content hash 871d3cc313cd, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

merge 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 2d 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.

skills/merge/SKILL.md · 368 lines

How it starts

The opening of the file, as written. The whole thing — 368 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Merge a reviewed pull request

Announce at start: "Using csw:merge to land PR #." Where the invocation carried an editorial rider — Step 1 — echo it verbatim on that same line: — rider: "<what they wrote>".

Step 1: Resolve the PR

The invocation optionally carries one reference. Bare /csw:merge is unchanged — it means the pull request for the current branch:

gh pr view --json number,title,url,isDraft,mergeable,mergeStateStatus,baseRefName,headRefName

/csw:merge <ref> names the pull request, and the reference is not decorative. Resolve it. Never fall through to the current branch's PR because the reference was harder to read than gh pr view with no argument.

  • A prefixed referenceENG-92 — is a ticket. Resolve it to the PR that closes it, below.

  • A bare number, or #92, on tracker: github is either an issue or a pull request. GitHub numbers both out of one sequence per repository, so the number is never ambiguous about which object it names — but you have to ask, and you have to ask about the PR:

    gh pr view 92 --json number,title,url,isDraft,mergeable,mergeStateStatus,baseRefName,headRefName
    

    It resolves, and 92 is the pull request. It fails with Could not resolve to a PullRequest with the number of 92, and 92 is an issue — resolve it to its PR below.

    Do not run gh issue view to make this decision. GitHub models a pull request as a kind of issue, so gh issue view <n> on a PR number succeeds and hands back the PR. Every number looks like an issue to it, which is why the discriminating question is the one asked above.

  • A bare number on any other tracker is a PR number. There every ticket reference carries a prefix, so a bare number has nothing else it could mean.

Ticket to pull request

gh issue view <n> --json closedByPullRequestsReferences

That field only sees pull requests linked by a closing keyword. csw:work writes Closes <TICKET> or Refs <TICKET>, and a Refs body links nothing at all — so an empty result is not yet an answer. Search before concluding there is no PR:

Read the full file on GitHub · 368 lines

Changes

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.

  1. 2d ago Changed · +250 lines 871d3cc313cd
  2. 10d ago First seen · 118 lines · 0 tokens per session scan A bf558ad7e2f8

Subscribe to this mod's changes

merge is a skill published in the GitHub repository mikestankavich/claude-ship-workflow (3 stars, last pushed 2d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 4,621 tokens. 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-31.

Related

Other skills, from other repositories

daily-working

End-to-end pipeline: pull a task from the project's task tracker by ID (Redmine or GitHub Issues today, more addable via a new adapter), sanity-check and impact-assess it against the codebase before touching anything, implement it with the Claude CLI, verify the result in a real browser via the Claude Chrome extension…

tms-tungnguyen3/daily_working · 98 tokens

sync-claude-md

Sync project CLAUDE.md with codebase evolution, using git history since the file last changed to motivate every proposed update.

bengous/claude-code-plugins · 30 tokens

linear-flow

Migrate a repo to the dev-trunk/main-release fast-forward model (no merge commits) and load its doctrine. One-shot setup; day-to-day rules live in each repo's CLAUDE.md afterwards.

bengous/claude-code-plugins · 46 tokens

pr-review

Comprehensive code review for pull requests using parallel multi-agent analysis. Audits CLAUDE.md compliance, checks for bugs, analyzes git history, reviews comments, and filters by confidence score. Use when reviewing a GitHub PR, mentions "code review", "review this PR", or "/code-review".

saitarrun/Devforge-ai · 64 tokens

repos

The governed-repo fleet verbs (/foundry:repos ) over the repos{} registry — clone the not-cloned, fetch the matching, report the rest; never confused with /foundry:fleet, the SESSION ROSTER (one row per active Claude Code session, no repository governed at all). Trigger to bring a fresh clone of the workspace up to…

lukasrepublic/agentic-foundry · 107 tokens

await-merge

Wait for a PR's checks, merge it with linear history, update the local base branch.

bengous/claude-code-plugins · 23 tokens