Settle invoice
the governed runtime for agent skill workflows, off the leash but on the record
npx -y skills add runxhq/runx --skill settle-invoiceAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Validate one invoice against a real payment authority and prepare an executable canonical spend handoff without moving money.
SKILL.md
3.0 KB, as published. Nobody here has run it
Settle Invoice
Prepare one invoice for the canonical spend lane. The native
payment.invoice_plan tool validates the invoice, payee identity, selected
rail, profile, idempotency seed, and complete parent payment AuthorityTerm.
Use this skill when an invoice is the source business document and the operator
needs to know whether it can be represented as one exact governed payment. It
keeps invoice validation separate from money movement: a ready result is a
reviewable spend handoff, not a paid invoice. Use spend directly when the
payment signal is already structured and validated.
This skill plans only. It never approves a spend, contacts a provider, moves
money, or claims settlement. A ready plan has provider_effect.status: not_started and money_moved: false.
Contract
- Amounts are positive integer minor units and currency is uppercase ISO 4217.
- The payee has
name,party_ref, and exactly one opaquesettlement_refor SHA-256settlement_digest. Raw account and routing fields are refused. parent_payment_authorityis a full typed term. Native quote validation requires bounded per-call and aggregate limits, the selected rail, realm, payee,invoice.settleoperation, and single-use capability authority.- Supported executable handoff rails are
mock,mpp, andstripe-spt, matching actualspendrunners. Unsupported rails returnblocked; the skill never labels an unavailable ACH or x402 path ready. rail_profile_refandidempotency_seedare explicit and pass unchanged. Hostedpayment_admissionand realm pass through only when supplied.
A ready_for_spend plan names skill: spend, the executable runner, and
the exact validated inputs. A blocked plan has no downstream handoff and lists
the failed bounds. Approval and rail evidence belong to downstream spend.
Stop conditions
- Block missing invoice identity, non-positive or non-integer minor units, malformed currency, or ambiguous payee identity.
- Refuse raw bank-account or routing material; accept only an opaque settlement ref or stable settlement digest.
- Block an unsupported rail or any invoice outside the parent authority's amount, currency, counterparty, operation, realm, or aggregate bounds.
- Do not interpret an existing approval note as downstream spend approval.
- Preserve the same profile and idempotency seed in the handoff; do not silently regenerate them.
Example
An invoice for 25000 AUD identifies a supplier by party ref and opaque Stripe
settlement ref. If the parent authority permits that supplier, currency,
invoice.settle operation, rail, and ceiling, the skill returns the exact
spend:stripe-spt inputs. If the invoice requests ACH—which no canonical runner
supports—the result is blocked rather than a vague “ready” plan. In both cases,
no payment has occurred.