Agent skill

Pp Pokeapi

by mvanhorn in mvanhorn/printing-press-library

PokéAPI as a fully offline Pokédex with SQL, full-text search, type math, and a damage calculator no other Pokémon tool ships as a CLI.

Apache-2.0Auto-check: notesBackend & APIs

Install Pp Pokeapi

skills CLI
$ npx skills add mvanhorn/printing-press-library --skill pp-pokeapi -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install mvanhorn/printing-press-library pp-pokeapi --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/mvanhorn/printing-press-library.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-skills/pp-pokeapi .claude/skills/pp-pokeapi && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pp-pokeapi
GitHub stars
2.1k
Token cost
~7.6k tokens
SKILL.md length
3,566 words
Files
1
Skills in repo
505
Repo updated
First seen
Licence
Apache-2.0

At a glance

PokéAPI as a fully offline Pokédex with SQL, full-text search, type math, and a damage calculator no other Pokémon tool ships as a CLI.

  • Works in 3 steps: Install via the Printing Press… → Verify: pokeapi-pp-cli --version → Ensure the reported install directory is…
  • Phrases: look up a pokemon
  • SKILL.md covers Prerequisites: Install the CLI, When to Use This CLI, When Not to Use This CLI and Unique Capabilities, plus 11 more sections
  • Calls go, claude and npx

What it does

Pp Pokeapi is an agent skill from mvanhorn/printing-press-library. PokéAPI as a fully offline Pokédex with SQL, full-text search, type math, and a damage calculator no other Pokémon tool ships as a CLI. Trigger phrases: look up a pokemon, what beats charizard, build a pokemon team, type matchup, evolution chain, use pokeapi, run pokeapi-pp-cli.

Its SKILL.md is about 7.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Search implementation and SQL. It works with SQL. The repository describes itself as: Official library of CLIs generated by the CLI Printing Press. Endorsed, tested, and community-contributed. The licence is Apache-2.0.

When your agent uses it

  • Phrases: look up a pokemon
  • What beats charizard
  • Build a pokemon team
  • Evolution chain

Example prompts

  • “/pp-pokeapi”

Requirements

  • Node.js
  • Pre-approved tools (allowed-tools): Read, Bash

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Install via the Printing Press installer. It defaults binaries to $HOME/.local/bin on macOS/Linux and…
  2. Verify: pokeapi-pp-cli --version
  3. Ensure the reported install directory is on $PATH for the agent/runtime that will invoke this skill.

What it can do on your machine

Read from SKILL.md and the folder at commit 0fdcc7a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Bash

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • go
    • claude
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • bulbapedia.bulbagarden.net

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pp Pokeapi loads about 7.6k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 3,566 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~76
When it runs · the whole SKILL.md, loaded when a task matches
~7.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Bash

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from mvanhorn/printing-press-library at commit 0fdcc7a, republished under its Apache-2.0 licence (© mvanhorn). 3,566 words, ~7,577 tokens.

Download SKILL.mdSave it as .claude/skills/pp-pokeapi/SKILL.md (or your agent's skills folder).
name
pp-pokeapi
description
PokéAPI as a fully offline Pokédex with SQL, full-text search, type math, and a damage calculator no other Pokémon tool ships as a CLI. Trigger phrases: `look up a pokemon`, `what beats charizard`, `build a pokemon team`, `type matchup`, `evolution chain`, `use pokeapi`, `run pokeapi-pp-cli`.
allowed-tools
Read, Bash
author
Hiten Shah
license
Apache-2.0
argument-hint
<command> [args] | install cli|mcp
<!-- GENERATED FILE — DO NOT EDIT.
     This file is a verbatim mirror of library/media-and-entertainment/pokeapi/SKILL.md,
     regenerated post-merge by tools/generate-skills/. Hand-edits here are
     silently overwritten on the next regen. Edit the library/ source instead.
     See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->

PokéAPI — Printing Press CLI

Prerequisites: Install the CLI

This skill drives the pokeapi-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:

  1. Install via the Printing Press installer. It defaults binaries to $HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:
    bash
    npx -y @mvanhorn/printing-press-library install pokeapi --cli-only
  2. Verify: pokeapi-pp-cli --version
  3. Ensure the reported install directory is on $PATH for the agent/runtime that will invoke this skill.

If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer):

bash
go install github.com/mvanhorn/printing-press-library/library/media-and-entertainment/pokeapi/cmd/pokeapi-pp-cli@latest

