Back to skills
SKILL.md
Calculator
ASecurityPerforms arbitrary-precision arithmetic calculations including addition, subtraction, multiplication, division, and exponents. Use when the user asks to calculate, compute, or evaluate math expressions, or when precise decimal arithmetic is needed to avoid floating-point errors.
- 416 stars
- 0 votes
- 0 copies
- 3 views
- Added February 7, 2026
Security analysis
96/100- Installs packages at runtime which could introduce malicious dependencies
Pro scans all 7 files and shows the line behind each finding
npx -y skills add aiskillstore/marketplace --skill calculator --agent claude-codeAre you the author of Calculator?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/aiskillstore-calculator)---
name: calculator
description: Performs arbitrary-precision arithmetic calculations including addition, subtraction, multiplication, division, and exponents. Use when the user asks to calculate, compute, or evaluate math expressions, or when precise decimal arithmetic is needed to avoid floating-point errors.
license: MIT
compatibility: Requires Node.js and npm
metadata:
author: Colby Timm
version: "1.0"
---
# Calculator
Evaluate arithmetic expressions with arbitrary-precision decimal math using [big.js](https://github.com/MikeMcl/big.js/).
## When to Use
- User asks to calculate or evaluate a math expression
- Precise decimal arithmetic is needed (avoids floating-point errors like `0.1 + 0.2 = 0.30000000000000004`)
- Expressions involve parentheses, operator precedence, or exponents
## Supported Operations
| Operator | Description | Precedence |
| -------- | ----------- | ---------- |
| `+` | Addition | 1 |
| `-` | Subtraction | 1 |
| `*` | Multiplication | 2 |
| `/` | Division | 2 |
| `^` | Exponent (right-associative) | 3 |
| `()` | Parentheses | Highest |
## Usage
```bash
cd scripts
npm ci || npm install
npm run build
npm run calculate "<expression>"
```
## Examples
| Input | Output |
| ----- | ------ |
| `"3 + 2"` | `5` |
| `"10 / 4"` | `2.5` |
| `"2 ^ 10"` | `1024` |
| `"(2 + 3) * 4"` | `20` |
| `"1 + 4.5 * (3-6) / 5"` | `-1.7` |
| `"-5 + 3"` | `-2` |
| `"2 ^ 3 ^ 2"` | `512` (right-associative: 2^9) |
## Edge Cases
- **Empty expression**: Throws "Empty expression" error
- **Mismatched parentheses**: Throws "Mismatched parentheses" error
- **Division by zero**: big.js throws an error
- **Exponent must be integer**: big.js `.pow()` requires integer exponents
## Limitations
- No trigonometric functions (sin, cos, tan)
- No variables or symbolic math
- Exponents must be integers
- No factorial, modulo, or bitwise operators
Files in this skill
- SKILL.md
- scripts/jest.config.js
- scripts/src/calculator.test.ts
- scripts/src/calculator.ts
- scripts/src/run.ts
- scripts/tsconfig.json
- skill-report.json
Attribution
Comments
Loading comments…