Why Scout exists
Every company has critical know-how scattered across Slack threads, support tickets, shared drives, and people’s heads. The default playbook for a “company brain” is to ingest everything into a vector database, embed, and retrieve top-k chunks. The index is always stale, the chunks land at the wrong boundaries, and citations point at fragments that were true last Tuesday. Coding agents figured out a better pattern. Don’t search, navigate.ls a directory, grep for a function, open the file, follow the import. Scout applies the same pattern to your information sources.
Navigation over search
Every source has the equivalent ofls, grep, and cat. Slack has search and conversations.replies. Drive has folder listings and file fetches. Postgres has SQL. Scout walks these primitives at query time instead of pre-indexing.
The trade is more LLM calls per query. The wins:
Context providers
Each source is aContextProvider that exposes two natural-language tools to Scout:
query_<source>for readsupdate_<source>for writes (when supported)
query_slack. Behind it, a sub-agent knows to look up the user before DMing, paginate by cursor, and prefer conversations.replies for threads. Scout’s context never sees any of that.
This solves three problems that hit any agent with a diverse tool surface:
Skills don’t solve this. Skills move task knowledge out of the always-on prompt, but when the skill loads, the source’s tools and intermediate results still land on the main agent’s context. Two skills with search capabilities will degrade the agent fast.
Providers that ship with Scout
Five always on. Three opt in via env vars or config.The closed loop
Some context doesn’t have a natural source home. “Josh from Anthropic shared a new RLM paper” belongs in a CRM and a wiki, not in a Slack search. Scout’s CRM and wiki fill that gap. As Scout works:- “Josh from Anthropic shared a paper” → Josh becomes a contact, the paper becomes a wiki page linked from his note.
- “The v3 schema migration decision is pending” → a follow-up in
scout_followupswithstatus='pending'. - “Track my coffee orders” → the CRM write sub-agent creates
scout.scout_coffee_orderswith the right columns. Schema on demand.
scout_followups and the loop tightens. Pending items surface every morning.