If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.

When to Use This CLI

Reach for this CLI when you want a fully-local, fully-queryable Pokédex. It is ideal for agents answering Pokémon questions without spending live API calls, for battle-planning workflows that combine type math and learnset filtering, and for any reverse-search question (find the move, the ability, the form, the requirement) that the live REST surface doesn't natively answer. Skip it for purely image-driven workflows where another tool already handles sprite rendering.

When Not to Use This CLI

Do not activate this CLI for requests that require creating, updating, deleting, publishing, commenting, upvoting, inviting, ordering, sending messages, booking, purchasing, or changing remote state. This printed CLI exposes read-only commands for inspection, export, sync, and analysis.

Unique Capabilities

These capabilities aren't available in any other tool for this API.

Local store that compounds
  • pokemon by-ability — Find every Pokémon with a given ability. Live API has no reverse index — this is a single SQL query against the local store.

    Reach for this when an agent needs to enumerate Pokémon by trait without making thousands of API calls.

    bash
    pokeapi-pp-cli pokemon by-ability levitate --json --select name,types
  • move find — Find moves by status effect, damage class, type, or target — e.g. all moves that paralyze a Steel-type.

    Use this for battle planning questions framed by effect rather than by move name.

    bash
    pokeapi-pp-cli move find --effect paralyze --type-target steel --json
  • team suggest — Given an in-progress team, score every remaining Pokémon by how well it covers the team's typing gaps. Returns top candidates.

    Best for team-building agents that need objective gap-coverage scoring rather than vibes-based recommendations.

    bash
    pokeapi-pp-cli team suggest pikachu,charizard --slots 6 --json --select name,types,score
  • pokemon diff-learnset — Compare the move learnsets of two Pokémon (often regional forms or megas) and surface what each can learn that the other cannot.

    Useful when an agent needs to argue 'why pick form X over form Y' with concrete move evidence.

    bash
    pokeapi-pp-cli pokemon diff-learnset charizard charizard-mega-x --json
  • pokemon history — Show how a Pokémon has changed over generations: type changes, stat changes, ability changes, and which generation it was introduced in.

    Reach for this when answering historical Pokémon questions ('was Clefairy always a Fairy type?').

    bash
    pokeapi-pp-cli pokemon history clefairy --json
  • pokemon forms — List every form for a species (e.g. Vulpix vs Alolan Vulpix) with type, stat, and ability deltas inline.

    Use when an agent needs a species-wide answer rather than a single-form payload.

    bash
    pokeapi-pp-cli pokemon forms vulpix --json
  • evolve into — Given a target Pokémon, surface the species you would need to evolve and the conditions (item, level, friendship, time of day) to get there.

    Pick this when the user knows the Pokémon they want and needs the path to it, not the inverse.

    bash
    pokeapi-pp-cli evolve into umbreon --json
  • team gaps — List which of the 18 types your in-progress team has neither defensive resistance nor offensive super-effectiveness against.

    Use when answering 'what would a hostile team most likely exploit on this lineup?'

    bash
    pokeapi-pp-cli team gaps pikachu,charizard,blastoise --json
  • encounters by-region — Render a region-level encounter table joining locations, areas, encounters, and species — every Pokémon you can find in (e.g.) Kanto.

    When the question is regional ('what catches in Kanto?') rather than per-Pokémon.

    bash
    pokeapi-pp-cli encounters by-region kanto --version red --json
Agent-native plumbing
  • search — Full-text search across Pokémon, moves, abilities, items, and locations — names plus flavor text — with relevance ranking.

    Agent fallback when names are partial or fuzzy; replaces multiple list calls + grep.

    bash
    pokeapi-pp-cli search "flame" --type move --limit 10 --json
  • sql — Read-only SQL access to the local store. Power users and agents can compose joins the CLI doesn't expose directly.

    Reach for this when a one-off question doesn't have a dedicated subcommand.

    bash
    pokeapi-pp-cli sql "SELECT id FROM resources WHERE resource_type='pokemon' ORDER BY id LIMIT 10" --json
Battle math
  • damage — Compute expected damage range for a move from one Pokémon to another, factoring in STAB, type effectiveness, level, and base stats.

    Reach for this on every battle-planning question framed as 'will it KO?' or 'how hard does X hit Y?'

    bash
    pokeapi-pp-cli damage charizard blastoise hydro-pump --level1 50 --level2 50 --json
  • pokemon top — Rank Pokémon by a base stat (attack, special-attack, speed, hp, etc.), optionally filtered by type. Returns the top N.

    Use when learning the meta or filling a role on a team where the question is 'who's the best X-type at Y?'

    bash
    pokeapi-pp-cli pokemon top --by special-attack --type ghost --limit 10 --json

