Appearance
Tools
Subtext exposes ten tools. Seven read your graph and never change it. Three write to it, and are marked as such to the client so it can show or confirm them.
Every tool acts only on the signed-in person's own graph. With an access key, reads are limited to the key's scope and writes to its write setting; see Other clients.
| Tool | Title | What it does | Parameters | Access |
|---|---|---|---|---|
brief | Context brief | A short brief about you: who you are, what you're working on, who and what matters around it | none | Read-only |
search | Search context | Finds pages by meaning, for a fact you can describe but not name | query, limit (default 5) | Read-only |
scope | Scope | A quick size check on a focus area, a thing, or "you", before reading it deeply | target | Read-only |
compile | Compile context | Assembles a ready-to-use package about a focus area, a thing, or "you" | intent, target, depth (default shallow), shape (default narrative), freshness (optional) | Read-only |
get_page | Get page | Reads one page in full | slug | Read-only |
graph_snapshot | Graph snapshot | The whole visible graph as nodes and links, without page bodies | none | Read-only |
traverse | Traverse | Follows one kind of relationship from a known thing | from_slug, edge_type (default RELATES_TO), within (optional), limit (default 20) | Read-only |
edit_page_body | Submit page update | Submits new information to the ingestion pipeline, which merges it into your graph | slug or new_project, body | Write |
rename_page | Rename page | Changes a page's display title | slug, title | Write |
link_pages | Link pages | Records that two existing pages are related | from_slug, to_slug | Write |
A slug is a page's stable identifier, such as acme-rebrand. It stays the same when a page is renamed. Assistants get slugs from search results, the graph snapshot, or links inside a page, and are told never to guess one.
Every read tool that returns content also returns sources: the pages that content came from, each with its slug, title and type. That's what the assistant's one-line "Subtext supplied context about…" is built from.
Reading
brief
The starting point. Returns a few paragraphs about you, assembled from your graph, plus the pages it was written from. Assistants are asked to call it once, before their first substantive answer, and to use it as background rather than repeat it. It's cached and only regenerated when your graph changes, so calling it again mid-conversation gains nothing. With an access key, the brief covers only that key's scope. If the key is paused, brief returns a message saying so and how to resume, which the assistant relays.
search
Semantic search over your pages. The query works best phrased the way the content would be written ("Q3 roadmap priorities") rather than as a question. Returns the nearest matches with a 200-character preview each; the assistant then reads the full page if it needs to. An empty result can mean the fact isn't there, or that it's outside the connection's scope.
scope
A cheap size check that makes no model call. For a focus area it counts members and relationships; for a single thing it counts neighbours; it then says in plain language whether a deep compile is sensible. "you" returns an index of your focus areas. Assistants call this before a compile at depth deep on something unfamiliar.
compile
Assembles a package about one target instead of the assistant stitching several lookups together.
target: a focus area, a single thing, or"you".depth:shallow(the target's own page plus a list of what's under or connected to it),medium(adds each of those pages' content), ordeep(adds how they relate to each other, in plain language)."you"is always shallow.shape:narrative(prose),structured(typed fields for members, neighbours and relationships), orsummary(a title and one line each). Asking again in a different shape is cheap.intent: a short description of what the assistant is trying to do. It steers the emphasis of a deep narrative.freshnessis accepted but not yet applied.
Every item carries a kind: you, focus, person, organisation, project, tool or topic.
get_page and graph_snapshot
The two plain lookups. get_page returns one page's full content by slug, or nothing if the slug doesn't exist or is outside scope. graph_snapshot returns every visible page's title and type and every link between them, with no content, for orientation. The server instructions steer assistants towards compile for anything beyond a single flat lookup.
traverse
Follows one relationship from a known thing and returns the path itself. edge_type is RELATES_TO (what this is associated with) or IN_CONTEXT (which focus area this is filed under). within limits results to the members of one focus area. The starting point must be a specific thing, never "you". An empty result is a normal answer.
Writing
These three tools change your graph. Assistants are told to use them without asking first when you settle something durable, then say plainly what they recorded, and never to use them for passing chatter. Your control is the connection: pause it, narrow it, or make it read-only. In clients that ask you to confirm write actions, you'll also see a confirmation.
edit_page_body write
Despite its name, this does not overwrite a page. The text the assistant sends goes through the same ingestion pipeline as a document you upload: Subtext extracts what it says, works out which existing pages it's about, merges it into them, and creates new pages where needed. It may update other pages the text mentions.
That has three consequences:
- The assistant should send new information as prose ("Decided on 12 March to launch the Harbour pitch in April; Priya is leading"), not an edited copy of the existing page.
- It can't delete a fact by leaving it out.
sluganchors the update near a known page to help Subtext place it; it isn't a strict destination. The assistant reads the result and reports what actually happened.
Pass new_project instead of slug when you are deliberately naming a project you're starting or leading. It becomes a focus area straight away and the text is filed under it.
With an access key, this tool needs Read + write and Full context. It shares a per-minute allowance with your own uploads.
rename_page write
Changes a page's display title only: a misspelling, a company's new name, the name someone prefers. The slug and every link to the page stay the same. Returns the updated page.
link_pages write
Records that two pages that already exist are related (a RELATES_TO link). It doesn't create pages, and it isn't for filing something under a focus area; that's done by edit_page_body. Returns ok.
Limits
Every tool is rate-limited per person per minute. If an assistant goes too fast it gets "You're going a bit fast — try again in Ns" and should wait and retry once.