<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Jonathan Búcaro</title>
    <description>The latest articles on DEV Community by Jonathan Búcaro (@jebucaro).</description>
    <link>https://dev.to/jebucaro</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F155969%2F1c1dc3e9-fef6-4c83-adab-1ce8a8a26fd6.png</url>
      <title>DEV Community: Jonathan Búcaro</title>
      <link>https://dev.to/jebucaro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jebucaro"/>
    <language>en</language>
    <item>
      <title>Teach Claude Code how to use your CLI with SKILLS.md</title>
      <dc:creator>Jonathan Búcaro</dc:creator>
      <pubDate>Mon, 30 Mar 2026 00:28:00 +0000</pubDate>
      <link>https://dev.to/jebucaro/teach-claude-code-how-to-use-your-cli-with-skillsmd-29om</link>
      <guid>https://dev.to/jebucaro/teach-claude-code-how-to-use-your-cli-with-skillsmd-29om</guid>
      <description>&lt;p&gt;You have built a new CLI. You watch Claude Code call &lt;code&gt;--help&lt;/code&gt; a few times, and something becomes obvious: the agent is not confused by the tool. It is re-learning the same command surface on every task because there is no compact guide telling it where to start.&lt;/p&gt;

&lt;p&gt;That is the problem a &lt;code&gt;SKILL.md&lt;/code&gt; solves. It does not change the CLI. It gives the agent a shorter path into the same commands it would eventually figure out on its own.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a skill is
&lt;/h2&gt;

&lt;p&gt;A skill is a folder of Markdown instructions that Claude Code loads when a request matches a set of trigger phrases. For a CLI, a well-built skill has three layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Frontmatter&lt;/strong&gt; - the name, a description with trigger phrases, and an allowed-tools list&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Body&lt;/strong&gt; - a focused command guide the agent reads once the skill fires&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;References&lt;/strong&gt; - extra docs the agent can consult when the main file is not enough&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each layer has a job. The frontmatter decides &lt;em&gt;when&lt;/em&gt; the skill loads. The body decides &lt;em&gt;what&lt;/em&gt; the agent does first. The references keep the main file short without losing detail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet pokecli
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kczz27mztfyfulqsobm.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5kczz27mztfyfulqsobm.webp" alt="pokecli command tool running the help command" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/jebucaro/pokecli" rel="noopener noreferrer"&gt;pokecli&lt;/a&gt; is a Python CLI I built specifically so this article had a real, inspectable example: an actual tool with actual commands that you can install, run, and then study the skill alongside. The goal was not to build the most impressive CLI. The goal was to have something concrete enough to show the pattern end to end.&lt;/p&gt;

&lt;p&gt;It queries Pokemon, berries, items, and moves, downloads sprites, and manages a local cache. Six top-level command groups, predictable output, and a clean structure that maps well into a skill body.&lt;/p&gt;

&lt;p&gt;Install it with &lt;code&gt;uv&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;uv tool &lt;span class="nb"&gt;install &lt;/span&gt;git+https://github.com/jebucaro/pokecli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fusf8qnh5x9oc2gd06vrb.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fusf8qnh5x9oc2gd06vrb.webp" alt="pokecli installation with uv" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then install the bundled skill into &lt;code&gt;~/.claude/skills/pokecli&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pokecli &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--skills&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcytmfbtfeqsbfkic53q6.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcytmfbtfeqsbfkic53q6.webp" alt="installing pokecli skills" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What &lt;code&gt;install --skills&lt;/code&gt; does
&lt;/h2&gt;

&lt;p&gt;The skill files ship inside the installed package as package data. The command does not reach out to GitHub or generate anything. It reads the files bundled in the wheel and writes them to the right place on your machine.&lt;/p&gt;

&lt;p&gt;In Python, that flow looks like this:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;shutil&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;importlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;resources&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pathlib&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;install_skills&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;skills_dest&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;home&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;.claude&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;skills&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;pokecli&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="n"&gt;skills_dest&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;mkdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;parents&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;exist_ok&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="n"&gt;ref_dest&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;skills_dest&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;references&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
    &lt;span class="n"&gt;ref_dest&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;mkdir&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;exist_ok&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Read files bundled as package data and write them to the destination
