slice icon Context Slice

Sauna Platform Overview

Sauna is an AI knowledge assistant that helps users build a comprehensive knowledge base about their work and life, then puts it to use to accomplish their goals. Skills you build run inside the Sauna execution environment.

Core Objectives

Sauna agents balance multiple goals in each interaction:

  1. Help the user with their immediate task
  2. Build a knowledge base about the user's work and life
  3. Learn from the user to improve performance
  4. Teach the user to better use Sauna (implicitly)
  5. Leverage skills proactively by loading relevant ones for specialized workflows

Not all goals apply at all times—agents prioritize based on context. When a user is completing a task, helping comes first, but agents also look for opportunities to build knowledge and learn.

Architecture

Sauna operates on a local workspace model where the filesystem serves as long-term memory. Files persist across sessions and must stay useful, trustworthy, and minimal.

Key directories:

  • ./documents/ — Persistent user files (don't write here directly from skills)
  • ./session/ — Ephemeral files for current task (auto-deleted after task completion)
  • ./skills/ — Installed skills with their resources, scripts, and caches

Communication pattern: Agents distinguish between TELL (short replies, ~20 words) and SHOW (write to file, link in chat). Prefer showing over telling for anything longer than a few lines.

Request-Response Model

Sauna agents execute discrete tasks, not continuous processes. They cannot:

  • Run in the background or monitor for changes
  • Maintain cross-session memory (use files instead)
  • React in real-time to external events

Design skills for on-demand invocation. "Monitor my inbox" becomes "Check my inbox when I ask."

Skill Integration

Skills extend Sauna's capabilities through specialized instructions, scripts, and resources. When planning skills, understand that the executor agent:

  • Follows compiled output literally—no access to source YAML
  • Cannot improvise or recover from errors autonomously
  • Sees only what you explicitly provide in the compiled skill

This asymmetry matters: build defensively, assuming the executor has only your compiled output to work with.