poke-agent-safari

agent
Security Audit
Fail
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 6 GitHub stars
Code Fail
  • fs.rmSync — Destructive file system operation in cli.js
  • os.homedir — User home directory access in cli.js
  • process.env — Environment variable access in cli.js
  • fs module — File system access in cli.js
  • os.homedir — User home directory access in parser.js
  • fs module — File system access in parser.js
  • fs module — File system access in pokemon.js
  • os.homedir — User home directory access in server.js
  • fs module — File system access in server.js
  • fs module — File system access in test/claude-code-transcripts.test.js
  • child_process — Shell command execution capability in test/cli-persistence.test.js
  • spawnSync — Synchronous process spawning in test/cli-persistence.test.js
  • fs module — File system access in test/cli-persistence.test.js
Permissions Pass
  • Permissions — No dangerous permissions requested
Purpose
This tool is a live, Pokemon-themed web dashboard that monitors your local Claude Code sessions. It visualizes active agents on an island map and tracks session status, token usage, and your running history in a Pokedex.

Security Assessment
The overall risk is Medium. The tool legitimately requires deep local access to function, but this creates a notable attack surface. It routinely reads the user's home directory (`os.homedir`) and accesses the file system across multiple modules (`cli.js`, `parser.js`, `server.js`, `pokemon.js`) to parse Claude session transcripts. It also includes a destructive file system operation (`fs.rmSync`) in its CLI, likely used for the "Hard Reset" feature mentioned in its documentation. While the tool itself does not request dangerous permissions, its test files execute synchronous shell commands (`spawnSync`). There are no hardcoded secrets detected, but its broad file system access requires caution.

Quality Assessment
The project is very new and currently has low community visibility with only 6 GitHub stars. However, it is under active development (last push was today) and follows good practices by including a clear README and a standard MIT license. Because of its low star count, it should be viewed as an early-stage, experimental tool rather than a battle-tested community standard.

Verdict
Use with caution — while it appears to be a fun and actively maintained local monitoring tool, its broad file system read access and destructive reset capabilities mean you should review the source code before running it.
SUMMARY

Pokemon-themed live dashboard for Claude Code agents with session status, token usage, and Pokedex tracking.

README.md

English | 한국어

PokéAgent-Safari

PokéAgent-Safari overworld

Your Claude Code agents become Pokemon.

Gotta Monitor 'Em All!

poke-agent-safari is a live web dashboard for Claude Code agents.

Every active session gets assigned a Pokemon and dropped onto a tiny island map — so you can see at a glance what's running, what's waiting, and which sessions are burning through tokens the fastest.

At A Glance

  • Active Pokemon — the Claude Code agents currently running on your machine
  • HP — remaining context window for that session
  • EXP and LV — token usage surfaced as RPG-style progress
  • Status — thinking, using a tool, outputting, waiting, or sleeping
  • Pokedex — your running collection of every Pokemon you've ever spawned

Table of Contents

Field Guide

Island

Island view

  • Every new session gets a Pokemon when it first appears in the world.
    • Pokemon spawn into habitat-matched parts of the island — cave Pokemon, grassland Pokemon, and sea Pokemon all show up where they belong.
    • Spawn odds are weighted by rarity, so commons appear much more often than rares.
  • Root agents appear at full size; subagents show up nearby as smaller icons.
    • Subagents stay within the parent's evolutionary line, appearing as the same Pokemon or an earlier evolution.

Agents Panel

Agents panel Agent status card
  • Every spawned Pokemon is mirrored in the left panel so you can see the active roster at a glance.

  • The status card condenses a single agent into a quick readout of recent command, last activity, model, and live HP/EXP progress.

  • LV and EXP grow with token spend.

  • HP drops as the session burns through its context window — a useful signal for when to wrap up and start fresh.

  • When a subagent is summoned, the panel shows its hierarchy under the parent.

  • In live watch mode, a root agent that goes quiet for 10 minutes switches to Sleeping.

  • Stay quiet for 8 hours total and it gets boxed off the live map.

  • The Box archives finished sessions and keeps up to 300 records.

Pokedex

Island Pokedex

  • Every Pokemon you spawn is automatically registered.
  • First discovery records when it was first seen, plus the project and session where it showed up.
  • If a Pokemon was first discovered through a subagent, its parent lineage is recorded too.
  • Gotta Catch 'Em All!

Installation

On Ubuntu, install the prerequisites first:

sudo apt update
sudo apt install -y git nodejs npm

Then clone and download the Pokemon sprites:

git clone [email protected]:Hwiyeon/poke-agent-safari.git
cd poke-agent-safari
node tools/setup_poke_assets.js
  • No external npm dependencies.
  • Watches Claude Code transcripts under ~/.claude/projects by default.
  • setup_poke_assets.js pulls the sprite set from the PokeAPI sprites repository into public/vendor/pokeapi-sprites.

Quick Start

Inside the poke-agent-safari directory, start the live watcher:

node cli.js watch

Open http://127.0.0.1:8123.

Commands

node cli.js watch [--port 8123]
node cli.js mock [--port 8123] 
node cli.js hard-reset [watch|mock]
node cli.js help

Hard Reset

Available in both watch and mock via the dashboard button.

  • In watch: clears boxed history and Pokedex progress, keeps only currently active top-level agents on screen, and re-primes the watcher to the current end of each transcript so old history isn't replayed.
  • In mock: clears the mock snapshot and Pokedex files, then reseeds a fresh scene.
  • node cli.js hard-reset [watch|mock] does the same without starting the dashboard.

Mock Mode

No real Claude logs? No problem. mock mode is for demos, screenshots, and UI testing.

node cli.js mock

Open Promo Studio from the top bar while in mock mode to build polished promo scenes — spawn any Pokemon you want, tune Level, HP %, EXP, and Status, box and unbox custom root agents, and export the current scene as a PNG.

All mock data is local-only and never touches your real transcript files.

Notes

  • Tested on Ubuntu and macOS. Should work on other Node.js platforms, but not guaranteed.
  • Current Pokedex covers the first 251 Pokemon. More updates are planned.

Reviews (0)

No results found