pricing-tax-auditlisted
Install: claude install-skill adnanmokhtar/refract
# Skill: pricing-tax-audit
Money math is the one place where "looks right in the demo" and "correct" diverge silently, then reconcile into a support ticket and a refund. `0.1 + 0.2 == 0.30000000000000004`; a price rounded per-line then summed drifts a cent from a price summed then rounded; a charge without a jurisdiction bills the wrong tax; a plan change without proration bills a full cycle twice. This skill audits the money-math correctness — not the billing UX.
## Premise
- **Money is an integer minor-unit (cents) or an arbitrary-precision decimal — never a float.** A `float`/`double`/JS `number` holding a price is a bug on sight, before any other analysis. Floating-point cannot represent `0.10`; every arithmetic op accrues error that surfaces as a mis-charge.
- **Every price computation states its rounding, its tax jurisdiction, and its currency.** A number with no currency is not money. A rounding with no documented step is a drift waiting to happen. A tax with no jurisdiction is a guess.
- **Multi-currency values are never mixed.** Adding `10 USD + 10 EUR` without an explicit conversion at a defined rate/time is a bug; amount and currency travel together or not at all.
- A float price, an unhandled proration, a missing tax jurisdiction, or a mixed-currency sum is a **money bug** — grade it as a defect, not a style note.
- **Right shape is the floor; correct-at-the-edge is the bar.** A decimal type, a round-once step, and a jurisdiction lookup are the *shape* of corre