baton
Hand-offs for AI coding agents (Claude Code, Codex, Cursor, any MCP client): a hand-off is refused while a question to that agent is still open. Plain files in git, no server.
Install / Use
claude mcp add TheKathan -- npx -y github:TheKathan/batonIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of baton
baton scores 77/100 on our quality scale, 3677th of 4,589 Development & Engineering skills we index.
Its MCP Server is 6.5 KB long, split into 7 sections with 2 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 2 days ago, so baton is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
baton compared with similar skills
All 4 of these similar skills score higher than baton; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| baton (this skill)by TheKathan | 77 | 3 | 2d ago | MCP Server |
| taste-skillby Leonxlnx | 100 | 101.4k | 2d ago | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 101.2k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 77.6k | 1d ago | CLAUDE.md |
| ai-job-searchby ai-job-search-dev | 100 | 63.9k | 2d ago | CLAUDE.md |
Frequently asked questions
- How do I install baton?
- Run
claude mcp add TheKathan -- npx -y github:TheKathan/baton. The install tabs above show the steps for each supported agent. - Which AI agents does baton work with?
- It is written for Claude Code, Claude Desktop, Cursor and OpenAI Codex, as a MCP Server file. Other agents that read the same format can often use it too.
- Is baton safe to use?
- It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is baton still maintained?
- The repository was last updated 2 days ago, so baton is actively maintained.
Skill content
View source on GitHubYour AI agents can't say "done" while another agent's question is still open.
baton is a shared board in your repo where coding agents ask questions, agree on contracts and hand work over. It checks every entry when it is written and keeps the record in git, so you review it in the pull request. One CLI, plain files, no server, any agent that runs a shell.
Try it in one command: uvx baton-handoff demo
Try it in 60 seconds
With baton installed, paste this into a terminal. It replays the recording in a scratch folder:
mkdir baton-try && cd baton-try && git init -q
baton init --roles frontend,backend,qa
baton post Q --as frontend --to backend --title "Which route serves health?" "For the status page."
baton handoff --as backend --phase S1-A --state DONE --to qa --title "S1-A backend" "Health endpoint done."
baton reply Q-001 --as backend --close "Use GET /api/health."
baton handoff --as backend --phase S1-A --state DONE --to qa --title "S1-A backend" "Health endpoint done."
The first hand-off is refused (answer first: baton show Q-001, then baton reply …) and nothing is written; after the reply it goes through as H-002. Or just run baton demo for a narrated replay on a temporary board; without installing anything, uvx baton-handoff demo.
Why baton
- No half-done hand-offs. An agent can't report done while a question to it is still open.
- Decisions don't get lost. Questions, contracts, decisions and blockers are typed entries in git, readable by humans and reviewable in a PR.
- Cheap to read. Each agent sees only what is new for it: a few thousand tokens, not the whole board.
- Any agent. Claude Code, Codex, Cursor or anything that runs a shell command.
- Nothing to run. No server, no database, no dependencies.
On a real project, moving from a hand-written board to baton cut a sprint's board from up to ~139k tokens to ~10k and ended id collisions. See the evidence.
What it's for
| Use | What you get | |---|---| | Agents side by side on your machine | One board for every agent, even across git worktrees. | | One issue per sandbox | Each task gets its own board, which ships with the PR. Sandbox mode | | Your team's rules | Policies refuse or flag entries that skip what your team expects. Policies | | CI on GitHub | Actions that run a task's board around your agent and check it on the PR: setup-baton, baton-task, baton-check on the GitHub Marketplace. How to use them | | Keeping an eye on the work | A local kanban board and metrics: who is blocked, who has the baton, what is stale. Commands |
How it works
<p align="center"><picture><source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/TheKathan/baton/main/assets/how-it-works-animated-dark.svg"><img alt="How baton works, as a conversation where every message is a typed entry in an append-only log: frontend asks backend which route serves the health check (Q-001); backend's hand-off to qa is refused and nothing is appended, because Q-001 is unanswered; backend answers, and the hand-off goes through as H-002, so qa takes over" src="https://raw.githubusercontent.com/TheKathan/baton/main/assets/how-it-works-animated-light.svg" width="720"></picture></p>Agents run baton. Each write appends one event to a log in .baton/ under a lock, and readable views are generated from it. More on how it works.
Install
baton is on PyPI as baton-handoff and installs the baton command. It needs Python 3.11 or newer on macOS or Linux; macOS ships Python 3.9, so uv is the easiest route: it fetches a recent Python for you.
uv tool install baton-handoff
pipx install baton-handoff works too, and the getting started guide shows it, then how to set up your agents.
Documentation
- Getting started: install, try it, set up your agents, troubleshooting
- Why baton: evidence, how it compares, FAQ
- How it works: files, worktrees, stability, limits
- Sandbox mode: one board per task
- Commands: every command and flag, and the MCP tools
- Policies · Configuration · Board format
Contribute
Bugs, questions and ideas go to issues, and pull requests are welcome: see CONTRIBUTING and the code of conduct. If baton helps your agents, a star helps others find it.
Related Skills
taste-skill
101.4kAgent skills that give coding agents taste: art direction, reference images and a browser check instead of generic AI pages
Agent-Reach
101.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
77.6kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ai-job-search
63.9kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
