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 ethan-haas/docverify-mcp --skill tie-out-reviewgit clone --depth 1 https://github.com/ethan-haas/docverify-mcpWrote 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/ethan-haas/docverify-mcp/tie-out-review)<a href="https://agentmods.dev/skills/ethan-haas/docverify-mcp/tie-out-review"><img src="https://agentmods.dev/badge/skills/ethan-haas/docverify-mcp/tie-out-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/ethan-haas/docverify-mcp/tie-out-review"><img src="https://agentmods.dev/badge/skills/ethan-haas/docverify-mcp/tie-out-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.00062 | $0.01033 |
| Opus 5 | $0.00031 | $0.00517 |
| Sonnet 5 | $0.00012 | $0.00207 |
| Haiku 4.5 | $0.00006 | $0.00103 |
Grade A, and why
tie-out-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 10d 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 — 82 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Tie-out review
The docverify MCP server extracts a Combined Statement of Receipts, Disbursements and Changes in Fund Balances and verifies it before it will hand over any figures.
The one rule
Never state a figure that did not arrive under verified: true.
extract_statement returns one of two shapes:
verified |
shape |
|---|---|
true |
has line_items. Those figures passed every check. Quote them. |
false |
has no line_items key at all. There is nothing to quote. |
On a refusal, do not reconstruct a figure from the arithmetic in failed_checks, do not
estimate it, and do not carry a number forward from an earlier message. The numbers inside
a refusal are operands of a check that did not tie out. They are evidence of a problem,
not an answer. Say what failed and by how much, and stop.
Do not go looking for the figure in another tool. When a document fails, the server
withholds it everywhere — verify_totals marks the passing checks disclosed: false with
no operands, and explain_exception on a passing check returns no explanation key. That
is deliberate, not a bug to work around. A check that passed inside a failed document
proves internal consistency of one subset; it does not prove the figure.
verified: true is a claim about provenance, not just arithmetic
Only extract_statement(path=<report.pdf>) can return verified: true, and it means: the
server read these figures out of the document itself and proved them.
verify_totals answers a different question — is this arithmetic self-consistent? — for
numbers you supply or a .json file you name. Its payload says so: checks_pass rather
than verified, and claim.kind == "arithmetic_only". Never describe that result as
verified, extracted, or confirmed. Say "the numbers you gave me are internally consistent"
and name the source as the caller's, because a statement with a row deleted and its totals
rebalanced ties out perfectly.
Order of work
extract_statement(path)— always first, and always with the PDF. It does not take a pre-extracted.json.- If
verified: true, report the figures and say how many checks passed (verification.checks_run) and thatcoverage.completeis true. The check count and the coverage are part of the answer. - If
verified: false:- name every id in
refusal.failed_check_ids - for each, call
explain_exception(check_id)and report the two numbers that disagreed, the difference, and the page each came from - read
refusal.verdict_reasons: a document can also fail because zero checks ran, or because a line item was covered by no check at all. Say which. - state plainly that no figures are available for this document
- name every id in
verify_totals(path)when asked how something was proven. It shows the arithmetic for every check it is entitled to disclose. Be precise about what that means: a check'soperandsare line items, so on a document that verified it does return the figures — and on one that failed it returns only the failing checks' arithmetic. Check thedisclosureblock before you describe what you are looking at.
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.
- 10d ago First seen · 82 lines · 62 tokens per session scan A 5eb47db7ca8f
tie-out-review is a skill published in the GitHub repository ethan-haas/docverify-mcp (0 stars, last pushed 1mo ago), licensed MIT. It adds 62 tokens to every session and 1,033 once invoked, about $0.0003 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
dcf-model
Build discounted cash flow valuation workbooks in Excel.
comps-analysis
Build comparable-company valuation workbooks in Excel.
lbo-model
This skill should be used when completing LBO (Leveraged Buyout) model templates in Excel for private equity transactions, deal materials, or investment committee presentations. The skill fills in formulas, validates calculations, and ensures professional formatting standards that adapt to any template structure.
pitch-deck
Populates investment banking pitch deck templates with data from source files. Use when: user provides a PowerPoint template to fill in, user has source data (Excel/CSV) to populate into slides, user mentions populating or filling a pitch deck template, or user needs to transfer data into existing slide layouts. Not…
investor-materials
Create and update pitch decks, one-pagers, investor memos, accelerator applications, financial models, and fundraising materials. Use when the user needs investor-facing documents, projections, use-of-funds tables, milestone plans, or materials that must stay internally consistent across multiple fundraising assets.
audit-xls
Audit a spreadsheet for formula accuracy, errors, and common mistakes. Scopes to a selected range, a single sheet, or the entire model (including financial-model integrity checks like BS balance, cash tie-out, and logic sanity). Triggers on "audit this sheet", "check my formulas", "find formula errors", "QA this…