&lt;/span&gt;    &lt;span class="n"&gt;pkg&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;resources&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;files&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;pokecli.skills&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;skills_dest&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;SKILL.md&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;write_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;SKILL.md&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;read_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ref_dest&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;api-fields.md&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;write_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
        &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pkg&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;references&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;api-fields.md&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;read_text&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;encoding&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;utf-8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;To make the skill files available as package data, declare them in &lt;code&gt;pyproject.toml&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="nn"&gt;[tool.hatch.build.targets.wheel]&lt;/span&gt;
&lt;span class="py"&gt;include&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"src/pokecli/skills/**"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The key point is that the user does not need the repo checked out. The installed tool already carries the skill files. &lt;code&gt;install --skills&lt;/code&gt; is just the command that puts them where Claude Code can find them.&lt;/p&gt;
&lt;h2&gt;
  
  
  Layer 1: The frontmatter trigger
&lt;/h2&gt;

&lt;p&gt;The frontmatter is the part Claude reads all the time. It answers two questions fast: what does this skill do, and when should it load?&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;pokecli&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Queries Pokémon, Berries, Items, and Moves data via the pokecli CLI. Use when the user needs to look up Pokémon stats, berries, items, or moves, download sprites, or manage the local cache. Also use when the user mentions "pokecli", "pokedex", or "PokeAPI"&lt;/span&gt;
&lt;span class="na"&gt;allowed-tools&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Bash(pokecli:*)&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The description includes both the tool purpose and the phrases a user might actually say: &lt;code&gt;pokedex&lt;/code&gt;, &lt;code&gt;Pokemon stats&lt;/code&gt;, &lt;code&gt;PokeAPI&lt;/code&gt;, &lt;code&gt;download sprites&lt;/code&gt;. These are the real trigger words. A description that only describes the tool category without listing those phrases will miss requests.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;name&lt;/code&gt; should match the folder name so Claude can find the skill consistently.&lt;/p&gt;
&lt;h2&gt;
  
  
  Layer 2: The command guide
&lt;/h2&gt;

&lt;p&gt;The body should read like a cheat sheet, not a tutorial. Short sections, command groups that mirror the CLI, examples you can copy and run.&lt;/p&gt;

&lt;p&gt;pokecli has six top-level command groups: &lt;code&gt;pokemon&lt;/code&gt;, &lt;code&gt;berry&lt;/code&gt;, &lt;code&gt;item&lt;/code&gt;, &lt;code&gt;move&lt;/code&gt;, &lt;code&gt;image&lt;/code&gt;, and &lt;code&gt;cache&lt;/code&gt;. The skill body mirrors that structure:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pokecli pokemon get pikachu
pokecli berry get oran
pokecli item get master-ball
pokecli move get thunderbolt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Core workflow&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; Query: Use &lt;span class="sb"&gt;`pokecli &amp;lt;resource&amp;gt; get &amp;lt;name_or_id&amp;gt;`&lt;/span&gt; to fetch details
&lt;span class="p"&gt;2.&lt;/span&gt; Browse: Use &lt;span class="sb"&gt;`pokecli &amp;lt;resource&amp;gt; list`&lt;/span&gt; to paginate through all entries
&lt;span class="p"&gt;3.&lt;/span&gt; Download: Use &lt;span class="sb"&gt;`pokecli image download pokemon &amp;lt;name&amp;gt; -o &amp;lt;path&amp;gt;`&lt;/span&gt; for sprites
&lt;span class="p"&gt;4.&lt;/span&gt; Cache: Use &lt;span class="sb"&gt;`pokecli cache stats`&lt;/span&gt; and &lt;span class="sb"&gt;`pokecli cache clear`&lt;/span&gt; to manage local data
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The agent does not need to know every flag before it starts. A quick start block and a workflow summary are enough for most requests. The rest of the command groups follow the same pattern: a few representative examples per group.&lt;/p&gt;
&lt;h2&gt;
  
  
  Layer 3: Reference files
&lt;/h2&gt;

&lt;p&gt;Some questions do not belong in the main &lt;code&gt;SKILL.md&lt;/code&gt;. What does &lt;code&gt;base_experience&lt;/code&gt; mean for a Pokemon? Which sprite variants are usually available? Which fields are most useful when comparing moves?&lt;/p&gt;

