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 statusshows agents with recent wake times and action summaries -- context is being tracked automatically. -
Your knowledge base contains notes under
knowledge/People/,knowledge/Projects/, andknowledge/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/.