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 agentmods add skills/wellapp-ai/well/ar-agingnpx skills add WellApp-ai/Well --skill ar-aginggit clone --depth 1 https://github.com/WellApp-ai/WellWrote 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/wellapp-ai/well/ar-aging)<a href="https://agentmods.dev/skills/wellapp-ai/well/ar-aging"><img src="https://agentmods.dev/badge/skills/wellapp-ai/well/ar-aging.svg" alt="Measured on agentmods" 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.00051 | $0.00479 |
| Opus 5 | $0.00026 | $0.00239 |
| Sonnet 5 | $0.00010 | $0.00096 |
| Haiku 4.5 | $0.00005 | $0.00048 |
Grade A, and why
ar-aging 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 5d 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
Accounts-receivable aging from Well
Collections is judgment, not nagging. The point of an aging report is to chase the right customers — firmly where their payment history warrants it, gently where it doesn't — and to never chase an invoice that was already paid, disputed, or credited. Verify status before recommending any chase.
Build it
- Discover the schema first (see
well:querying-well-data). - Open receivables — issued
invoicesfiltered on the payment-status / outstanding field the schema exposes (don't infer "unpaid" by subtracting sums if a status field exists). Pull due date, outstanding amount, and the customer (companies). - Confirm what's actually settled — cross-check against
transactions/invoice_transactionsso a payment already received but not yet reflected in status isn't counted as overdue. This is thewell:reconciliationsibling skill — reuse it. - Bucket by age from the due date: Current (not yet due), 1–30, 31–60, 61–90, 90+ days overdue. Total per bucket and per customer.
- Per-customer behavior — where history exists, note each customer's typical days-to-pay so the user can prioritise (a chronic late-payer ≠ a first-time slip).
Rules
- Verify status before chasing. Exclude paid / disputed / credited invoices from "to chase" — chasing a settled invoice is the fastest way to lose trust.
- Sort the chase list by amount × overdue age, but annotate each with the customer's payment tier.
- Don't sum across currencies without converting (
exchange_rates). - Report DSO (days sales outstanding) only with the window it's computed over.
Present it
An aging table (buckets × totals), a top "to chase" list (verified-open only, with each customer's payment behavior), DSO with its window, and the total outstanding — in the workspace currency.
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.
- 5d ago First seen · 28 lines · 51 tokens per session scan A be3311cc285f
ar-aging is a skill published in the GitHub repository WellApp-ai/Well (340 stars, last pushed 29d ago), licensed MIT. It adds 51 tokens to every session and 479 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-30.
Other skills, from other repositories
ccxt-rust
CCXT cryptocurrency exchange library for Rust developers. Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors in Rust projects. Use when working with crypto…
binance-tokenized-securities-info
Query Ondo tokenized US stock data on Binance Web3. Covers: supported stock token list, RWA metadata (company info, attestation reports), market and per-asset trading status (with corporate action codes for earnings, dividends, splits), real-time on-chain data (token price, holders, circulating supply, market cap), US…
payment-assistant
Binance Pay Assistant - Send and Receive crypto payments. Send: QR code payment from Funding Wallet (C2C + PIX). Use when user wants to buy/purchase/pay/transfer/send, confirm/cancel payment, or query order status. Requires QR code data. PIX QR codes (pix, br.gov.bcb.pix) are auto-detected. Receive: Generate QR codes…
ccxt-csharp
CCXT cryptocurrency exchange library for C# and .NET developers. Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors in .NET projects. Use when working with…
ccxt-java
CCXT cryptocurrency exchange library for Java developers. Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors in Java projects. Use when working with crypto…
ccxt-cli
CCXT command-line interface (ccxt-cli) for interacting with 100+ cryptocurrency exchanges directly from the terminal — no code required. Covers installing the CLI, calling any unified CCXT method (fetchTicker, fetchOHLCV, createOrder, fetchBalance), passing arguments and exchange-specific params, authenticating with…