Skip to main content

ai-baton

中文

Portable, auditable, file-first handoff protocol for AI assistants.

Lets you switch between AI tools — Claude Code, Codex CLI, Cursor, GitHub Copilot, or anything else that can read and write files — on the same long-running project, without re-explaining everything from scratch. Everything lives in plain text files in your project folder — no server, no vector database, no vendor lock-in.

When you'd use this

  • You run out of usage on one tool and need to switch. Cursor's out of credits, so you jump over to Codex, WorkBuddy, or whatever's next to keep going — without this, that means re-explaining the whole project from scratch: what you decided, what you already ruled out, all of it.
  • The conversation's gotten too long and you want a fresh one. To save tokens, or because quality drops once context gets huge — starting over shouldn't mean losing everything you already worked out.
  • You're deliberately splitting the work across tools. Backend in Claude Code, frontend in Cursor; or one tool writing code and another writing the docs. Both sides need to know what the other one already decided — API shapes, naming — or they end up out of sync.

How it works

  • PROTOCOL.md — the rules this project follows
  • memory/ — durable facts and decisions, one file each, tagged confidence: verified or unverified
  • status/CURRENT_STATUS.md — what's happening right now (overwritten each time, not appended)
  • evidence/ — raw detail worth keeping, append-only
  • handover/ / archive/ — point-in-time snapshots / superseded plans — nothing gets deleted

Install the Agent Skills skill once (ai-baton skill install) and a supporting AI tool follows this automatically: reads the right files in the right order, asks before writing, keeps state current — without being reminded every session.

Requires local filesystem access — works with tools that run on your machine or have been granted access to a folder (Claude Code, Codex CLI, Cursor, Windsurf, WorkBuddy, Claude Desktop with a filesystem connector, etc.). Plain web ChatGPT or web Claude.ai chat can't read PROTOCOL.md at all — no file access, so Agent Skills support doesn't help there.

Status

Pre-alpha.

Working:

  • The spec (SPEC.md) and CLI — pip install ai-baton-tool (the PyPI distribution name; an unrelated existing package blocked plain ai-baton, but the command itself is still ai-baton): init / validate / status / list / workspace set / skill install
  • A default workspace convention — ~/ai-baton-workspace/<project>/, root chosen once and remembered, projects discoverable across tools/sessions via ai-baton list
  • A full worked example (examples/demo-project/)
  • validate flags well-known credential formats (heuristic safety net, not a full secrets scanner) and warns when memory/ is getting large enough to cost real tokens every session (threshold configurable per project via .ai-baton.json)
  • Clean error messages on bad paths instead of raw Python tracebacks
  • 49 tests passing locally

Not built: semantic search (by design — see the trade-off below), and any automated measurement of handoff effectiveness (methodology sketched in docs/metrics.md, nothing wired up yet).

Not the first system aiming at cross-tool AI memory — Mem0, OpenMemory, and Letta solve overlapping problems with a vector store and/or an agent runtime. This makes the opposite trade-off: zero infrastructure and git-native auditability, at the cost of semantic search and automatic extraction. See docs/comparison.md.

Quick orientation

License

MIT — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_baton_tool-0.0.22.tar.gz (51.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_baton_tool-0.0.22-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file ai_baton_tool-0.0.22.tar.gz.

File metadata

  • Download URL: ai_baton_tool-0.0.22.tar.gz
  • Upload date:
  • Size: 51.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ai_baton_tool-0.0.22.tar.gz
Algorithm Hash digest
SHA256 408a95690dedc72905735460b7eed9fd19f7bb9976ba822c465a967a6132886b
MD5 3836a767b63753fc14703f891fb7cc02
BLAKE2b-256 66b87fe39c024bef4a756bb8de0b1afd574eebd7b7588a4c643bc10f4069ad1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_baton_tool-0.0.22.tar.gz:

Publisher: publish.yml on CilantroFanatic/ai-baton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ai_baton_tool-0.0.22-py3-none-any.whl.

File metadata

  • Download URL: ai_baton_tool-0.0.22-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ai_baton_tool-0.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 e855d4daa3559a070c79c9340ca308d8febc4e1790eeba0e43dc6338dabd8d71
MD5 96e16fb6fb1052f3bdf11cbae635eecd
BLAKE2b-256 39711cc46f452d581bd1a43643e755363e42c26338b3476c089125afe53fbd26

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_baton_tool-0.0.22-py3-none-any.whl:

Publisher: publish.yml on CilantroFanatic/ai-baton

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page