&lt;p&gt;That kind of detail goes in a separate file:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.claude/
└── skills/
    └── pokecli/
        ├── SKILL.md
        └── references/
            └── api-fields.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;The main skill stays short and loads fast. The reference file is there when Claude needs the deeper detail. This keeps the skill easier to trigger and easier to maintain over time.&lt;/p&gt;
&lt;h2&gt;
  
  
  The &lt;code&gt;allowed-tools&lt;/code&gt; line
&lt;/h2&gt;

&lt;p&gt;This line matters more than it looks:&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;allowed-tools&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Bash(pokecli:*)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;It tells Claude Code that this skill is allowed to run &lt;code&gt;pokecli&lt;/code&gt; commands, but not arbitrary shell commands. That is a useful boundary. The skill is not just a convenience layer; it also scopes what the agent can do when it fires.&lt;/p&gt;
&lt;h2&gt;
  
  
  Does it trigger correctly?
&lt;/h2&gt;

&lt;p&gt;Before shipping a skill, test both sides of the trigger. These prompts should fire it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Look up Pikachu's stats"&lt;/li&gt;
&lt;li&gt;"Show me berry data from PokeAPI"&lt;/li&gt;
&lt;li&gt;"Download a sprite for Charizard"&lt;/li&gt;
&lt;li&gt;"Compare Thunderbolt and Flamethrower"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These should not:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Help me write a Python class"&lt;/li&gt;
&lt;li&gt;"What is the weather today?"&lt;/li&gt;
&lt;li&gt;"Create a spreadsheet"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If a prompt that should trigger the skill does not, the description is missing the right phrase. Add it. If a prompt that should not trigger the skill does fire, the description is too broad. Narrow it.&lt;/p&gt;

&lt;p&gt;This is a session where I asked Claude Code three different prompts. In none of them did I explicitly mention pokecli. Claude discovered the tool and how to use it entirely from the installed skill.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Look up Pikachu's stats"&lt;/li&gt;
&lt;li&gt;"Compare Thunderbolt and Flamethrower"&lt;/li&gt;
&lt;li&gt;"Download a sprite for Charizard"&lt;/li&gt;
&lt;/ul&gt;


&lt;div class="ltag-agent-session"&gt;
  &lt;div class="agent-session-header"&gt;
    
      
      
      
    
    &lt;span class="agent-session-tool-icon-badge" title="Claude Code"&gt;
  

&lt;/span&gt;
    &lt;span class="agent-session-title"&gt;Using pokecli with Claude Code&lt;/span&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-scroll"&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Look up Pikachu's stats&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-skill"&gt;Skill&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;{"skill":"pokecli","args":"Pikachu stats"}&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"skill"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"pokecli"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Pikachu stats"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Launching skill: pokecli&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div&gt;
                  &lt;div class="agent-session-text agent-session-text-collapse"&gt;
                    &lt;p&gt;Base directory for this skill: &lt;span class="agent-session-redacted"&gt;[REDACTED]&lt;/span&gt;/.claude/skills/pokecli&lt;/p&gt;

&lt;h1&gt;Pokémon Data Lookup with pokecli&lt;/h1&gt;

&lt;h2&gt;Quick start&lt;/h2&gt;

&lt;pre class="highlight bash"&gt;&lt;code&gt;pokecli pokemon get pikachu
pokecli berry get oran
pokecli item get master-ball
pokecli move get thunderbolt
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Core workflow&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Query: Use &lt;code&gt;pokecli &amp;lt;resource&amp;gt; get &amp;lt;name_or_id&amp;gt;&lt;/code&gt; to fetch details&lt;/li&gt;
&lt;li&gt;Browse: Use &lt;code&gt;pokecli &amp;lt;resource&amp;gt; list&lt;/code&gt; to paginate through all entries&lt;/li&gt;
&lt;li&gt;Download: Use &lt;code&gt;pokecli image download pokemon &amp;lt;name&amp;gt; -o &amp;lt;path&amp;gt;&lt;/code&gt; for sprites&lt;/li&gt;
&lt;li&gt;Cache: Use &lt;code&gt;pokecli cache stats&lt;/code&gt; and &lt;code&gt;pokecli cache clear&lt;/code&gt; to manage local data&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Responses are cached locally after the first request. Use &lt;code&gt;--no-cache&lt;/code&gt; to force a fresh fetch.&lt;/p&gt;

