aminet-browser
Aminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated collections. Use when searching,…
Mathematical verification for physical calculations: unit tracking algebra (exponent maps), PhysicalQuantity pattern for compound units, SI/Imperial mixed-unit handling, Buckingham pi theorem for dimensionless groups, and common engineering dimensionless numbers. Activates for
$ npx -y skills add Tibsfox/gsd-skill-creator --skill dimensional-analysis --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/dimensional-analysisContext preview
The summary Claude sees to decide when to auto-load this skill.
Mathematical verification for physical calculations: unit tracking algebra (exponent maps), PhysicalQuantity pattern for compound units, SI/Imperial mixed-unit handling, Buckingham pi theorem for dimensionless groups, and common engineering dimensionless numbers. Activates for
name: pie-dimensional-analysis
version: 1.0.0
description: "Mathematical verification for physical calculations: unit tracking algebra (exponent maps), PhysicalQuantity pattern for compound units, SI/Imperial mixed-unit handling, Buckingham pi theorem for dimensionless groups, and common engineering dimensionless numbers. Activates for unit verification, dimensional consistency checks, scaling analysis, and calculation validation across all infrastructure domains."
user-invocable: true
allowed-tools: Read Grep Glob Bash
metadata:
extensions:
gsd-skill-creator:
version: 1
createdAt: "2026-02-26"
triggers:
intents:
- "unit conversion"
- "unit tracking"
- "dimensional analysis"
- "dimensionless"
- "Reynolds number"
- "Nusselt number"
- "Buckingham pi"
- "scaling"
- "unit check"
- "SI"
- "imperial"
- "unit mismatch"
- "physical quantity"
contexts:
- "calculation verification"
- "infrastructure engineering"
- "unit algebra"
- "dimensional homogeneity"
applies_to:
- skills/physical-infrastructure/**
- lib/units.tsDimensional analysis is the mathematical verification layer that ensures physical calculations are dimensionally consistent -- catching unit errors before they become calculation errors.
**When to activate:**
**Key capabilities:**
**Integration:** Cross-cutting skill -- applies to outputs from fluid-systems, power-systems, and thermal-engineering. Acts as verification layer before Calculator agent commits to CalculationRecord.
> **NOTE:** Dimensional analysis verifies mathematical self-consistency only. It does not replace engineering judgment or safety verification. Dimensionally correct equations can still be physically wrong if incorrect constants or assumptions are used.
**Quick routing:**
---
| Symbol | Quantity | Notes | |--------|----------|-------| | m | length | meter | | kg | mass | kilogram (only SI base unit with a prefix) | | s | time | second | | A | electric current | ampere | | K | temperature | kelvin (absolute; not degrees Celsius) | | mol | amount of substance | mole | | cd | luminous intensity | candela (rarely used in infrastructure) |
Every physical quantity carries its unit as a map of base unit exponents. This representation makes unit algebra mechanical -- multiply means add exponents, divide means subtract.
Examples:
| Quantity | SI Unit | Symbol | Exponent Map | |----------|---------|--------|-------------| | Force | Newton | N | { kg:1, m:1, s:-2 } | | Pressure | Pascal | Pa | { kg:1, m:-1, s:-2 } | | Energy | Joule | J | { kg:1, m:2, s:-2 } | | Power | Watt | W | { kg:1, m:2, s:-3 } | | Dynamic viscosity | -- | Pa*s | { kg:1, m:-1, s:-1 } | | Heat transfer coeff | -- | W/(m^2*K) | { kg:1, s:-3, K:-1 } | | Thermal conductivity | -- | W/(m*K) | { kg:1, m:1, s:-3, K:-1 } |
The Calculator agent implements unit-safe arithmetic using this TypeScript pattern. The SKILL documents the knowledge; `lib/units.ts` provides the implementation.
interface PhysicalQuantity {
value: number;
units: { [baseUnit: string]: number }; // exponent map
}
function multiply(a: PhysicalQuantity, b: PhysicalQuantity): PhysicalQuantity {
const result: PhysicalQuantity = { value: a.value * b.value, units: { ...a.units } };
for (const [unit, exp] of Object.entries(b.units)) {
result.units[unit] = (result.units[unit] || 0) + exp;
}
// Remove zero exponents
for (const unit of Object.keys(result.units)) {
if (result.units[unit] === 0) delete result.units[unit];
}
return result;
}
function divide(a: PhysicalQuantity, b: PhysicalQuantity): PhysicalQuantity {
const negated = { value: 1 / b.value, units: Object.fromEntries(
Object.entries(b.units).map(([k, v]) => [k, -v])
)};
return multiply(a, negated);
}
function assertSameUnits(a: PhysicalQuantity, b: PhysicalQuantity): void {
const aKeys = Object.keys(a.units).sort().join(',');
const bKeys = Object.keys(b.units).sort().join(',');
if (aKeys !== bKeys || !Object.entries(a.units).every(([k, v]) => b.units[k] === v)) {
throw new Error(`Unit mismatch: [${aKeys}] vs [${bKeys}] — cannot add/subtract`);
}
}| Operation | Exponent Rule | Example | |-----------|---------------|---------| | Multiply | E
An adaptive learning and coprocessor architecture for Claude Code, built as an extension to GSD (open-gsd)
Repo: Tibsfox/gsd-skill-creator
Aminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated collections. Use when searching,…
FS-UAE emulator configuration and launch: hardware profiles, ROM management, WHDLoad integration, config generation, and state snapshots. Use when configuring…
Manages Aminet INDEX infrastructure: fetch, parse, cache, and incremental update of ~84,000-entry package database. Use when managing INDEX data, checking…
Aminet package installation: LhA/LZX extraction, Amiga filesystem mapping, dependency detection, install tracking, and scan gate enforcement. Use when…
Selective Aminet package mirroring: single-package fetch, integrity verification, mirror state tracking, bulk download, and sync detection. Use when…
Multi-layer virus scanning for Aminet packages. Signature-based detection, heuristic hunk analysis, boot block scanning, quarantine management, and scan…