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.21.tar.gz (49.5 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.21-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ai_baton_tool-0.0.21.tar.gz
  • Upload date:
  • Size: 49.5 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.21.tar.gz
Algorithm Hash digest
SHA256 4bb0e64781c7633d09a8e4480705a5cba6ce2f3ac20d5e6815b7132efdf6f2d4
MD5 f6cc58030b528569d1c2f92232abf070
BLAKE2b-256 ab9f897b69b8e381232a832e8cb7821feabbb0312b06bf20550e802a4fd471ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_baton_tool-0.0.21.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.21-py3-none-any.whl.

File metadata

  • Download URL: ai_baton_tool-0.0.21-py3-none-any.whl
  • Upload date:
  • Size: 26.4 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.21-py3-none-any.whl
Algorithm Hash digest
SHA256 84d16016590673e3c9a89aaac1696505f9171d59946db279646ac7a43d3adc14
MD5 4d7dee26f9747be2a8e807ffb1fc3b54
BLAKE2b-256 fade3f9ea67f2da48c6579f1bb8392f7ec136096efd8a8e77c47cb1f20b83e6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_baton_tool-0.0.21-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