Skelegent is an experiment in building an agentic system that is composable by construction: layered protocol contracts, swappable providers/tools/state, and deterministic backpressure via tests and specs.
Specs are the source of truth: SPECS.md and specs/.
This repo assumes Rust tooling is provided by the Nix flake.
- Full verification:
./scripts/verify.sh - Canonical commands: see
AGENTS.md §Verification
Core:
layer0/— protocol traits + wire contractskelegent/— umbrella crate
Turn (turn/):
skg-turn— turn types + provider abstractionskg-turn-kit— turn decomposition primitivesskg-context— prompt/context assemblyskg-tool— tool traits +ToolRegistryskg-mcp— MCP client/server
Operators (op/):
skg-context-engine— ReAct-style operator loopskg-op-single-shot— single-shot operator
Orchestration (orch/):
skg-orch-kit— composition building blocksskg-orch-local— local orchestrator
Effects (effects/):
skg-effects-core— effect executor traitskg-effects-local— local effect interpreter
Middleware (hooks/):
skg-hook-security— security middleware (RedactionMiddleware, ExfilGuardMiddleware)
State (state/):
skg-state-memory— in-memory state storeskg-state-fs— filesystem-backed state store
Environment (env/):
skg-env-local— local environment (process/tool execution glue)
Providers (provider/):
skg-provider-anthropicskg-provider-openaiskg-provider-ollama
Security (secret/, auth/, crypto/):
skg-secret— secret resolutionskg-secret-vault— HashiCorp Vault backendskg-auth— auth/credential frameworkskg-crypto— cryptographic primitives
Heavy-dependency implementations — SQLite, CozoDB, Temporal, Git effects, sweep operators, and auth providers — live in a separate repository to keep this core dependency-free:
skelegent-extras — provider ecosystem