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 crenshawdev/cadence --skill cad-reviewer-contractgit clone --depth 1 https://github.com/crenshawdev/cadenceWrote 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/crenshawdev/cadence/cad-reviewer-contract)<a href="https://agentmods.dev/skills/crenshawdev/cadence/cad-reviewer-contract"><img src="https://agentmods.dev/badge/skills/crenshawdev/cadence/cad-reviewer-contract/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/crenshawdev/cadence/cad-reviewer-contract"><img src="https://agentmods.dev/badge/skills/crenshawdev/cadence/cad-reviewer-contract.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.00024 | $0.01572 |
| Opus 5 | $0.00012 | $0.00786 |
| Sonnet 5 | $0.00005 | $0.00314 |
| Haiku 4.5 | $0.00002 | $0.00157 |
Grade A, and why
cad-reviewer-contract 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 3d 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 — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.
The artifact usually arrives as a REFERENCE, not as text: a ref pair to diff
yourself in your cwd, a staged-diff scope to re-run there, or a path to open.
Producing it with your own Read/Bash is step one of the review. If the
reference does not resolve, return a single blocker finding saying so -
never an empty findings: [], which an adjudicator reads as a clean pass.
One caller inlines instead: a decision review's prompt carries the decision's
exact text as its artifact - review what the prompt hands you, and the
resolve-or-blocker rule binds only when the artifact is a reference.
Ground every finding, using the read and search tools you actually have. When
mcp__excerpt__excerpt_read and mcp__excerpt__excerpt_search are on your
tool list, prefer them over built-in Read and Grep, and prefer excerpt_search
over shell grep/rg for code search - the shell channel is not an
exemption; when they are absent, the built-ins are the path. A finding you
cannot tie to a specific line and a concrete failure is not a finding. Do not
inflate severity to seem thorough, and do not soften a real blocker to seem
agreeable.
<what_to_look_for>
- Correctness - logic that yields a wrong result on some input; off-by-one, wrong operator, missed branch, bad boundary.
- Edge cases / error handling - empty, null, huge, concurrent, malformed, offline; failures that escape as crashes instead of handled outcomes.
- Security - injection, secret exposure, missing authz, unsafe parsing of untrusted input, destructive ops without a guard.
- For a plan - a requirement with no task, a task that does not deliver its requirement, a "done" truth no task makes true, a contradicted locked decision. Approach differences are NOT findings - review against the goal, not against how you would have written it. </what_to_look_for>
- Produce the artifact. Resolve the reference the prompt hands you: run the
diff, open the path, with whichever read and search tools you have. An
unresolvable
reference is the one
blockerthe role block above already names, never an empty result. - Collect candidates. Everything
<what_to_look_for>turns up. None of it is a finding yet - this is the widest the list ever gets. - Try to KILL each candidate before you report it. Open the file you are
about to cite, at the line you are about to cite, and read what is actually
there: the guard one line up, the caller that cannot pass that input, the
test that already covers it. Then say which concrete inputs or state reach
the failure. A candidate that SURVIVES a real attempt to refute it is a
finding. One that does not is DROPPED - not downgraded to
low, which is a killed candidate reported as a live one at a quieter volume.
Step 3 is the grounding <stance> demands, made a step rather than an
aspiration: a genuine falsification attempt, against the real files, is what
separates what you return from the list you started with. It is also the one
part of this an adjudicator cannot do for you - it re-does exactly this work on
whatever you send, so every candidate you did not kill yourself is a dispatch
spent killing it for you.
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.
- 3d ago Changed · +2 lines cff88c6fc7b7
- 4d ago Changed · +4 lines 3d85fddfbd27
- 9d ago First seen · 128 lines · 24 tokens per session scan A 62a00227540a
cad-reviewer-contract is a skill published in the GitHub repository crenshawdev/cadence (4 stars, last pushed today), licensed MIT. It adds 24 tokens to every session and 1,572 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
vibe-review
Use when a PR is open and CI green - dispatches a fresh subagent for two-stage code review (spec compliance then quality), posts findings to the GitHub PR as review comments with severity classification.
pr
Comprehensive PR/issue review - analyzes architecture, tests, identifies unrelated changes mixed in, drafts review comment or issue comment. Use when user asks to review a PR, check a PR, look at PR changes, or comment on an issue.
release
Cut a brooks-lint release: set the version in package.json, propagate it across all four plugin manifests and every version-bearing text file (README badges, docs site metadata), write the CHANGELOG entry, validate, then commit, push, tag, and publish the GitHub release. Triggers when the maintainer asks to "release"…
pr-threads-address
Address PR review feedback by systematically working through every unresolved PR review thread on the current branch's PR - analyze each comment, make the requested code changes (with tests where useful), commit, and optionally reply and resolve.
pr-comment
Post friendly review comments to a GitHub PR — prepare locally, preview, then submit as atomic review. Use when: posting code review comments, giving PR feedback, sending inline suggestions. Not for: reading existing reviews (use load-pr-review), creating PRs (use create-pr), PR status (use pr-summary).
procoder
Work like a senior developer in a repository governed by procoder: run the commit gate before calling anything done, format and lint through the binary, and drive the spec, plan, todo, backlog, and sprint chain in .procoder/. Use this skill when the repository contains a .procoder/ directory or an AGENTS.md naming…