Token导航 LogoToken导航

Agent Skill · 研究检索

wow-api-map-navigation(WOW API MAP navigation 搜索)

用于辅助 API 设计、接口文档、请求响应结构和服务集成说明。它适合让 Agent 梳理 endpoint、生成 OpenAPI 草稿、检查字段命名、整理错误码或辅助前后端联调。使用时需要确认真实业务语义、鉴权方式、分页和错误处理规则;涉及生成接口文档时,应避免凭空补字段,最好从现有代码、schema 或接口样例中提取事实。

wow-api-map-navigation 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 70,834。

总安装 198周安装 8GitHub Stars 22下载 62核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:wow-api-map-navigation(WOW API MAP navigation 搜索)
来源仓库:https://github.com/jburlison/wowaddonapiagents
仓库路径:skills/wow-api-map-navigation
安装命令:
npx skills add https://github.com/jburlison/wowaddonapiagents --skill wow-api-map-navigation
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/jburlison/wowaddonapiagents --skill wow-api-map-navigation

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

wow-api-map-navigation 用于辅助 API 设计、接口文档和错误码整理,适合生成 OpenAPI 草稿或联调支持。适用于前后端协作场景,如梳理 endpoint 或验证字段命名。通过 npx skills add 命令从指定 GitHub 仓库安装并使用。

使用时需确认业务语义和鉴权规则,避免凭空补字段。建议结合现有代码或接口样例提取事实信息。

来源仓库内路径:skills/wow-api-map-navigation

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/jburlison/wowaddonapiagents --skill wow-api-ma…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

wow-api-map-navigation 怎么安装?

在终端执行 npx skills add https://github.com/jburlison/wowaddonapiagents --skill wow-api-map-navigati…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

wow-api-map-navigation 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

wow-api-map-navigation 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

wow-api-map-navigation 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

wow-api-map-navigation 用的人多吗?

公开数据是累计安装 198 次,近一周安装 8 次,下载 62 次,GitHub 22 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

wow-api-map-navigation 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
wow-api-map-navigation

WOW API MAP navigation 搜索 · 本页

19822需要联网未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

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

FunctionReturnsDescription
C_Map.GetBestMapForUnit(unitToken)uiMapIDBest map for unit's location
C_Map.GetMapInfo(uiMapID)mapInfoMap name, type, parent
C_Map.GetMapInfoAtPosition(uiMapID, x, y)mapInfoMap info at coordinate
C_Map.GetMapChildrenInfo(uiMapID [, mapType [, allDescendants]])childrenInfoChild maps
C_Map.GetMapGroupID(uiMapID)mapGroupIDMap group (floor group)
C_Map.GetMapGroupMembersInfo(mapGroupID)membersInfoMaps in group (floors)
C_Map.GetMapLinksForMap(uiMapID)mapLinksMap links (transitions)
C_Map.GetMapRectOnMap(uiMapID, parentMapID)minX, maxX, minY, maxYMap rect on parent
C_Map.GetPlayerMapPosition(uiMapID, unitToken)positionPlayer position on map
C_Map.GetWorldPosFromMapPos(uiMapID, mapPosition)continentID, worldPositionMap → world coords
C_Map.GetMapPosFromWorldPos(continentID, worldPosition [, overrideUiMapID])uiMapID, mapPositionWorld → map coords
C_Map.GetFallbackWorldMapID()uiMapIDDefault world map
C_Map.GetBountySetMaps(bountySetID)mapIDsMaps for bounty set
C_Map.GetAreaInfo(areaID)areaNameArea name by ID
C_Map.GetMapArtID(uiMapID)mapArtIDArt asset ID
C_Map.GetMapArtBackgroundAtlas(uiMapID)atlasNameBackground atlas
C_Map.GetMapArtHelpTextPosition(uiMapID)positionHelp text position
C_Map.GetMapArtLayerTextures(uiMapID, layerIndex)texturesLayer texture files
C_Map.GetNumMapArtLayers(uiMapID)numLayersNumber of art layers
C_Map.GetMapArtLayers(uiMapID)layersAll art layer info
C_Map.GetMapDisplayInfo(uiMapID)hideIconsDisplay flags
C_Map.GetMapHighlightInfoAtPosition(uiMapID, x, y)fileDataID, atlasID, texturePercentageX, texturePercentageY, textureX, textureY, scrollChildX, scrollChildYHighlight at position
C_Map.HasArt(uiMapID)hasArtHas map art?
C_Map.IsMapValidForNavBarDropdown(uiMapID)isValidValid for navbar?
C_Map.MapHasArt(uiMapID)hasArtAlias for HasArt
C_Map.RequestPreloadMap(uiMapID)—Preload map data
C_Map.SetUserWaypoint(uiMapID, position)—Set user waypoint
C_Map.GetUserWaypoint()pointGet user waypoint
C_Map.HasUserWaypoint()hasWaypointHas user waypoint?
C_Map.ClearUserWaypoint()—Clear user waypoint
C_Map.CanSetUserWaypointOnMap(uiMapID)canSetCan set waypoint?
C_Map.GetUserWaypointHyperlink()hyperlinkWaypoint hyperlink
C_Map.GetUserWaypointFromHyperlink(hyperlink)pointParse waypoint link
C_Map.GetUserWaypointPositionForMap(uiMapID)mapPositionWaypoint on map

