Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/pounceai/bob-control/bob-plannpx skills add PounceAI/bob-control --skill bob-plangit clone --depth 1 https://github.com/PounceAI/bob-controlWrote 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/skills/pounceai/bob-control/bob-plan)<a href="https://agentmods.dev/skills/pounceai/bob-control/bob-plan"><img src="https://agentmods.dev/badge/skills/pounceai/bob-control/bob-plan.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.00104 | $0.01128 |
| Opus 5 | $0.00052 | $0.00564 |
| Sonnet 5 | $0.00021 | $0.00226 |
| Haiku 4.5 | $0.00010 | $0.00113 |
Grade A, and why
bob-plan scanned grade A with 0 findings 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.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
You are the foreman. The user wants IBM Bob to produce a plan/design — analysis only,
no implementation. Bob runs this in its read-only plan mode (it may read files and run safe
analysis commands, but writes nothing).
Do this:
-
Get board state in one call. Call
board_status— it returnsopen_tasks(the live, non-terminal tasks) for the dedup check andworker_drainingfor step 3. Scanopen_tasksfor a near-identical pending planning task; if one exists, skip creating another and point the user at it. (Ignore ablocked/needs_inputnear-match — it can't be pulled, so deduping against it would dead-end the request.) Only ifopen_tasks_truncatedis true and you're unsure, fall back tolist_tasks {status: 'pending'}.worker_drainingis a step-1 snapshot — keep it for step 3 rather than re-callingboard_status. -
Shape the planning task with
create_task:- mode:
plan— read-only analysis/design; no code changes. - title: imperative and specific, e.g.
Plan: migrate src/db.ts off the global handle. - tags:
['plan'](+ a domain tag when obvious:rpg,sql,db,docs). If step-1worker_drainingshows a tag-pinned drainer serving this checkout, add its pin tag too — a worker only pulls tasks whose tags include its pin, else it sitspending. - priority: infer from the request; default
medium. - description: the goal, the relevant context/constraints, and explicitly "Produce a
plan/design only — do NOT modify files or implement." State what the plan should cover
(steps, risks, files touched, alternatives). If the user pointed at specific code, name the
paths —
planmode can read them and rungit diffitself, so don't paste a big diff.
- mode:
-
Wait for Bob, then surface the plan. Report the new task id and that it routes to
{plan}. Use theworker_drainingfrom step 1 (it reflects a 2.0 in-process loop as well as a 1.x worker): ifworker_draining.drainingis false, nothing is draining the board — say it's queued as #id and tell the user to start a drainer (open the repo in a Bob 2.0 window, whose in-process loop drains automatically, or run a 1.x worker vialaunch-worker.cmd), then stop. Otherwise a drainer is live and step 2 tagged the task to its pin, so don't report "queued" for a tag-pinned drainer — callawait_task {task_id: id}. It blocks until the drainer runs the task and Bob settles it, so the plan comes back this turn:analysis_done(ordone) → present Bob's plan from the taskresult.waiting(poll window elapsed) → callawait_taskagain; keep waiting while Bob works. If it stayswaitingacross several calls, nothing is draining the board — say it's queued as #id; start a drainer (as above) or check/bob-board.needs_input→ Bob asked a question (in the response). A 1.x worker parks it on the board — surface it; once the user answers (answer_task_question) callawait_taskagain. A 2.0 in-process Bob has no board reply channel, so surface the question for the user to steer in Bob's window (or re-file a follow-up with the answer baked in).blocked/cancelled→ report Bob stopped, with the note reason.
Note: this produces a plan, not an implementation. If the user then wants Bob to build it,
that's a separate code/orchestrator task (use /bob-new).
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 · 58 lines · 104 tokens per session scan A f443e19c99c9
bob-plan is a skill published in the GitHub repository PounceAI/bob-control (1 stars, last pushed 22d ago), licensed Apache-2.0. It adds 104 tokens to every session and 1,128 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
evolve
Research-driven multi-cycle improvement director. Forms causal hypotheses about why scores are low, validates them with scout agents before attacking, dispatches axis-parallel fleet attacks, extracts transferable patterns, and runs indefinitely within a budget envelope. Accumulates a persistent belief model and…
improve
Autonomous quality improvement loop. Scores a target against a rubric, selects the highest-leverage axis, attacks it, verifies, documents, and loops. No pre-planning between iterations — each loop re-scores from scratch.
watch
File sentinel that monitors the working directory for changes and marker comments, then auto-triggers appropriate skills. Poll-based via git diff against the last scan commit. Writes intake items for batch processing and routes marker actions through /do. Use for automatic reactions to file changes; do NOT use for…
experiment
Automated optimization loop with scalar fitness function. Proposes changes in isolated worktrees, measures with a metric command, keeps improvements, discards failures. Supports convergence detection and diminishing returns.
test-gen
Generate and verify tests — happy path, edge cases, error paths — using the project's own framework and patterns.
wiki
Markdown-first knowledge base where the LLM acts as librarian. Ingests raw sources, compiles and interlinks topic files, self-maintains an index. No vector DB or embeddings required -- uses LLM-native navigation over structured markdown up to 400K words.