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 RunButter/runbutter --skill contract-auditgit clone --depth 1 https://github.com/RunButter/runbutterWrote 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/runbutter/runbutter/contract-audit)<a href="https://agentmods.dev/skills/runbutter/runbutter/contract-audit"><img src="https://agentmods.dev/badge/skills/runbutter/runbutter/contract-audit/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/runbutter/runbutter/contract-audit"><img src="https://agentmods.dev/badge/skills/runbutter/runbutter/contract-audit.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.00055 | $0.00442 |
| Opus 5.5 | $0.00022 | $0.00177 |
| Sonnet 5.5 | $0.00011 | $0.00088 |
| Haiku 4.5 | $0.00006 | $0.00044 |
Grade A, and why
contract-audit 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 1mo 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.
What it actually says
Contract audit
The point of this
Files and the ledger are in the same database, so "which contracts auto-renew, for clients who owe us money" is one question rather than an afternoon. That join is the reason to use these tools rather than reading PDFs by hand.
Search
search_files runs full-text search and returns snippets with the matched terms
delimited by «». get_file_text returns a whole document when you need
surrounding context; list_files shows what exists.
Check the warning search_files returns. If nothing is indexed, an empty
result means nothing was searched — not that the clause is absent. Reporting "no
auto-renewal clauses found" from an empty index is a false negative on exactly
the question that was asked. Say the index is empty instead.
Extraction can also be marked skipped, with a reason: a scanned PDF with no
text layer has no words to find. Those files are invisible to search and must be
named as unread, not silently omitted.
Search terms
Search for the language, not the concept. "Auto-renewal" appears as renew, renewal term, evergreen, unless terminated, automatically extend. Run several searches and merge.
Cross-reference
Once you have the contracts, list_records on invoices and get_record on each
client turns a list of clauses into a decision: a renewal in six weeks for a
client with an overdue balance is the one that needs attention this week.
Quote, do not summarise
Give the clause text and the file it came from. A summary of a liability cap is not something anyone can act on, and this is the kind of question where being approximately right is being wrong.
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.
- 1mo ago First seen · 46 lines · 55 tokens per session scan A 54bbda4b8e8b
contract-audit is a skill published in the GitHub repository RunButter/runbutter (2 stars, last pushed 9d ago), licensed MIT. It adds 55 tokens to every session and 442 once invoked, about $0.0002 per session on Opus 5.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
tuturuuu-cli-finance
Read or mutate Tuturuuu finance records through ttr finance.
prepayment-check
A prepayment check for a company or other business partner using its tax identification number. It examines bankruptcy, court cases, licences, registration status, and the person signing the contract.
check-company
A company-checking workflow for Russian businesses using their tax or registration number. It gathers a brief report, financial statements, bankruptcy records, and court cases.
frihet-mcp
Manage a connected Frihet ERP workspace: invoices, quotes, expenses, clients, products and other available business operations. Use for Frihet requests, facturas, presupuestos, gastos, cobros, overdue invoices, monthly review or revisión mensual. Reads current tool schemas before acting, separates currencies and…
documentos
Prepare invoices and quotes for a connected Frihet workspace. Use for preparar factura, presupuesto, invoice draft, quote or quote conversion. Resolves missing client, currency and tax data before an authorized draft creation. Also use for invoice recovery after timeout, lost response or resultado desconocido al crear.
gastos
Review and record expenses and vendors in Frihet. Use for registrar gasto, revisar gastos, proveedores, gastos duplicados, expense entry or supplier review. Distinguishes a proposed expense from an authorized saved record.