Map Types (Enum.UIMapType)

ValueTypeDescription
0CosmicAll continents
1WorldShows continents
2ContinentSingle continent
3ZoneZone (e.g., Durotar)
4DungeonDungeon floors
5MicroSubzone
6OrphanStandalone map

C_MapExplorationInfo — Exploration

FunctionReturnsDescription
C_MapExplorationInfo.GetExploredMapTextures(uiMapID)texturesExplored area textures
C_MapExplorationInfo.GetExploredAreaIDsAtPosition(uiMapID, position)areaIDsExplored area IDs at pos

C_AreaPoiInfo — Area Points of Interest

FunctionReturnsDescription
C_AreaPoiInfo.GetAreaPOIForMap(uiMapID)poiIDsAll POIs on map
C_AreaPoiInfo.GetAreaPOIInfo(uiMapID, poiID)poiInfoPOI details
C_AreaPoiInfo.GetAreaPOISecondsLeft(poiID)secondsLeftTime-limited POI timer
C_AreaPoiInfo.GetAreaPOITimeOfDay()hours, minutesPOI time context
C_AreaPoiInfo.IsAreaPOITimed(poiID)isTimedIs POI time-limited?

POI Info Fields

  • areaPoiID — Unique POI ID
  • position — {x, y} on map
  • name — Display name
  • description — Description text
  • textureIndex — POI icon index
  • atlasName — Atlas for icon
  • uiTextureKit — Texture kit
  • tooltipWidgetSet — Tooltip widget set
  • iconWidgetSet — Icon widget set
  • availableInPlayerChoice — Available in player choice

C_TaxiMap — Flight Paths / Taxi

FunctionReturnsDescription
C_TaxiMap.GetAllTaxiNodes(uiMapID)nodesAll flight nodes on map
C_TaxiMap.GetTaxiNodesForMap(uiMapID)nodesAvailable taxi nodes
C_TaxiMap.ShouldMapShowTaxiNodes(uiMapID)shouldShowShow taxi nodes on map?
NumTaxiNodes()numNodesAvailable nodes at taxi NPC
TaxiNodeName(index)nameNode name
TaxiNodePosition(index)x, yNode position
TaxiNodeGetType(index)nodeTypeREACHABLE, UNREACHABLE, CURRENT
TaxiGetDestX(index, i)xRoute destination X
TaxiGetDestY(index, i)yRoute destination Y
TaxiGetSrcX(index, i)xRoute source X
TaxiGetSrcY(index, i)yRoute source Y
GetNumRoutes(index)numRoutesRoute segments count
TakeTaxiNode(index)—Take flight to node
CloseTaxiMap()—Close taxi map
TaxiRequestEarlyLanding()—Request early landing
UnitOnTaxi(unit)onTaxiIs unit on a taxi?

C_Vignette — Vignettes (Rare Mobs, Treasures, Events)

