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-professionsgit 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-professions)<a href="https://agentmods.dev/skills/jburlison/wowaddonapiagents/wow-api-professions"><img src="https://agentmods.dev/badge/skills/jburlison/wowaddonapiagents/wow-api-professions/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-professions"><img src="https://agentmods.dev/badge/skills/jburlison/wowaddonapiagents/wow-api-professions.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.00127 | $0.03489 |
| Opus 5.5 | $0.00051 | $0.01396 |
| Sonnet 5.5 | $0.00025 | $0.00698 |
| Haiku 4.5 | $0.00013 | $0.00349 |
Grade A, and why
wow-api-professions 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 — 255 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Professions API (Retail — Patch 12.0.0)
Comprehensive reference for professions, crafting, and crafting order APIs.
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_TradeSkillUI — Recipe browsing, crafting, reagents, skill info
- C_CraftingOrders — Crafting order system (customer & crafter)
- C_ProfessionSpecUI — Profession specialization trees
- Global TradeSKill — Legacy/global tradeskill functions
C_TradeSkillUI — Tradeskill System
Opening & State
| Function | Returns | Description |
|---|---|---|
C_TradeSkillUI.OpenTradeSkill(tradeSkillID) |
success |
Open tradeskill UI |
C_TradeSkillUI.CloseTradeSkill() |
— | Close tradeskill UI |
C_TradeSkillUI.IsTradeSkillReady() |
isReady |
Is tradeskill data ready? |
C_TradeSkillUI.IsTradeSkillGuild() |
isGuild |
Viewing guild crafters? |
C_TradeSkillUI.IsTradeSkillLinked() |
isLinked |
Viewing linked tradeskill? |
C_TradeSkillUI.IsNPCCrafting() |
isNPC |
Crafting at NPC? |
C_TradeSkillUI.IsRecraftReady() |
isReady |
Recraft system ready? |
C_TradeSkillUI.GetTradeSkillDisplayName(tradeSkillID) |
name |
Profession name |
Profession Info
| Function | Returns | Description |
|---|---|---|
C_TradeSkillUI.GetProfessionInfoBySkillLineID(skillLineID) |
professionInfo |
Profession info |
C_TradeSkillUI.GetChildProfessionInfos() |
infos |
Child profession tiers |
C_TradeSkillUI.GetProfessionInfoByRecipeID(recipeID) |
professionInfo |
Profession for recipe |
C_TradeSkillUI.GetBaseProfessionInfo() |
professionInfo |
Base profession info |
C_TradeSkillUI.GetProfessionSlots(profession) |
slots |
Profession slots |
C_TradeSkillUI.GetProfessionChararacterSlotInfo(slot) |
info |
Character slot info |
Recipe List & Info
| Function | Returns | Description |
|---|---|---|
C_TradeSkillUI.GetAllRecipeIDs() |
recipeIDs |
All available recipes |
C_TradeSkillUI.GetFilteredRecipeIDs() |
recipeIDs |
Filtered recipe list |
C_TradeSkillUI.GetRecipeInfo(recipeID) |
recipeInfo |
Recipe details |
C_TradeSkillUI.GetRecipeSchematic(recipeID, isRecraft [, recraftItemGUID]) |
schematic |
Recipe schematic |
C_TradeSkillUI.GetRecipeDescription(recipeID) |
description |
Recipe description text |
C_TradeSkillUI.GetRecipeNumItemsProduced(recipeID) |
min, max |
Items produced |
C_TradeSkillUI.GetRecipeOutputItemData(recipeID [, reagents [, allocationItemGUID]]) |
outputInfo |
Output item data |
C_TradeSkillUI.GetRecipeQualityItemIDs(recipeID) |
itemIDs |
Quality-tier item IDs |
C_TradeSkillUI.GetRecipeQualityReagentItemLink(recipeSpellID, reagentIndex, qualityIndex) |
itemLink |
Quality reagent link |
C_TradeSkillUI.GetRecipeRepeatCount() |
repeatCount |
Queue repeat count |
C_TradeSkillUI.SetRecipeRepeatCount(count) |
— | Set repeat count |
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 · 255 lines · 127 tokens per session scan A b8e6a3134fb7
wow-api-professions is a skill published in the GitHub repository JBurlison/WoWAddonAPIAgents (46 stars, last pushed 8mo ago), licensed MIT. It adds 127 tokens to every session and 3,489 once invoked, about $0.0005 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.