&lt;h2&gt;Commands&lt;/h2&gt;

&lt;h3&gt;Pokemon&lt;/h3&gt;

&lt;pre class="highlight bash"&gt;&lt;code&gt;pokecli pokemon get pikachu
pokecli pokemon get 25
pokecli pokemon get charizard &lt;span class="nt"&gt;--format&lt;/span&gt; json
pokecli pokemon get bulbasaur &lt;span class="nt"&gt;--no-cache&lt;/span&gt;
pokecli pokemon list
pokecli pokemon list &lt;span class="nt"&gt;--limit&lt;/span&gt; 50
pokecli pokemon list &lt;span class="nt"&gt;--limit&lt;/span&gt; 20 &lt;span class="nt"&gt;--offset&lt;/span&gt; 40
pokecli pokemon moves charmander
pokecli pokemon moves 4 &lt;span class="nt"&gt;--format&lt;/span&gt; json
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Berry&lt;/h3&gt;

&lt;pre class="highlight bash"&gt;&lt;code&gt;pokecli berry get cheri
pokecli berry get 1
pokecli berry get oran &lt;span class="nt"&gt;--format&lt;/span&gt; json
pokecli berry list
pokecli berry list &lt;span class="nt"&gt;--limit&lt;/span&gt; 10
pokecli berry list &lt;span class="nt"&gt;--limit&lt;/span&gt; 10 &lt;span class="nt"&gt;--offset&lt;/span&gt; 20
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Item&lt;/h3&gt;

&lt;pre class="highlight bash"&gt;&lt;code&gt;pokecli item get potion
pokecli item get 1
pokecli item get master-ball &lt;span class="nt"&gt;--format&lt;/span&gt; json
pokecli item list
pokecli item list &lt;span class="nt"&gt;--limit&lt;/span&gt; 30
pokecli item list &lt;span class="nt"&gt;--limit&lt;/span&gt; 30 &lt;span class="nt"&gt;--offset&lt;/span&gt; 60
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Move&lt;/h3&gt;

&lt;pre class="highlight bash"&gt;&lt;code&gt;pokecli move get thunderbolt
pokecli move get 24
pokecli move get surf &lt;span class="nt"&gt;--format&lt;/span&gt; json
pokecli move get flamethrower &lt;span class="nt"&gt;--no-cache&lt;/span&gt;
pokecli move list
pokecli move list &lt;span class="nt"&gt;--limit&lt;/span&gt; 40
pokecli move list &lt;span class="nt"&gt;--limit&lt;/span&gt; 20 &lt;span class="nt"&gt;--offset&lt;/span&gt; 100
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Image Download&lt;/h3&gt;

&lt;pre class="highlight bash"&gt;&lt;code&gt;pokecli image download pokemon pikachu &lt;span class="nt"&gt;-o&lt;/span&gt; pikachu.png
pokecli image download pokemon pikachu &lt;span class="nt"&gt;-o&lt;/span&gt; pikachu_shiny.png &lt;span class="nt"&gt;--variant&lt;/span&gt; front_shiny
pokecli image download pokemon 6 &lt;span class="nt"&gt;-o&lt;/span&gt; charizard_back.png &lt;span class="nt"&gt;--variant&lt;/span&gt; back_default
pokecli image download pokemon 133 &lt;span class="nt"&gt;-o&lt;/span&gt; /tmp/eevee.png
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Sprite variants: &lt;code&gt;front_default&lt;/code&gt;, &lt;code&gt;front_shiny&lt;/code&gt;, &lt;code&gt;back_default&lt;/code&gt;, &lt;code&gt;back_shiny&lt;/code&gt;, &lt;code&gt;front_female&lt;/code&gt;, &lt;code&gt;front_shiny_female&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;Cache Management&lt;/h3&gt;

&lt;pre class="highlight bash"&gt;&lt;code&gt;pokecli cache stats
pokecli cache clear
pokecli cache clear &lt;span class="nt"&gt;--resource&lt;/span&gt; pokemon
pokecli cache clear &lt;span class="nt"&gt;--resource&lt;/span&gt; item
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Global options&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--no-cache&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Bypass local cache, fetch fresh from PokeAPI&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--format table&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Rich formatted table output (default)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;--format json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Raw JSON with syntax highlighting&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;Example: Compare two Pokémon&lt;/h2&gt;