Command Reference

ability — Manage ability

  • pokeapi-pp-cli ability list — Abilities provide passive effects for Pokémon in battle or in the overworld. Pokémon have multiple possible...
  • pokeapi-pp-cli ability retrieve — Abilities provide passive effects for Pokémon in battle or in the overworld. Pokémon have multiple possible...

berry — Manage berry

  • pokeapi-pp-cli berry list — Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage...
  • pokeapi-pp-cli berry retrieve — Berries are small fruits that can provide HP and status condition restoration, stat enhancement, and even damage...

berry-firmness — Manage berry firmness

berry-flavor — Manage berry flavor

  • pokeapi-pp-cli berry-flavor list — Flavors determine whether a Pokémon will benefit or suffer from eating a berry based on their nature. Check out...
  • pokeapi-pp-cli berry-flavor retrieve — Flavors determine whether a Pokémon will benefit or suffer from eating a berry based on their nature. Check out...

characteristic — Manage characteristic

  • pokeapi-pp-cli characteristic list — Characteristics indicate which stat contains a Pokémon's highest IV. A Pokémon's Characteristic is determined by...
  • pokeapi-pp-cli characteristic retrieve — Characteristics indicate which stat contains a Pokémon's highest IV. A Pokémon's Characteristic is determined by...

contest-effect — Manage contest effect

  • pokeapi-pp-cli contest-effect list — Contest effects refer to the effects of moves when used in contests.
  • pokeapi-pp-cli contest-effect retrieve — Contest effects refer to the effects of moves when used in contests.

contest-type — Manage contest type

  • pokeapi-pp-cli contest-type list — Contest types are categories judges used to weigh a Pokémon's condition in Pokémon contests. Check out...
  • pokeapi-pp-cli contest-type retrieve — Contest types are categories judges used to weigh a Pokémon's condition in Pokémon contests. Check out...

egg-group — Manage egg group

  • pokeapi-pp-cli egg-group list — Egg Groups are categories which determine which Pokémon are able to interbreed. Pokémon may belong to either one...
  • pokeapi-pp-cli egg-group retrieve — Egg Groups are categories which determine which Pokémon are able to interbreed. Pokémon may belong to either one...

encounter-condition — Manage encounter condition

  • pokeapi-pp-cli encounter-condition list — Conditions which affect what pokemon might appear in the wild, e.g., day or night.
  • pokeapi-pp-cli encounter-condition retrieve — Conditions which affect what pokemon might appear in the wild, e.g., day or night.

encounter-condition-value — Manage encounter condition value

  • pokeapi-pp-cli encounter-condition-value list — Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be...
  • pokeapi-pp-cli encounter-condition-value retrieve — Encounter condition values are the various states that an encounter condition can have, i.e., time of day can be...

encounter-method — Manage encounter method

  • pokeapi-pp-cli encounter-method list — Methods by which the player might can encounter Pokémon in the wild, e.g., walking in tall grass. Check out...
  • pokeapi-pp-cli encounter-method retrieve — Methods by which the player might can encounter Pokémon in the wild, e.g., walking in tall grass. Check out...

evolution-chain — Manage evolution chain

  • pokeapi-pp-cli evolution-chain list — Evolution chains are essentially family trees. They start with the lowest stage within a family and detail evolution...
  • pokeapi-pp-cli evolution-chain retrieve — Evolution chains are essentially family trees. They start with the lowest stage within a family and detail evolution...

evolution-trigger — Manage evolution trigger

  • pokeapi-pp-cli evolution-trigger list — Evolution triggers are the events and conditions that cause a Pokémon to evolve. Check out...
  • pokeapi-pp-cli evolution-trigger retrieve — Evolution triggers are the events and conditions that cause a Pokémon to evolve. Check out...

gender — Manage gender

  • pokeapi-pp-cli gender list — Genders were introduced in Generation II for the purposes of breeding Pokémon but can also result in visual...
  • pokeapi-pp-cli gender retrieve — Genders were introduced in Generation II for the purposes of breeding Pokémon but can also result in visual...

