Skip to main content
Lessons are reusable instructions, domain facts, and operating rules that Sovara can retrieve for future agent runs.

Create lessons with a coding assistant

For human-reviewed lesson creation from recorded behavior, run sovara onboard or follow the assistant skill workflow. Codex or Claude Code can inspect and annotate a relevant run, confirm ground truth with you, decide whether a lesson is appropriate, attach provenance, and test retrieval and behavior. The commands below are for managing lessons directly. Every sovara lessons subcommand requires --project-id. The selector accepts a full project ID, an unambiguous ID prefix, or an exact project name. Examples below use a shell variable to keep commands readable:

List and read lessons

ls returns lessons and immediate child folders. Omit the path or pass "" to list the root folder. Add -R / --recursive to include compact lesson records from descendant folders; full lesson content is omitted. get returns complete lesson details. Multiple comma-separated IDs are returned under a lessons array in the requested order.

Retrieve lessons for context

Use retrieve to see which lessons match concrete agent context. Optionally scope retrieval to a folder with --path / -p.

Create a lesson

Active creation requires a title, content, and retrieval-oriented usage hint:
Add --draft to save without validation or activation. Draft creation requires only a title and content; --when-to-use can be added now or before submission.
When a lesson comes from a specific step, pass either the source run UUID (or unambiguous UUID prefix) with --run-id, or its exact project-scoped SDK key with --run-key, plus the step ref shown by sovara probe. Sovara resolves the selector and step ref to durable UUIDs before creating the lesson. Omit the run selector and --step when the lesson has no concrete run provenance.

Improve a lesson

Ask for a non-mutating wording proposal:
Apply an update:

Manage folders

Pass the same explicit project selector to every command.