Keep Track of Context Without Effort

You have context scattered across email threads, calendar invites, chat messages, and last week's notes. Keeping track of it all depends on memory -- yours -- and memory drops things. Outpost is a personal operations center that runs AI agents on a schedule, syncing your email and calendar, building a knowledge graph of the people and projects you work with, and preparing briefings before meetings. You set it up once; it keeps working in the background.

By the end of this guide, Outpost will be running against your knowledge base, maintaining a continuously updated picture of your work context.

Prerequisites

Complete the Getting Started: Outpost for Engineers guide first. That guide covers installation, knowledge base initialization, and starting the scheduler. This guide assumes you have a working knowledge base and a running scheduler.

See what your agents are doing

Outpost ships with six agents, each responsible for a slice of your context. After the scheduler has been running for a cycle or two, check what is happening:

npx fit-outpost status

Expected output:

Outpost Scheduler
==================

Agents:
  + postman
    KB: ~/Documents/Personal  Schedule: {"type":"cron","expression":"*/15 8-18 * * 1-5"}
    Status: idle  Last wake: 5/4/2026, 9:15:00 AM  Wakes: 12
    Last action: Synced 3 new mail threads
  + concierge
    KB: ~/Documents/Personal  Schedule: {"type":"cron","expression":"*/30 8-18 * * 1-5"}
    Status: idle  Last wake: 5/4/2026, 9:00:00 AM  Wakes: 6
    Last action: Prepared briefing for 10:00 AM standup
  + librarian
    KB: ~/Documents/Personal  Schedule: {"type":"cron","expression":"0 9,12,15,18 * * 1-5"}
    Status: idle  Last wake: 5/4/2026, 9:00:00 AM  Wakes: 3
    Last action: Extracted 5 entities from recent mail
  + chief-of-staff
    KB: ~/Documents/Personal  Schedule: {"type":"cron","expression":"0 7,18 * * 1-5"}
    Status: idle  Last wake: 5/4/2026, 7:00:00 AM  Wakes: 2
    Last action: Compiled daily briefing
  + recruiter
    KB: ~/Documents/Personal  Schedule: {"type":"cron","expression":"0 8,12,17 * * 1-5"}
    Status: never-woken  Last wake: never  Wakes: 0
  + head-hunter
    KB: ~/Documents/Personal  Schedule: {"type":"cron","expression":"0 9 * * 1-5"}
    Status: never-woken  Last wake: never  Wakes: 0

Each agent has a + or - prefix (enabled or disabled), a knowledge base path, a schedule, and a running tally of wakes and last actions. The four agents that matter most for day-to-day context tracking are:

Agent What it maintains
postman Syncs email from Apple Mail and drafts responses
concierge Syncs calendar from Apple Calendar and prepares briefings
librarian Extracts people, projects, and topics into the knowledge graph
chief-of-staff Reads all agent state and compiles a daily overview

The recruiter and head-hunter agents handle engineering recruitment workflows. They are included in the default configuration but will not activate unless you have candidate data in your knowledge base.

Understand the knowledge graph

As agents sync email, calendar, and chat data, the librarian processes it into a knowledge graph -- plain markdown files organized by entity type:

~/Documents/Personal/
├── knowledge/
│   ├── People/           # One note per person you interact with
│   ├── Organizations/    # Companies, teams, departments
│   ├── Projects/         # Active projects and initiatives
│   ├── Topics/           # Technical topics and recurring themes
│   └── Briefings/        # Daily briefings compiled by chief-of-staff
├── CLAUDE.md             # Agent instructions for this KB
├── USER.md               # Your name, email, and domain
└── .claude/
    ├── agents/           # Agent definitions (one per agent)
    └── skills/           # Skill definitions agents use

Notes use Obsidian-compatible [[backlinks]], so the graph is browsable in Obsidian or any markdown editor. Each person note accumulates context from every email, meeting, and conversation where they appeared -- the kind of background you would otherwise reconstruct from memory before a meeting.

You can search the graph directly:

