Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add PounceAI/bob-control/plugin install bob-companionWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/pounceai/bob-control/bob-statusline)<a href="https://agentmods.dev/commands/pounceai/bob-control/bob-statusline"><img src="https://agentmods.dev/badge/commands/pounceai/bob-control/bob-statusline.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00016 | $0.00581 |
| Opus 5 | $0.00008 | $0.00291 |
| Sonnet 5 | $0.00003 | $0.00116 |
| Haiku 4.5 | $0.00002 | $0.00058 |
Grade B, and why
bob-statusline scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
2. Read the user settings file `~/.claude/settings.json` What it actually says
Wire the Bob task-board status line into the user's Claude Code settings so every
session shows a live ⚡ Bob: N running · #id title summary alongside the model and
directory.
The status-line script ships with this plugin at:
${CLAUDE_PLUGIN_ROOT}/bin/statusline-bob.mjs
It tracks the current session's project board (<project>/data/tasks.db) — the same
board this plugin's MCP server uses (${CLAUDE_PROJECT_DIR}/data/tasks.db) — so each
open project shows only its own queue. If a project has no board yet, it falls back to
the shared portable board (~/.bob-tasks/tasks.db).
Do this:
-
Determine the absolute path to the script above (expand
${CLAUDE_PLUGIN_ROOT}). -
Read the user settings file
~/.claude/settings.json(Windows:%USERPROFILE%\.claude\settings.json). If it doesn't exist, start from{}. Parse it as JSON, preserving every existing key. -
If
$ARGUMENTScontains--remove: delete thestatusLinekey (if present) and write the file back. Confirm removal and stop. -
Otherwise set the
statusLinekey to:{ "type": "command", "command": "node \"<ABS_SCRIPT_PATH>\"" }where
<ABS_SCRIPT_PATH>is the resolved absolute path from step 1. On Windows, JSON-escape the backslashes in the path (each\becomes\\). Do not append a board-path argument — omitting it lets the script resolve the current project's board per session (and fall back to the shared portable board when a project has none).If a
statusLinekey already exists, replace it (tell the user you overwrote the previous one, and what it was). -
Write the merged JSON back to
~/.claude/settings.jsonwith 2-space indentation, then verify it still parses as valid JSON. -
Confirm what you wrote and remind the user to reload Claude Code (or start a new session) for the status line to take effect. Mention they can run
/bob-statusline --removeto undo it, and that the line stays quiet (model · dir only) whenever no Bob tasks are running or queued.
Keep it to a short confirmation — this is a one-time setup action, not an essay.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 57 lines · 16 tokens per session scan B e605217050bd
bob-statusline is a command published in the GitHub repository PounceAI/bob-control (1 stars, last pushed 22d ago), licensed Apache-2.0. It adds 16 tokens to every session and 581 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other commands, from other repositories
assess
Run an AI literacy assessment — scan the repo for evidence, ask clarifying questions, produce a timestamped assessment document, apply immediate habitat fixes, recommend workflow changes, capture a reflection, and add a literacy level badge to the README.
workday-start
Morning orient — triage handoffs, surface staleness, align priorities.
workday-complete
End-of-day wrap — validate, consolidate branches, review, changelog.
distill
Distill session artifacts to wiki and decisions; archive specs, drop scratch.
resume
Resume a previous session. Reads recent session logs, open tasks, and last decisions — gives Claude full context without re-explaining the project.
dashboard-session-unhide
Unhide a previously hidden session. Usage /dashboard:session-unhide.