Install any skill in seconds. Free to start, no credit card required.
Get Started Free →anthropics/tres-invoice-bill-matching
Match TRES ledger transactions to ERP invoices/bills (AP/AR) and optionally sync them to the connected ERP (Xero, QuickBooks Online, NetSuite).
Passed 12 of 19 test cases with the skill, and 6 of 19 without it.
and 7 more in the full report
10 fixed7 passed either way8 still failing2 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 10 test cases the skill fixed. Same model, same prompt, with and without the skill.
If a user requests to reverse a previously applied sub-transaction match in TRES, which MCP GraphQL mutation should be called?
| Checked | Without skill | With skill |
|---|---|---|
| Invokes manualUnmatchSubtransactions to undo the match. | Missed | Passed |
The instructions your model reads when the skill loads.
End-to-end workflow that lets the user close an open ERP invoice or bill against a blockchain transaction in the TRES ledger, then optionally push the matched entry to the connected ERP.
The flow is the same regardless of which side the user starts from (a transaction hash or an invoice/bill ID). The skill walks through seven conversational steps (verify ERP → identify input → fetch & suggest → user picks → configure payment account & fiat → confirm & apply → loop). Stay terse — show numbered options, capture the user's pick, move on. Never run a mutation without explicit "yes" from the user.
get_viewer and tell the user "You're connected to {orgName}."
This makes mistakes recoverable when someone has the wrong token.introspect(<TypeName>) or
build_query(<operationName>) and adjust — don't guess. Operations specifically called out as "verify at
runtime" below are the ones most likely to need this.Run:
query { integration(first: 50) { results { id integratedApp isErp connectionStatus companyName } } }
Filter the results where isErp == true and connectionStatus == "ACTIVE". The supported ERPs you should
recognize are Xero, QuickBooks Online (QBO), and NetSuite — integratedApp values are XERO,
QUICKBOOKS, and NETSUITE. (If you encounter unknown values, introspect("IntegrationsQueryNode") will
confirm the enum.) Ignore rows where integratedApp is empty — the API occasionally returns a null row.
test cases passed, vs 6 / 19 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.