Communityライティング&編集github.com

AirswitchAsa/pokemon-wikis-cli

CLI-first, fully async SDK for compliant access to four Pokémon wikis (Bulbapedia, 52poke, PokéWiki, WikiDex) through one English interface.

対応Claude Code~Codex CLI~Cursor
npx skills add AirswitchAsa/pokemon-wikis-cli

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

ドキュメント

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 1do 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:

-wwikiuse it for
enBulbapediathe broadest English coverage; default choice for English
zh-hans52poke (神奇宝贝百科)Chinese queries; simplified output
zh-hant52pokeChinese queries; traditional output
dePokéWikiGerman; no CirrusSearch — plain search works, but search -c doesn't; use filter
esWikiDexSpanish

Match the wiki to the user's language, or to where the fact lives. A page title is per-wiki and not translatedPikachu on en, 皮卡丘 on zh-hans.

The four commands

CommandUse 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              # find a page by fuzzy name
pokewiki page "Garchomp" -w en                   # raw wikitext (follows redirects)
pokewiki filter type:dragon region:hisui -w en   # all Hisui-dex Dragon types
pokewiki keywords region -w en                   # valid region: keys on Bulbapedia

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 titlesearch. 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 traitsearch "<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:

  1. search the threat's name to confirm you have the right page.
  2. page it to read its real typing, stats, and ability — not what you recall.
  3. 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").
  4. 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.

関連スキル