Features
Everything you need to capture, validate, and transfer AI agent expertise.
Built for How You Work
Developers: npm/pip for agent expertise, with a type checker
Scientists: A validated, composable lab notebook for AI agents
ML Engineers: Model registry, but for agent knowledge instead of weights
Teams: Institutional knowledge capture for AI workflows
Graduated Compiler
A 7-pass validation pipeline that catches errors early and auto-fixes common issues. Three severity tiers: hard errors block writes, auto-corrections fix silently, advice suggests improvements.
- Pass 1-2: Syntax (ast.parse) and structure (find class)
- Pass 3-4: Type inference and schema check
- Pass 5: Type check with auto-corrections (W001-W003)
- Pass 6-7: Execute in sandbox and semantic validation
- 10 error codes (E001-E010), 6 auto-corrections (W001-W006), 5 advice codes (I001-I006)
$ stato validate .stato/
PASS qc.py (skill)
W001 depends_on is string, auto-wrapping in list (auto-fixed)
W003 Version missing patch number: '1.0' → '1.0.0' (auto-fixed)
I003 No lessons_learned on skill
PASS plan.py (plan)
All 2 module(s) valid.
Session Resume
Restore agent context after /compact or at the start of a new session. Reads all modules and produces a structured recap.
- Full recap: project context, plan progress, skills with parameters, memory state
- Brief mode:
--brieffor a one-paragraph summary - Raw output:
--rawfor plain text (pipeable) - Works after /compact: modules survive on disk, resume reads them fresh
$ stato resume --brief
cortex_scrna: scRNA-seq analysis of mouse cortex P14. Progress: 3/7 steps complete. Next: find_hvg. QC and normalization complete.
$ stato resume
+----- Project Resume ---------------+
| Project: cortex_scrna |
| Plan: 3/7 steps complete |
| Next: Step 4, find_hvg |
| Skills: qc_filtering v1.2.0 |
| normalize v1.1.0 |
| Phase: analysis |
+------------------------------------+
Composition Algebra
Four operations for managing portable expertise archives.
- Snapshot: Export all or selected modules as a .stato archive. Template mode resets progress, preserves lessons.
- Slice: Extract specific modules with dependency tracking.
--with-depsauto-includes transitive dependencies. - Graft: Add external modules with conflict detection. Choose: replace, rename, skip, or ask.
- Import: Restore from archive with optional filtering by module or type.
$ stato snapshot --name "expert" --template
✓ Created expert.stato (4 modules, 3.8 KB)
$ stato slice --module skills/qc --with-deps
Auto-included: skills/normalize.py (dependency)
✓ Created slice.stato
$ stato import expert.stato --path ~/new-project
+ skills/qc.py
+ skills/normalize.py
+ plan.py
+ memory.py
Cross-Platform Bridges
Generate lightweight bridge files (~500 tokens) that point agents to your expertise modules. Same .stato/ directory, every platform.
- Claude Code: CLAUDE.md (auto-read)
- Cursor: .cursorrules (auto-read)
- Codex: AGENTS.md (auto-read)
- Generic: README.stato.md (manual)
- On-demand loading: bridge is a table of contents, agents load full skill files only when needed
$ stato bridge --platform all
✓ Generated CLAUDE.md
✓ Generated .cursorrules
✓ Generated AGENTS.md
✓ Generated README.stato.md
Web AI Bundle Import
Transfer expertise from web AI conversations into coding agent projects. One file, one command.
- Bundle format: single Python file with SKILLS dict + PLAN/MEMORY/CONTEXT strings
- Safe parsing: uses ast.parse (no exec on untrusted files)
- Full validation: every module runs through the 7-pass compiler before writing
- Dry run:
--dry-runto preview without writing
$ stato import-bundle stato_bundle.py --platform all
Bundle contents:
Skills: 3 (qc, normalize, clustering)
Plan: yes
Memory: yes
Context: yes
Result: 6 imported, 0 failed
✓ Generated CLAUDE.md
✓ Generated .cursorrules
✓ Generated AGENTS.md
✓ Generated README.stato.md
Privacy Scanner
19 regex patterns across 6 categories detect secrets, PII, and sensitive paths before you share archives.
- Categories: api_key, credential, token, path, network, pii
- Interactive review: [s]anitize, [r]eview, [f]orce, [c]ancel
- Sanitize-on-export: replaces secrets with placeholders, originals unchanged
- .statoignore: suppress false positives with pattern matching
$ stato snapshot --name "share"
Privacy scan found 3 item(s):
api_key (1 found)
context.py:8 — API key (OpenAI)
sk-abc123... → {API_KEY}
path (2 found)
context.py:12 — Home directory path
/home/niki/... → /home/{user}/...
Choose action [s/r/f/c]: s
✓ Secrets sanitized in archive