| name | episode-start |
| description | Start a new learning episode in the self-learning memory system with proper context. Use this skill when beginning a new task that should be tracked for learning from execution patterns. |
Episode Start
Start a new learning episode in the self-learning memory system.
Purpose
Create a new episode record with proper context for the memory backend to learn from execution patterns.
Steps
Understand the task: Parse the task description and identify:
- Task type (implementation, debugging, refactoring, testing)
- Domain (storage, patterns, retrieval, testing, etc.)
- Language context (Rust/Tokio/async patterns)
Prepare TaskContext: Ensure you have:
language: "rust"domain: One of [storage, patterns, retrieval, embedding, testing, ci]tags: Array of relevant tags (e.g., ["turso", "async", "tokio"])
Create episode: Call
SelfLearningMemory::start_episode(task_description, context)- Task description should be clear and concise (1-2 sentences)
- Include relevant context from the user's request
Store episode_id: Keep the episode ID for logging subsequent steps
Initialize step logging: Prepare to log execution steps with:
- Tool used
- Action taken
- Latency/tokens (if applicable)
- Success status
- Observations
Storage Requirements
- Persist to Turso (durable storage)
- Cache in redb (fast access)
- Store context as JSON blob
Example
let context = TaskContext {
language: "rust".to_string(),
domain: "storage".to_string(),
tags: vec!["turso".to_string(), "async".to_string()],
};
let episode_id = memory
.start_episode(
"Implement async batch pattern updates",
context
)
.await?;
Notes
- Always validate that both Turso and redb connections are healthy
- Use anyhow::Result for error handling
- Log any initialization failures with context