FunctionReturnsDescription
C_VignetteInfo.GetVignetteInfo(vignetteGUID)infoVignette details
C_VignetteInfo.GetVignettes()vignetteGUIDsAll active vignettes
C_VignetteInfo.GetVignettePosition(vignetteGUID, uiMapID)positionVignette position on map
C_VignetteInfo.FindBestUniqueVignette(vignetteID)bestGUIDBest unique vignette

Vignette Info Fields

  • vignetteGUID — Unique identifier
  • objectGUID — Object GUID (unit, object, etc.)
  • name — Display name
  • atlasName — Icon atlas
  • type — Vignette type (Normal, PvPBounty, Torghast, etc.)
  • isDead — Is the linked unit dead?
  • onWorldMap — Shows on world map?
  • onMinimap — Shows on minimap?
  • hasTooltip — Has mouseover tooltip?
  • inFogOfWar — In unexplored area?
  • widgetSetID — UI widget set

C_SuperTrackManager — Waypoint Super Tracking

FunctionReturnsDescription
C_SuperTrack.GetSuperTrackedContent()trackableType, trackableIDCurrently tracked content
C_SuperTrack.GetSuperTrackedMapPin()type, typeIDTracked map pin
C_SuperTrack.GetSuperTrackedQuestID()questIDSuper tracked quest
C_SuperTrack.SetSuperTrackedContent(trackableType, trackableID)—Set tracked content
C_SuperTrack.SetSuperTrackedMapPin(type, typeID)—Set tracked map pin
C_SuperTrack.SetSuperTrackedQuestID(questID)—Track quest
C_SuperTrack.SetSuperTrackedUserWaypoint(superTracked)—Track user waypoint
C_SuperTrack.IsSuperTrackingAnything()isTrackingIs tracking anything?
C_SuperTrack.IsSuperTrackingCorpse()isTrackingCorpseTracking corpse?
C_SuperTrack.IsSuperTrackingQuest()isTrackingTracking a quest?
C_SuperTrack.IsSuperTrackingUserWaypoint()isTrackingTracking user waypoint?
C_SuperTrack.ClearAllSuperTracked()—Clear all tracking

C_Navigation — In-Game Navigation

FunctionReturnsDescription
C_Navigation.GetDistance()distanceDistance to tracked target
C_Navigation.GetFrame()frameNavigation frame
C_Navigation.HasValidScreenPosition()hasValidPosIs nav arrow valid?
C_Navigation.WasClampedToScreen()wasClampedWas arrow clamped?

C_ZoneAbility

FunctionReturnsDescription
C_ZoneAbility.GetActiveAbilities()abilitiesActive zone abilities

C_FogOfWar

FunctionReturnsDescription
C_FogOfWar.GetFogOfWarForMap(uiMapID)fogOfWarIDFog of war ID for map
C_FogOfWar.GetFogOfWarInfo(fogOfWarID)infoFog of war info

Minimap Functions

FunctionReturnsDescription
GetMinimapZoneText()zoneTextMinimap zone text
GetZoneText()zoneTextCurrent zone name
GetSubZoneText()subZoneTextCurrent subzone
GetRealZoneText()zoneTextReal zone text
GetMinimapShape()shapeROUND or SQUARE
Minimap:SetZoom(zoomLevel)—Set minimap zoom
Minimap:GetZoom()zoomLevelGet minimap zoom
Minimap:GetZoomLevels()numLevelsMax zoom levels
ToggleMinimap()—Toggle minimap visibility

C_NamePlateManager / Nameplates

FunctionReturnsDescription
C_NamePlate.GetNamePlates([includeForbidden])nameplatesAll activated nameplates
C_NamePlate.GetNamePlateForUnit(unitToken [, includeForbidden])nameplateNameplate for unit
C_NamePlate.GetNumNamePlates()numActiveActive nameplates count
C_NamePlate.SetNamePlateFriendlySize(width, height)—Set friendly plate size
C_NamePlate.SetNamePlateEnemySize(width, height)—Set enemy plate size
C_NamePlate.SetNamePlateSelfSize(width, height)—Set personal plate size
C_NamePlate.SetNamePlateFriendlyClickThrough(clickThrough)—Click through friendly
C_NamePlate.SetNamePlateEnemyClickThrough(clickThrough)—Click through enemy
C_NamePlate.SetNamePlateSelfClickThrough(clickThrough)—Click through personal
12.0.0 Note: Nameplates in instances are tightly restricted. Enemy nameplate unit tokens may expose only secret values for health, casting, etc.

