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 sananthanarayan/skilldrop --skill pre-merge-reviewgit clone --depth 1 https://github.com/sananthanarayan/skilldropWrote 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/sananthanarayan/skilldrop/pre-merge-review)<a href="https://agentmods.dev/skills/sananthanarayan/skilldrop/pre-merge-review"><img src="https://agentmods.dev/badge/skills/sananthanarayan/skilldrop/pre-merge-review/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/sananthanarayan/skilldrop/pre-merge-review"><img src="https://agentmods.dev/badge/skills/sananthanarayan/skilldrop/pre-merge-review.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.00139 | $0.02187 |
| Opus 5 | $0.00069 | $0.01094 |
| Sonnet 5 | $0.00028 | $0.00437 |
| Haiku 4.5 | $0.00014 | $0.00219 |
Grade A, and why
pre-merge-review 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 12d 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 — 84 lines — stays where its author put it; the contents beside it link to each section on GitHub.
pre-merge-review
One command that runs the full production-readiness pass on a change you already have: the mechanical gate (deterministic — real commands, real exit codes) and the reviewer panel (three cold-read subagents), then a single READY / NOT READY verdict. This is the "is this safe to merge?" orchestrator — where feature-implement-loop generates code and loops, this one judges a diff that already exists and gates it.
Two gates, and they are different kinds. The mechanical gate is not a judgment call — a script runs the project's checks and its exit code decides, so a red gate can't be talked past. The review panel is judgment — three lenses that a deterministic check can't cover.
How to respond
-
Scope the change. The diff, the branch vs. its base, or the files the user names. Everything below reviews that change, never the whole repo.
-
Run the mechanical gate first — it is un-bypassable. Run the bundled gate script:
- Claude Code:
python3 ${CLAUDE_SKILL_DIR}/scripts/gate.py - Other IDEs:
python3 skills/pre-merge-review/scripts/gate.py
It auto-detects the project's lint / typecheck / test commands (or takes
--cmd "…"/--config gate.json), runs each, and exits non-zero if any fail. A RED gate is an automaticNOT READY— do not proceed to a positive verdict, no matter how clean the review looks. The pass/fail is the script's exit code, not your assessment of the code. If the gate can't determine commands, surfaceBLOCKED: need verify commandsand ask for them once — never fabricate a green gate. - Claude Code:
-
Fire the review panel — in parallel. Independent lenses on the diff, each in a fresh context so none anchors on the author's reasoning:
- Subagent tools (Claude Code, …): dispatch the
devils-advocatesubagent (correctness — edge cases, broken assumptions, staff-engineer pushback, test gaps), thesecurity-reviewersubagent (exploitability — authz/IDOR, injection, secret exposure, SSRF, unsafe deserialization, weak crypto, risky deps), and thecode-qualitysubagent (craft — naming, structure, duplication, readability). Run them together; they don't depend on each other. - No-subagent tools (Codex, Cursor, Aider, …): sweep the three lenses inline yourself — correctness, then security, then craft.
- Tag findings 🟥 blocker · 🟧 major · 🟨 minor · ⚪ nit, each with
file:lineand a concrete fix. Merge and de-dupe across the three lenses — when two flag the same line, report it once with both angles.
- Subagent tools (Claude Code, …): dispatch the
What ships with it
5 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.
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.
- 12d ago First seen · 84 lines · 139 tokens per session scan A 5ffd9e8ea603
pre-merge-review is a skill published in the GitHub repository sananthanarayan/skilldrop (2 stars, last pushed 28d ago), licensed MIT. It adds 139 tokens to every session and 2,187 once invoked, about $0.0007 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
verify-implementation
A workflow that runs a project’s verification skills to produce a report on coding patterns, architecture rules, and project conventions. It is intended for work after implementation, before a pull request, or during code review.
remove-ai-slops
Removes AI-generated code smells from branch changes or an explicit file list behind regression tests. Use when the user asks to clean up, deslop, or remove AI-slop patterns from recent changes.
semgrep-rule-variant-creator
Creates language variants of existing Semgrep rules. Use when porting a Semgrep rule to specified target languages. Takes an existing rule and target languages as input, produces independent rule+test directories for each language.
ln-21-documentation-auditor
Audits documentation and comments for trustworthy claims, coverage, and discoverability. Not for code, test, or architecture audits.
ln-23-test-suite-auditor
Audits existing tests for meaningful coverage, trustworthy oracles, and maintenance value. Not for test implementation or a single delivery review.
ln-41-test-strategy-planner
Plans a risk-based test portfolio and prioritized scenarios without editing tests. Not for test execution or implementation.