agent-glancelisted
Install: claude install-skill epicsagas/AgentGlance
# agent-glance — Claude Code status on a GeekMagic SmallTV
Renders Claude Code session state (WORKING / APPROVAL / DONE) plus live metrics
(model, context %, in/out tokens) to a GeekMagic SmallTV's 240×240 display.
The target firmware (**SD_RU** / **SD Pro**, ESP8266 community firmware) has
**no text API**, so a GIF is rendered with Pillow and pushed to the device's
Photo album. The device runs as a dedicated status display (Photo theme = sole
active theme, `agent_status.gif` = sole photo). **Hooks auto-activate when this
plugin is enabled** — no manual `settings.json` editing required.
## How it works
```
host lifecycle hook (JSON on stdin)
│
scripts/agent_glance.py
· normalises the payload (hook_event_name | hookEventName)
· maps the host's event to WORKING / APPROVAL / DONE
· parses the session transcript for model / context / tokens
· renders a 240×240 GIF (Korean-safe fonts)
· backgrounds the upload (never blocks the agent), retries on busy-403
│
GeekMagic SmallTV Photo album → display
```
## Multi-host hooks
The three hosts do **not** share a hook format. Each gets its own file, and no
generic `hooks/hooks.json` exists — that path is the default for *both* Claude
and Codex, so leaving one there risks the wrong host loading it.
| Host | Hook file | Why that path |
|---|---|---|
| Claude Code | `hooks/claude-hooks.json` | declared via `.claude-plugin/plugin.json` |
| Codex | `hooks/codex-hooks.json` | declared via `.