Skip to main content

ai-baton

中文

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

Lets you move between AI tools — Claude Code, Codex CLI, Cursor, or anything else that reads/writes files — on the same long-running project without re-explaining context every time. State lives in plain Markdown + YAML files in your own repo: a memory/ for durable facts and decisions, a status/CURRENT_STATUS.md for what's happening right now, an append-only evidence/ trail, handover/ snapshots, and archive/ for superseded plans. No server, no vector DB, no vendor plugin required — every change is just a git diff.

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

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.

Status

Pre-alpha. pip install ai-baton-tool (PyPI distribution name differs from the ai-baton command — an existing unrelated package blocked that name). Working: the spec (SPEC.md), the init / validate / status / list / workspace set / skill install CLI, a default workspace convention (~/ai-baton-workspace/<project-name>/, its root chosen once and remembered via ~/.ai-baton/config.json, discoverable across tools/sessions via ai-baton list), a full worked example (examples/demo-project/), and an Agent Skills skill — ai-baton skill install puts it where Claude Code, Codex CLI, and GitHub Copilot look for it, confirmed triggering live in all three (real user tests: Codex CLI discovered and ran the skill correctly, though full compliance with every rule — e.g. the canary tag, guided-question UI — wasn't confirmed there; Copilot discovered and ran it too, and that test directly found two real bugs — reading an unrelated sibling project's files into a new one, and skipping the backfill question — both fixed as a result). Not yet tested in Cursor, though Cursor's own docs say it reads skills from the same .agents/skills//.claude/skills/ locations this tool installs into. validate also flags well-known credential formats (AWS/GitHub/Slack keys, private key blocks) as a heuristic safety net, not a full secrets scanner, and warns (per-project configurable via .ai-baton.json) when memory/ gets large enough to be a real token cost every session. Bad paths now fail with a plain error message instead of a Python traceback. 49 tests pass locally. Not built: semantic search (by design) and any automated measurement of handoff effectiveness (methodology sketched in docs/metrics.md, nothing wired up).

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.20.tar.gz (48.7 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.20-py3-none-any.whl (26.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ai_baton_tool-0.0.20.tar.gz
  • Upload date:
  • Size: 48.7 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.20.tar.gz
Algorithm Hash digest
SHA256 753a13a1d62b1e88b4c74c3bda0347697e5cfaeeaee47bb6cff37eb83eb4316c
MD5 658e0f64ff06d2dc54be690fa54f9282
BLAKE2b-256 5106e323b30e5f67c92b30b099145c9167d6ae6a76e61c92c13efb84f94a6624

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: ai_baton_tool-0.0.20-py3-none-any.whl
  • Upload date:
  • Size: 26.0 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.20-py3-none-any.whl
Algorithm Hash digest
SHA256 538d2a60545142499e3ad6804f592bfdc6619bcb2fefca248023c25636677a9f
MD5 bdbbec773d6de123571475fffcca341c
BLAKE2b-256 97f38fdffad1bd2a1db41ffc60ed6a93795d624379b9d2667df9627a834dba45

See more details on using hashes here.

Provenance

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