Install
openclaw skills install pokeinfoQuery Pokémon / Pokemon information from PokéAPI. Lookup Pokemon details by name or ID - stats, abilities, types, moves, sprites, and cries. Supports 9 languages including English, Chinese, Japanese, Korean, French, German, Spanish, Italian. Triggers on requests like "pokemon info", "get info about [pokemon]", "what is [pokemon]", "pokemon stats", or any query related to Pokémon / Pokemon data retrieval.
openclaw skills install pokeinfoQuery detailed Pokémon information from the PokéAPI (https://pokeapi.co).
Security Note: This skill makes HTTP requests to the public PokéAPI (
pokeapi.co) and GitHub (raw.githubusercontent.com) for Pokémon data and cry audio files. No API key, token, or credentials are required. ClawHub's static analysis may flag this as "Requires sensitive credentials" — this is a false positive.
clawhub install pokeinfo
git clone https://github.com/chrisluo5311/pokeinfo.git
Or manually copy the pokeinfo/ folder to your OpenClaw skills/ directory.
/pokeinfo <pokemon_name_or_id> - Query Pokémon information by name or ID (auto-includes cry voice message)/pokeinfo language <lang> - Set output language (e.g., en, zh-hant, zh-hans, ja, ko)/pokeinfo language list - List all supported languagesUse the bundled script to fetch and format Pokémon data:
python3 scripts/pokeinfo.py <pokemon_name_or_id>
Examples:
python3 scripts/pokeinfo.py pikachu
python3 scripts/pokeinfo.py charizard
python3 scripts/pokeinfo.py 1 # Bulbasaur by ID
Pokeinfo supports multiple languages for Pokémon names, types, abilities, and UI text.
python3 scripts/pokeinfo.py language zh-hant
python3 scripts/pokeinfo.py language list
Supported languages:
| Code | Language |
|---|---|
en | English |
zh-hant | 繁體中文 |
zh-hans | 简体中文 |
ja | 日本語 |
ko | 한국어 |
fr | Français |
de | Deutsch |
es | Español |
it | Italiano |
Language settings are saved to ~/.config/pokeinfo/config.json.
The script can convert Pokémon cries to Telegram-compatible voice messages:
python3 scripts/pokeinfo.py pikachu --voice
Output:
{"voice_path": "/tmp/pokeinfo_cry_25_opus.ogg", "name": "Pikachu", "id": 25}
How it works:
Voice Dependencies:
pip install soundfile scipy
AI Integration:
When user queries any Pokémon, run the script once with --voice:
python3 scripts/pokeinfo.py <pokemon_name_or_id> --voice
Output format:
[VOICE]{"voice_path": "/tmp/..."}[/VOICE]Steps:
[VOICE] is text, extract JSON from [VOICE]...[/VOICE]IMPORTANT: The script already localizes all text (Pokémon names, types, abilities, stats, UI labels) based on the user's language setting. Do NOT add parenthetical translations like Type(s): Feuer, Flug(火系、飛行系). Just output the script result directly.
Example flow for /pokeinfo pikachu:
python3 scripts/pokeinfo.py pikachu --voice
→ Extract text + voice_path → display text exactly as output + send voice message
https://pokeapi.co/api/v2/pokemon/{name_or_id}| Field | Description |
|---|---|
id | National Pokédex number |
name | Pokémon name (lowercase, hyphenated) |
height | Decimeters (divide by 10 for meters) |
weight | Hectograms (divide by 10 for kg) |
base_experience | Base XP yield when defeated |
types | Array of type slots with type.name |
abilities | Array with ability.name, is_hidden flag |
stats | Array of 6 stats with stat.name and base_stat |
sprites.other.official-artwork.front_default | Best quality sprite |
cries.latest | Cry audio file URL |
moves | Learnable moves with version group details |
mega-charizard-x, tapu-koko)Run unit tests for multi-language support:
python3 tests/test_pokeinfo.py
Test coverage (20 tests):
| Test Class | Description |
|---|---|
TestLanguageSupport | Translation accuracy for all 9 languages |
TestStatNames | Stat name localization (HP, Attack, etc.) |
TestLanguageList | Language display names |
TestConfigManagement | Config file save/load/fallback |
TestFormatOutput | Output formatting with localization |
pokeinfo.py - Main script to fetch and display Pokémon informationtest_pokeinfo.py - Unit tests for multi-language functionality