rg "Sarah Chen" ~/Documents/Personal/knowledge/
People/Sarah Chen.md:3:Engineering Manager at Acme Corp
People/Sarah Chen.md:8:Last seen: standup 2026-05-02
Projects/Auth Migration.md:12:Lead: [[Sarah Chen]]
Topics/Platform Reliability.md:5:Raised by [[Sarah Chen]] in Q1 review

This surfaces every note that mentions the person, across all entity types -- giving you the full picture rather than a single file.

Customize agent schedules

The default schedule runs agents during business hours on weekdays. You may want to adjust timing -- for example, if you work across time zones or want briefings earlier.

Agent schedules live in the Outpost configuration file at ~/.fit/outpost/scheduler.json. Each agent entry specifies a knowledge base path, a schedule, and whether the agent is enabled:

{
  "agents": {
    "postman": {
      "kb": "~/Documents/Personal",
      "schedule": { "type": "cron", "expression": "*/15 8-18 * * 1-5" },
      "enabled": true
    },
    "chief-of-staff": {
      "kb": "~/Documents/Personal",
      "schedule": { "type": "cron", "expression": "0 7,18 * * 1-5" },
      "enabled": true
    }
  }
}

The schedule object supports three types:

Type Format Example
cron Standard cron expression in { "type": "cron", "expression": "..." } */30 8-18 * * 1-5 (every 30 min, business hours)
interval Minutes between wakes in { "type": "interval", "minutes": N } { "type": "interval", "minutes": 10 }
once Single run at a specific time in { "type": "once", "runAt": "..." } { "type": "once", "runAt": "2026-05-05T09:00:00Z" }

To disable an agent without removing its configuration, set "enabled": false. After editing the file, restart the daemon:

npx fit-outpost stop
npx fit-outpost daemon
Scheduler stopped.
Scheduler started (6 agents, daemon mode).

Wake an agent on demand

You do not have to wait for the next scheduled cycle. To run an agent immediately:

npx fit-outpost wake postman
Waking postman...
  Synced 2 new mail threads
  Done (4.2s)

This is useful when you know new email has arrived and you want it synced before a meeting, or when you want a fresh briefing:

npx fit-outpost wake chief-of-staff
Waking chief-of-staff...
  Compiled daily briefing (12 items)
  Done (6.8s)

The chief-of-staff reads triage files from all other agents and compiles a briefing in knowledge/Briefings/. Each briefing summarizes what changed since the last one -- new emails, upcoming meetings, open threads, and action items.

Update agents and skills

Outpost ships updated agent definitions and skills with each release. To fetch the latest into your knowledge base:

npx fit-outpost update ~/Documents/Personal
Updating ~/Documents/Personal...
  CLAUDE.md              updated
  agents/postman.md      updated
  skills/sync-apple-mail unchanged
  settings.json          merged (2 new permissions)
  Done.

If you have multiple knowledge bases configured, omit the path to update all of them:

npx fit-outpost update

The update copies the latest CLAUDE.md, agent definitions, skill files, and settings into your knowledge base, merging new permissions into your existing settings.json without overwriting your customizations.

Validate your setup

After updating or making changes to agent configurations, confirm everything is wired correctly:

npx fit-outpost validate

Expected output when all agents are valid:

Validating agents...

  [OK]  postman: agent definition
  [OK]  concierge: agent definition
  [OK]  librarian: agent definition
  [OK]  chief-of-staff: agent definition
  [OK]  recruiter: agent definition
  [OK]  head-hunter: agent definition

All OK.

The validator checks that each configured agent has a matching agent definition file in .claude/agents/ (either in the knowledge base or in your global ~/.claude/agents/ directory). A [FAIL] result means the agent definition is missing -- run npx fit-outpost update to restore it.

Verify

You have reached the outcome of this guide when:

  • npx fit-outpost status shows agents with recent wake times and action summaries -- context is being tracked automatically.
  • Your knowledge base contains notes under knowledge/People/, knowledge/Projects/, and knowledge/Organizations/ -- the knowledge graph is being built from your email and calendar.
  • knowledge/Briefings/ contains at least one daily briefing -- the chief-of-staff is compiling context across all agents.
  • You can search the graph with rg "name" knowledge/ and find cross-referenced context about a person or project.

If any of these are missing, check npx fit-outpost status for errors and review the logs at ~/.fit/outpost/logs/.

What's next