Uncertainty and Units
A metrology skill that tracks physical units, builds GUM/Monte Carlo uncertainty budgets, and audits Python code for silent unit and correlation bugs.
Data & AnalyticsAdvanced★ 33,030⑂ 3,248AI score 9/10Last updated: Aug 9, 2026
What it does
- Validates dimensional consistency with pint and performs context-dependent conversions (wavelength → photon energy, mass → moles).
- Builds GUM uncertainty budgets: Type A/B evaluation, distribution divisors (√3, √6, stated k), Welch-Satterthwaite effective degrees of freedom, coverage factor k and expanded uncertainty U.
- Runs linear propagation and Monte Carlo on the same model and applies the JCGM 101 clause 8 test to decide which interval you may report.
audit_units.pystatically reviews existing analysis code for.magnitudewithout conversion,curve_fitmissingabsolute_sigma, ufloats rebuilt from nominal/std_dev, offset and logarithmic unit misuse.check_plausibility.pytests results against 14 dimensionless groups (Reynolds, Peclet, Damkohler, Knudsen, Biot...), characteristic scales, and observed magnitude bands.
Who it's for
- Experimental researchers and calibration/metrology engineers who must report results with a defensible ±.
- Graduate students writing papers or test reports that need correct significant figures and coverage statements.
- Engineers reviewing scientific Python code or adding a unit/uncertainty lint step to CI.
Example uses
- Compute a density from mass, diameter and height, compare GUM with Monte Carlo, and get a verdict on whether the linearized interval is reportable.
- Combine a certificate's expanded uncertainty (k=2), a datasheet's rectangular limits, and repeatability data into a markdown uncertainty budget with dominance warnings.
- Check the Reynolds number of capillary flow to confirm the laminar regime, or catch an impossible 2 m "cell diameter" before it reaches a figure.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/HEAD/skills/uncertainty-and-units/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/uncertainty-and-units folder from the GitHub repo K-Dense-AI/scientific-agent-skills into my ~/.claude/skills/uncertainty-and-units/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git && mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/uncertainty-and-units ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and go to your working directory.
- Clone the repository:
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git - Copy the skill into Claude Code's skills folder:
mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/uncertainty-and-units ~/.claude/skills/ - Create a Python 3.12+ virtual environment:
uv venv --python 3.13 && source .venv/bin/activate - Install dependencies:
uv pip install "pint==0.25.3" "uncertainties==3.2.3" "numpy==2.5.1" "scipy==1.18.0" - Smoke-test a helper:
python ~/.claude/skills/uncertainty-and-units/scripts/propagate_uncertainty.py --help - Restart Claude Code, then ask things like "sanity check these units" or "build an uncertainty budget for this measurement" to trigger the skill.
View source on GitHub ↗License: MIT