Calculator
Skill Code-and-Sorts/awesome-copilot-agents/skills/calculator
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.From its SKILL.md
npx -y skills add Code-and-Sorts/awesome-copilot-agents --skill calculatorAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- runs commandsInstructs the agent to run 4 commands, including `cd scripts` and 3 more.
What its file declares
Copied from the file, not written here
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
1.8 KB, 440 tokens by cl100k_base, as published. Nobody here has run it
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
| Operator | Description | Precedence |
|---|---|---|
+ | Addition | 1 |
- | Subtraction | 1 |
* | Multiplication | 2 |
/ | Division | 2 |
^ | Exponent (right-associative) | 3 |
() | Parentheses | Highest |
Usage
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
What ships with it: 6 files
12.5 KB alongside SKILL.md, 4 of them executable
scripts/
- jest.config.jsruns427 B
- package.json582 B
- src/calculator.test.tsruns5.8 KB
- src/calculator.tsruns5.1 KB
- src/run.tsruns354 B
- tsconfig.json208 B