Claude-skill-registry Financial Integrity
Patterns for provable financial accuracy and invariant testing
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/financial-integrity" ~/.claude/skills/majiayu000-claude-skill-registry-financial-integrity && rm -rf "$T"
manifest:
skills/data/financial-integrity/SKILL.mdsource content
Financial Integrity
In the "Action Era", LivestockAI agents may autonomously propose sales or analyze profit. Trust is our currency. Calculations must be mathematically provable.
Core Principle: The "Penny Perfect" Rule
All financial storage and calculation must treat money as an integer (minor units) or high-precision decimal.
NEVER use standard generic
floating point math for money.number
1. Storage Standards
Database:
DECIMAL(19, 4) for unit prices (allows for precise small-unit costs like feed per gram).
DECIMAL(19, 2) for final transaction amounts (invoices, payments).
TypeScript: Always use
decimal.js via the project's currency utilities.
// ❌ Dangerous const total = 0.1 + 0.2 // 0.30000000000000004 // ✅ Safe import { add } from '~/features/settings/currency' const total = add(0.1, 0.2) // Decimal(0.3)
2. Invariant Testing (Property Tests)
Use
fast-check to prove financial laws hold true for all inputs.
Profit Law
Profit = Revenue - (COGS + Expenses)
test('Profit Invariant', () => { fc.assert( fc.property(fc.integer(), fc.integer(), (revenue, cost) => { const profit = calculateProfit(revenue, cost) // Profit + Cost must always exactly equal Revenue return profit.add(cost).equals(revenue) }), ) })
Allocation Law
When splitting a cost across N batches, the sum of parts must equal the total. Watch out for rounding leftovers.
Pattern: The "Penny Allocate" Algorithm If splitting $100 among 3 batches: Batch 1: $33.33 Batch 2: $33.33 Batch 3: $33.34 (Takes the remainder)
3. Immutability
Financial records (
invoices, sales, expenses) should be "Append-Only" to the user.
If a mistake is made:
- Create a Reversal Transaction (negative amount) to void the error.
- Create a new Correct Transaction. This preserves the audit trail.
4. Multi-Currency Safety
Always store
exchangeRate and currencyCode at the time of transaction.
Never calculate historical value using current exchange rates.
Related Skills
- The specific library calls implementationfinancial-calculations
- The value verification methodproperty-testing