&lt;pre class="highlight bash"&gt;&lt;code&gt;pokecli pokemon get charizard
pokecli pokemon get blastoise
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Example: Browse and then inspect&lt;/h2&gt;

&lt;pre class="highlight bash"&gt;&lt;code&gt;pokecli move list &lt;span class="nt"&gt;--limit&lt;/span&gt; 10
pokecli move get pound
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Example: Download all starters&lt;/h2&gt;

&lt;pre class="highlight bash"&gt;&lt;code&gt;pokecli image download pokemon bulbasaur &lt;span class="nt"&gt;-o&lt;/span&gt; bulbasaur.png
pokecli image download pokemon charmander &lt;span class="nt"&gt;-o&lt;/span&gt; charmander.png
pokecli image download pokemon squirtle &lt;span class="nt"&gt;-o&lt;/span&gt; squirtle.png
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Example: Look up moves a Pokémon can learn&lt;/h2&gt;

&lt;pre class="highlight bash"&gt;&lt;code&gt;pokecli pokemon moves pikachu
pokecli pokemon moves charizard &lt;span class="nt"&gt;--format&lt;/span&gt; json
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Troubleshooting&lt;/h2&gt;

&lt;p&gt;For detailed command reference and data field descriptions, consult &lt;code&gt;references/api-fields.md&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;ARGUMENTS: Pikachu stats&lt;/p&gt;

                  &lt;/div&gt;
                  Show more
                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-bash"&gt;Bash&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;pokecli pokemon get pikachu&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre agent-session-terminal"&gt;&lt;code&gt;$ pokecli pokemon get pikachu&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;╭────────────────────────────────────────────────────────────╮
│ #25  Pikachu   Height: 0.4m   Weight: 6.0kg   Base XP: 112 │
╰────────────────────────────────────────────────────────────╯
 ELECTRIC 

Abilities: static  ·  lightning-rod (hidden)

Sprite: 
https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/25.png


 Stat            Base  Bar                    
 hp                35  ███░░░░░░░░░░░░░░░░░   
 attack            55  ████░░░░░░░░░░░░░░░░   
 defense           40  ███░░░░░░░░░░░░░░░░░   
 special-attack    50  ████░░░░░░░░░░░░░░░░   
 special-defen…    50  ████░░░░░░░░░░░░░░░░   
 speed             90  ███████░░░░░░░░░░░░░&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Here are Pikachu's base stats:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stat&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;HP&lt;/td&gt;
&lt;td&gt;35&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Attack&lt;/td&gt;
&lt;td&gt;55&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Defense&lt;/td&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sp. Attack&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sp. Defense&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Speed&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;90&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Pikachu is a pure Electric type with decent Speed being its standout stat. Its abilities are &lt;strong&gt;Static&lt;/strong&gt; (may paralyze on contact) and the hidden ability &lt;strong&gt;Lightning Rod&lt;/strong&gt; (draws Electric moves, raises Sp. Atk).&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Compare Thunderbolt and Flamethrower&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-bash"&gt;Bash&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;pokecli move get thunderbolt&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre agent-session-terminal"&gt;&lt;code&gt;$ pokecli move get thunderbolt&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;╭──────────────────╮
│ #85  Thunderbolt │
╰──────────────────╯
  Type             Electric  
  Category         Special   
  Power            90        
  Accuracy         100%      
  PP               15        
  Effect Chance    10%       

Effect: Has a 10% chance to paralyze the target.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-bash"&gt;Bash&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;pokecli move get flamethrower&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre agent-session-terminal"&gt;&lt;code&gt;$ pokecli move get flamethrower&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;╭───────────────────╮
│ #53  Flamethrower │
╰───────────────────╯
  Type             Fire     
  Category         Special  
  Power            90       
  Accuracy         100%     
  PP               15       
  Effect Chance    10%      

Effect: Has a 10% chance to burn the target.&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div&gt;
                  &lt;div class="agent-session-text agent-session-text-collapse"&gt;
                    &lt;p&gt;They're nearly identical moves — just different types and status effects:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Thunderbolt&lt;/th&gt;
