Skip to main content

Capture, validate, and transfer AI agent expertise.

Project description

Stato

The Expertise Layer for AI Agents

Capture, validate, and transfer AI agent expertise.

PyPI Tests Python License

What Is Stato?

Think: npm for agent expertise, with a built-in compiler.

Stato combines what pip does (install, share, registry) with what a compiler does (validate, reject invalid input) for a new kind of artifact: agent knowledge instead of code.

If you know... Stato is like...
npm / pip Install, share, and version expertise packages
TypeScript / GCC 7-pass compiler validates before anything hits disk
Docker Package expertise so it works on any platform
Git Snapshot, diff, and merge expertise

What no existing tool does: the agent extracts its own knowledge (crystallization), privacy scanning before export, and a composition algebra for expertise modules.

Compaction is your agent's working memory. Stato is its long-term memory — validated, on disk, portable. Where Mem0/Zep/Letta are services and skills marketplaces distribute single skills, stato distributes whole validated cognitive-state archives (context + plan + memory + skills) that any tool and any teammate can load.

Three ways stato integrates with your agent

A tool needs only one tier to work with stato; each higher tier deepens it.

Tier What it does How
Instructions Static index any tool reads stato bridge → AGENTS.md, CLAUDE.md, .cursor/rules/*.mdc, copilot, GEMINI.md, SKILL.md
Hooks Auto-restore state after compaction stato hooks install → Claude Code, Codex CLI, Gemini CLI
MCP Live state + validate-gated writes stato mcp → every MCP client at once

Stato Overview

Install

pip install stato

Install from GitHub (latest development version):

pip install git+https://github.com/genecell/stato.git

Quick Start

Across Sessions (Same Project)

Your agent forgets between sessions. Stato makes its knowledge persist on disk.

# Session 1: agent captures expertise
cd my-project
stato init
stato crystallize
# Saves prompt to .stato/prompts/crystallize.md

# Ask your coding agent to capture its expertise:
#   "Read and follow .stato/prompts/crystallize.md"
# Agent writes .stato/ modules based on what it learned.

# Verify and generate bridge
stato validate .stato/
stato bridge --platform claude

# Session 2 (next day, after /compact, new terminal):
# CLAUDE.md and .stato/ files are still on disk.
# Agent reads CLAUDE.md automatically.
stato resume             # structured recap if needed

No export. No import. Files on disk persist across every session.

Across Projects and People

Transfer expertise to a new project, a teammate, or the community.

# Export
stato snapshot --name scrna-expert --sanitize

# Import into new project
cd ~/new-project && stato init
stato import scrna-expert.stato

# Or install from the community registry
stato registry install genecell/scrna-expert

Composition algebra for working with expertise archives:

Operation Command What it does
Snapshot stato snapshot Bundle all expertise into a portable archive
Slice stato slice --module skills/qc Extract specific skills with dependencies
Graft stato graft external-skill.py Add one external skill with validation
Merge stato merge a.stato b.stato Combine expertise from multiple sources

Across Platforms

Same expertise, different coding agents. One command.

stato bridge --platform all

# Creates:
#   CLAUDE.md      -> Claude Code reads automatically
#   .cursorrules   -> Cursor reads automatically
#   AGENTS.md      -> Codex reads automatically

From Web AI to Coding Agent

Plan architecture in Claude.ai or ChatGPT. Build in any coding agent.

stato crystallize --web
# Paste prompt into web AI -> get bundle -> save as stato_bundle.py
stato import-bundle stato_bundle.py
stato bridge --platform cursor

Why Stato Exists

AI coding agents are powerful but stateless. Every session starts from zero. Expertise earned in one session, one project, or one platform stays trapped there.

Stato treats agent expertise like code: captured in structured modules, validated by a 7-pass compiler, composed with algebraic operations, and portable across any platform. Your agent's knowledge becomes a permanent, shareable, validated artifact.

Read the full story ->

Features

Feature Description
Crystallize Agent captures its own knowledge into structured modules
7-Pass Compiler Validates syntax, structure, types, schema, semantics before writing
Composition Algebra Snapshot, slice, graft, merge expertise archives
Cross-Platform Bridges CLAUDE.md, .cursorrules, AGENTS.md from one source
Web AI Bridge Import expertise from Claude.ai, ChatGPT, Gemini conversations
Privacy Scanner 19 patterns detect secrets, emails, paths before export
Resume Restore full context after /compact or session restart
Convert Migrate existing CLAUDE.md, .cursorrules, SKILL.md into stato
Registry Search and install community expertise packages
Diff Field-level comparison between module versions

CLI Reference

Command Description
stato init Initialize a stato project
stato crystallize Save prompt for agent to capture expertise
stato crystallize --print Print full crystallize prompt to terminal
stato crystallize --web Generate prompt optimized for web AI
stato validate Run 7-pass compiler on modules
stato status Show all modules, plan progress, warnings
stato bridge Generate platform bridge files
stato resume Generate context recap for session restoration
stato diff Compare module versions
stato snapshot Export expertise as portable archive
stato import Import modules from .stato archive
stato import-bundle Import from web AI bundle file
stato inspect Preview archive contents
stato slice Extract specific modules with dependencies
stato graft Add external module with validation
stato merge Combine two archives with conflict resolution
stato convert Migrate from CLAUDE.md, .cursorrules, SKILL.md
stato registry list List available packages
stato registry search Search packages by keyword
stato registry install Install a community package

Full documentation: stato.hiniki.com | USAGE.md

Comparison

Capability Stato Plain CLAUDE.md SkillKit MemGPT CrewAI
Validated modules 7-pass compiler No validation No validation No No
Cross-platform 4 platforms Claude only Claude only OpenAI only Framework-locked
Composition algebra snapshot, slice, graft, merge Manual copy No No No
Privacy scanning 19 patterns None None None None
Web AI bridge Import from any chat No No No No
Agent self-capture Crystallize prompt Human-authored Human-authored Auto (opaque) Config files
Package registry GitHub-based No No No No
Session resume Structured recap Re-read file No Built-in No

Registry

Browse and install shared expertise packages:

stato registry list
stato registry search "bioinformatics"
stato registry install scrna-expert

Contributing

https://github.com/genecell/stato

Issues and PRs welcome.

Contact

Min Dai - dai@broadinstitute.org

Fishell Laboratory, Harvard Medical School and the Broad Institute of MIT and Harvard.

License

MIT

Project details


Download files

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

Source Distribution

stato-0.9.0.tar.gz (7.8 MB view details)

Uploaded Source

Built Distribution

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

stato-0.9.0-py3-none-any.whl (104.9 kB view details)

Uploaded Python 3

File details

Details for the file stato-0.9.0.tar.gz.

File metadata

  • Download URL: stato-0.9.0.tar.gz
  • Upload date:
  • Size: 7.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for stato-0.9.0.tar.gz
Algorithm Hash digest
SHA256 a099f7a2570e963d651335e5697e1cf31db97312b70131c83eadbd322b8121ff
MD5 9e08944f9bdf042ec202fa2e718801bd
BLAKE2b-256 196aee42dfcc7317aca8ad719760f698a4fc7320afc447cdbb8142cb242f6d14

See more details on using hashes here.

File details

Details for the file stato-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: stato-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 104.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for stato-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ea24741a0cbd6f47886b5e90ed70884649a388cf3fa2bfee8687f17f8d933ca
MD5 8fbb944bc7bf30d963a3c7a93fec9f6e
BLAKE2b-256 b7a7d0f4e1ffaeed00cd925871155686ade7787742b4d942a8230f929c5e7047

See more details on using hashes here.

Supported by

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