Coordinate Conversion

Map Position Object

C_Map.GetPlayerMapPosition() returns a Vector2DMixin with:

local pos = C_Map.GetPlayerMapPosition(mapID, "player")
if pos then
    local x, y = pos:GetXY()
    -- x, y are 0-1 normalized coordinates on the map
    print(string.format("%.2f, %.2f", x * 100, y * 100))
end

Convert Between Maps

-- Get player position on the current best map
local mapID = C_Map.GetBestMapForUnit("player")
if mapID then
    local pos = C_Map.GetPlayerMapPosition(mapID, "player")
    if pos then
        -- Convert to world coordinates
        local continentID, worldPos = C_Map.GetWorldPosFromMapPos(mapID, pos)
        -- Convert back to a different map
        local otherMapID, otherPos = C_Map.GetMapPosFromWorldPos(continentID, worldPos)
    end
end

User Waypoint

-- Set a waypoint on the map
local mapID = C_Map.GetBestMapForUnit("player")
if C_Map.CanSetUserWaypointOnMap(mapID) then
    local point = UiMapPoint.CreateFromCoordinates(mapID, 0.5, 0.5)
    C_Map.SetUserWaypoint(point)
    C_SuperTrack.SetSuperTrackedUserWaypoint(true)
end

Key Events

EventPayloadDescription
ZONE_CHANGED—Subzone changed
ZONE_CHANGED_INDOORS—Indoor zone changed
ZONE_CHANGED_NEW_AREA—Major zone change
NEW_WMO_CHUNK—New world map object
MAP_EXPLORATION_UPDATED—Exploration updated
WORLD_MAP_UPDATE—World map data changed
USER_WAYPOINT_UPDATED—User waypoint changed
SUPER_TRACKING_CHANGED—Super tracking changed
VIGNETTE_MINIMAP_UPDATEDvignetteGUID, onMinimapVignette on minimap changed
VIGNETTES_UPDATED—Vignettes updated
AREA_POIS_UPDATED—Area POIs changed
NAME_PLATE_CREATEDnamePlateFrameNameplate created
NAME_PLATE_UNIT_ADDEDunitTokenUnit added to nameplate
NAME_PLATE_UNIT_REMOVEDunitTokenUnit removed from nameplate
PLAYER_STARTED_MOVING—Player started moving
PLAYER_STOPPED_MOVING—Player stopped moving
TAXIMAP_OPENEDsystemIDTaxi map opened
TAXIMAP_CLOSED—Taxi map closed
NAVIGATION_FRAME_CREATED—Nav frame created
NAVIGATION_FRAME_DESTROYED—Nav frame destroyed

Gotchas & Restrictions

  1. GetPlayerMapPosition returns nil — Returns nil for units in instances where position tracking is restricted or for invalid map IDs.
  2. Map coordinates are 0-1 normalized — Not world coordinates. Use GetWorldPosFromMapPos() to convert.
  3. uiMapID vs areaID — These are different ID systems. C_Map.GetAreaInfo() takes areaID, not uiMapID.
  4. Nameplate secrets in 12.0.0 — In instances, enemy nameplate unit data (health, casting, name) may be secret values.
  5. TakeTaxiNode hardware event — Requires a hardware event to execute (must be called from a click handler).
  6. Vignette GUIDs are transient — Vignette GUIDs change when you zone or reload. Don't persist them.
  7. Map group = floors — Dungeon maps with multiple floors use map groups. Each floor is a separate uiMapID in the group.
  8. Waypoint limit — Only one user waypoint can exist at a time. Setting a new one replaces the old.

平台分布

Codex

31.81%
按下载量换算20

Claude

30.73%
按下载量换算19

Cursor

18.43%
按下载量换算11

Gemini CLI

9.49%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills