| name | pokewiki |
| description | Answer Pokémon questions from live wiki data — species, moves, abilities, type matchups, game rosters, version/regulation facts — using the `pokewiki` CLI over Bulbapedia, 52poke (神奇宝贝百科), PokéWiki, and WikiDex. Use whenever accuracy matters and training data may be stale, incomplete, or wrong about a specific game. |
| metadata | {"short-description":"Compliant lookup across four Pokémon wikis through one English CLI"} |
pokewiki
Look things up across four Pokémon wikis — Bulbapedia (en), 神奇宝贝百科 / 52poke
(zh), PokéWiki (de), WikiDex (es) — through one English CLI: pokewiki.
pokemon-wikis-cli is an unofficial, independent tool — not affiliated with or
endorsed by any of these wikis or The Pokémon Company.
When to use this skill
Reach for it for any factual Pokémon question: a species' typing/stats/abilities,
what a move does, type matchups, evolution lines, which Pokémon share a trait, or
game-specific facts like a title's available roster, regional Pokédex, or current
competitive regulation.
Treat the wikis as ground truth, not your memory. Pokémon detail is vast,
versioned, and frequently updated — rosters change per regulation, names differ
per language, a "fact" you recall may be from the wrong game or simply wrong.
When accuracy matters, look it up before you answer. The cost of a lookup is one
command; the cost of confidently stating a wrong type, stat, or "this Pokémon is
in this game" is a wrong answer the user has to catch.
Getting the CLI
Resolve the command with the bundled script (resolve its path relative to this
SKILL.md). It prints the command to use, or exits non-zero with install
instructions:
scripts/ensure-pokewiki.sh
It checks, in order: a pokewiki already on PATH, then uvx (runs it straight
from GitHub — no install; uv caches the build after first use). If neither is
present it prints install options and exits 1 — do not install anything
yourself; surface the options and let the user choose.
All examples below write pokewiki; substitute whatever the script prints.
Pick a wiki: -w is required
Every lookup runs against exactly one wiki, chosen with -w / --wiki:
-w | wiki | use it for |
|---|
en | Bulbapedia | the broadest English coverage; default choice for English |
zh-hans | 52poke (神奇宝贝百科) | Chinese queries; simplified output |
zh-hant | 52poke | Chinese queries; traditional output |
de | PokéWiki | German; no CirrusSearch — plain search works, but search -c doesn't; use filter |
es | WikiDex | Spanish |
Match the wiki to the user's language, or to where the fact lives. A page title
is per-wiki and not translated — Pikachu on en, 皮卡丘 on zh-hans.
The four commands
| Command | Use it when |
|---|
search <query> | You need to find a page or don't know its exact title (fuzzy, full-text). |
filter <keys…> | You want every Pokémon matching an intersection of traits (type, generation, egg group, region, ability). |
page <title> | You know the page (or a name that redirects to it) and want its raw wikitext — stats, typing, abilities, movesets. |
keywords [axis] | You need to see the valid constraint keys for filter. |
pokewiki search "皮卡丘" -w zh-hans
pokewiki page "Garchomp" -w en
pokewiki filter type:dragon region:hisui -w en
pokewiki keywords region -w en
Add --format json to any command for structured output to parse; omit it to
read results yourself. See references/cli.md for every flag and exit code.
Choosing between them
- Know the exact subject (a named Pokémon, move, or ability) →
page. It
follows redirects, so a bare name usually resolves to the article.
- Looking for the right page / unsure of the title →
search. Then page
the best hit to read it.
- Enumerating by trait ("all Electric gen-1", "Water/Ground types") →
filter. Keys AND-intersect; pass them space- or comma-separated.
- Narrowing a text search by a trait →
search "<text>" -c type:electric
(CirrusSearch wikis only — not de).
Constraint vocabulary for filter
Keys are English and resolve to each wiki's native category. Two kinds:
- Universal (identical on every wiki):
type: (18), gen: (1–9),
egg: (14 egg groups).
- Per-wiki (only where that wiki categorises so):
region: on en (9) and
zh (10); ability: on zh only (312). Using one on a wiki that lacks it is
a clear error that names the wikis which do support it.
Run pokewiki keywords for the union of all keys, or pokewiki keywords -w <wiki>
to see one wiki's keys with their native category names. For anything outside
this vocabulary, use search.
A worked pattern: multi-step lookups
Real questions often chain the commands — and chaining is also how you avoid
answering from stale memory. To find a counter to a threat within a specific
game's available roster:
search the threat's name to confirm you have the right page.
page it to read its real typing, stats, and ability — not what you recall.
page the game's roster/regulation article to see what is actually
available (this is the step that catches "I assumed X was in this game").
filter by the relevant type within that pool to enumerate real options.
Each step replaces an assumption with a fact from the wiki. When a lookup
contradicts what you were about to say, trust the lookup.
Compliance (don't work around it)
This tool is deliberately polite to the wikis, and that is a feature. It uses
only the MediaWiki API (never scraping), serializes and rate-limits requests,
caches for 24h, and sends an identifying User-Agent. Don't try to parallelise it,
bypass the cache in a loop, or add the Japanese/French/Italian wikis (excluded
because they block automated access). If a request is throttled (exit code 4),
wait and retry once — don't hammer it.
References
references/cli.md — every command, argument, flag, output shape, and exit
code.