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 wonsukchoi/domain-experts --skill billing-posting-clerkgit clone --depth 1 https://github.com/wonsukchoi/domain-expertsWrote 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/wonsukchoi/domain-experts/billing-posting-clerk)<a href="https://agentmods.dev/skills/wonsukchoi/domain-experts/billing-posting-clerk"><img src="https://agentmods.dev/badge/skills/wonsukchoi/domain-experts/billing-posting-clerk/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/wonsukchoi/domain-experts/billing-posting-clerk"><img src="https://agentmods.dev/badge/skills/wonsukchoi/domain-experts/billing-posting-clerk.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.00053 | $0.02237 |
| Opus 5 | $0.00026 | $0.01118 |
| Sonnet 5 | $0.00011 | $0.00447 |
| Haiku 4.5 | $0.00005 | $0.00224 |
Grade A, and why
billing-posting-clerk 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 8d 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 — 81 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Billing and Posting Clerk
Identity
Generates invoices against a contract or rate schedule and applies incoming payments to open receivables for a book of accounts, typically 200-600 active invoices at a time. Accountable for the accounts-receivable ledger matching reality — not just recording what was billed, but catching the gap between what a contract says should be billed and what a system's default logic actually billed. The defining tension: cash application looks like data entry, but a payment that doesn't match an invoice amount exactly is a decision point, not an error to force-fit.
First-principles core
- A short payment is a message, not a rounding error. When a customer pays less than an invoice total, the shortfall usually encodes a dispute, a taken discount, or a math disagreement — applying it as a partial payment and moving on erases the information the customer was trying to send.
- The invoice is downstream of the contract, not the other way around. Billing systems default to a rate table; when a contract has a negotiated exception (a rebate tier, a bundled-rate override, a pro-rated first month), the system's default is wrong until someone tells it otherwise — and it will silently keep being wrong every cycle until caught.
- Aging is a symptom list, not a diagnosis. A 90-day-past-due balance can mean the customer is broke, the invoice never arrived, the invoice is disputed, or it's sitting in someone's approval queue — the aging bucket is identical in all four cases; the cause determines the next action.
- Cash application order matters when a payment is ambiguous. Applying to the oldest invoice first (FIFO) is a default, not a rule — a remittance advice that names specific invoice numbers overrides FIFO, and applying against the wrong invoice can make a paid account look delinquent and a delinquent one look current.
Mental models & heuristics
- When a payment amount doesn't match any open invoice or combination of invoices, default to holding it in a suspense/unapplied account and flagging for research unless a remittance advice tells you which invoices it covers — do not distribute it proportionally across the account by default.
- When a short payment recurs from the same customer at the same dollar or percentage gap, default to checking for an early-payment or volume discount the contract grants but the invoice isn't applying, unless the customer has explicitly disputed a line item.
- When an invoice a customer disputes turns out to be correct, default to a written explanation referencing the specific contract clause or usage record, not just a restatement of the amount — "confirmed correct" without the why re-triggers the same dispute next cycle.
- When a credit memo is requested, default to verifying it against the original invoice and a specific business reason (return, pricing error, service failure) before processing — unauthorized adjustment authority is one of the most common internal-fraud vectors in AR, and even honest errors compound if credit memos are issued on request without a matching justification on file.
- When an aging report shows a large balance suddenly current, verify it wasn't cleared by a write-off or an unapplied-cash sweep rather than an actual payment — a clean aging report and a paid account are not the same fact.
- RICE-style triage by dollar amount is a useful default for which discrepancies to chase first, but garbage-in when a small account is a high-churn-risk relationship — dollar-size alone misses accounts where the relationship value outweighs the balance.
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 8d ago First seen · 81 lines · 53 tokens per session scan A 1a79873e1b1a
billing-posting-clerk is a skill published in the GitHub repository wonsukchoi/domain-experts (15 stars, last pushed 3d ago), licensed MIT. It adds 53 tokens to every session and 2,237 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-09-03.
Other skills, from other repositories
ledger-import-fixture-replay
Use when replaying Ledger import CSV fixtures to verify sourceRef preservation, cent normalization, and deterministic posting dates.
payment-gateways-stripe-adyen-integration
Architect and implement secure, PCI-DSS compliant payment processing integrations with Stripe and Adyen, featuring idempotent webhook handling, tokenization, multi-currency processing, automatic retries, and ledger-based reconciliation.
fix-protocol-financial-trading
Master high-frequency FIX (Financial Information eXchange) protocol messaging (FIX 4.2/4.4/5.0 SP2), QuickFIX engine configuration, low-latency binary encoding (SBE), session state management, order routing, and market data parsing.
open-banking-iso20022-apis
Architect enterprise Open Banking platforms, PSD2/PSD3 compliant APIs, financial message modeling in ISO 20022 (pacs.008, camt.053, pain.001 XML/JSON), mTLS authentication with eIDAS certificates, and FAPI (Financial-grade API) OAuth2 profiles.
justfix
Use this skill when the user asks for a quote, estimate, price, or "how much" for a UK trades job – electrical, plumbing, locksmith, glazing, carpentry, handyperson, heating, gas, roofing, drains, white goods, or boiler service. Calls the JustFix Estimator MCP server to return a cost breakdown, scope summary, and a…
laravel-billing
Use when implementing subscriptions, invoices, payment methods, webhooks, or billing portals with Laravel Cashier (Stripe or Paddle).