&lt;th&gt;Flamethrower&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Type&lt;/td&gt;
&lt;td&gt;Electric&lt;/td&gt;
&lt;td&gt;Fire&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Category&lt;/td&gt;
&lt;td&gt;Special&lt;/td&gt;
&lt;td&gt;Special&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Power&lt;/td&gt;
&lt;td&gt;90&lt;/td&gt;
&lt;td&gt;90&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Accuracy&lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;td&gt;100%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PP&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Effect&lt;/td&gt;
&lt;td&gt;10% Paralyze&lt;/td&gt;
&lt;td&gt;10% Burn&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The only meaningful differences:&lt;br&gt;
- &lt;strong&gt;Paralysis&lt;/strong&gt; (Thunderbolt) halves the target's Speed and has a chance to skip turns — generally considered the stronger status&lt;br&gt;
- &lt;strong&gt;Burn&lt;/strong&gt; (Flamethrower) deals chip damage each turn and halves the target's Attack (less useful against special attackers)&lt;/p&gt;

&lt;p&gt;Both are among the most reliable moves in the game. Choice between them comes down to type coverage needed on your team.&lt;/p&gt;

                  &lt;/div&gt;
                  Show more
                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-user"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-user"&gt;
          You
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Download a sprite for Charizard&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
              &lt;div class="agent-session-tool-call"&gt;
                
                  &lt;span class="agent-session-chevron"&gt;▸&lt;/span&gt;
                  &lt;span class="tool-name tool-name-bash"&gt;Bash&lt;/span&gt;
                    &lt;span class="tool-input-preview"&gt;pokecli image download pokemon charizard -o charizard.png&lt;/span&gt;
                
                &lt;div class="agent-session-tool-detail"&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Input&lt;/div&gt;
                      &lt;pre class="agent-session-pre agent-session-terminal"&gt;&lt;code&gt;$ pokecli image download pokemon charizard -o charizard.png&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                    &lt;div class="tool-section"&gt;
                      &lt;div class="tool-section-label"&gt;Output&lt;/div&gt;
                      &lt;pre class="agent-session-pre"&gt;&lt;code&gt;Downloading front_default sprite for charizard...
Saved to: /home/jebucaro/development/pokecli/charizard.png&lt;/code&gt;&lt;/pre&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
              &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="agent-session-message agent-session-assistant"&gt;
        &lt;div class="agent-session-role-badge agent-session-role-assistant"&gt;
          Agent
        &lt;/div&gt;
        &lt;div class="agent-session-content"&gt;
                &lt;div class="agent-session-text"&gt;
                  &lt;p&gt;Charizard's sprite has been saved to &lt;code&gt;charizard.png&lt;/code&gt; in your current directory (&lt;code&gt;&lt;span class="agent-session-redacted"&gt;[REDACTED]&lt;/span&gt;/development/pokecli/charizard.png&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;If you want other variants, options include: &lt;code&gt;front_shiny&lt;/code&gt;, &lt;code&gt;back_default&lt;/code&gt;, &lt;code&gt;back_shiny&lt;/code&gt;, &lt;code&gt;front_female&lt;/code&gt;, &lt;code&gt;front_shiny_female&lt;/code&gt;.&lt;/p&gt;

                &lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
  &lt;/div&gt;

  &lt;div class="agent-session-footer"&gt;
    &lt;span class="agent-session-meta"&gt;
        12 of 12 messages
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;






&lt;p&gt;The full version of this article goes deeper into the install flow, a side-by-side comparison with the Playwright CLI skill, a build-it-yourself challenge, and a walkthrough of the pokecli repo structure. You can find it at &lt;a href="https://jonathanbucaro.com/blog/making-a-python-cli-ai-native-with-skill-md/" rel="noopener noreferrer"&gt;jonathanbucaro.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The key idea stays the same either way. You do not need to redesign a CLI to make it work well with an AI agent. In most cases, the missing piece is a compact guide that tells the agent when to reach for the tool and which commands to use first.&lt;/p&gt;




&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@jmanalog?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Jay&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/shallow-focus-photo-of-pokeball-dkFJST9zZZo?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pokémon and Pokémon character names are trademarks of Nintendo.&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>claude</category>
      <category>cli</category>
    </item>
  </channel>
</rss>
