status · diff

git:20260410.54e4af2 to git:20260413.a4c3880

35 added, 49 removed. Audit A to A.

---
name: status
- description: Show agent runtime status — OpenClaw-style card with version, model, context, session, options, activation. Works from CLI or messaging. Triggers on /status, /agent:status, "status del agente", "cómo estás técnicamente".
+ description: Show agent runtime status — identity, model, context, memory, crons, voice. Works from CLI or messaging. Triggers on /status, /agent:status, "status del agente", "cómo estás técnicamente".
user-invocable: true
---
# /status — Runtime Status
- Show the OpenClaw-style status card with runtime info. Works from CLI and from messaging channels.
+ Show a compact status card with everything the user needs at a glance. Works from CLI and messaging channels.
- ## Output format (OpenClaw-compatible)
+ ## Output format
```
- 👽 ClawCode <version>
- 🧠 Model: <provider>/<model>
- 📚 Context: <tokens>/<limit> (<%>) · 🧹 Compactions: <count>
- 🧵 Session: <session-key> • updated <time-ago>
- ⚙️ Runtime: <runtime-label> · Think: <level>
+ 👽 <Name> <emoji>
+ 🧠 Model: <model name> (e.g. Opus 4.6)
+ 📊 Context: <used%> · Memory: <N> files, <M> chunks · <backend>
+ 🕐 Crons: heartbeat <schedule>, dreaming <schedule>
+ 🔊 Voice: <tts backend> (<enabled|disabled>)
+ 📡 Channels: <active channels or "none">
```
- Additional lines (when available):
- - `🧮 Tokens: <input> in / <output> out` — if token data is available
- - `📎 Media: <caps>` — if media capabilities are relevant
- - `🔊 Voice: ...` — if TTS/voice is configured
- - `👥 Activation: <mode>` — if in a group chat
- - `🪢 Queue: <mode>` — if queue depth > 0
-
## Steps
- 1. **Call `agent_status` MCP tool** to get identity, memory stats, dreams.
-
- 2. **Gather additional data**:
- - Bash: `date` for current time
- - Bash: `cat .claude/scheduled_tasks.json 2>/dev/null | python3 -c "import json,sys; print(len(json.load(sys.stdin)))" 2>/dev/null || echo 0` for cron count
- - Read `package.json` from `$CLAUDE_PLUGIN_ROOT` for version
- - Detect surface from `<channel source="...">` if present
+ 1. **Call `agent_status` MCP tool** — gives identity, memory stats, dream data.
- 3. **Build the status card** following the format above. Use the AGENT'S data, not fake fields:
- - Replace `<version>` with version from package.json
- - Replace `<provider>/<model>` with the current Claude Code model (you are running on claude-opus-4-6 or similar)
- - Replace `<tokens>/<limit>` with memory chunks or "—" if not applicable
- - Replace `<session-key>` with channel info (cli, whatsapp:<user>, telegram:<user>)
- - Replace `<runtime-label>` with `builtin` or `qmd` depending on config
- - Replace `<level>` with `off` (default thinking)
+ 2. **Call `agent_config` MCP tool** (action='get') — gives backend, voice, http config.
- 4. **Format per surface**:
+ 3. **Get model name** — you know your own model. Use the display name (e.g. "Opus 4.6"), not the internal ID.
- ### CLI
- Use the standard markdown block above with proper line breaks.
+ 4. **Get context usage** — you know approximately how much context you've used in this conversation. Report it as a percentage or "low/medium/high" if exact number isn't available.
- ### WhatsApp
- Same content, but replace any `**bold**` with `*bold*` (single asterisk). No headers (`#`).
+ 5. **Get cron info** — Bash: `ls .crons-created 2>/dev/null` to check if defaults are set up.
- ### Telegram
- Use `**bold**`, headers are fine.
+ 6. **Get channel info** — if `channels_detect` MCP tool is available, call it. Otherwise check `ls ~/.claude/plugins/cache/ 2>/dev/null` for installed plugins.
- 5. **Reply tool** if on a messaging channel; otherwise print to stdout.
+ 7. **Build the card** using REAL data. Never fabricate numbers.
- ## Example output (WhatsApp)
+ ## Format per surface
+ ### CLI
```
- 👽 *ClawCode 1.0.0*
- 🧠 *Model:* anthropic/claude-opus-4-6
- 📚 *Context:* 4 files · 12 chunks · 🧹 0 compactions
- 🧵 *Session:* whatsapp:JC • updated ahora
- ⚙️ *Runtime:* builtin (SQLite + FTS5 + BM25 + temporal decay + MMR) · Think: off
- 👤 *Agent:* <Name> <emoji>
+ 👽 **Wally** 👽
+ 🧠 Model: Opus 4.6 (1M context)
+ 📊 Context: ~35% · Memory: 42 files, 120 chunks · builtin
+ 🕐 Crons: heartbeat */30, dreaming 3am
+ 🔊 Voice: say (disabled)
+ 📡 Channels: whatsapp (installed, not authenticated)
```
+ ### WhatsApp
+ Same content, `*bold*` instead of `**bold**`. No markdown headers.
+
+ ### Telegram
+ Same content, `**bold**` is fine.
+
## Important
- - This is PURELY informational. It does not modify state.
- - Get REAL data from `agent_status`, `agent_config`, and the filesystem. Never fabricate numbers.
- - The token/cost fields come from Claude Code's session (which the plugin can't access directly). Show "—" for those or recommend the native `/usage` for cost details.
- - For MCP server connection details (which plugins are active), the user can run native `/mcp` in the CLI — this shows all connected MCP servers. Our `/status` focuses on agent state, not MCP plumbing.
- - This is the agent-aware equivalent of OpenClaw's `/status`.
+ - PURELY informational — does not modify state.
+ - Get REAL data from MCP tools and filesystem. Never fabricate.
+ - For detailed cost/token info, tell the user to run native `/cost` or `/usage`.
+ - For MCP server details, tell the user to run native `/mcp`.
+ - Keep it compact — one line per category, no paragraphs.