Best for
- Use when working with match data, champion info, ranked systems, game objectives, items, runes, player statistics, Riot API client, API endpoints, rate limiting, PUUID lookups, summoner info, or regional routing.
shepherdjerred/monorepo/packages/dotfiles/dot_agents/skills/lol-helper/SKILL.md
League of Legends domain knowledge, terminology, and Riot Games API reference. Use when working with match data, champion info, ranked systems, game objectives, items, runes, player statistics, Riot API client, API endpoints, rate limiting, PUUID lookups, summoner info, or regional routing.
Decision brief
Complete reference for League of Legends game concepts, terminology, data structures, and Riot Games API integration.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/shepherdjerred/monorepo --skill "packages/dotfiles/dot_agents/skills/lol-helper"Inspect the Agent Skill "lol-helper" from https://github.com/shepherdjerred/monorepo/blob/d1ae0a6d2f19838bb4df49402cb8ac4dc7113df8/packages/dotfiles/dot_agents/skills/lol-helper/SKILL.md at commit d1ae0a6d2f19838bb4df49402cb8ac4dc7113df8. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
1. Get PUUID from Riot ID:
This repository uses a native type-safe RiotClient in src/league/api/client/riot-client.ts. It combines concurrency limiting, a client-wide Retry-After cooldown for 429 responses, and per-request 503 retry.
Review the “Basic Setup” section in the pinned source before continuing.
Spawn at 5:00, respawn 5 minutes after killed. One team getting 4 drakes grants Dragon Soul.
Gain/lose LP from wins/losses
Permission review
The documentation includes network, browsing, or remote request actions.
Platform: https://na1.api.riotgames.com/lol/summoner/v4/summoners/by-puuid/{puuid}The documentation includes network, browsing, or remote request actions.
Regional: https://americas.api.riotgames.com/lol/match/v5/matches/by-puuid/{puuid}/idsEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 94/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 125 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Complete reference for League of Legends game concepts, terminology, data structures, and Riot Games API integration.
| Tier | Divisions | Notes |
|---|---|---|
| Iron | IV, III, II, I | Lowest tier |
| Bronze | IV, III, II, I | |
| Silver | IV, III, II, I | Most populated |
| Gold | IV, III, II, I | |
| Platinum | IV, III, II, I | |
| Emerald | IV, III, II, I | Added Season 13 |
| Diamond | IV, III, II, I | |
| Master | None | Top 0.2% |
| Grandmaster | None | Top players, 200+ LP |
| Challenger | None | Top 300 players per region |
Solo/Duo:
Flex:
| Queue | ID | Players | Notes |
|---|---|---|---|
| Solo/Duo | 420 | 1-2 | Main competitive queue |
| Flex 5v5 | 440 | 1, 2, 3, or 5 | No parties of 4 |
| Queue | ID | Notes |
|---|---|---|
| Normal (Draft) | 400 | Same rules as ranked |
| Normal (Blind) | 430 | Mirror matchups allowed |
| ARAM | 450 | All Random, All Mid |
| Queue | Notes |
|---|---|
| Clash | Tournament mode |
| Arena | 2v2v2v2 mode |
| URF | Ultra Rapid Fire (rotating) |
| One for All | All same champion (rotating) |
| Class | Role | Examples |
|---|---|---|
| Tank | Absorb damage, initiate | Malphite, Ornn, Leona |
| Fighter | Sustained damage + durability | Darius, Fiora, Jax |
| Assassin | Burst damage, high mobility | Zed, Akali, Katarina |
| Mage | Ability-based damage | Lux, Syndra, Orianna |
| Marksman | Sustained ranged damage | Jinx, Caitlyn, Kai'Sa |
| Support | Utility, protection | Thresh, Lulu, Yuumi |
| Subclass | Traits | Examples |
|---|---|---|
| Juggernaut | Low mobility, high damage/durability | Darius, Mordekaiser, Garen |
| Diver | Engage into backline | Irelia, Vi, Camille |
| Subclass | Traits | Examples |
|---|---|---|
| Burst Mage | High combo damage | Syndra, Annie, Veigar |
| Battlemage | Sustained AoE in fights | Cassiopeia, Ryze, Swain |
| Artillery Mage | Extreme range | Xerath, Lux, Vel'Koz |
| Subclass | Traits | Examples |
|---|---|---|
| Assassin | Quick in-and-out | Zed, Talon, Akali |
| Skirmisher | Extended duels | Yasuo, Yone, Fiora |
Spawn at 5:00, respawn 5 minutes after killed. One team getting 4 drakes grants Dragon Soul.
| Drake | Buff | Soul Effect |
|---|---|---|
| Infernal | +AD/AP | Attacks cause AoE explosion |
| Mountain | +Armor/MR | Shield after not taking damage |
| Ocean | +HP regen | Damaging enemies heals you |
| Cloud | +Movement speed (OOC) | +Movement speed (permanent) |
| Hextech | +Attack speed + ability haste | Chain lightning on attacks |
| Chemtech | +Tenacity + heal/shield power | Brief zombie state on death |
| Stat | Description |
|---|---|
| KDA | Kills/Deaths/Assists ratio: (K+A)/D |
| CS | Creep Score (minions + jungle monsters killed) |
| Gold | Total gold earned |
| Damage Dealt | Total damage to champions |
| Damage Taken | Total damage received |
| Vision Score | Wards placed + destroyed + control |
| Event | Gold |
|---|---|
| Melee minion | ~21 |
| Caster minion | ~14 |
| Cannon minion | ~60-90 |
| Champion kill (base) | 300 |
| First Blood | +100 bonus |
| Assist | ~half of kill gold |
| Shutdown (2+ kills) | +150 per streak level |
| Dragon | ~25-100 per player |
| Baron | ~300 per player |
| Tower | ~50-250 local + ~100 global |
| Kill Streak | Bounty |
|---|---|
| 0 (base) | 300 |
| 2 kills | 450 |
| 3 kills | 600 |
| 4 kills | 700 |
| 5 kills | 800 |
| 6 kills | 900 |
| 7+ kills | 1000 (max) |
| Path | Theme | Classes |
|---|---|---|
| Precision | Sustained damage, attacks | Marksmen, fighters |
| Domination | Burst damage, hunting | Assassins, mages |
| Sorcery | Abilities, utility | Mages, enchanters |
| Resolve | Durability, defense | Tanks, supports |
| Inspiration | Creative, rule-breaking | Various |
| Keystone | Effect |
|---|---|
| Press the Attack | 3 hits = bonus damage + damage amp |
| Lethal Tempo | Stacking attack speed |
| Fleet Footwork | Energized heal + movement speed |
| Conqueror | Stacking AD/AP + healing |
| Keystone | Effect |
|---|---|
| Electrocute | 3 hits/abilities = burst damage |
| Dark Harvest | Execute-style scaling damage |
| Hail of Blades | Burst attack speed (3 attacks) |
| Predator | Movement speed + damage on first hit |
| Keystone | Effect |
|---|---|
| Summon Aery | Damage enemies or shield allies |
| Arcane Comet | Ability hits launch comet |
| Phase Rush | 3 hits = burst of movement speed |
| Keystone | Effect |
|---|---|
| Grasp of the Undying | Periodic empowered attack + heal |
| Aftershock | CC triggers resistances + damage |
| Guardian | Shield nearby ally when damaged |
| Keystone | Effect |
|---|---|
| Glacial Augment | Slowing zone on immobilize |
| Unsealed Spellbook | Swap summoner spells |
| First Strike | Bonus gold/damage when striking first |
| Spell | Cooldown | Effect |
|---|---|---|
| Flash | 300s | Blink short distance |
| Ignite | 180s | True damage DoT + Grievous Wounds |
| Teleport | 360s | Channel to allied structure/minion |
| Heal | 240s | Heal self + ally + movement speed |
| Exhaust | 210s | Slow + damage reduction on enemy |
| Barrier | 180s | Temporary shield |
| Cleanse | 210s | Remove CC + reduce incoming CC |
| Ghost | 210s | Movement speed boost |
| Smite | 90s | Damage to monster/minion (jungler) |
| Role | Common Spells |
|---|---|
| Top | Flash + Teleport, Flash + Ignite |
| Jungle | Flash + Smite (required) |
| Mid | Flash + Ignite, Flash + Teleport |
| ADC | Flash + Heal |
| Support | Flash + Ignite, Flash + Exhaust |
| Term | Meaning |
|---|---|
| AA | Auto-attack (basic attack) |
| AoE | Area of Effect |
| CC | Crowd Control (stun, slow, etc.) |
| CD | Cooldown |
| DPS | Damage Per Second |
| DoT | Damage over Time |
| OOM | Out of Mana |
| OOC | Out of Combat |
| Term | Meaning |
|---|---|
| Aggro | Aggressive play/drawing enemy attention |
| All-in | Commit all abilities for a kill |
| Backdoor | Destroy nexus by bypassing enemy team |
| Dive | Attack under enemy tower |
| Gank | Surprise attack from jungler |
| Kite | Attack while retreating |
| Peel | Protect carry from threats |
| Poke | Harass from range |
| Roam | Leave lane to help elsewhere |
| Split push | Push side lane while team distracts |
| Zone | Deny area to enemies with threat |
| Term | Meaning |
|---|---|
| Fed | Has many kills, strong |
| Behind | Less gold/XP than opponent |
| Tilted | Frustrated, playing worse |
| Autofill | Assigned non-preferred role |
| Term | Meaning |
|---|---|
| Meta | Most effective tactics available |
| Powerspike | Point where champion becomes strong |
| Scaling | Champion strength growth over time |
| Early/Mid/Late game | Game phases (~0-15/15-30/30+ min) |
Base URL: https://{region}.api.riotgames.com/riot/account/v1/
| Endpoint | Description |
|---|---|
/accounts/by-riot-id/{gameName}/{tagLine} | Get PUUID by Riot ID |
/accounts/by-puuid/{puuid} | Get account info (gameName + tagLine) by PUUID |
Important: Riot IDs replaced summoner names as of November 20, 2023. The by-name endpoints are deprecated.
Base URL: https://{platform}.api.riotgames.com/lol/summoner/v4/
| Endpoint | Description |
|---|---|
/summoners/by-puuid/{puuid} | Get summoner by PUUID (recommended) |
/summoners/{summonerId} | Get summoner by encrypted summoner ID |
/summoners/by-account/{accountId} | Get summoner by encrypted account ID |
Base URL: https://{region}.api.riotgames.com/lol/match/v5/
| Endpoint | Description |
|---|---|
/matches/by-puuid/{puuid}/ids | Get list of match IDs for a player |
/matches/{matchId} | Get match details by match ID |
/matches/{matchId}/timeline | Get match timeline (not all matches have this) |
Query Parameters for matchlist:
start - Start index (default 0)count - Number of matches (default 20, max 100)queue - Filter by queue IDtype - Filter by match type (ranked, normal, etc.)startTime / endTime - Filter by timestamp (epoch seconds)Base URL: https://{platform}.api.riotgames.com/lol/league/v4/
| Endpoint | Description |
|---|---|
/entries/by-summoner/{summonerId} | Get ranked entries for a summoner |
/entries/{queue}/{tier}/{division} | Get all entries for a tier/division |
/challengerleagues/by-queue/{queue} | Get challenger league |
/grandmasterleagues/by-queue/{queue} | Get grandmaster league |
/masterleagues/by-queue/{queue} | Get master league |
Note: If a player hasn't finished placements or isn't ranked in a queue, that queue won't appear in results.
Base URL: https://{platform}.api.riotgames.com/lol/champion-mastery/v4/
| Endpoint | Description |
|---|---|
/champion-masteries/by-puuid/{puuid} | Get all champion masteries |
/champion-masteries/by-puuid/{puuid}/top | Get top champion masteries |
/scores/by-puuid/{puuid} | Get total mastery score |
Base URL: https://{platform}.api.riotgames.com/lol/spectator/v5/
| Endpoint | Description |
|---|---|
/active-games/by-summoner/{puuid} | Get current game info (404 if not in game) |
/featured-games | Get list of featured games |
Limitations: Stats like role, KDA, or CS are not included. Custom game data is not available due to privacy policies.
Base URL: https://{platform}.api.riotgames.com/lol/challenges/v1/
| Endpoint | Description |
|---|---|
/player-data/{puuid} | Get player challenge progress |
/challenges/config | Get all challenge configurations |
/challenges/{challengeId}/leaderboards/by-level/{level} | Get challenge leaderboard (MASTER/GRANDMASTER/CHALLENGER) |
Used for most endpoints (Summoner-V4, League-V4, Champion-Mastery-V4, Spectator-V5):
| Platform | Region |
|---|---|
na1 | North America |
euw1 | Europe West |
eun1 | Europe Nordic & East |
kr | Korea |
jp1 | Japan |
br1 | Brazil |
la1 | Latin America North |
la2 | Latin America South |
oc1 | Oceania |
tr1 | Turkey |
ru | Russia |
ph2 | Philippines |
sg2 | Singapore |
th2 | Thailand |
tw2 | Taiwan |
vn2 | Vietnam |
Used for Account-V1 and Match-V5:
| Region | Platforms Covered |
|---|---|
americas | NA1, BR1, LA1, LA2 |
europe | EUW1, EUN1, TR1, RU |
asia | KR, JP1 |
sea | PH2, SG2, TH2, TW2, VN2 |
Example URLs:
Platform: https://na1.api.riotgames.com/lol/summoner/v4/summoners/by-puuid/{puuid}
Regional: https://americas.api.riotgames.com/lol/match/v5/matches/by-puuid/{puuid}/ids
Application Rate Limit - Per API key, per region
Method Rate Limit - Per endpoint, per key, per region
Service Rate Limit - Per service, shared across all applications
X-Rate-Limit-Type header| Header | Description |
|---|---|
X-App-Rate-Limit | Your app's rate limit |
X-App-Rate-Limit-Count | Current count against app limit |
X-Method-Rate-Limit | Endpoint's rate limit |
X-Method-Rate-Limit-Count | Current count against method limit |
Retry-After | Seconds to wait before retrying (on 429) |
| Code | Meaning | Action |
|---|---|---|
429 | Rate limit exceeded | Wait for Retry-After seconds |
403 | Forbidden (invalid/blacklisted key) | Check API key validity |
404 | Not found | Resource doesn't exist (e.g., player not in game) |
Blacklisting: Repeated violations result in temporary blacklisting (escalating duration), eventually permanent.
| ID Type | Scope | Use Case |
|---|---|---|
| PUUID | Global, permanent | Preferred for all lookups |
| Summoner ID | Per-region | Legacy, still used in some endpoints |
| Account ID | Per-region | Legacy |
| Riot ID | Global | Display name (gameName#tagLine) |
Get PUUID from Riot ID:
GET /riot/account/v1/accounts/by-riot-id/{gameName}/{tagLine}
Use PUUID for all subsequent calls:
GET /lol/match/v5/matches/by-puuid/{puuid}/ids
GET /lol/summoner/v4/summoners/by-puuid/{puuid}
Note: PUUIDs are encrypted per project. A PUUID from your dev key won't work with your production key.
https://ddragon.leagueoflegends.com/api/versions.jsonhttps://ddragon.leagueoflegends.com/cdn/{version}/data/{locale}/https://ddragon.leagueoflegends.com/cdn/{version}/img/| File | Content |
|---|---|
champion.json | All champions (basic info) |
champion/{name}.json | Single champion (detailed) |
item.json | All items |
summoner.json | Summoner spells |
runesReforged.json | Runes |
profileicon.json | Profile icons |
Champions: https://ddragon.leagueoflegends.com/cdn/14.24.1/data/en_US/champion.json
Items: https://ddragon.leagueoflegends.com/cdn/14.24.1/data/en_US/item.json
Champion image: https://ddragon.leagueoflegends.com/cdn/14.24.1/img/champion/Ahri.png
Item image: https://ddragon.leagueoflegends.com/cdn/14.24.1/img/item/1001.png
Data Dragon can be inaccurate (especially champion spell data). Use Community Dragon (cdragon) for more accurate data:
This repository uses a native type-safe RiotClient in #src/league/api/client/riot-client.ts. It combines concurrency limiting, a client-wide Retry-After cooldown for 429 responses, and per-request 503 retry.
import { riotClient } from "#src/league/api/api.ts";
import { regionToPlatformRoute, platformToRegionalRoute } from "@scout-for-lol/data";
// Get Account by Riot ID
const account = await riotClient.account.getByRiotId(
gameName,
tagLine,
"AMERICAS", // RegionalRoute
);
// Get match history
const matches = await riotClient.match.list(puuid, "AMERICAS", {
count: 20,
});
// Get match details (raw JSON for Zod parsing via strict-with-fallback)
const rawMatch = await riotClient.match.get(matchId, "AMERICAS");
// Get ranked data by PUUID
const leagues = await riotClient.league.byPuuid(
puuid,
"NA1", // PlatformRoute
);
Frequently asked questions
Complete reference for League of Legends game concepts, terminology, data structures, and Riot Games API integration.
The source record exposes this install command: npx skills add https://github.com/shepherdjerred/monorepo --skill "packages/dotfiles/dot_agents/skills/lol-helper". Inspect the command and pinned source before running it.
Static rules flagged network in the source; the page lists the matching lines and excerpts.
Alternatives
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
garrytan/gbrain
End-to-end discipline for turning any large data source (audio libraries, email takeouts, document corpora, chat exports, API dumps) into brain pages at scale. The lifecycle spine: SCHEMA → ACCESS → TRIAL → EVALUATE → IMPROVE → CODIFY → TEST → SKILLIFY → BULK → MONITOR. State is tracked in a durable JSON manifest (see MANIFEST-PATTERN.md) so any crash, session boundary, or subagent fan-out resumes from ground truth instead of memory.
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
dotnet/skills
Migrates .NET test projects from VSTest to Microsoft.Testing.Platform (MTP). Use when user asks to "migrate to MTP", "switch from VSTest", "enable Microsoft.Testing.Platform", "use MTP runner", set OutputType=Exe only for test projects in Directory.Build.props, or mentions EnableMSTestRunner, EnableNUnitRunner, or UseMicrosoftTestingPlatformRunner. USE FOR: MTP behavioral differences vs VSTest (exit code 8, zero tests discovered, --ignore-exit-code, TESTINGPLATFORM_EXITCODE_IGNORE); centralizing