usage · diff
git:20260410.dbd18db to git:20260410.9e0af4f
56 added, 44 removed. Audit A to A.
---
name: usage
- description: Show usage — agent memory usage + where to find session token usage. Works from CLI or messaging channels. Triggers on /usage, /agent:usage, "uso del agente", "agent usage".
+ description: Show usage cost summary — session, today, last 30 days. OpenClaw-compatible format. Works from CLI or messaging. Triggers on /usage, /agent:usage, "cuanto gasté", "agent usage", "cost".
user-invocable: true
---
- # Agent Usage
-
- Show resource usage for the agent. Works from CLI or messaging channels.
+ # /usage — Cost Summary
- ## Steps
+ Show usage costs in the OpenClaw-compatible format. Works from CLI or messaging channels.
- 1. **Detect surface** (CLI vs messaging channel).
+ ## Output format (matches OpenClaw exactly)
- 2. **Gather stats**:
- - Call `agent_status` MCP tool → files, chunks, dream count
- - Bash: `du -sh memory/ 2>/dev/null | awk '{print $1}'` → memory dir size
- - Bash: `find memory/ -maxdepth 1 -name "*.md" ! -name ".*" 2>/dev/null | wc -l | tr -d ' '` → daily log count
- - Bash: `ls -la memory/.memory.sqlite 2>/dev/null | awk '{print $5}'` → SQLite index size
- - Bash: `wc -l memory/.dreams/events.jsonl 2>/dev/null | awk '{print $1}'` → dream events count
+ ```
+ 💸 Usage cost
+ Session <cost> · <tokens> tokens
+ Today <cost>
+ Last 30d <cost>
+ ```
- 3. **Format output** per surface:
+ ## Subcommands
- ### CLI
- ```
- 📊 Resource Usage
+ - `/usage` — show the cost summary (default)
+ - `/usage tokens` — compact token display
+ - `/usage full` — verbose token + cost
+ - `/usage cost` — same as default
- Memory:
- Directory: <du>
- Daily logs: <N> files
- MEMORY.md: <size>
- SQLite index: <size>
+ ## Steps
- Dreams:
- Events logged: <count>
- Unique memories: <from agent_status>
+ 1. **Detect surface** (CLI vs messaging channel).
- For session tokens/cost: /usage /cost /stats
- ```
+ 2. **Try to read session cost data** from Claude Code's session store:
+ ```bash
+ ls ~/.claude/projects/*/\*.jsonl 2>/dev/null | head -3
+ ```
+
+ NOTE: Claude Code stores session data in `~/.claude/projects/<slug>/*.jsonl`. The plugin cannot reliably read these because:
+ - The session slug depends on the current cwd
+ - The format is internal to Claude Code
+ - Token counts per session are not always available to skills
- ### WhatsApp
- ```
- 📊 *Resource Usage*
+ 3. **Fall back to estimate from memory/dreams**:
+ - Call `agent_status` MCP tool → get file/chunk counts
+ - Bash: `du -sh memory/ | awk '{print $1}'` → memory dir size
+ - Bash: `wc -l memory/.dreams/events.jsonl 2>/dev/null | awk '{print $1}'` → event count
- *Memory:* <du>
- *Logs:* <N> files
- *Dreams:* <count> events, <unique> memories
+ 4. **Build the response** in OpenClaw format:
- Session tokens: use CLI /usage
+ ### When cost data is available
```
-
- ### Telegram
+ 💸 Usage cost
+ Session $0.42 · 125k tokens
+ Today $1.23
+ Last 30d $34.56
```
- 📊 **Resource Usage**
- **Memory:** <du>
- **Logs:** <N> files
- **Dreams:** <count> events, <unique> memories
+ ### When cost data is NOT available (most likely case)
+ ```
+ 💸 Usage cost
+ Session n/a (run native /cost or /usage in CLI for tokens)
+ Today n/a
+ Last 30d n/a
- Session tokens: use CLI /usage
+ 📊 Agent resources
+ Memory: <size>, <N> files, <M> chunks
+ Dreams: <events> events, <unique> unique memories
```
- 4. **Reply tool** if on messaging channel.
+ 5. **Format per surface**:
+ - **CLI**: standard markdown
+ - **WhatsApp**: single `*bold*`
+ - **Telegram**: `**bold**`
+ 6. **Reply tool** if on messaging channel.
+
## Important
- - If memory directory is huge (> 500 MB), suggest cleanup or archival.
- - Session tokens/cost are NOT available via the agent — they're CLI-only.
- - This is the agent-aware equivalent of OpenClaw's `/usage` command.
+ - Claude Code does not expose session cost data to plugin skills directly.
+ - The honest answer is "n/a — use native /cost on CLI for real token/cost data".
+ - Agent resources (memory, dreams, files) ARE available and we can show them.
+ - This matches OpenClaw's `/usage cost` format but with the Claude Code limitation documented.
+ - This is the agent-aware equivalent of OpenClaw's `/usage`.