Skip to content

Across Projects and People

Stato’s composition algebra lets you package expertise from one project and import it into another. Snapshot, slice, graft, and merge operations work on portable .stato archives.

Snapshot

Export all modules as a .stato archive:

Terminal window
stato snapshot --name "scrna-expert"

Creates scrna-expert.stato, a zip file containing manifest.toml and all module .py files.

Template Mode

Use --template to create a reusable starting point that preserves learned expertise but resets progress:

Terminal window
stato snapshot --name "scrna-template" --template
Module TypeWhat ResetsWhat’s Preserved
SkillNothingEverything (skills ARE the expertise)
PlanStep statuses to "pending", outputs removedDecision log, step structure, dependencies
MemoryPhase to "init", error history clearedTask list, known issues
ContextNothingEverything (conventions, tools are reusable)

Partial Export

Terminal window
stato snapshot --name "skills-only" --type skill # only skills
stato snapshot --name "qc-only" --module skills/qc # single module
stato snapshot --name "no-memory" --exclude memory # exclude memory

The --module, --type, and --exclude flags can be combined. Partial archives are marked partial: true in the manifest.

Privacy Scanning

By default, stato snapshot runs the privacy scanner before creating an archive. See the Privacy guide for details.

Terminal window
stato snapshot --name "share" --sanitize # auto-replace secrets
stato snapshot --name "internal" --force # skip scan

Import

Import all modules from an archive:

Terminal window
stato import scrna-expert.stato

Import into a specific project:

Terminal window
stato import scrna-expert.stato --path ~/new-project

Import a single module:

Terminal window
stato import full-export.stato --module skills/qc

Preview what would be imported without writing:

Terminal window
stato import full-export.stato --dry-run

Inspect

Preview what’s inside an archive without importing:

Terminal window
stato inspect scrna-expert.stato

Shows archive metadata (name, creation date, template flag) and a table of included modules with their types and validation status.

Slice

Extract specific modules from your project into a new archive:

Terminal window
stato slice --module skills/normalize

If the sliced module depends on another module in the project, you’ll see a warning. To automatically include dependencies:

Terminal window
stato slice --module skills/normalize --with-deps

This pulls in skills/qc.py because normalize depends on qc_filtering.

Graft

Add a module from an external archive or .py file:

Terminal window
stato graft expert.stato --module skills/clustering

Conflict Handling

If a module with the same name already exists, control behavior with --on-conflict:

Terminal window
stato graft expert.stato --module skills/qc --on-conflict replace # overwrite
stato graft expert.stato --module skills/qc --on-conflict rename # auto-rename
stato graft expert.stato --module skills/qc --on-conflict skip # skip silently

The default (--on-conflict ask) reports the conflict without writing.

Merge

Combine two archives with conflict resolution:

Terminal window
stato merge a.stato b.stato --output combined.stato

Strategies:

  • --strategy union (default): combine all modules, flag conflicts
  • --strategy prefer-left: when conflicts arise, keep the left archive’s version
  • --strategy prefer-right: when conflicts arise, keep the right archive’s version

Use --dry-run to preview without writing.

Registry

Browse and install shared expertise packages from the community:

Terminal window
stato registry list # list all packages
stato registry search "bioinformatics" # search by keyword
stato registry install scrna-expert # install a package

Packages are community-contributed expertise modules. Each package is privacy-scanned before publishing.

Typical Workflow

Terminal window
# Senior researcher exports expertise
stato snapshot --name "lab-expertise" --template --sanitize
# Sends lab-expertise.stato to the team
# New team member imports
stato init
stato import lab-expertise.stato
stato bridge --platform cursor
# Agent starts with senior-level expertise from day one