For the complete documentation index, see llms.txt. Every page is also served as Markdown at its URL followed by .md.

standards
Core routinesAgents

Core routines

Importer and Optimizer, two built-in routines that read your work and propose what would help, and change nothing until you say yes.


Importer and Optimizer are two built-in routines. They appear under Routines with the routines you write, and you open their runs like any other. They do not change anything on their own: each one reads what a person's work holds, then asks that person before anything is added.

What each routine proposes

Importer proposes the companies, contacts, deals and meetings that your mail and calendar hold and the workspace lacks. It keeps people you exchanged with in both directions, or met with outside guests, on at least two occasions. It leaves out your colleagues, newsletters, automated senders and private life. A deal needs a thread that says so: a quote, a proposal or a negotiation. It asks once per object and names every item, with the date of its thread.

Optimizer proposes routines and agents for the work you repeat by hand. It starts from memory, then reads what you edit most in the activity log, then the mail and meetings around those habits. It keeps what it saw on at least three separate occasions over the last 90 days, and proposes at most three things at a time. It never proposes a schema change.

When nothing repeats yet, Optimizer offers a ready routine that your connections allow:

RoutineNeedsWhat it does
Morning meetingsCalendarTells you what today's meetings need from you.
Morning mailMailTells you which mail needs you, and why.
Code digestGitHubSums up what changed in your repositories.
Morning draftsMail with sendingPrepares replies, each one sent only on your yes.

It first asks you a few questions, such as what time and which mail counts, and builds the routine from your answers.

How a yes works

Each proposal reaches you in Decisions, in your language, with what was seen, how often, and what a yes will do.

  • A routine or an agent from Optimizer. The card shows the whole setup before anything exists. A yes creates it with your rights and in your name. A routine is private to you, and your yes switches it on. A refusal leaves nothing behind.
  • Records from Importer. A yes adds the items with your rights: the run can do only what you can do.

A routine you get this way needs no agents:manage, because it acts for you alone with your own connections. The default member role can accept one: see roles and permissions. Three limits apply:

  • A member's routines run on a schedule. Record and form triggers need agents:manage.
  • GitHub and Slack are workspace connections, so a proposal that uses them needs agents:manage.
  • You can stop and restart the routine you accepted with its switch, archive it, and delete its triggers. Editing it needs agents:update.

A proposal or a question stays answerable for 14 days. An idea you refused comes back only with new evidence, named on the card.

The yes rule lives in the routines' instructions, not in a runtime gate. Creating a routine always waits for your card, and deletes and outward sends always ask. A record write waits because Importer is told to wait.

Who a pass runs for

Each routine runs once for each member of the workspace who has a mailbox or calendar connected, on its schedule: Importer daily and Optimizer on Mondays, at 03:00 UTC. A member with nothing connected, or only a connection shared by the whole workspace, is skipped: there is nothing for a pass to read. A pass reads only what that person can read, through their own mail and calendar, and asks only them.

Run on a core routine starts a pass for whoever pressed it: it reads what they can read and asks them.

A pass with nothing to offer sends nothing. Its recap, what it read, kept and dropped, stays in the run. Once the pass has finished, the person it ran for can reply in its conversation to ask about it; the routine answers with the same tools and rights.

A person's run is theirs. Three kinds of reader can open it:

  • the person it ran for;
  • a holder of supervision, read-only, written to the audit as agent_session.supervised_read;
  • someone the person shared the conversation with.

Other members see that the run happened, not what it read.

Turning them on

Open Routines and use the routine's switch. Switching one on needs the supervision permission, because it then reads on behalf of every member. Switching one off needs agents:manage, as the switch of any workspace routine does. A pass already running finishes, and its open Decisions stay answerable.

  • In a workspace that existed before core routines, Importer and Optimizer are off.
  • In a new workspace, Optimizer is on, in the name of the person who created it. Importer is off.
  • When a routine is on, a person's first connection, such as a mailbox, starts their first pass of it at once, Importer and Optimizer each on their own. This happens once per person and routine. A connection shared by the whole workspace starts no pass.

Each pass has a cost ceiling, and runs only while the workspace has credits, as any routine does.

Next steps

Read agents and routines for how routines run, and roles and permissions for agents:create, agents:manage and supervision.