Use when you must convert aerospace quantities between SI and imperial or aviation units: length (m, ft, NM), speed (m/s, kt, ft/s, Mach), temperature (K, C, F, R), pressure (Pa, hPa, psi, inHg), density (kg/m3, slug/ft3), mass (kg, lb, slug), and force (N, lbf). Converts with a deterministic factor table, handles offset temperature scales, computes Mach from true airspeed and speed of sound, and relates pressure altitude to geometric altitude. Trigger: unit conversion, convert units, knots, ...
Scanned 9/27/2026
Install to Claude Code
npx -y skills add ashfordeOU/aero-agent-skills --skill unit-conversion --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Unit Conversion?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ashfordeou-unit-conversion)More formats (shields.io, HTML) on the badges page.
---
name: unit-conversion
description: "Use when you must convert aerospace quantities between SI and imperial or aviation units: length (m, ft, NM), speed (m/s, kt, ft/s, Mach), temperature (K, C, F, R), pressure (Pa, hPa, psi, inHg), density (kg/m3, slug/ft3), mass (kg, lb, slug), and force (N, lbf). Converts with a deterministic factor table, handles offset temperature scales, computes Mach from true airspeed and speed of sound, and relates pressure altitude to geometric altitude. Trigger: unit conversion, convert units, knots, mach number, temperature conversion, pressure altitude, SI imperial."
license: Apache-2.0
compliance: STANDARDS-REF
standards:
- id: naca-tr-824
reference-only: true
gated: false
domain: cross-cutting
pack: cross-cutting
compatibility: "agentskills.io SKILL.md; any SKILL.md host (Claude Code, Hermes, OpenClaw)"
metadata:
domain: cross-cutting
subdomain: units-atmos
tags: [unit-conversion, convert-units, knots, mach-number, temperature-conversion, pressure-altitude, si-imperial]
version: 0.1.0
author: Aero Agent Skills
---
# Unit Conversion (cross-cutting/units-atmos/unit-conversion)
Use when the task is converting an aerospace quantity between unit
systems: SI to imperial, imperial to SI, or to the aviation units
pilots and flight manuals use (knots, NM, inHg, Mach).
## Domain quick reference
Deterministic factor tables, one canonical base per quantity
(m, m/s, K, Pa, kg/m3, kg, N). Exact where the unit system defines
them; standard reference values otherwise.
- Length (base m): 1 ft = 0.3048 m; 1 NM = 1852 m.
- Speed (base m/s): 1 kt = 1852/3600 = 0.514444 m/s; 1 ft/s = 0.3048
m/s. Mach converts through a speed of sound; the default is the ISA
sea-level value 340.294 m/s, pass the flight-condition value for
altitude-corrected Mach.
- Temperature (base K, offset scales, not factors): K = C + 273.15;
F = K * 9/5 - 459.67; R = K * 9/5. Anchor: 0 C = 273.15 K = 32 F =
491.67 R.
- Pressure (base Pa): 1 hPa = 100 Pa; 1 psi = 6894.757293168 Pa;
1 inHg = 3386.389 Pa. ISA sea level is 101325 Pa = 1013.25 hPa =
29.92 inHg = 14.6959 psi.
- Density (base kg/m3): 1 slug/ft3 = 515.3788184 kg/m3; ISA sea level
is 1.225 kg/m3 = 0.0023769 slug/ft3.
- Mass (base kg): 1 lb = 0.45359237 kg; 1 slug = 14.59390294 kg =
32.1740 lb.
- Force (base N): 1 lbf = 0.45359237 kg * 9.80665 m/s2 =
4.4482216152605 N.
- Altitude conventions: pressure altitude inverts the ISA troposphere
pressure field (what an altimeter set to 1013.25 hPa reads);
geometric altitude converts to geopotential altitude with the
nominal Earth radius 6356766 m: h_gp = h * R / (R + h).
## Workflow
1. Name the quantity and the two units involved.
2. Pick the matching function: convert_length, convert_speed,
convert_temperature, convert_pressure, convert_density,
convert_mass, convert_force.
3. Pass value, from_unit, to_unit. Unit tokens are case-insensitive;
"NM", "kts", "kg/m^3" all resolve.
4. For Mach, pass the speed of sound at the flight condition, or
accept the ISA sea-level default.
5. For altitude, use pressure_altitude_m on a static pressure, or
convert_altitude between geom and geopotential.
6. Sanity-check the result against the quick-reference anchors
(e.g. 1013.25 hPa, 1.225 kg/m3, 250 kt about 129 m/s).
## Pitfalls
- Treating temperature as a plain factor: 0 C is not 32 F minus an
offset; the code routes every temperature through kelvin.
- Mach without a speed of sound: the default is ISA sea level; at
altitude the speed of sound drops and Mach rises for the same
true airspeed.
- Confusing pressure altitude with geometric altitude, or geometric
with geopotential (the difference is about 19 m at 11 km).
- Confusing slug with lb (factor 32.1740) and NM with statute miles
or km.
- Mixing gauge pressure with absolute pressure; the tables here are
absolute.
- Writing "kph" or "mph": not in the table by design, raises
ValueError, convert via m/s first.
## Behavior contract (gate 3)
The conversion logic is exercised by the gate 3 contract test:
scripts/test_unit_conversion.py against
scripts/unit_conversion_logic.py (stdlib unittest, offline). Run:
python3 scripts/test_unit_conversion.py
## Compliance
- Standards referenced, not reproduced: NACA TR-824 is public-domain
US government work; this skill uses only its standard-atmosphere
context (sea-level state, speed of sound, pressure altitude) as
common reference data, summary-only per standards-map.yaml.
- compliance: STANDARDS-REF, gated: false.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!