DevHub · Reference
DevHub tools for AI agents
These are the tools DevHub offers to a connected AI client. Names, descriptions and parameters are shown as DevHub reports them, in English. Tools are grouped by the prefix of their name. Copy the address of the endpoint from the Dashboard.
agent
agent_create
Configure an agent from a persona. Call agent_list first for the visible personas, clients, repositories and brains. Created switched off until the owner turns it on.
| Parameter | Type | Description |
|---|---|---|
name | string | null | Personal name; null clears it. |
label * | string | |
personaId * | string | The role. It stays live: what it names is not copied in. |
connectorId * | string | Which client runs it. |
model | string | |
effort | string | |
sandbox | string | Default read-only. read-onlyworkspace-write |
addSkills | array | |
removeSkills | array | |
addRules | array | |
addCommands | array | |
timeLimitSeconds | integer | 10-3600 |
brain | object | |
devhubTools | boolean | |
skillScripts | boolean | |
delivery | string | autoinline |
variants | array | null | |
workspaceId * | string |
agent_list
The agents configured for this repository (what each does, which client runs it, whether it can run at all), then what agent_create can be given: clients with their models and reasoning levels, personas, repositories. Call before doing work another agent is set up for, and before creating one.
| Parameter | Type | Description |
|---|---|---|
workspaceId | string | Narrow to one repository. Omit for everything this endpoint can see. |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |
agent_run
Use for tasks assigned to an agent from agent_list. Returns an answer or RUNNING <runId> after 45 seconds. RUNNING is not failure: call agent_run_status with wait; do not retry.
| Parameter | Type | Description |
|---|---|---|
agentId * | string | From agent_list. |
task * | string | What it should do, in its own terms. Not a prompt: the role and the rules are already assembled. |
model | string | Allowed variant; omit for default. |
effort | string | |
allowAgents | boolean | Allow this run to start agents. |
agent_run_status
Use after RUNNING; wait here, not by rerunning. RUNNING is not failure; answers last an hour.
| Parameter | Type | Description |
|---|---|---|
runId * | string | |
wait | number | Wait seconds; default 0. |
agent_update
Use to change an agent's configuration or personal name. Names and labels are cosmetic; widening capabilities switches it off for owner review. Cannot switch it on.
| Parameter | Type | Description |
|---|---|---|
agentId * | string | From agent_list. |
name | string | null | Personal name; null clears it. |
label | string | |
model | string | One the client offers; agent_list carries the catalogue. |
effort | string | |
sandbox | string | read-onlyworkspace-write |
addSkills | array | |
removeSkills | array | |
timeLimitSeconds | integer | 10-3600 |
brain | object | |
devhubTools | boolean | |
skillScripts | boolean | |
delivery | string | autoinline |
variants | array | null |
asset
asset_read
Read a binary file as Base64; images come back as viewable content. Use file_read for text.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
workspaceId * | string |
asset_write
Write a binary file from Base64 — images, audio, PDFs, archives, up to 20 MB. Use file_write for text.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
base64 * | string | |
mimeType | string | |
overwrite | boolean | |
workspaceId * | string |
audit
audit_analyze
Repeated errors and slow tools with recommendations. Use when something fails intermittently and you need the pattern rather than one event.
| Parameter | Type | Description |
|---|---|---|
sinceHours | integer | |
tool | string |
audit_list
Inspect individual MCP calls. Use when a specific tool call failed and you need its arguments, error and timing.
| Parameter | Type | Description |
|---|---|---|
limit | integer | |
result | string | allsuccesserror |
tool | string | |
category | string | |
since | string | |
until | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |
audit_summary
Success rate and duration totals over a window. Use to answer "is anything broken right now" before digging into individual events.
| Parameter | Type | Description |
|---|---|---|
sinceHours | integer | |
tool | string |
context
context_get
The same read as context_pull, without emptying the queue: the queued vault notes, code symbols and overviews merged into one payload with its manifest. Use it when the queue is shared and whoever queued it still needs it there; use context_pull when you are the one consuming it.
| Parameter | Type | Description |
|---|---|---|
peek | boolean | Return the manifest only, without the bodies. |
ids | array | Read only these manifest ids. Omit to read everything. Use peek first to see the ids. |
tokenBudget | integer | Max output tokens; overflow is cut on a block boundary and announced. |
context_pull
Take the context the user queued for you in Context AI: vault notes, code symbols and repository overviews, merged into one payload with a manifest saying where every part came from. Reading it empties the queue. Call it at the start of a task, before searching on your own.
| Parameter | Type | Description |
|---|---|---|
peek | boolean | Return the manifest only and leave the queue untouched. |
ids | array | Take only these manifest ids and leave the rest queued. Omit to take everything. Use peek first to see the ids. |
tokenBudget | integer | Max output tokens; overflow is cut on a block boundary and announced. |
directory
directory_create
Create a repository directory. Rarely needed on its own — file_create makes missing parents.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
workspaceId * | string |
display
display_list
List monitors with their IDs. Call before display_screenshot to pick one.
| Parameter | Type | Description |
|---|---|---|
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |
display_screenshot
Capture a monitor as PNG. Use when you need to see what the user sees — a running app, a rendered view, a visual bug.
| Parameter | Type | Description |
|---|---|---|
displayId * | string | |
path | string | |
save | boolean | |
ttlSeconds | integer | |
workspaceId | string |
file
file_create
Create a new repository file and any missing parents, failing if it already exists. Use file_write instead when replacing an existing file is intended.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
content | string | |
workspaceId * | string |
file_delete
Delete a repository file or directory. Irreversible; confirm with the user first unless they asked for it.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
recursive | boolean | |
workspaceId * | string |
file_edit
Apply several line-range edits to one repository file in one call, all or none. Take the line numbers and expectedHash from file_read; ranges refer to the file as you read it. Prefer this over file_replace when you know where the change goes.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
expectedHash * | string | The hash from the read header. Refused if the file changed since. |
edits * | array | |
workspaceId * | string |
file_read
Read one repository file, whole or a line range. Pass offset and limit when a repo_* result already told you which lines to look at.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
offset | integer | First line to return, 1-based. Omit for the whole file. |
limit | integer | How many lines to return from offset. Omit to read to the end. |
tokenBudget | integer | Max output tokens; overflow is cut on a line boundary and announced. No default — a read is never shortened unless you ask. |
lineNumbers | boolean | Default true: every line is prefixed with its number and a tab, which is where the ranges for file_edit come from. Pass false for the raw bytes, e.g. to build an oldText for file_replace. |
workspaceId * | string |
file_replace
Change known exact text in a repository file, one pair or several in one call. Use when you know the text but not the line, e.g. after files_search; for changes at known lines use file_edit.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
oldText | string | |
newText | string | |
replaceAll | boolean | |
expectedOccurrences | integer | |
replacements | array | Several pairs in one call. Each oldText must be found in the file as you read it. |
expectedHash | string | Optional. From the read header; refused if the file changed since. |
workspaceId * | string |
file_write
Create or fully overwrite a repository file. Prefer file_replace for edits — overwriting discards anything you did not include.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
content * | string | |
workspaceId * | string |
files
files_list
Browse a repository directory. Use to discover paths; use repo_symbol_search when you are looking for a definition.
| Parameter | Type | Description |
|---|---|---|
path | string | |
workspaceId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |
files_search
Grep a repository for arbitrary text. Use for strings, config values and comments; use repo_symbol_search for definitions, which is far cheaper.
| Parameter | Type | Description |
|---|---|---|
query * | string | |
maxResults | integer | |
workspaceId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |
investigation
investigation_add
Write a document into an investigation: what is there (analysis), a way in (variant), what to do (plan), or what was settled (finding). Call when you have finished a piece of the looking, before moving to the next — two ways of doing the same thing are two documents, not one rewritten.
| Parameter | Type | Description |
|---|---|---|
id * | string | |
title * | string | |
type | string | analysisvariantplanfinding |
body * | string | |
status | string | draftactiveverifiedsupersededarchived |
links | array | Vault notes this drew on or concluded into, as vartari://vault/<vaultId>/<path>. |
investigation_close
Mark an investigation finished. Call it when a plan came out of the spike and that plan has landed: it leaves investigation_list and stays readable by id. Removal is a different decision, made later.
| Parameter | Type | Description |
|---|---|---|
id * | string | |
reopen | boolean | Put a closed one back among the open ones. |
investigation_create
Open a container for a spike: what is being looked into, and the ticket it is being done for when there is one. Documents go in it with investigation_add.
| Parameter | Type | Description |
|---|---|---|
title * | string | |
key | string | A ticket key such as VAR-123. It names the container. |
subject | string | One sentence on what is being found out. |
repositories | array | Workspace ids this spike is about. Optional. |
investigation_list
Spike analyses this DevHub holds: what was looked into, and what came out of it. Call before starting an investigation — the ground may already have been covered, and a variant somebody rejected is worth knowing about. Closed ones are left out: they are finished work, still readable by id.
| Parameter | Type | Description |
|---|---|---|
q | string | Substring of the title, subject or ticket key. |
includeClosed | boolean | Also list the ones closed after their plan landed. |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |
investigation_read
One investigation in full, or one document in it. Use after investigation_list shows one that covers what you are about to look into.
| Parameter | Type | Description |
|---|---|---|
id * | string | The ticket key, or the id investigation_list gave. |
documentId | string | Omit for the whole container: every document, assembled. |
knowledge
knowledge_get
Fetch one Business Context chunk in full, including the fields knowledge_search omits. Use after a search when you need the complete source; pass the same workspaceId or vaultId you searched with, or neither if the search named neither.
| Parameter | Type | Description |
|---|---|---|
id * | string | |
workspaceId | string | |
vaultId | string |
knowledge_index_refresh
Rebuild the Business Context index. Use after editing vault notes when knowledge_search is not returning them yet.
| Parameter | Type | Description |
|---|---|---|
vaultIds | array |
knowledge_index_status
Check whether Business Context is indexed and current before trusting a knowledge_search result.
knowledge_search
Ask the vaults a question: decisions, canon, guidelines — "why" and "what is the rule". Built from the knowledge folders only, so a miss is not absence: `vault_overview` says which folders, `vault_files_search` reads all of them. For code use repo_symbol_search. Omit both ids to search this endpoint's scope.
| Parameter | Type | Description |
|---|---|---|
query * | string | |
knowledgeType | string | |
limit | integer | |
workspaceId | string | |
vaultId | string |
learning
learning_note
Call when something went wrong and the reason it went wrong is worth stating for the next session. One note per lesson, not a summary of the session. Not for how the work is done here: that is memory_note.
| Parameter | Type | Description |
|---|---|---|
kind * | string | correctionerror-resolutionpreferenceworkflow |
lesson * | string | What to do differently next time, as an instruction. |
trigger | string | When it applies. |
evidence | string | What happened. No file contents. |
library
library_create
Writes into the user's own collection. Call library_list first. Needs id, title, groups. Skill: when + router (+reference). Rule: rule (+paths). Command: when + command. Persona: when + agent (+skills, rules, commands). Profile: when + skills/rules/commands (+profile). Instruction: when + instruction.
| Parameter | Type | Description |
|---|---|---|
kind * | string | skillrulecommandpersonaprofileinstruction |
id * | string | |
title * | string | |
when | string | |
groups | array | |
description | string | |
router | string | |
reference | string | |
rule | string | |
paths | array | |
command | string | |
agent | string | |
skills | array | |
rules | array | |
commands | array | |
profile | string | |
instruction | string |
library_edit
Change one the user owns, fields as library_create. Use that one for a new one; what ships with DevHub or comes from a repository is edited where it lives.
| Parameter | Type | Description |
|---|---|---|
kind * | string | skillrulecommandpersonaprofileinstruction |
id * | string | |
title | string | |
when | string | |
groups | array | |
description | string | |
router | string | |
reference | string | |
rule | string | |
paths | array | |
command | string | |
agent | string | |
skills | array | |
rules | array | |
commands | array | |
profile | string | |
instruction | string |
library_get
One of them in full, read into this session only — nothing is installed and nothing is written. Use when library_list shows one that covers what you are doing, or to find out what a rule you are working under actually says.
| Parameter | Type | Description |
|---|---|---|
kind * | string | skillrulecommandpersonaprofileinstruction |
id * | string |
library_list
What Vartari DevHub holds of one kind that this folder does not carry: skills, rules, commands, personas, profiles or instructions, one line each with the field you decide on. Call before writing one — most of what you would write exists. Omit category to see the groups.
| Parameter | Type | Description |
|---|---|---|
kind * | string | skillrulecommandpersonaprofileinstruction |
category | string | |
q | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |
memory
memory_note
Call when you learn something standing about this work — who you are working with, how they want it done, what is being built, or where something lives. Kept until somebody removes it. Not for what went wrong: that is learning_note.
| Parameter | Type | Description |
|---|---|---|
type * | string | user: who you are working with. feedback: how they want the work done. project: what is being built and under what constraints. reference: where something outside this repository lives. userfeedbackprojectreference |
statement * | string | The fact itself, as one sentence. |
when | string | When it holds. Leave empty when it always does. |
ref | string | Where it was said. No file contents. |
npm
npm_script_list
See which package scripts a workspace declares. Call before npm_script_run; only declared scripts can be run.
| Parameter | Type | Description |
|---|---|---|
workspaceId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |
npm_script_run
Run one declared package script. Use to verify a change with the project's own tests, checks or build before reporting it done. Arbitrary shell commands are not available, by design.
| Parameter | Type | Description |
|---|---|---|
script * | string | |
timeoutMs | integer | |
ci | boolean | |
workspaceId * | string |
pet
pet_persona
The whole persona: role, tagline, style prompt, voice values, traits, the pet's own mood lines, and whether the persona applies to agent replies or only to the pet. Call once per session and refresh only when the user says the pet or persona mode changed.
pet_say
Show the user what you are doing. Use mood working when starting tool-based work, happy on success, idle when finished. Use error only for a real blocking failure. Returns only the resulting pet status; call pet_persona for the persona to speak in.
| Parameter | Type | Description |
|---|---|---|
message * | string | |
mood | string | idleworkinghappyerrorspeaking |
durationMs | integer | Duration for temporary speaking, happy or error messages. Ignored for persistent working and idle states. |
pet_status
Which state the desktop pet is in right now — idle, working, happy, error or speaking — and its current message. Use to check what the user is seeing; call pet_persona for who the pet is.
plan
plan_claim
Take one step, exclusively. Answers with the step, a working tree to do it in, and its resume — so nothing else has to be asked. Refused when somebody holds it, a gate is open, or a step in progress is touching the same files, and the refusal says which.
| Parameter | Type | Description |
|---|---|---|
planId * | string | |
stepId * | string | |
by | string | Who is taking it. Taken from an agent endpoint automatically. |
ttlMinutes | integer |
plan_close
Call when a step is finished: it merges the working tree back and records what landed. Commit with a step trailer first — a step closed with nothing behind it is reported as a claim nobody can check. Closing as withdrawn merges nothing.
| Parameter | Type | Description |
|---|---|---|
planId * | string | |
stepId * | string | |
by | string | |
commits | array | The commit shas this step produced. |
as | string | How it ends; default done. withdrawn is for a step that will not happen: nothing is merged, the step branch is left in place so the abandoned work can still be found, and a working tree with uncommitted changes is left alone rather than removed. doneverifiedwithdrawn |
plan_create
Open a plan: the ticket the work is tracked under, or a title when there is none. Call it when an investigation has settled on what to do and the doing needs steps — then break it down with step_add. Refused when the id is taken.
| Parameter | Type | Description |
|---|---|---|
title * | string | |
id | string | Lowercase slug. Derived from the title when omitted. |
key | string | A ticket key such as VAR-123, when the plan is one. |
repositories | array | Workspace ids the plan touches; plan_claim opens its working tree in the first. |
investigationId | string | The investigation this plan came out of. Recorded on the plan so the reasoning stays one hop away. |
summary | string | One sentence: what the plan does. |
plan_ready
What a plan has for you to take right now, and why the rest is not available. Call this first in a session working from a plan — omit planId to see every plan at once. Never assume a step is free because it looks next.
| Parameter | Type | Description |
|---|---|---|
planId | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |
plan_renew
Say you are still working. Call it during a long step — a claim nobody renews lapses, and the step is handed to somebody else while you are mid-edit.
| Parameter | Type | Description |
|---|---|---|
planId * | string | |
stepId * | string | |
by | string | |
ttlMinutes | integer |
plan_status
What the plan says was done against what the repository shows. Use before trusting a plan you did not watch being executed, and after a session that ended badly.
| Parameter | Type | Description |
|---|---|---|
planId * | string |
rag
rag_context
Assemble canonical and working knowledge for one question, separated by authority, with open questions flagged by reference to the entry that holds them. Use instead of knowledge_search when you need grounded context to reason from rather than a result list. Omit both ids to use this endpoint's scope.
| Parameter | Type | Description |
|---|---|---|
query * | string | |
knowledgeType | string | |
limit | integer | |
workspaceId | string | |
vaultId | string |
repo
repo_callers
Who calls this symbol, with the call site. Use before changing a signature.
| Parameter | Type | Description |
|---|---|---|
symbolId * | string | |
limit | integer | |
workspaceId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens in compact format; overflow is cut and announced. |
repo_changed
How much of the repository the last index rebuild actually re-read: files whose extraction changed, files reused from cache, and when it ran. Use after repo_index_refresh to see whether a change reached the index; use repo_index_status to learn whether a rebuild is needed at all.
| Parameter | Type | Description |
|---|---|---|
workspaceId * | string |
repo_file
One file as the index sees it: the symbols it declares in order, the files and packages it imports, and the files that import it. Use when you are about to read or change a file and want its place in the graph first; use repo_symbol_get for one symbol.
| Parameter | Type | Description |
|---|---|---|
path * | string | Repository-relative path, as repo_symbol_search reports it. |
workspaceId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens in compact format; overflow is cut and announced. |
repo_impact
What breaks if this symbol changes, walked outward to a depth you choose. Use to size a change before making it.
| Parameter | Type | Description |
|---|---|---|
symbolId * | string | |
depth | integer | |
limit | integer | |
workspaceId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens in compact format; overflow is cut and announced. |
repo_index_refresh
Rebuild the repository index. Use when repo_index_status reports stale, or after changing files you then need to query.
| Parameter | Type | Description |
|---|---|---|
workspaceId * | string |
repo_index_status
Check whether a repository index exists and is current. Call before relying on any other repo_* tool.
| Parameter | Type | Description |
|---|---|---|
workspaceId * | string |
repo_name_subsystems
Name the subsystems repo_unnamed_subsystems handed you: `names` maps each fingerprint to two to five plain words for what the group is about, never a symbol name you were shown and never the same name twice. Use once you have read enough to say. A refused name comes back with its reason, not as an error.
| Parameter | Type | Description |
|---|---|---|
names * | object | Fingerprint to name, as repo_unnamed_subsystems reported the fingerprints. |
workspaceId * | string |
repo_neighbors
Everything directly connected to a symbol, in either direction. Use to explore outward. For "who calls this" specifically, repo_callers is narrower and cheaper.
| Parameter | Type | Description |
|---|---|---|
symbolId * | string | |
direction | string | incomingoutgoingboth |
kind | string | |
limit | integer | |
workspaceId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens in compact format; overflow is cut and announced. |
repo_overview
Map a repository's subsystems and its most connected symbols. Call this first when you need to understand how a codebase is organised, before searching for individual symbols.
| Parameter | Type | Description |
|---|---|---|
limit | integer | Maximum communities to return, largest first. Default 12; pass a higher number to see the smaller ones. |
workspaceId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens in compact format; overflow is cut and announced. |
repo_references
Every reference to a symbol, including ones the indexer could not resolve to an exact target. Use when repo_callers looks suspiciously short.
| Parameter | Type | Description |
|---|---|---|
symbolId * | string | |
limit | integer | |
workspaceId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens in compact format; overflow is cut and announced. |
repo_routes
Every HTTP route (Express, NestJS, FastAPI, Flask, Spring, ASP.NET) and Electron IPC channel the index found, with handler, file and line. Use to find what handles an endpoint or channel; use repo_symbol_search when you know the handler's name.
| Parameter | Type | Description |
|---|---|---|
query | string | Keep rows whose path, channel, method, handler or file contains this. |
workspaceId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens in compact format; overflow is cut and announced. |
repo_symbol_get
Full detail for one symbol, with how many relationships point at it. Use after repo_symbol_search to confirm you have the right symbol before exploring it.
| Parameter | Type | Description |
|---|---|---|
symbolId * | string | |
workspaceId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens in compact format; overflow is cut and announced. |
repo_symbol_search
Find a symbol by name, signature, kind or path. Use instead of files_search when you are looking for a definition rather than arbitrary text. Test and fixture symbols are excluded unless includeTests is set.
| Parameter | Type | Description |
|---|---|---|
query * | string | |
kind | string | |
path | string | |
includeTests | boolean | Include test and fixture symbols. Default false. |
limit | integer | |
workspaceId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens in compact format; overflow is cut and announced. |
repo_unnamed_subsystems
The subsystems nobody has named yet, with a sample of each one's symbols. Unnamed, a group is called after its most connected symbol — in a large one a helper like `escapeHtml`, not the subject. Use after repo_index_refresh, or when repo_overview reads like a list of function names; answer with repo_name_subsystems.
| Parameter | Type | Description |
|---|---|---|
limit | integer | How many to return, largest first. Default 12 — one batch, and the answer says how many are waiting in all. |
workspaceId * | string |
step
step_add
Call when breaking a plan down, or when the work turns out to need one more piece. Adds a step: what it waits on, which files it touches, and the assignment in the words it was given. Size it to land as one commit — a step too big to commit is a step nothing can confirm.
| Parameter | Type | Description |
|---|---|---|
planId * | string | |
id * | string | |
title * | string | |
intent | string | |
gates | array | Step ids that must be done first. |
scope | array | Paths or folders this touches. Two steps that overlap never run at once. |
assignment | string | What was asked, verbatim. Never rewritten afterwards. |
goal | string | |
vaultId | string |
step_log
Record what you did on a step before stopping. Call at the end of every stint, including one that failed — a stint missing from the history is indistinguishable from one that never happened.
| Parameter | Type | Description |
|---|---|---|
planId * | string | |
stepId * | string | |
outcome * | string | |
next | string | |
vaultId | string |
step_resume
One step in full: what was asked, where it stands, what is next, and what the last session actually touched. Call after taking one — a claim answers with this already, so this is for picking work back up.
| Parameter | Type | Description |
|---|---|---|
planId * | string | |
stepId * | string | |
vaultId | string |
step_update
Move a step on: its status, where it stands and what is next. Use at the end of a session that changed any of them, so the next one reads the state instead of inferring it.
| Parameter | Type | Description |
|---|---|---|
planId * | string | |
stepId * | string | |
status | string | done, verified and withdrawn all settle a step: they open its gates and count towards the plan. Use withdrawn for one that will not happen, rather than marking it done. blocked is stuck, not finished. readyclaimedblockeddoneverifiedwithdrawn |
currentStatus | string | |
nextSteps | string | |
vaultId | string |
temp
temp_asset_read
Re-read a screenshot or other temporary asset by its resource URI, before it expires.
| Parameter | Type | Description |
|---|---|---|
resourceUri * | string |
vault
vault_directory_create
Create a vault directory. Rarely needed on its own — vault_file_create makes missing parents.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
vaultId * | string |
vault_file_create
Create a new vault note, failing if it already exists. Use vault_file_write instead when replacing an existing note is intended.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
content | string | |
vaultId * | string |
vault_file_edit
Apply several line-range edits to one vault note in one call, all or none. Take the line numbers and expectedHash from vault_file_read; ranges refer to the note as you read it. Prefer this over vault_file_replace when you know where the change goes.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
expectedHash * | string | The hash from the read header. Refused if the note changed since. |
edits * | array | |
vaultId * | string |
vault_file_properties
Set or remove frontmatter keys on a vault note without sending the body. Use for status, tags and updated; use vault_file_edit for the text itself.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
set | object | Keys to set. A list value is written as a block sequence. |
unset | array | Keys to remove. |
expectedHash | string | Optional. From the read header; refused if the note changed since. |
vaultId * | string |
vault_file_read
Read one vault note, whole or a line range. Use when you already know the path; use knowledge_search when you do not.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
offset | integer | First line to return, 1-based. Omit for the whole file. |
limit | integer | How many lines to return from offset. Omit to read to the end. |
tokenBudget | integer | Max output tokens; overflow is cut on a line boundary and announced. No default — a read is never shortened unless you ask. |
lineNumbers | boolean | Default true: every line is prefixed with its number and a tab, which is where the ranges for file_edit come from. Pass false for the raw bytes, e.g. to build an oldText for file_replace. |
vaultId * | string |
vault_file_replace
Change known exact text in a vault note, one pair or several in one call. Use when you know the text but not the line, e.g. after knowledge_search; for changes at known lines use vault_file_edit.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
oldText | string | |
newText | string | |
replaceAll | boolean | |
expectedOccurrences | integer | |
replacements | array | Several pairs in one call. Each oldText must be found in the file as you read it. |
expectedHash | string | Optional. From the read header; refused if the file changed since. |
vaultId * | string |
vault_file_write
Create or fully overwrite a vault note. Prefer vault_file_replace for edits — overwriting discards anything you did not include.
| Parameter | Type | Description |
|---|---|---|
path * | string | |
content * | string | |
vaultId * | string |
vault_files_list
Browse one vault directory. Use when you want the shape of a folder; use vault_files_search to find a note anywhere in the vault, and knowledge_search to ask the vault a question.
| Parameter | Type | Description |
|---|---|---|
path | string | |
vaultId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |
vault_files_search
Find a note anywhere in one vault by words in it. Reads every folder, which knowledge_search does not, and answers with the path, the line in the file and the text around it. Its index holds a vault's first 5,000 notes. Use it to locate a note; use knowledge_search to ask what the rule is.
| Parameter | Type | Description |
|---|---|---|
query * | string | Words that appear inside a note. Matching is lexical, so name the terms rather than paraphrasing them. |
type | string | Only notes whose frontmatter `type` is this, e.g. `decision`. |
tags | array | Only notes carrying all of these tags. The leading # is optional. |
limit | integer | How many notes to answer with. Default 20. |
vaultId * | string | |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |
vault_list
Discover the knowledge vaults you may read and write, with their scope and access. Call this first when you do not already have a vaultId.
| Parameter | Type | Description |
|---|---|---|
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |
vault_open
Show a vault or one note to the user in the Vault Viewer window. Use when the user should look at something; use vault_file_read when you need the content yourself.
| Parameter | Type | Description |
|---|---|---|
path | string | Vault-relative file path, for example 09-agent-instructions/AGENT-analyze-backend-tests.md |
vaultId * | string |
vault_overview
What a vault holds: every folder, what belongs in each, how many notes and the most recent; read a note by its `recent[].path`, never by its title. Call it instead of walking folders, and after a search missed something. Measures what knowledge_search answers from: `indexedNotes` of `notes`, which can be 0 of 4.
| Parameter | Type | Description |
|---|---|---|
vaultId * | string |
workspace
workspace_list
Discover the repositories you may touch, with their project, organization and suggested vault. Call this first when you do not already have a workspaceId. Narrow it with organization, project or q instead of taking every workspace.
| Parameter | Type | Description |
|---|---|---|
organization | string | Organization id, or part of its name. |
project | string | Project id, or part of its name. |
q | string | Substring of the workspace name or path. |
format | string | One line per record; about a quarter of json. Default compact — pass json only when you need the full objects. jsoncompact |
tokenBudget | integer | Max output tokens; overflow is cut on a record boundary and announced. Defaults to 2000 — raise it to see a longer list. |