mcpbeat

Pint Compute

vibeeval/pint-compute

Unit-aware computation with Pint - convert units, dimensional analysis, unit arithmetic

915 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
521
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/vibeeval/vibecosystem --skill pint-compute

The instruction itself

13 sections, as written by the author

Unit Computation with Pint

Cognitive prosthetics for unit-aware computation. Use Pint for converting between units, performing unit arithmetic, checking dimensional compatibility, and simplifying compound units.

When to Use

  • Converting between units (meters to feet, kg to pounds)
  • Unit-aware arithmetic (velocity x time = distance)
  • Dimensional analysis (is force = mass x acceleration?)
  • Simplifying compound units to base or named units
  • Parsing and analyzing quantities with units

Quick Reference

| I want to... | Command | Example |

|--------------|---------|---------|

| Convert units | convert | convert "5 meters" --to feet |

| Unit math | calc | calc "10 m/s * 5 s" |

| Check dimensions | check | check newton --against "kg * m / s^2" |

| Parse quantity | parse | parse "100 km/h" |

| Simplify units | simplify | simplify "1 kg*m/s^2" |

Commands

parse

Parse a quantity string into magnitude, units, and dimensionality.

uv run python -m runtime.harness scripts/pint_compute.py \
    parse "100 km/h"

uv run python -m runtime.harness scripts/pint_compute.py \
    parse "9.8 m/s^2"

convert

Convert a quantity to different units.

uv run python -m runtime.harness scripts/pint_compute.py \
    convert "5 meters" --to feet

uv run python -m runtime.harness scripts/pint_compute.py \
    convert "100 km/h" --to mph

uv run python -m runtime.harness scripts/pint_compute.py \
    convert "1 atmosphere" --to pascal

calc

Perform unit-aware arithmetic. Operators must be space-separated.

uv run python -m runtime.harness scripts/pint_compute.py \
    calc "5 m * 3 s"

uv run python -m runtime.harness scripts/pint_compute.py \
    calc "10 m / 2 s"

uv run python -m runtime.harness scripts/pint_compute.py \
    calc "5 meters + 300 cm"

check

Check if two units have compatible dimensions.

uv run python -m runtime.harness scripts/pint_compute.py \
    check newton --against "kg * m / s^2"

uv run python -m runtime.harness scripts/pint_compute.py \
    check joule --against "kg * m^2 / s^2"

simplify

Simplify compound units to base or compact form.

uv run python -m runtime.harness scripts/pint_compute.py \
    simplify "1 kg*m/s^2"

uv run python -m runtime.harness scripts/pint_compute.py \
    simplify "1000 m"

Common Unit Domains

| Domain | Examples |

|--------|----------|

| Length | meter, foot, inch, mile, km, yard |

| Time | second, minute, hour, day, year |

| Mass | kg, gram, pound, ounce, ton |

| Velocity | m/s, km/h, mph, knot |

| Energy | joule, calorie, eV, kWh, BTU |

| Force | newton, pound_force, dyne |

| Temperature | kelvin, celsius, fahrenheit |

| Pressure | pascal, bar, atmosphere, psi |

| Power | watt, horsepower |

Output Format

All commands return JSON with relevant fields:

{
  "result": "16.4042 foot",
  "magnitude": 16.4042,
  "units": "foot",
  "dimensionality": "[length]",
  "latex": "16.4042\\,\\mathrm{ft}"
}

Error Handling

Dimensionality errors are caught and reported:

# This will error - incompatible dimensions
uv run python -m runtime.harness scripts/pint_compute.py \
    convert "5 meters" --to kg
# Error: Cannot convert '[length]' to '[mass]'
  • /math-mode - Full math orchestration (SymPy + Z3)
  • /sympy-compute - Symbolic computation

How to use it

Copy the folder

Take vibeeval/pint-compute from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.