Install
$ agentstack add skill-dinerojs-skills-dinero-best-practices ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Dinero.js Best Practices
Core rules for working with Dinero.js, the JavaScript/TypeScript library for creating, calculating, and formatting money safely. Contains rules across 4 categories, prioritized by impact.
When to Apply
Reference these guidelines when:
- Creating Dinero objects from user input, API responses, or database values
- Performing arithmetic on monetary values (adding, splitting, multiplying)
- Choosing between
numberandbigintcalculators - Importing from
dinero.js,dinero.js/currencies, ordinero.js/bigint - Working with prices, costs, taxes, or any financial calculation
Rule Categories by Priority
| Priority | Category | Impact | Prefix | | -------- | --------------- | -------- | ------------- | | 1 | Object Creation | CRITICAL | creation- | | 2 | Arithmetic | CRITICAL | arithmetic- | | 3 | Precision | HIGH | precision- | | 4 | Imports | MEDIUM | imports- |
Quick Reference
1. Object Creation (CRITICAL)
creation-minor-units- Always pass amounts as integers in minor currency unitscreation-from-floats- Use a helper to convert float inputs to minor unitscreation-zero-exponent- Currencies with exponent 0 (e.g., JPY) take major units directly
2. Arithmetic (CRITICAL)
arithmetic-immutability- All operations return new objects; capture the return valuearithmetic-allocate-not-divide- Useallocatefor splitting money, not manual divisionarithmetic-scaled-amounts- Never multiply by a raw decimal; use scaled amountsarithmetic-percentages- Calculate percentages withallocateor scaledmultiply
3. Precision (HIGH)
precision-bigint- Usedinero.js/bigintfor amounts exceedingNumber.MAX_SAFE_INTEGERprecision-crypto- Cryptocurrencies require bigint due to high exponentsprecision-trim-scale- UsetrimScaleto remove trailing zeros after chained operations
4. Imports (MEDIUM)
imports-tree-shaking- Import only what you use; standalone functions enable tree-shakingimports-bigint-currencies- Match calculator type: usedinero.js/bigint/currencieswithdinero.js/bigint
How to Use
Read individual rule files for detailed explanations and code examples:
rules/creation-minor-units.md
rules/arithmetic-allocate-not-divide.md
Each rule file contains:
- Brief explanation of why it matters
- Incorrect code example with explanation
- Correct code example with explanation
- Additional context and references
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: dinerojs
- Source: dinerojs/skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.