SlateDocs
Reference

Tool rules

Rules for every call in the Tool Reference. Read them when a call is refused or reaches the wrong workspace.

Which workspace a call reaches#

One session, one workspace. The first call with a cwd ties the session to that folder's workspace; later calls without cwd run there. If that folder is later added to a project in another workspace, or taken out of one, the session follows it to the folder's new workspace. A cwd that names a different folder in another workspace is refused with wrong_workspace and the session's workspace name: start a session in that workspace's folder instead. A folder matches its project however it is spelled: through a symlink, with .., or by its real path. Before the first cwd, a call without one gets Personal. Only live_sessions crosses workspaces on this machine; recall with scope: "workspaces" and get_doc on a shared doc read the cloud, where Row Level Security decides. An agent run's agent reaches its task by the task's token, or from inside the task's folder, wherever the task lives. No tool is marked as reaching outside Slate.

Secrets#

Slate replaces recognised keys, tokens and passwords with [secret] in what an agent writes through remember, create_doc, append_to_doc, log_mission_progress, update_my_task and the summary of report_agent_run_step. It does not do this for publish_artifact and publish_widget (they carry code) or the body of report_agent_run_step.

What an agent cannot do over MCP#

A tool can save a typed doc and append to a doc. It cannot create a plain doc, rename, move, duplicate, trash or find-and-replace, because those are undoable gestures in Slate and MCP has no undo. An agent's MCP writes can be undone when the inverse is exact: a new doc goes to Trash, a new memory is retired.

Resolving a target#

get_doc and append_to_doc take a target instead of an id:

FieldMeaning
kindbranch for the branch overview, knowledge_doc for a typed child under it.
cwdYour working directory. It anchors to the project, and to its active branch when branch is omitted.
branchThe branch to scope to.
doc_typeThe knowledge doc's type, such as plan, design, bug-report.
titleThe doc title, when doc_type is not enough.

Slate writes only when the target resolves to exactly one doc. An ambiguous target is refused.

Two tool surfaces#

Operations are exposed over MCP (your agents) and in-process (Home's commands). The lists differ on purpose: slate_capabilities means nothing in-process, and Home keeps a few finer tools (recent_activity, search_content, …). packages/shared/src/tools/operations.ts declares each concept once with its surfaces.

Last updated