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.
npx skills add JBurlison/WoWAddonAPIAgents --skill wow-api-map-navigationgit clone --depth 1 https://github.com/JBurlison/WoWAddonAPIAgentsWrote 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.
[](https://agentmods.dev/skills/jburlison/wowaddonapiagents/wow-api-map-navigation)<a href="https://agentmods.dev/skills/jburlison/wowaddonapiagents/wow-api-map-navigation"><img src="https://agentmods.dev/badge/skills/jburlison/wowaddonapiagents/wow-api-map-navigation/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/jburlison/wowaddonapiagents/wow-api-map-navigation"><img src="https://agentmods.dev/badge/skills/jburlison/wowaddonapiagents/wow-api-map-navigation.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00161 | $0.04247 |
| Opus 5.5 | $0.00064 | $0.01699 |
| Sonnet 5.5 | $0.00032 | $0.00849 |
| Haiku 4.5 | $0.00016 | $0.00425 |
Grade A, and why
wow-api-map-navigation 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 1mo 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.
How it starts
The opening of the file, as written. The whole thing — 332 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Map & Navigation API (Retail — Patch 12.0.0)
Comprehensive reference for all map, navigation, and location APIs in WoW Retail.
Source: https://warcraft.wiki.gg/wiki/World_of_Warcraft_API Current as of: Patch 12.0.0 (Build 65655) — January 28, 2026 Scope: Retail only.
Scope
- C_Map — Map data, coordinates, map IDs, areas
- C_MapExplorationInfo — Fog of war / exploration data
- C_AreaPoiInfo — Area Points of Interest
- C_TaxiMap — Flight master/taxi routes
- C_Vignette — Vignettes (rare mobs, treasures)
- C_SuperTrackManager — Super tracking (waypoint tracking)
- C_Navigation — In-game navigation system
- C_ZoneAbility — Zone-specific abilities
- C_FogOfWar — Fog of war system
- Minimap — Minimap functions
- C_NamePlateManager — Nameplate management
C_Map — Core Map System
Map Info & IDs
| Function | Returns | Description |
|---|---|---|
C_Map.GetBestMapForUnit(unitToken) |
uiMapID |
Best map for unit's location |
C_Map.GetMapInfo(uiMapID) |
mapInfo |
Map name, type, parent |
C_Map.GetMapInfoAtPosition(uiMapID, x, y) |
mapInfo |
Map info at coordinate |
C_Map.GetMapChildrenInfo(uiMapID [, mapType [, allDescendants]]) |
childrenInfo |
Child maps |
C_Map.GetMapGroupID(uiMapID) |
mapGroupID |
Map group (floor group) |
C_Map.GetMapGroupMembersInfo(mapGroupID) |
membersInfo |
Maps in group (floors) |
C_Map.GetMapLinksForMap(uiMapID) |
mapLinks |
Map links (transitions) |
C_Map.GetMapRectOnMap(uiMapID, parentMapID) |
minX, maxX, minY, maxY |
Map rect on parent |
C_Map.GetPlayerMapPosition(uiMapID, unitToken) |
position |
Player position on map |
C_Map.GetWorldPosFromMapPos(uiMapID, mapPosition) |
continentID, worldPosition |
Map → world coords |
C_Map.GetMapPosFromWorldPos(continentID, worldPosition [, overrideUiMapID]) |
uiMapID, mapPosition |
World → map coords |
C_Map.GetFallbackWorldMapID() |
uiMapID |
Default world map |
C_Map.GetBountySetMaps(bountySetID) |
mapIDs |
Maps for bounty set |
C_Map.GetAreaInfo(areaID) |
areaName |
Area name by ID |
C_Map.GetMapArtID(uiMapID) |
mapArtID |
Art asset ID |
C_Map.GetMapArtBackgroundAtlas(uiMapID) |
atlasName |
Background atlas |
C_Map.GetMapArtHelpTextPosition(uiMapID) |
position |
Help text position |
C_Map.GetMapArtLayerTextures(uiMapID, layerIndex) |
textures |
Layer texture files |
C_Map.GetNumMapArtLayers(uiMapID) |
numLayers |
Number of art layers |
C_Map.GetMapArtLayers(uiMapID) |
layers |
All art layer info |
C_Map.GetMapDisplayInfo(uiMapID) |
hideIcons |
Display flags |
C_Map.GetMapHighlightInfoAtPosition(uiMapID, x, y) |
fileDataID, atlasID, texturePercentageX, texturePercentageY, textureX, textureY, scrollChildX, scrollChildY |
Highlight at position |
C_Map.HasArt(uiMapID) |
hasArt |
Has map art? |
C_Map.IsMapValidForNavBarDropdown(uiMapID) |
isValid |
Valid for navbar? |
C_Map.MapHasArt(uiMapID) |
hasArt |
Alias for HasArt |
C_Map.RequestPreloadMap(uiMapID) |
— | Preload map data |
C_Map.SetUserWaypoint(uiMapID, position) |
— | Set user waypoint |
C_Map.GetUserWaypoint() |
point |
Get user waypoint |
C_Map.HasUserWaypoint() |
hasWaypoint |
Has user waypoint? |
C_Map.ClearUserWaypoint() |
— | Clear user waypoint |
C_Map.CanSetUserWaypointOnMap(uiMapID) |
canSet |
Can set waypoint? |
C_Map.GetUserWaypointHyperlink() |
hyperlink |
Waypoint hyperlink |
C_Map.GetUserWaypointFromHyperlink(hyperlink) |
point |
Parse waypoint link |
C_Map.GetUserWaypointPositionForMap(uiMapID) |
mapPosition |
Waypoint on map |
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.
- 1mo ago First seen · 332 lines · 161 tokens per session scan A bd8ab5a8b7c0
wow-api-map-navigation is a skill published in the GitHub repository JBurlison/WoWAddonAPIAgents (46 stars, last pushed 8mo ago), licensed MIT. It adds 161 tokens to every session and 4,247 once invoked, about $0.0006 per session on Opus 5.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.
Other skills, from other repositories
playtest-report
Structured playtest report template, or turn existing playtest notes into structured feedback.
godot-signals-groups
Build event-driven, decoupled Godot 4.7 gameplay with signals and node groups: declare and emit custom signals, connect with Callables (incl. bind/one-shot), and broadcast to many nodes via groups and callgroup. Use when wiring node communication in a Godot project, replacing tight references with signals…
motion
Reconstruct a skeleton from calibrated mesh projections and sequential VLM joint annotations, then fit joints and skin weights. Generate motion from joint-position trajectories, rhythm and contact constraints through IK; refine bone orientation against the action, then export, retarget and validate on the target mesh.
unity-addressables
Manage Addressables groups, entries, profiles and content builds (com.unity.addressables, reflection-based).
unity-manual-component
Manually add, configure, reorder, and copy components on GameObjects using Unity Editor UI. For one-off Inspector workflows that do not need REST automation.
threejs-exposure-color-grading
Build a measured exposure and grading path in Three.js. Use for a 64x36 encoded luminance meter, asynchronous readback, weighted log-average exposure, asymmetric adaptation, single tone-map ownership, and a generated 32-cube post-tone-map LUT.