Strict full-route accuracy on the frozen 18-skill suite: 124 positive and 43 negative cases.
geoai-skills
Stop silent CRS, spatial-leakage, validity, unit and uncertainty failures before they ship.
claude plugin marketplace add muend/geoai-skillsnpx skills add muend/geoai-skills --skill '*' -a codexGeospatial work fails quietly
A wrong projection does not raise an exception. Neither does a train/test split that lets the same field appear on both sides, an area computed in degrees, or a confident number with no uncertainty attached. The analysis completes, the map renders, and the error ships.
These eighteen skills give a general-purpose agent the reflexes a geospatial specialist has: check the CRS before trusting a distance, treat spatial autocorrelation as the default, and refuse to state a result the evidence does not support.
Eighteen skills across one lifecycle
The orchestrator decomposes a request and routes it across the five stages. Skills are written to trigger narrowly: negative and collision cases in the suite test specifically against over-triggering.
Measured routing behaviour
Deterministic scoring from recorded activations against a frozen suite, with an enabled/disabled control. The control is the part that matters: with the skills switched off, the same model on the same cases activates nothing at all.
Measured routing behavior
Deterministic scoring from recorded activations on Claude Code 2.1.214 with claude-sonnet-5, run against an enabled/disabled control with explicit scope limitations.
0 activations across all 167 cases. Recall 0%, route accuracy 0%, overall accuracy 25.75%. The lift is attributable to the skills, not to the base model.
What every skill enforces, regardless of task
- CRS and units are explicit before any measurement is trusted.
- Spatial leakage is the default risk, not an edge case.
- Every stage ends with a verification step.
- Uncertainty and sensitivity are outputs, not footnotes.
- Missing evidence narrows the claim, or blocks it.
The published metrics describe routing behaviour: whether the right skill activates for the right request on Claude Code 2.1.214 with claude-sonnet-5, measured 2026-08-05. They say nothing about the quality of the answers those skills then produce. The held-out split was already consumed by a prior run, which limits its power to confirm improvement.