Skip to content
Back to skills

Calculator

ASecurity

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.

  • 416 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 7, 2026
toolsgobashnodeexpressgit

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 7 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add aiskillstore/marketplace --skill calculator --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Calculator?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Calculator
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aiskillstore-calculator/badge)](https://www.skillsdirectory.com/skills/aiskillstore-calculator)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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.md1.8 KB
  • scripts/jest.config.js427 B
  • scripts/src/calculator.test.ts5.8 KB
  • scripts/src/calculator.ts5.1 KB
  • scripts/src/run.ts354 B
  • scripts/tsconfig.json208 B
  • skill-report.json8.3 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…