generation — Manage generation

  • pokeapi-pp-cli generation list — A generation is a grouping of the Pokémon games that separates them based on the Pokémon they include. In each...
  • pokeapi-pp-cli generation retrieve — A generation is a grouping of the Pokémon games that separates them based on the Pokémon they include. In each...

growth-rate — Manage growth rate

  • pokeapi-pp-cli growth-rate list — Growth rates are the speed with which Pokémon gain levels through experience. Check out...
  • pokeapi-pp-cli growth-rate retrieve — Growth rates are the speed with which Pokémon gain levels through experience. Check out...

item — An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have various uses, including healing, powering up, helping catch Pokémon, or to access a new area.

  • pokeapi-pp-cli item list — An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have...
  • pokeapi-pp-cli item retrieve — An item is an object in the games which the player can pick up, keep in their bag, and use in some manner. They have...

item-attribute — Manage item attribute

  • pokeapi-pp-cli item-attribute list — Item attributes define particular aspects of items, e.g.'usable in battle' or 'consumable'.
  • pokeapi-pp-cli item-attribute retrieve — Item attributes define particular aspects of items, e.g.'usable in battle' or 'consumable'.

item-category — Manage item category

  • pokeapi-pp-cli item-category list — Item categories determine where items will be placed in the players bag.
  • pokeapi-pp-cli item-category retrieve — Item categories determine where items will be placed in the players bag.

item-fling-effect — Manage item fling effect

  • pokeapi-pp-cli item-fling-effect list — The various effects of the move'Fling' when used with different items.
  • pokeapi-pp-cli item-fling-effect retrieve — The various effects of the move'Fling' when used with different items.

item-pocket — Manage item pocket

  • pokeapi-pp-cli item-pocket list — Pockets within the players bag used for storing items by category.
  • pokeapi-pp-cli item-pocket retrieve — Pockets within the players bag used for storing items by category.

language — Manage language

  • pokeapi-pp-cli language list — Languages for translations of API resource information.
  • pokeapi-pp-cli language retrieve — Languages for translations of API resource information.

location — Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes.

  • pokeapi-pp-cli location list — Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes.
  • pokeapi-pp-cli location retrieve — Locations that can be visited within the games. Locations make up sizable portions of regions, like cities or routes.

location-area — Manage location area

  • pokeapi-pp-cli location-area list — Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible...
  • pokeapi-pp-cli location-area retrieve — Location areas are sections of areas, such as floors in a building or cave. Each area has its own set of possible...

machine — Machines are the representation of items that teach moves to Pokémon. They vary from version to version, so it is not certain that one specific TM or HM corresponds to a single Machine.

  • pokeapi-pp-cli machine list — Machines are the representation of items that teach moves to Pokémon. They vary from version to version, so it is...
  • pokeapi-pp-cli machine retrieve — Machines are the representation of items that teach moves to Pokémon. They vary from version to version, so it is...

meta — Manage meta

  • pokeapi-pp-cli meta — Returns metadata about the current deployed version of the API, including the git commit hash, deploy date, and tag...

move — Moves are the skills of Pokémon in battle. In battle, a Pokémon uses one move each turn. Some moves (including those learned by Hidden Machine) can be used outside of battle as well, usually for the purpose of removing obstacles or exploring new areas.

  • pokeapi-pp-cli move list — Moves are the skills of Pokémon in battle. In battle, a Pokémon uses one move each turn. Some moves (including...
  • pokeapi-pp-cli move retrieve — Moves are the skills of Pokémon in battle. In battle, a Pokémon uses one move each turn. Some moves (including...

move-ailment — Manage move ailment

  • pokeapi-pp-cli move-ailment list — Move Ailments are status conditions caused by moves used during battle. See...
  • pokeapi-pp-cli move-ailment retrieve — Move Ailments are status conditions caused by moves used during battle. See...

move-battle-style — Manage move battle style

move-category — Manage move category

  • pokeapi-pp-cli move-category list — Very general categories that loosely group move effects.
  • pokeapi-pp-cli move-category retrieve — Very general categories that loosely group move effects.

move-damage-class — Manage move damage class

  • pokeapi-pp-cli move-damage-class list — Damage classes moves can have, e.g. physical, special, or non-damaging.
  • pokeapi-pp-cli move-damage-class retrieve — Damage classes moves can have, e.g. physical, special, or non-damaging.
Show full SKILL.md (1,484 more words)Show less

move-learn-method — Manage move learn method

  • pokeapi-pp-cli move-learn-method list — Methods by which Pokémon can learn moves.
  • pokeapi-pp-cli move-learn-method retrieve — Methods by which Pokémon can learn moves.

move-target — Manage move target

  • pokeapi-pp-cli move-target list — Targets moves can be directed at during battle. Targets can be Pokémon, environments or even other moves.
  • pokeapi-pp-cli move-target retrieve — Targets moves can be directed at during battle. Targets can be Pokémon, environments or even other moves.

nature — Manage nature

  • pokeapi-pp-cli nature list — Natures influence how a Pokémon's stats grow. See Bulbapedia for...
  • pokeapi-pp-cli nature retrieve — Natures influence how a Pokémon's stats grow. See Bulbapedia for...

pal-park-area — Manage pal park area

  • pokeapi-pp-cli pal-park-area list — Areas used for grouping Pokémon encounters in Pal Park. They're like habitats that are specific to Pal Park.
  • pokeapi-pp-cli pal-park-area retrieve — Areas used for grouping Pokémon encounters in Pal Park. They're like habitats that are specific to Pal Park.

pokeathlon-stat — Manage pokeathlon stat

  • pokeapi-pp-cli pokeathlon-stat list — Pokeathlon Stats are different attributes of a Pokémon's performance in Pokéathlons. In Pokéathlons, competitions...
  • pokeapi-pp-cli pokeathlon-stat retrieve — Pokeathlon Stats are different attributes of a Pokémon's performance in Pokéathlons. In Pokéathlons, competitions...

pokedex — Manage pokedex

  • pokeapi-pp-cli pokedex list — A Pokédex is a handheld electronic encyclopedia device; one which is capable of recording and retaining information...
  • pokeapi-pp-cli pokedex retrieve — A Pokédex is a handheld electronic encyclopedia device; one which is capable of recording and retaining information...

pokemon — Pokémon are the creatures that inhabit the world of the Pokémon games. They can be caught using Pokéballs and trained by battling with other Pokémon. Each Pokémon belongs to a specific species but may take on a variant which makes it differ from other Pokémon of the same species, such as base stats, available abilities and typings. See Bulbapedia for greater detail.

  • pokeapi-pp-cli pokemon list — Pokémon are the creatures that inhabit the world of the Pokémon games. They can be caught using Pokéballs and...
  • pokeapi-pp-cli pokemon retrieve — Pokémon are the creatures that inhabit the world of the Pokémon games. They can be caught using Pokéballs and...

pokemon-color — Manage pokemon color

  • pokeapi-pp-cli pokemon-color list — Colors used for sorting Pokémon in a Pokédex. The color listed in the Pokédex is usually the color most apparent...
  • pokeapi-pp-cli pokemon-color retrieve — Colors used for sorting Pokémon in a Pokédex. The color listed in the Pokédex is usually the color most apparent...

pokemon-form — Manage pokemon form

  • pokeapi-pp-cli pokemon-form list — Some Pokémon may appear in one of multiple, visually different forms. These differences are purely cosmetic. For...
  • pokeapi-pp-cli pokemon-form retrieve — Some Pokémon may appear in one of multiple, visually different forms. These differences are purely cosmetic. For...

pokemon-habitat — Manage pokemon habitat

  • pokeapi-pp-cli pokemon-habitat list — Habitats are generally different terrain Pokémon can be found in but can also be areas designated for rare or...
  • pokeapi-pp-cli pokemon-habitat retrieve — Habitats are generally different terrain Pokémon can be found in but can also be areas designated for rare or...

pokemon-shape — Manage pokemon shape

  • pokeapi-pp-cli pokemon-shape list — Shapes used for sorting Pokémon in a Pokédex.
  • pokeapi-pp-cli pokemon-shape retrieve — Shapes used for sorting Pokémon in a Pokédex.

pokemon-species — Manage pokemon species

  • pokeapi-pp-cli pokemon-species list — A Pokémon Species forms the basis for at least one Pokémon. Attributes of a Pokémon species are shared across all...
  • pokeapi-pp-cli pokemon-species retrieve — A Pokémon Species forms the basis for at least one Pokémon. Attributes of a Pokémon species are shared across all...

region — Manage region

  • pokeapi-pp-cli region list — A region is an organized area of the Pokémon world. Most often, the main difference between regions is the species...
  • pokeapi-pp-cli region retrieve — A region is an organized area of the Pokémon world. Most often, the main difference between regions is the species...

stat — Manage stat

  • pokeapi-pp-cli stat list — Stats determine certain aspects of battles. Each Pokémon has a value for each stat which grows as they gain levels...
  • pokeapi-pp-cli stat retrieve — Stats determine certain aspects of battles. Each Pokémon has a value for each stat which grows as they gain levels...

super-contest-effect — Manage super contest effect

  • pokeapi-pp-cli super-contest-effect list — Super contest effects refer to the effects of moves when used in super contests.
  • pokeapi-pp-cli super-contest-effect retrieve — Super contest effects refer to the effects of moves when used in super contests.

type — Manage type

  • pokeapi-pp-cli type list — Types are properties for Pokémon and their moves. Each type has three properties: which types of Pokémon it is...
  • pokeapi-pp-cli type retrieve — Types are properties for Pokémon and their moves. Each type has three properties: which types of Pokémon it is...

version — Manage version

  • pokeapi-pp-cli version game-list — Versions of the games, e.g., Red, Blue or Yellow.
  • pokeapi-pp-cli version game-retrieve — Versions of the games, e.g., Red, Blue or Yellow.

version-group — Manage version group

  • pokeapi-pp-cli version-group list — Version groups categorize highly similar versions of the games.
  • pokeapi-pp-cli version-group retrieve — Version groups categorize highly similar versions of the games.
Finding the right command

When you know what you want to do but not which command does it, ask the CLI directly:

bash
pokeapi-pp-cli which "<capability in your own words>"

which resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code 0 means at least one match; exit code 2 means no confident match — fall back to --help or use a narrower query.

Recipes

What does my team leave exposed?
bash
pokeapi-pp-cli team gaps pikachu,charizard,blastoise --json

Returns every type your team has neither resistance nor super-effective answer for. One local join.

Reverse-search by effect
bash
pokeapi-pp-cli move find --effect paralyze --type-target steel --json --select name,type,power,accuracy

Find paralyzing moves that hit Steel — using --select to keep the response narrow for agent context.

Trim a profile to just what an agent needs
bash
pokeapi-pp-cli pokemon profile pikachu --json --select name,types,stats.hp,stats.attack,abilities

Use --select with dotted paths to pluck only high-gravity fields out of a deeply nested response — keeps the agent's context light.

Compare two regional forms
bash
pokeapi-pp-cli pokemon diff-learnset vulpix vulpix-alola --json

Side-by-side learnset diff between Vulpix and Alolan Vulpix. One local query instead of two full API fetches.

Custom join via SQL
bash
pokeapi-pp-cli sql "SELECT id FROM resources WHERE resource_type='pokemon-species' ORDER BY id LIMIT 10" --json

Drop down to raw SQL when there's no first-class command — read-only, direct local-store access.

Auth Setup

No authentication required.

Run pokeapi-pp-cli doctor to verify setup.

Agent Mode

Add --agent to any command. Expands to: --json --compact --no-input --no-color --yes.

  • Pipeable — JSON on stdout, errors on stderr

  • Filterable — --select keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:

    bash
    pokeapi-pp-cli ability list --agent --select id,name,status
  • Previewable — --dry-run shows the request without sending

  • Offline-friendly — sync/search commands can use the local SQLite store when available

  • Non-interactive — never prompts, every input is a flag

  • Read-only — do not use this CLI for create, update, delete, publish, comment, upvote, invite, order, send, or other mutating requests

Response envelope

Commands that read from the local store or the API wrap output in a provenance envelope:

json
{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

Parse .results for data and .meta.source to know whether it's live or local. A human-readable N results (live) summary is printed to stderr only when stdout is a terminal — piped/agent consumers get pure JSON on stdout.

Agent Feedback

When you (or the agent) notice something off about this CLI, record it:

pokeapi-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
pokeapi-pp-cli feedback --stdin < notes.txt
pokeapi-pp-cli feedback list --json --limit 10

Entries are stored locally at ~/.pokeapi-pp-cli/feedback.jsonl. They are never POSTed unless POKEAPI_FEEDBACK_ENDPOINT is set AND either --send is passed or POKEAPI_FEEDBACK_AUTO_SEND=true. Default behavior is local-only.

Write what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.

Output Delivery

Every command accepts --deliver <sink>. The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:

SinkEffect
stdoutDefault; write to stdout only
file:<path>Atomically write output to <path> (tmp + rename)
webhook:<url>POST the output body to the URL (application/json or application/x-ndjson when --compact)

Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.

Named Profiles

A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.

pokeapi-pp-cli profile save briefing --json
pokeapi-pp-cli --profile briefing ability list
pokeapi-pp-cli profile list --json
pokeapi-pp-cli profile show briefing
pokeapi-pp-cli profile delete briefing --yes

Explicit flags always win over profile values; profile values win over defaults. agent-context lists all available profiles under available_profiles so introspecting agents discover them at runtime.

Exit Codes

CodeMeaning
0Success
2Usage error (wrong arguments)
3Resource not found
5API error (upstream issue)
7Rate limited (wait and retry)
10Config error

Argument Parsing

Parse $ARGUMENTS:

  1. Empty, help, or --help → show pokeapi-pp-cli --help output
  2. Starts with install → ends with mcp → MCP installation; otherwise → see Prerequisites above
  3. Anything else → Direct Use (execute as CLI command with --agent)

MCP Server Installation

  1. Install the MCP server:
    bash
    go install github.com/mvanhorn/printing-press-library/library/media-and-entertainment/pokeapi/cmd/pokeapi-pp-mcp@latest
  2. Register with Claude Code:
    bash
    claude mcp add pokeapi-pp-mcp -- pokeapi-pp-mcp
  3. Verify: claude mcp list

Direct Use

  1. Check if installed: which pokeapi-pp-cli If not found, offer to install (see Prerequisites at the top of this skill).
  2. Match the user query to the best command from the Unique Capabilities and Command Reference above.
  3. Execute with the --agent flag:
    bash
    pokeapi-pp-cli <command> [subcommand] [args] --agent
  4. If ambiguous, drill into subcommand help: pokeapi-pp-cli <command> --help.

© mvanhorn, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in cli-skills/pp-pokeapi of mvanhorn/printing-press-library.

Open the folder on GitHubat commit 0fdcc7a

Compare with similar skills

Pp Pokeapi next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pp Pokeapi compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pp Pokeapi this skillmvanhorn/printing-press-library2.1k—~7.6kAutomated safety check: NotesApache-2.0
Orchardcore Query IndexingOrchardCMS/OrchardCore8.2k—~1.8kAutomated safety check: PassBSD-3-Clause
Postgrestimescale/pg-aiguide1.9k—~941Automated safety check: PassApache-2.0
Nuxt Contentsecondsky/claude-skills227—~4.3kAutomated safety check: PassMIT
Debug Using Debugbarhexlet-volunteers/hexlet-sicp1141 repos~1.5kAutomated safety check: PassAGPL-3.0
Databricksrocky-data/rocky304—~2kAutomated safety check: PassApache-2.0

Similar skills

  • Orchardcore Query Indexing

    OrchardCMS/OrchardCore

    Works with OrchardCore queries and indexing — SQL/Lucene/Elasticsearch queries, full-text index profiles, content part/field index handlers, and search.

    8.2k GitHub stars~1.8k tokensUpdated today
    DatabasesAuto-check passed
  • Postgres

    timescale/pg-aiguide

    A skill your agent uses for any PostgreSQL database work — table design, indexing, data types, constraints, extensions (pgvector, PostGIS, TimescaleDB), search, and migrations.

    1.9k GitHub stars~941 tokensUpdated today
    DatabasesAuto-check passed
  • Nuxt Content

    secondsky/claude-skills

    Nuxt Content v3 Git-based CMS for Markdown/MDC content sites.

    227 GitHub stars~4.3k tokensUpdated 9 days ago
    Frontend & DesignAuto-check passed
  • Debug Using Debugbar

    hexlet-volunteers/hexlet-sicp

    Inspect what a Laravel request actually did — queries, exceptions, timing, cache, auth, views — by reading the profiling data Laravel Debugbar already captured, via Artisan commands.

    114 GitHub starsUsed in 1 repo~1.5k tokens
    Backend & APIsAuto-check passed
  • Databricks

    rocky-data/rocky

    Databricks REST API and SQL reference for Rocky's warehouse adapter.

    304 GitHub stars~2k tokensUpdated today
    Backend & APIsAuto-check passed
  • Datajunction Query

    DataJunction/dj

    Activate this skill for querying DataJunction (DJ) — finding nodes, generating SQL, fetching metric data, exploring lineage, visualizing results — via the DJ UI, MCP tools, or REST/GraphQL APIs.

    161 GitHub stars~2k tokensUpdated today
    Backend & APIsAuto-check passed

More from mvanhorn/printing-press-library

All 505 skills in this repo
  • Agent Desktop

    mvanhorn/printing-press-library

    Desktop automation through the real Rust agent-desktop CLI, published in Printing Press through a small bridge.

    2.1k GitHub stars~2.3k tokensUpdated today
    Auto-check: notes
  • Gfonts

    mvanhorn/printing-press-library

    Search, browse, and download Google Fonts from the terminal via the gfonts CLI.

    2.1k GitHub stars~574 tokensUpdated today
    Auto-check passed
  • Pp 1688

    mvanhorn/printing-press-library

    The free, offline Trigger phrases: search 1688 for, find a factory on 1688 for, wholesale price on 1688 for, who is the cheapest supplier on 1688 for, compare 1688 suppliers for, use 1688, run 1688.

    2.1k GitHub stars~3k tokensUpdated today
    Auto-check: notes
  • Pp Activity Japan

    mvanhorn/printing-press-library

    Inspect known Activity Japan plan IDs or URLs, compare dated prices and sessions, check language-sitemap coverage, and hand off to canonical booking pages.

    2.1k GitHub stars~2k tokensUpdated today
    Auto-check: notes
  • Pp Adminbyrequest

    mvanhorn/printing-press-library

    Every Admin By Request portal action, plus a local SQLite mirror of audit, events, inventory and requests for ad-hoc...

    2.1k GitHub stars~3.3k tokensUpdated today
    Auto-check: notes
  • Pp Agent Capture

    mvanhorn/printing-press-library

    macOS screen capture, window recording, GIF conversion, and agent evidence bundles from the terminal.

    2.1k GitHub stars~1.6k tokensUpdated today
    Auto-check: notes

Works with

Questions about Pp Pokeapi

What does Pp Pokeapi do?

PokéAPI as a fully offline Pokédex with SQL, full-text search, type math, and a damage calculator no other Pokémon tool ships as a CLI. Pp Pokeapi is an agent skill from mvanhorn/printing-press-library. PokéAPI as a fully offline Pokédex with SQL, full-text search, type math, and a damage calculator no other Pokémon tool ships as a CLI.

When should I use Pp Pokeapi?

Pp Pokeapi fits situations like: phrases: look up a pokemon; what beats charizard; build a pokemon team; evolution chain.

How do I install Pp Pokeapi in Claude Code?

Run `npx skills add mvanhorn/printing-press-library --skill pp-pokeapi -a claude-code`. Or copy the skill folder (cli-skills/pp-pokeapi in mvanhorn/printing-press-library) into .claude/skills/pp-pokeapi in your project. Claude Code loads it when a task matches its description.

How do I install Pp Pokeapi in Codex?

Run `npx skills add mvanhorn/printing-press-library --skill pp-pokeapi -a codex`. Or copy the skill folder (cli-skills/pp-pokeapi in mvanhorn/printing-press-library) into .agents/skills/pp-pokeapi in your project. Codex loads it when a task matches its description.

Can I use Pp Pokeapi in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add mvanhorn/printing-press-library --skill pp-pokeapi -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pp-pokeapi, .gemini/skills/pp-pokeapi, .github/skills/pp-pokeapi and .opencode/skills/pp-pokeapi in your project.

What does Pp Pokeapi need to run?

Going by SKILL.md and its folder, Pp Pokeapi needs the command-line tools its instructions call (go, claude and npx). Our summary lists: Node.js. Its frontmatter pre-approves these tools: Read, Bash.

Does Pp Pokeapi access the network?

SKILL.md names 1 domain. As links in the text: bulbapedia.bulbagarden.net. This is read from the text; nothing was executed.

Is Pp Pokeapi safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Pp Pokeapi use?

Pp Pokeapi is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pp Pokeapi use?

About 7.6k tokens (SKILL.md is roughly 30k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Pp Pokeapi?

Skills that share tags, products or a category with Pp Pokeapi: Orchardcore Query Indexing (OrchardCMS/OrchardCore, 8.2k stars), Postgres (timescale/pg-aiguide, 1.9k stars), Nuxt Content (secondsky/claude-skills, 227 stars) and Debug Using Debugbar (hexlet-volunteers/hexlet-sicp, 114 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pp Pokeapi?

mvanhorn (a GitHub user) maintains it in mvanhorn/printing-press-library, which has 2,053 GitHub stars. The repository holds 505 skills in this directory. The repository was last updated on October 7, 2026.

Source: mvanhorn/printing-press-library on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.