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 skills add cmj0121/baton --skill drivegit clone --depth 1 https://github.com/cmj0121/batonWrote 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/cmj0121/baton/drive)<a href="https://agentmods.dev/skills/cmj0121/baton/drive"><img src="https://agentmods.dev/badge/skills/cmj0121/baton/drive/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/cmj0121/baton/drive"><img src="https://agentmods.dev/badge/skills/cmj0121/baton/drive.svg" alt="Reviewed on agentmods" width="80" 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.00030 | $0.00937 |
| Opus 5.5 | $0.00012 | $0.00375 |
| Sonnet 5.5 | $0.00006 | $0.00187 |
| Haiku 4.5 | $0.00003 | $0.00094 |
Grade A, and why
drive 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 8d 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.
How it starts
The opening of the file, as written. The whole thing — 79 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Driving baton from outside
This skill is for an agent the operator runs in their own terminal, outside any baton panel, and asks to work the fleet for them.
If BATON_PANEL_ID is set and BATON_ROLE is not conductor, you are a
worker inside baton: do not drive the fleet from here — keep to your task and
the worker's skills, score and peers.
If BATON_ROLE is conductor, you are the conductor: read conduct, not this.
Connecting
baton is one daemon per user by default, holding the fleet, and a cockpit the human watches it through. You reach the daemon over its control socket:
- The default socket is
$XDG_RUNTIME_DIR/baton/baton.sock, or~/.baton/baton.sockwhen that variable is unset.BATON_SOCKpoints at a different daemon's socket instead. baton ctl listis the check. It prints the fleet as JSON; "is the server running?" means no daemon answers on that socket.- Do not start one yourself: plain
batonopens the cockpit, a full-screen terminal UI meant for the human. Ask them to start it.
Every baton ctl command connects, acts, and exits. Run them through your
shell; baton ctl --help and baton ctl <verb> --help print the exact forms.
MCP, if you want tools
Nothing is wired for you. To get structured tools instead of shelling out, the operator can register baton's MCP server once:
claude mcp add baton -- baton mcp
That serves the full fleet table — the same one the conductor gets — over the
same socket. The conduct skill names every tool in it and when to use each.
Without MCP, baton ctl covers the same ground.
Your role: unscoped
From outside, you connect with no role and no panel: the cockpit's own,
unscoped role. The conductor is fenced — it may not drain the queue, sweep
worktrees, switch peers, or act on its own panel. You are not: apart from the
fleet ceiling of 64, the conductor-only memory corrections and the rate cap on
baton ctl score submit, nothing in the server stops you, so the judgment is
yours.
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.
- 8d ago First seen · 79 lines · 30 tokens per session scan A 702e1fe9631a
drive is a skill published in the GitHub repository cmj0121/baton (2 stars, last pushed 3d ago), licensed MIT. It adds 30 tokens to every session and 937 once invoked, about $0.0001 per session on Opus 5.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-10-29.
drive compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| drivecmj0121/baton | Skill | 2 | 3d ago | MIT | A | 30 | Claude Code |
| gh-skillcli/cli | Skill | 47k | today | MIT | A | 41 | Claude Code, Codex |
| printing-press-amendmvanhorn/cli-printing-press | Skill | 4.9k | yesterday | MIT | A | 222 | Claude Code |
| printing-press-importmvanhorn/cli-printing-press | Skill | 4.9k | yesterday | MIT | A | 104 | Claude Code |
| octo-driveMininglamp-OSS/octo-cli | Skill | 922 | yesterday | Apache-2.0 | A | 55 | Claude Code, Codex |
| octo-mailMininglamp-OSS/octo-cli | Skill | 922 | yesterday | Apache-2.0 | A | 32 | Claude Code, Codex |
| octo-docsMininglamp-OSS/octo-cli | Skill | 922 | yesterday | Apache-2.0 | A | 101 | Claude Code, Codex |