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.
npx agentmods add skills/tony/skills/pr-merge-commitnpx skills add tony/skills --skill pr-merge-commitgit clone --depth 1 https://github.com/tony/skillsWrote 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/skills/tony/skills/pr-merge-commit)<a href="https://agentmods.dev/skills/tony/skills/pr-merge-commit"><img src="https://agentmods.dev/badge/skills/tony/skills/pr-merge-commit.svg" alt="Measured on agentmods" 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 | $0.00016 | $0.01595 |
| Opus 5 | $0.00008 | $0.00797 |
| Sonnet 5 | $0.00003 | $0.00319 |
| Haiku 4.5 | $0.00002 | $0.00160 |
Grade A, and why
pr-merge-commit 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 4d 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 — 179 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Generate Merge Commit Message
Create a gold-standard merge commit message for the current branch. Merge commits are the user-facing, product-level summary that appears in git log --merges on the main branch.
Merge commit text is user-facing. Apply the Published-Release Test before adding rename history, ### Fixes for behavior that never shipped, or "no longer X" framing. See AGENTS.md § The Published-Release Test.
User hint: $ARGUMENTS
Context
Current branch — run this command and read the output:
git branch --show-current
Base branch detection — run this command and read the output:
git rev-parse --verify origin/main >/dev/null 2>&1 && echo main || echo master
Commits on this branch — run this command and read the output:
BASE=$(git rev-parse --verify origin/main >/dev/null 2>&1 && echo main || echo master); git log "origin/$BASE..HEAD" --oneline 2>/dev/null || echo "(no commits ahead of base)"
Files changed (stat) — run this command and read the output:
BASE=$(git rev-parse --verify origin/main >/dev/null 2>&1 && echo main || echo master); git diff "origin/$BASE...HEAD" --stat 2>/dev/null || echo "(no diff)"
Full diff — run this command and read the output:
BASE=$(git rev-parse --verify origin/main >/dev/null 2>&1 && echo main || echo master); git diff "origin/$BASE...HEAD" 2>/dev/null || echo "(no diff)"
Procedure
1. Analyze Changes
- Review the full diff and all commits on the branch — not just the latest
- Determine the nature: feature, bug fix, refactor, version bump, CI/infra, docs, breaking change, Python/runtime version drop, etc.
- Assess scope: is this a small targeted fix or a large multi-module change?
- Note any PR number visible in branch name or commits (e.g.,
feature-namewith PR#42) - Whole-branch perspective: describe the net shipped result — collapse fixup commits, reverts-then-re-adds, and WIP states. The merge commit is a product summary, not a commit diary.
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.
- 4d ago First seen · 179 lines · 16 tokens per session scan A aa67fd3d5153
pr-merge-commit is a skill published in the GitHub repository tony/skills (2 stars, last pushed 6d ago), licensed MIT. It adds 16 tokens to every session and 1,595 once invoked, about $0.0001 per session on Opus 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-31.
Other skills, from other repositories
commit-push-pr
Use when asked to ship/open a PR, or for PR-description-only flows like writing, rewriting, or describing a PR body.
commit
Use when a user asks to commit or save staged or unstaged changes, create a typed branch, or format history for changelog generation. Each logical concern is committed with a conventional-commits message carrying SemVer effect and issue-closing footers. Not for rewriting existing commit messages; use commit-economy.
git-branchless
Use when asked for multi-commit stack edits, rebases, fixups, or stacked-PR publishing with branchless git idioms and a publish gate. Not for plain-git workflows in repos without branchless; the skill stays inert there. Human-only.
commit-push-current
Commit working-tree changes and push to the current branch: no branch creation, no branch switch, no PR. Use when asked to push to the branch you are already on, including the default branch.
commit-push
Use when asked to ship/publish commits without opening a PR.
setup-pre-commit
Use when installing or repairing one repository-local pre-commit hook using the project's current gates, or when a repo needs package-manager-native commit-time checks. Extends existing hook tooling instead of duplicating it; JS uses Lefthook and Biome, Python/Rust/OCaml use prek. Not for remote or irreversible…