maps-poi

maps-poi is a skill for Claude Code, Codex from fuyuxiang/echo-agent. It costs 32 tokens per session (670 once invoked), scanned A, original, MIT.

A set of free map utilities built on OpenStreetMap data. It supports finding coordinates and places, planning routes, and determining time zones from locations.

In plain words
What is it for?
Use it to geocode addresses, reverse-geocode coordinates, search for nearby points of interest, plan driving routes, and find the time zone for a location.
Why use it?
Map-related tasks require converting names to coordinates, locating nearby places, or calculating travel details. These utilities provide those basic geographic operations without a paid API key.

Skill for Claude CodeCodex

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

Good fit Use it to geocode addresses, reverse-geocode coordinates, search for nearby points of interest, plan driving routes, and find the time zone for a location.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/fuyuxiang/echo-agent/maps-poi
About the project

Echo Agent is a self-hosted, long-running AI agent that connects language models, tools, memory, permissions, and messaging channels in one system. Individuals and teams use it for private automation that retains context across sessions, develops skills, schedules tasks, and requires approval for high-risk actions.

fuyuxiang/echo-agent · 1,056 stars · on GitHub · ojlab.com

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.

Any agent
npx skills add fuyuxiang/echo-agent --skill maps-poi
Clone the repo
git clone --depth 1 https://github.com/fuyuxiang/echo-agent

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 maps-poi

README.md
[![agentmods](https://agentmods.dev/badge/skills/fuyuxiang/echo-agent/maps-poi.svg)](https://agentmods.dev/skills/fuyuxiang/echo-agent/maps-poi)
Your own site
<a href="https://agentmods.dev/skills/fuyuxiang/echo-agent/maps-poi"><img src="https://agentmods.dev/badge/skills/fuyuxiang/echo-agent/maps-poi.svg" alt="Measured on agentmods" height="20"></a>
Per session 32 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 670 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
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.00032 $0.00670
Opus 5 $0.00016 $0.00335
Sonnet 5 $0.00006 $0.00134
Haiku 4.5 $0.00003 $0.00067

Measured 8d ago against content hash 36105493b555, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

maps-poi scanned grade A with 1 finding 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 8d ago.

The scan reads SKILL.md. This mod also ships 1 executable file (scripts/geo_query.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -s "https://nominatim.openstreetmap.org/search?q=Beijing&format=json&limit=3" \
skills/utility/maps-poi/SKILL.md · 78 lines

What it actually says

Maps & POI

Geographic queries using free OpenStreetMap APIs.

Geocoding (Nominatim)

# Forward: name → coordinates
curl -s "https://nominatim.openstreetmap.org/search?q=Beijing&format=json&limit=3" \
  -H "User-Agent: EchoAgent/1.0"

# Reverse: coordinates → address
curl -s "https://nominatim.openstreetmap.org/reverse?lat=39.9042&lon=116.4074&format=json" \
  -H "User-Agent: EchoAgent/1.0"
# Search near location
curl -s "https://nominatim.openstreetmap.org/search?q=coffee+near+Chaoyang+Beijing&format=json&limit=10" \
  -H "User-Agent: EchoAgent/1.0"

Route Planning (OSRM)

# Driving route: Beijing → Shanghai
curl -s "https://router.project-osrm.org/route/v1/driving/116.4,39.9;121.5,31.2?overview=false" | \
  python3 -c "import sys,json; r=json.load(sys.stdin)['routes'][0]; print(f\"Distance: {r['distance']/1000:.1f} km, Duration: {r['duration']/3600:.1f} h\")"

Timezone

from zoneinfo import ZoneInfo
from datetime import datetime

# Get timezone name from coordinates
# pip install timezonefinder
from timezonefinder import TimezoneFinder
tf = TimezoneFinder()
tz_name = tf.timezone_at(lng=116.4, lat=39.9)  # 'Asia/Shanghai'

# Convert time
beijing_time = datetime.now(ZoneInfo("Asia/Shanghai"))
ny_time = beijing_time.astimezone(ZoneInfo("America/New_York"))

Script

python3 scripts/geo_query.py geocode "天安门"
python3 scripts/geo_query.py reverse 39.9042 116.4074
python3 scripts/geo_query.py poi "咖啡" --lat 39.9 --lon 116.4
python3 scripts/geo_query.py route 39.9042 116.4074 31.2304 121.4737

Rate Limits

Nominatim: max 1 request/second. Always include User-Agent header.

Alternative: 高德地图 (AMap)

For China-specific use, set AMAP_API_KEY:

curl "https://restapi.amap.com/v3/geocode/geo?key=$AMAP_API_KEY&address=北京天安门"
Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

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. 8d ago First seen · 78 lines · 32 tokens per session scan A 36105493b555

Subscribe to this mod's changes

maps-poi is a skill published in the GitHub repository fuyuxiang/echo-agent (1,056 stars, last pushed 6d ago), licensed MIT. It adds 32 tokens to every session and 670 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). 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

openlore

Query and publish to an OpenLore knowledge base over SSH using ordinary shell commands. Use when a task needs project documentation, runbooks, shared team knowledge, or a place to publish findings.

aakarim/OpenLore · 42 tokens

openlore-housekeeping

Audit and maintain a shared OpenLore knowledge base. Use on a schedule or on request to find stale docs, broken links, unreviewed inbox items, and missing skill coverage, then publish an audit report.

aakarim/OpenLore · 48 tokens

lore

Long-term Markdown project memory for AI coding agents. Use when the user wants to record, recall, audit, sync, or compress project decisions, architecture, conventions, monorepo scopes, or .lore/ entries, including natural-language requests like "remember this decision" or explicit lore…

TheaDust/lore · 141 tokens

acontext-installer

Install Acontext, Login & Init Acontext Project, Add Skill Memory to Agent.

memodb-io/Acontext · 22 tokens

mindmemos-cli

Give an AI agent persistent, cross-session long-term memory through MindMemOS. Covers installing and authenticating the mindmemos CLI, the full command interface (add / search / get / update / delete / feedback / dreaming) with parameters and examples, guidance on which capability to use when, plus a Python SDK…

mindscale-noah/MindMemOS · 97 tokens

growmos

Use the repository's living knowledge graph (growmos, in .growmos/) as shared memory. Trigger when the user asks about how parts of the codebase relate, why a decision was made, who owns what, what depends on what; when you finish a meaningful piece of development and should record it; when growmos next reports…

codician-team/growmos · 97 tokens