geo

geo is a skill for Claude Code, Codex from floomhq/moto. It costs 114 tokens per session (2,467 once invoked), scanned A, original, MIT.

A validator for geographic data used in aviation and travel software. It checks airport codes, airport status, city-to-airport matches, and related geographic details.

In plain words
What is it for?
Use it to audit airport codes, verify routes, check distances, and review travel data involving IATA or ICAO codes.
Why use it?
It helps catch incorrect, outdated, or mismatched airport and route data before it appears in an application.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/floomhq/moto/geo
Any agent
npx skills add floomhq/moto --skill geo
Clone the repo
git clone --depth 1 https://github.com/floomhq/moto

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for geo

README.md
[![agentmods](https://agentmods.dev/badge/skills/floomhq/moto/geo.svg)](https://agentmods.dev/skills/floomhq/moto/geo)
Your own site
<a href="https://agentmods.dev/skills/floomhq/moto/geo"><img src="https://agentmods.dev/badge/skills/floomhq/moto/geo.svg" alt="Measured on agentmods" height="20"></a>
Per session 114 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,467 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00114 $0.02467
Opus 5 $0.00057 $0.01234
Sonnet 5 $0.00023 $0.00493
Haiku 4.5 $0.00011 $0.00247

Measured 6d ago against content hash b4c9dd95c472, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

geo scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

claude/skills/geo/SKILL.md · 204 lines

How it starts

The opening of the file, as written. The whole thing — 204 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Geographic Data Validator

Systematic validation of geographic data in aviation/travel applications.

Audit Process

Run each validation category. Flag every error. Score each category 0-10.


Category 1: IATA Airport Code Validation

Checks

  • Code format: All IATA codes are exactly 3 uppercase letters.
  • Code existence: Every code maps to a real, operational airport.
  • Code currency: No closed/decommissioned airports (e.g., TXL closed 2020).
  • Multi-airport cities: Correct airport chosen for the city.
    • Berlin: BER (not TXL or SXF, both closed)
    • London: LHR (Heathrow), LGW (Gatwick), STN (Stansted), LTN (Luton), LCY (City)
    • New York: JFK (Kennedy), EWR (Newark), LGA (LaGuardia)
    • Tokyo: NRT (Narita), HND (Haneda)
    • Paris: CDG (Charles de Gaulle), ORY (Orly)
    • Istanbul: IST (Istanbul Airport, not SAW which is Sabiha Gokcen)
    • Mumbai: BOM (not MUM)
    • Rome: FCO (Fiumicino, not CIA Ciampino for international)
  • Primary airport: For programmatic pages, use the PRIMARY international airport.

Common IATA Mistakes

Wrong Right Why
TXL BER Berlin Tegel closed Nov 2020
SXF BER Berlin Schonefeld renamed to BER
SAW IST Istanbul Airport (IST) is the main hub since 2019
MUC MUC Correct (Munich)
HAM HAM Correct (Hamburg)
FRA FRA Correct (Frankfurt)
DUS DUS Correct (Dusseldorf)

Category 2: City Name Accuracy

Checks

  • English names: Using standard English city names (not local names in English context).
    • Mumbai (not Bombay), Beijing (not Peking), Kolkata (not Calcutta)
    • BUT: standard English names where established (Munich not Munchen, Rome not Roma)
  • German names: Using standard German city names in DE context.
    • Munchen (not Munich), Rom (not Rome), Lissabon (not Lisbon)
    • BUT: keep English for international cities (New York, not Neuyork)
  • Slug consistency: Slugs use English city names regardless of locale.
    • munich-to-istanbul (not muenchen-nach-istanbul)
  • City-airport alignment: City name matches the airport's actual city.
    • FRA is in Frankfurt (correct), not "Frankfurt am Main" in slugs
    • NRT is Narita but city should be "Tokyo" (that's where travelers mean)
    • FCO is Fiumicino but city should be "Rome"
    • ORY is Orly but city should be "Paris"
    • LHR is Heathrow but city should be "London"

Read the full file on GitHub · 204 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 204 lines · 114 tokens per session scan A b4c9dd95c472

Subscribe to this mod's changes

geo is a skill published in the GitHub repository floomhq/moto (32 stars, last pushed 2mo ago), licensed MIT. It adds 114 tokens to every session and 2,467 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

hns-lsel-curator

Local Self-Evolution Loop (LSEL) curator — the CLUSTER + drain engine for the GOOS-local PROPOSE→APPLY seam closure (SPEC-LSEL-LOCAL-EVOLUTION-001). Companion-offset drain of .moai/lessons-inbox.jsonl with a drain-side severity filter that drops the 65% Bash-timeout/sandbox noise, eventkey clustering with a frequency…

modu-ai/moai-adk · 135 tokens

moai-foundation-core

Provides MoAI-ADK foundational principles including TRUST 5 quality framework, SPEC-First DDD methodology, delegation patterns, progressive disclosure, agent catalog reference, and token budget management (absorbed from moai-foundation-context). Use when referencing TRUST 5 gates, SPEC workflow, or context window…

modu-ai/moai-adk · 68 tokens

moai-workflow-worktree

Git worktree management for parallel SPEC development with isolated workspaces, automatic branch registration, and seamless MoAI-ADK integration. Use when setting up parallel development environments.

modu-ai/moai-adk · 41 tokens

moai-design-tools

Design tool integration specialist covering Figma MCP, Pencil renderer, and Pencil-to-code export. Use when fetching design context from Figma, rendering Pencil designs, or exporting to React/Tailwind code.

modu-ai/moai-adk · 45 tokens

hns-workflow-ci-loop

Unified CI watch + auto-fix loop skill. Polls gh pr checks after /moai sync PR creation, classifies required vs auxiliary failures, attempts safe automated patches (max 3 iterations), and escalates semantic failures to the user. Use for CI loop workflow — NOT for general loop iteration patterns (see…

modu-ai/moai-adk · 76 tokens

moai-kanban-foreman

One unattended kanban foreman iteration: watch the backlog queue, dispatch the next operator-picked card to an isolated worker, collect completion evidence on read (not on claims), and report. This is the body the project's loop.md driver invokes each iteration of a bare /loop; it can also be invoked directly to test…

modu-ai/moai-adk · 76 tokens