AgentSkillsCN

calculator

执行任意精度的算术计算,包括加法、减法、乘法、除法及指数运算。当用户要求计算、求解或评估数学表达式,或需要精确的小数运算以避免浮点误差时使用。

SKILL.md
--- frontmatter
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.

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

OperatorDescriptionPrecedence
+Addition1
-Subtraction1
*Multiplication2
/Division2
^Exponent (right-associative)3
()ParenthesesHighest

Usage

bash
cd scripts
npm ci || npm install
npm run build
npm run calculate "<expression>"

Examples

InputOutput
"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