Pokeinfo

v1.0.2

Query Pokémon / Pokemon information from PokéAPI. Lookup Pokemon details by name or ID - stats, abilities, types, moves, sprites, and cries. Supports 9 langu...

0· 67·0 current·0 all-time
byChris Lo@chrisluo5311

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for chrisluo5311/pokeinfo.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Pokeinfo" (chrisluo5311/pokeinfo) from ClawHub.
Skill page: https://clawhub.ai/chrisluo5311/pokeinfo
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install chrisluo5311/pokeinfo

ClawHub CLI

Package manager switcher

npx clawhub@latest install pokeinfo
Security Scan
Capability signals
Requires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
medium confidence
Purpose & Capability
Name/description match the code and runtime instructions: the script queries PokéAPI and Pokémon-related GitHub raw assets. The requested/networked hosts (pokeapi.co and raw.githubusercontent.com) are consistent with the stated purpose.
Instruction Scope
Runtime instructions are narrowly scoped to fetching Pokémon JSON and cry audio, formatting localized text, persisting a language setting to ~/.config/pokeinfo/config.json, and (optionally) converting/saving a voice file under /tmp. The SKILL.md explicitly instructs the agent how to parse and display output. No instructions request unrelated files, credentials, or system scanning. Note: SKILL.md instructs the agent to run the bundled script and send the produced local voice file—this is expected for the feature but means the agent will read and transmit a file from /tmp.
Install Mechanism
No install spec is provided (instruction-only install / manual copy or 'clawhub install'). Included code is Python script(s) — no external binary installers, no downloads from arbitrary/shortened URLs, and no archive extraction. Voice conversion requires Python packages (soundfile, scipy) mentioned in the docs.
Credentials
The skill declares no required environment variables or credentials, which matches the claimed no-auth API usage. It does persist per-user configuration to ~/.config/pokeinfo/config.json. The registry metadata listed 'required config paths: none' even though the SKILL.md and code write/read that config file — this is a minor metadata inconsistency but not a security red flag by itself.
Persistence & Privilege
The skill does not request always:true and does not attempt to modify other skills or system-wide agent settings. It persists only its own config under the user's home directory, which is explained in the docs.
Assessment
This skill is internally consistent: it fetches Pokémon JSON and assets from pokeapi.co and raw.githubusercontent.com, formats localized text, and optionally converts/outputs a local voice file. Before installing, consider: 1) network access — the skill will make outbound HTTPS requests to public hosts (no API keys are required); 2) local files — it will create/read ~/.config/pokeinfo/config.json and write temporary voice files under /tmp when using --voice; 3) dependencies — voice conversion requires Python packages (soundfile, scipy) as documented; 4) verify the included scripts (scripts/pokeinfo.py) if you want to confirm there are no extra network endpoints or unexpected behavior. The only minor inconsistency is that the skill metadata did not declare the config path even though the script writes to ~/.config/pokeinfo/config.json; this is informational and not a functional mismatch.

Like a lobster shell, security has layers — review code before you run it.

latestvk978nkjjp5hfsm0msyrzgc7h2985fnvd
67downloads
0stars
3versions
Updated 3d ago
v1.0.2
MIT-0

Pokeinfo

Query 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.

Installation

From ClawHub (Recommended)

clawhub install pokeinfo

From GitHub

git clone https://github.com/chrisluo5311/pokeinfo.git

Or manually copy the pokeinfo/ folder to your OpenClaw skills/ directory.

User Commands

  • /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 languages

Quick Start

Use 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

Language Support

Pokeinfo supports multiple languages for Pokémon names, types, abilities, and UI text.

Set Language

python3 scripts/pokeinfo.py language zh-hant

List Supported Languages

python3 scripts/pokeinfo.py language list

Supported languages:

CodeLanguage
enEnglish
zh-hant繁體中文
zh-hans简体中文
ja日本語
ko한국어
frFrançais
deDeutsch
esEspañol
itItaliano

Language settings are saved to ~/.config/pokeinfo/config.json.

What the Script Returns

  • Basic info: ID, name, height, weight, base experience
  • Types: Elemental type(s) (e.g., Electric, Fire/Flying)
  • Abilities: Regular and hidden abilities
  • Stats: HP, Attack, Defense, Special Attack, Special Defense, Speed
  • Sprites: Official artwork URL
  • Cries: Latest cry audio URL
  • Level-up moves: Learnset for the most recent game version (limited to 20 moves)

Voice Message (Pokémon Cry)

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:

  • PokeAPI provides cries in OGG Vorbis format (~32728 Hz)
  • Telegram voice messages require OGG Opus format (48000 Hz)
  • The script automatically downloads, resamples, and converts the audio

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:

  • First part: formatted text info (display directly)
  • Last line: [VOICE]{"voice_path": "/tmp/..."}[/VOICE]

Steps:

  1. Parse the output: everything before [VOICE] is text, extract JSON from [VOICE]...[/VOICE]
  2. Display the text portion AS-IS — do not add translations, explanations, or annotations in other languages
  3. Send the voice file via the messaging tool

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

API Details

  • Base URL: https://pokeapi.co/api/v2/pokemon/{name_or_id}
  • Method: GET only (consumption-only API)
  • No authentication required
  • Rate limiting: None, but cache responses when possible

Key Response Fields

FieldDescription
idNational Pokédex number
namePokémon name (lowercase, hyphenated)
heightDecimeters (divide by 10 for meters)
weightHectograms (divide by 10 for kg)
base_experienceBase XP yield when defeated
typesArray of type slots with type.name
abilitiesArray with ability.name, is_hidden flag
statsArray of 6 stats with stat.name and base_stat
sprites.other.official-artwork.front_defaultBest quality sprite
cries.latestCry audio file URL
movesLearnable moves with version group details

Notes

  • Pokémon names are case-insensitive in the API
  • Use hyphenated names for forms (e.g., mega-charizard-x, tapu-koko)
  • The API returns 404 if the Pokémon does not exist
  • For evolution chains, species details, or other data, see the full PokéAPI docs at https://pokeapi.co/docs/v2

Testing

Run unit tests for multi-language support:

python3 tests/test_pokeinfo.py

Test coverage (20 tests):

  • ✅ All 9 languages supported
  • ✅ Translation completeness check
  • ✅ Language setting persistence
  • ✅ English, Traditional Chinese, Simplified Chinese, Japanese, Korean, French, German, Spanish, Italian translations
  • ✅ Stat name localization
  • ✅ Config file management
  • ✅ Output formatting with localized names

Test Categories

Test ClassDescription
TestLanguageSupportTranslation accuracy for all 9 languages
TestStatNamesStat name localization (HP, Attack, etc.)
TestLanguageListLanguage display names
TestConfigManagementConfig file save/load/fallback
TestFormatOutputOutput formatting with localization

Resources

scripts/

  • pokeinfo.py - Main script to fetch and display Pokémon information

tests/

  • test_pokeinfo.py - Unit tests for multi-language functionality

Comments

Loading comments...