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 skills add ndisisnd/msg --skill mergegit clone --depth 1 https://github.com/ndisisnd/msgWrote 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/ndisisnd/msg/merge)<a href="https://agentmods.dev/skills/ndisisnd/msg/merge"><img src="https://agentmods.dev/badge/skills/ndisisnd/msg/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.
<a href="https://agentmods.dev/skills/ndisisnd/msg/merge"><img src="https://agentmods.dev/badge/skills/ndisisnd/msg/merge.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.00126 | $0.02775 |
| Opus 5.5 | $0.00050 | $0.01110 |
| Sonnet 5.5 | $0.00025 | $0.00555 |
| Haiku 4.5 | $0.00013 | $0.00278 |
Grade C, and why
merge scanned grade C with 1 finding 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 today.
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.
Tells the agent never to refusehighAnti-refusal
Suppressing the ability to decline removes a core safety control; a later harmful request then succeeds.
**once** (`AskUserQuestion`, header **PRD**, one option per PRD). Never refuse for a How it starts
The opening of the file, as written. The whole thing — 143 lines — stays where its author put it; the contents beside it link to each section on GitHub.
merge
The ship gate. Runs after /pre-merge passed on the feature branch and takes it the
rest of the way: it pushes the branch and opens the PR, then onto staging (tested by a
human), then onto main (production, confirmed). It is the only skill in the
harness that pushes a feature branch, opens a PR or merges — eng commits to feature
branches, pre-merge checks and fixes them on the machine. Nothing reaches main any
other way.
pre-merge (local pass) → merge --staging (push, PR feature→staging, CI, merge) → (human tests staging) → merge --production → (double-confirm) → PR staging→main → main (live)
pre-merge (local pass) → merge (direct flow: test script → one confirmation → push, PR feature→main, CI, merge) → main (live)
Usage
/merge— do the next step (§ Mode pick): the staging step when the current work has no staging sign-off, the production step when a signed-off build is on staging, and always the production step with no staging/merge --staging— override: push, open the feature→staging PR, merge on green CI, deploy + verify staging, emit a human test script, stamp the sign-off on approval (refs/staging.md)/merge --production— override: the confirmed release — PR toprod, merge, deploy, verify, tag (refs/production.md)/merge --production --version <x.y.z>— set the release version; it must be higher than the current one. Default: a minor bump from the lastv*tag on prod. The resolvedv<x.y.z>+<build>is shown in the confirm (refs/release-identity.md)/merge --update— re-check what changed since setup (protection, deploy and smoke tools, platforms and staging readiness, risky paths, CI wait limit; release flow is read and reported only), show the changes, ask one approval, savedevkit/policy.json; performs no merge, PR, or deploy (refs/protocol-init.md)- First run sets merge up by itself, then continues (§ Pre-flight)
- Progress messages are always on, every 5 minutes (
../shared/refs/status-heartbeat.md)
What ships with it
14 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- refs/deploy.md 4.7 KB
- refs/failed-ship.md 4.0 KB
- refs/human-test-script.md 5.3 KB
- refs/open-pr.md 7.8 KB
- refs/output-schema.md 13 KB
- refs/production.md 34 KB
- refs/protection.md 3.4 KB
- refs/protocol-init.md 19 KB
- refs/refusal-patterns.md 12 KB
- refs/release-identity.md 7.7 KB
- refs/sanctioned-writes.md 2.7 KB
- refs/staging.md 17 KB
- refs/submission.md 10 KB
- refs/verify-deploy.md 18 KB
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.
- today Changed · +42 lines · +32 tokens per session scan A → C 644a65ef2157
- 1mo ago First seen · 101 lines · 94 tokens per session scan A cc2f12d81301
merge is a skill published in the GitHub repository ndisisnd/msg (6 stars, last pushed yesterday), licensed MIT. It adds 126 tokens to every session and 2,775 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it C with 1 finding (tells the agent never to refuse). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
publish-vscode-extension
Publish a VS Code extension to the VS Code Marketplace and/or Open VSX Registry. Use when the user wants to publish, ship, or release a VS Code extension; audit or improve manifest, listing, or release setup; build or upload a .vsix; set up vsce or ovsx; create a marketplace publisher or Open VSX namespace; configure…
agent-github-modes
Agent skill for github-modes - invoke with $agent-github-modes.
release
Generic release assistant — analyzes repo release rules, caches them in .omc/RELEASERULE.md, then guides the release.
agent-framework-py-release
Use when cutting a Python release for the microsoft/agent-framework monorepo. Triggers on "bump py versions", "cut a python release", "prepare release PR for python", "release py packages", "bump python to X.Y.Z", or similar requests to bump Python package versions and prepare a release PR. Handles all four lifecycle…
release-notes
Create release notes for a new version tag. Gathers all commits, PRs, issues fixed, and breaking changes since a previous release. Creates the release notes markdown file, tags the repo, and pushes. Asks the user to confirm the base version to diff against.
create-milestone
Create a GitHub milestone for an upcoming release. Suggests the next version based on the latest release, gathers all merged PRs and closed issues since that release, presents a draft with two tables (Issues and PRs) for user approval, then creates the milestone and assigns all approved items.