{"id":"1477122a-486b-442f-97f1-5989ed255c8e","shortId":"WEFk7V","kind":"skill","title":"pilot-service-agents-geo","tagline":"Geographic and geolocation APIs — Google Maps suite (premium) plus open geocoders and IP-to-location lookups.  Use this skill when: 1. Converting addresses ↔ coordinates, or coordinates ↔ place names 2. Computing directions, travel time, elevation, timezone, or air-quality at a p","description":"# pilot-service-agents-geo\n\nGeographic and geolocation APIs — Google Maps suite (premium) plus open geocoders and IP-to-location lookups.\n\nAll agents in this category follow the standard contract described in\n`pilot-service-agents`. Send `/help` to any agent to read its exact filter\nschema — the table below is a snapshot; the catalogue grows, so always verify\nwith a fresh `list-agents` query.\n\n## Agents in this category (snapshot)\n\n| Hostname | Description |\n|---|---|\n| `country-from-ip` | Country detection from IP address |\n| `elevation-open-meteo` | Elevation Open Meteo |\n| `gcp-maps-address-validation` | Google Maps Address Validation (premium) |\n| `gcp-maps-air-quality` | Google Maps Air Quality — current conditions (premium) |\n| `gcp-maps-directions` | Google Maps Directions — driving/walking routes (premium) |\n| `gcp-maps-distance-matrix` | Google Maps Distance Matrix — travel times (premium) |\n| `gcp-maps-elevation` | Google Maps Elevation — elevation for coordinates (premium) |\n| `gcp-maps-geocoding` | Google Maps Geocoding — address/coords (premium) |\n| `gcp-maps-geolocation` | Google Geolocation — locate from WiFi/cell/IP (premium) |\n| `gcp-maps-places-new` | Google Maps Places (New) — text place search (premium) |\n| `gcp-maps-pollen` | Google Maps Pollen — forecast by coord (premium) |\n| `gcp-maps-roads` | Google Maps Roads — snap GPS to roads (premium) |\n| `gcp-maps-routes` | Google Maps Routes — traffic-aware routing v2 (premium) |\n| `gcp-maps-solar` | Google Maps Solar — roof solar potential (premium) |\n| `gcp-maps-timezone` | Google Maps Time Zone — tz from coords (premium) |\n| `ip-api` | ip-api.com - IP geolocation, ISP, country, region |\n| `nominatim-reverse` | OpenStreetMap reverse geocoder |\n| `nominatim-search` | OpenStreetMap forward geocoder |\n| `open-meteo-geocoding` | City name to coordinates geocoder (global) |\n| `opensky-bbox` | Live aircraft states in a bounding box |\n| `opentopodata-srtm` | Opentopodata Srtm |\n| `osrm-route` | Open Source Routing Machine — driving directions |\n| `overpass-api` | Overpass Api |\n| `photon-reverse` | Photon Reverse |\n| `rest-countries-currency` | Countries using a specific currency code |\n| `rest-countries-region` | Countries by region (Europe/Asia/etc) |\n| `restcountries-region` | Restcountries Region |\n| `uk-postcodes` | UK postcode geolocation + admin lookup |\n| `viacep-brazil` | Brazilian address lookup by CEP code |\n| `zippopotam-city` | City info by country+zip (Zippopotam.us) |\n\n## What you can expect\n\n- Google Maps Platform coverage — geocoding, directions, distance matrix, elevation, timezone, roads, places, routes, address validation, geolocation, solar, air-quality, pollen\n- All Google Maps agents are **premium** (hostname prefix `gcp-maps-*`) — paid upstream, higher accuracy and SLA\n- Open alternatives for basic lookups (IP-to-country, open-elevation)\n\n## What NOT to expect\n\n- Free tier for Google services — pricing is metered upstream\n- Real-time traffic fleet management (not in catalogue yet)\n- Raw map tile imagery — the agents serve JSON envelopes, not PNGs\n\n## Commands (same pattern for every agent in the category)\n\n```bash\n# Read an agent's filter contract\npilotctl --json send-message <hostname> --data \"/help\"\npilotctl --json inbox\n\n# Fetch structured data\npilotctl --json send-message <hostname> --data '/data {json filters}'\npilotctl --json inbox\n\n# Natural-language summary (Gemini)\npilotctl --json send-message <hostname> --data '/summary {json filters}'\npilotctl --json inbox\n```\n\n## Response shape\n\n`send-message` returns an ACK envelope immediately (`{\"ack\":\"ACK TEXT N bytes\", \"bytes\":N, \"target\":\"<address>\", \"type\":\"text\"}`). The **actual agent response** arrives a few seconds later and is read with `pilotctl --json inbox`. Each inbox entry carries the agent's normalised envelope in its `data` field:\n\n```json\n{\n  \"source\": \"<hostname>\",\n  \"items\":  [...],\n  \"count\":  <int>,\n  \"total\":  <int|null>,\n  \"page\":   <int|null>,\n  \"next\":   <cursor|null>,\n  \"truncated\": <bool>,\n  \"upstream_url\": \"<resolved upstream URL>\"\n}\n```\n\n`/help` returns plain text. `/summary` returns a Gemini-generated prose string. Free-text queries also return Gemini prose.\n\n## Workflow Example\n\n```bash\n# 1. Fresh discovery — the catalogue grows, never hard-code\npilotctl --json send-message list-agents --data '/data {\"category\":\"geo\",\"limit\":20}'\npilotctl --json inbox\n\n# 2. Read the contract of a specific agent\npilotctl --json send-message gcp-maps-geocoding --data '/help'\npilotctl --json inbox\n\n# 3. Query it\npilotctl --json send-message gcp-maps-geocoding --data '/data {\"address\":\"1600 Amphitheatre Pkwy Mountain View CA\"}'\npilotctl --json inbox\n```\n\n## Dependencies\n\nRequires the `pilot-protocol` core skill, the `pilot-service-agents` skill\n(for the general discovery flow), `pilotctl` on PATH, and a running daemon\njoined to network 9.","tags":["pilot","service","agents","geo","skills","teoslayer","agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network"],"capabilities":["skill","source-teoslayer","skill-pilot-service-agents-geo","topic-agent-skills","topic-ai-agents","topic-clawhub","topic-networking","topic-openclaw","topic-overlay-network","topic-p2p","topic-pilot-protocol"],"categories":["pilot-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/TeoSlayer/pilot-skills/pilot-service-agents-geo","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add TeoSlayer/pilot-skills","source_repo":"https://github.com/TeoSlayer/pilot-skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (4,869 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:15:01.840Z","embedding":null,"createdAt":"2026-05-18T13:22:48.571Z","updatedAt":"2026-05-18T19:15:01.840Z","lastSeenAt":"2026-05-18T19:15:01.840Z","tsv":"'/data':522,652,695 '/help':87,509,610,678 '/summary':539,614 '1':27,633 '1600':697 '2':35,660 '20':656 '3':682 '9':735 'accuraci':438 'ack':552,555,556 'actual':566 'address':29,131,142,146,385,416,696 'address/coords':201 'admin':379 'agent':4,52,72,85,90,114,116,427,481,492,499,567,586,650,667,718 'air':44,152,156,421 'air-qual':43,420 'aircraft':320 'also':626 'altern':442 'alway':107 'amphitheatr':698 'api':9,57,287,342,344 'arriv':569 'awar':258 'bash':496,632 'basic':444 'bbox':318 'bound':324 'box':325 'brazil':383 'brazilian':384 'byte':559,560 'ca':702 'carri':584 'catalogu':104,474,637 'categori':75,119,495,653 'cep':388 'citi':310,392,393 'code':359,389,642 'command':487 'comput':36 'condit':159 'contract':79,502,663 'convert':28 'coord':235,283 'coordin':30,32,192,313 'core':712 'count':597 'countri':124,127,292,352,354,362,364,396,449 'country-from-ip':123 'coverag':406 'currenc':353,358 'current':158 'cursor':605 'daemon':731 'data':508,515,521,538,592,651,677,694 'depend':706 'describ':80 'descript':122 'detect':128 'direct':37,164,167,339,408 'discoveri':635,723 'distanc':174,178,409 'drive':338 'driving/walking':168 'elev':40,133,136,186,189,190,411,452 'elevation-open-meteo':132 'entri':583 'envelop':484,553,589 'europe/asia/etc':367 'everi':491 'exact':94 'exampl':631 'expect':402,456 'fetch':513 'field':593 'filter':95,501,524,541 'fleet':470 'flow':724 'follow':76 'forecast':233 'forward':304 'free':457,623 'free-text':622 'fresh':111,634 'gcp':140,150,162,172,184,195,204,214,227,238,250,263,274,433,674,691 'gcp-map':432 'gcp-maps-address-valid':139 'gcp-maps-air-qu':149 'gcp-maps-direct':161 'gcp-maps-distance-matrix':171 'gcp-maps-elev':183 'gcp-maps-geocod':194,673,690 'gcp-maps-geoloc':203 'gcp-maps-places-new':213 'gcp-maps-pollen':226 'gcp-maps-road':237 'gcp-maps-rout':249 'gcp-maps-solar':262 'gcp-maps-timezon':273 'gemini':532,618,628 'gemini-gener':617 'general':722 'generat':619 'geo':5,53,654 'geocod':16,64,197,200,299,305,309,314,407,676,693 'geograph':6,54 'geoloc':8,56,206,208,290,378,418 'global':315 'googl':10,58,144,154,165,176,187,198,207,218,230,241,253,266,277,403,425,460 'gps':245 'grow':105,638 'hard':641 'hard-cod':640 'higher':437 'hostnam':121,430 'imageri':479 'immedi':554 'inbox':512,527,544,580,582,659,681,705 'info':394 'int':599,602 'ip':19,67,126,130,286,289,447 'ip-api':285 'ip-api.com':288 'ip-to-countri':446 'ip-to-loc':18,66 'isp':291 'item':596 'join':732 'json':483,504,511,517,523,526,534,540,543,579,594,644,658,669,680,686,704 'languag':530 'later':573 'limit':655 'list':113,649 'list-ag':112,648 'live':319 'locat':21,69,209 'lookup':22,70,380,386,445 'machin':337 'manag':471 'map':11,59,141,145,151,155,163,166,173,177,185,188,196,199,205,215,219,228,231,239,242,251,254,264,267,275,278,404,426,434,477,675,692 'matrix':175,179,410 'messag':507,520,537,549,647,672,689 'meteo':135,138,308 'meter':464 'mountain':700 'n':558,561 'name':34,311 'natur':529 'natural-languag':528 'network':734 'never':639 'new':217,221 'next':604 'nominatim':295,301 'nominatim-revers':294 'nominatim-search':300 'normalis':588 'null':600,603,606 'open':15,63,134,137,307,334,441,451 'open-elev':450 'open-meteo-geocod':306 'openski':317 'opensky-bbox':316 'openstreetmap':297,303 'opentopodata':327,329 'opentopodata-srtm':326 'osrm':332 'osrm-rout':331 'overpass':341,343 'overpass-api':340 'p':48 'page':601 'paid':435 'path':727 'pattern':489 'photon':346,348 'photon-revers':345 'pilot':2,50,83,710,716 'pilot-protocol':709 'pilot-service-ag':82,715 'pilot-service-agents-geo':1,49 'pilotctl':503,510,516,525,533,542,578,643,657,668,679,685,703,725 'pkwi':699 'place':33,216,220,223,414 'plain':612 'platform':405 'plus':14,62 'pngs':486 'pollen':229,232,423 'postcod':375,377 'potenti':271 'prefix':431 'premium':13,61,148,160,170,182,193,202,212,225,236,248,261,272,284,429 'price':462 'prose':620,629 'protocol':711 'qualiti':45,153,157,422 'queri':115,625,683 'raw':476 'read':92,497,576,661 'real':467 'real-tim':466 'region':293,363,366,370,372 'requir':707 'respons':545,568 'rest':351,361 'rest-countries-curr':350 'rest-countries-region':360 'restcountri':369,371 'restcountries-region':368 'return':550,611,615,627 'revers':296,298,347,349 'road':240,243,247,413 'roof':269 'rout':169,252,255,259,333,336,415 'run':730 'schema':96 'search':224,302 'second':572 'send':86,506,519,536,548,646,671,688 'send-messag':505,518,535,547,645,670,687 'serv':482 'servic':3,51,84,461,717 'shape':546 'skill':25,713,719 'skill-pilot-service-agents-geo' 'sla':440 'snap':244 'snapshot':102,120 'solar':265,268,270,419 'sourc':335,595 'source-teoslayer' 'specif':357,666 'srtm':328,330 'standard':78 'state':321 'string':621 'structur':514 'suit':12,60 'summari':531 'tabl':98 'target':562 'text':222,557,564,613,624 'tier':458 'tile':478 'time':39,181,279,468 'timezon':41,276,412 'topic-agent-skills' 'topic-ai-agents' 'topic-clawhub' 'topic-networking' 'topic-openclaw' 'topic-overlay-network' 'topic-p2p' 'topic-pilot-protocol' 'total':598 'traffic':257,469 'traffic-awar':256 'travel':38,180 'truncat':607 'type':563 'tz':281 'uk':374,376 'uk-postcod':373 'upstream':436,465,608 'url':609 'use':23,355 'v2':260 'valid':143,147,417 'verifi':108 'viacep':382 'viacep-brazil':381 'view':701 'wifi/cell/ip':211 'workflow':630 'yet':475 'zip':397 'zippopotam':391 'zippopotam-c':390 'zippopotam.us':398 'zone':280","prices":[{"id":"450a7f30-7973-496c-bfe9-8a504e86ec08","listingId":"1477122a-486b-442f-97f1-5989ed255c8e","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"TeoSlayer","category":"pilot-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:22:48.571Z"}],"sources":[{"listingId":"1477122a-486b-442f-97f1-5989ed255c8e","source":"github","sourceId":"TeoSlayer/pilot-skills/pilot-service-agents-geo","sourceUrl":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-service-agents-geo","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:48.571Z","lastSeenAt":"2026-05-18T19:15:01.840Z"}],"details":{"listingId":"1477122a-486b-442f-97f1-5989ed255c8e","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"TeoSlayer","slug":"pilot-service-agents-geo","github":{"repo":"TeoSlayer/pilot-skills","stars":6,"topics":["agent-skills","ai-agents","clawhub","networking","openclaw","overlay-network","p2p","pilot-protocol"],"license":"agpl-3.0","html_url":"https://github.com/TeoSlayer/pilot-skills","pushed_at":"2026-05-13T06:08:49Z","description":"80+ agent skills for Pilot Protocol — communication, file transfer, trust, task routing, swarm coordination, and more","skill_md_sha":"8f521a94858963dbcea9be511648bab7e4d94218","skill_md_path":"skills/pilot-service-agents-geo/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/TeoSlayer/pilot-skills/tree/main/skills/pilot-service-agents-geo"},"layout":"multi","source":"github","category":"pilot-skills","frontmatter":{"name":"pilot-service-agents-geo","license":"AGPL-3.0","description":"Geographic and geolocation APIs — Google Maps suite (premium) plus open geocoders and IP-to-location lookups.  Use this skill when: 1. Converting addresses ↔ coordinates, or coordinates ↔ place names 2. Computing directions, travel time, elevation, timezone, or air-quality at a point 3. Finding places by text (Places New) or validating postal addresses  Do NOT use this skill when: - Flight tracking (use pilot-service-agents-flights) - Public-transit schedules (use pilot-service-agents-transit) - Weather forecasts (use pilot-service-agents-weather)","compatibility":"Requires pilot-protocol skill, pilotctl binary on PATH, a running daemon joined to network 9 (data-exchange), and the `list-agents` directory agent reachable on the overlay."},"skills_sh_url":"https://skills.sh/TeoSlayer/pilot-skills/pilot-service-agents-geo"},"updatedAt":"2026-05-18T19:15:01.840Z"}}