Tool tree
gradeNot graded
get_workspaceAnswer
Return the current workspace, its maps, delivery progress, selection, and pending human intent.
View tool JSON
{
"name": "get_workspace",
"kind": "answer",
"impl": "imperative",
"description": "Return the current workspace, its maps, delivery progress, selection, and pending human intent.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}get_mapAnswer
Return the requested map or active map with compact nodes and edges.
View tool JSON
{
"name": "get_map",
"kind": "answer",
"impl": "imperative",
"description": "Return the requested map or active map with compact nodes and edges.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"mapId": {
"type": "string",
"maxLength": 160
},
"includeEvidence": {
"type": "boolean"
}
}
}
}get_nodeAnswer
Return full node details, citations or evidence, comments, and any maps linked from it.
View tool JSON
{
"name": "get_node",
"kind": "answer",
"impl": "imperative",
"description": "Return full node details, citations or evidence, comments, and any maps linked from it.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"nodeId"
]
}
}get_selectionAnswer
Return the nodes selected by the human and any pending Trace or Learn intent.
View tool JSON
{
"name": "get_selection",
"kind": "answer",
"impl": "imperative",
"description": "Return the nodes selected by the human and any pending Trace or Learn intent.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {}
}
}search_nodesAnswer
Search node titles, descriptions, tags, evidence, and comments across the workspace.
View tool JSON
{
"name": "search_nodes",
"kind": "answer",
"impl": "imperative",
"description": "Search node titles, descriptions, tags, evidence, and comments across the workspace.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"mapId": {
"type": "string",
"maxLength": 160
},
"kinds": {
"type": "array",
"maxItems": 9,
"items": {
"type": "string",
"enum": [
"project",
"group",
"feature",
"step",
"code",
"concept",
"question",
"note",
"exercise"
]
}
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"query"
]
}
}create_mapAction
Batch-create a source-backed build, trace, or learn map, link it to a node, lay it out, save it, and optionally open it.
View tool JSON
{
"name": "create_map",
"kind": "act",
"impl": "imperative",
"description": "Batch-create a source-backed build, trace, or learn map, link it to a node, lay it out, save it, and optionally open it.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"kind": {
"type": "string",
"enum": [
"build",
"trace",
"learn"
]
},
"parentNodeId": {
"type": "string",
"maxLength": 160
},
"nodes": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"kind": {
"type": "string",
"enum": [
"project",
"group",
"feature",
"step",
"code",
"concept",
"question",
"note",
"exercise"
]
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"description": {
"type": "string",
"maxLength": 1200
},
"quiz": {
"type": "object",
"description": "Required for question nodes. The correct answer is a zero-based index into choices.",
"additionalProperties": false,
"properties": {
"choices": {
"type": "array",
"minItems": 2,
"maxItems": 6,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
}
},
"correctChoiceIndex": {
"type": "integer",
"minimum": 0
},
"explanation": {
"type": "string",
"maxLength": 600
}
},
"required": [
"choices",
"correctChoiceIndex"
]
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"tags": {
"type": "array",
"maxItems": 20,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 48
}
},
"locked": {
"type": "boolean"
},
"evidence": {
"type": "array",
"maxItems": 20,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"type": "string",
"enum": [
"source_url",
"file",
"test",
"commit",
"note"
]
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"ref": {
"type": "string",
"maxLength": 2048
},
"note": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"kind",
"label",
"ref"
]
}
}
},
"required": [
"id",
"kind",
"title"
]
}
},
"edges": {
"type": "array",
"maxItems": 200,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"source": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"target": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"relation": {
"type": "string",
"enum": [
"contains",
"implements",
"flows_to",
"depends_on",
"prerequisite",
"related_to"
]
},
"label": {
"type": "string",
"maxLength": 120
}
},
"required": [
"source",
"target",
"relation"
]
}
},
"activate": {
"type": "boolean"
}
},
"required": [
"title",
"kind",
"nodes"
]
}
}upsert_graphAction
Add or update nodes and edges in a map without replacing it. Locked nodes are skipped.
View tool JSON
{
"name": "upsert_graph",
"kind": "act",
"impl": "imperative",
"description": "Add or update nodes and edges in a map without replacing it. Locked nodes are skipped.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"mapId": {
"type": "string",
"maxLength": 160
},
"nodes": {
"type": "array",
"maxItems": 100,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"kind": {
"type": "string",
"enum": [
"project",
"group",
"feature",
"step",
"code",
"concept",
"question",
"note",
"exercise"
]
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"description": {
"type": "string",
"maxLength": 1200
},
"quiz": {
"type": "object",
"description": "Required for question nodes. The correct answer is a zero-based index into choices.",
"additionalProperties": false,
"properties": {
"choices": {
"type": "array",
"minItems": 2,
"maxItems": 6,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 240
}
},
"correctChoiceIndex": {
"type": "integer",
"minimum": 0
},
"explanation": {
"type": "string",
"maxLength": 600
}
},
"required": [
"choices",
"correctChoiceIndex"
]
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"tags": {
"type": "array",
"maxItems": 20,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 48
}
},
"locked": {
"type": "boolean"
},
"evidence": {
"type": "array",
"maxItems": 20,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"type": "string",
"enum": [
"source_url",
"file",
"test",
"commit",
"note"
]
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"ref": {
"type": "string",
"maxLength": 2048
},
"note": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"kind",
"label",
"ref"
]
}
}
},
"required": [
"id",
"kind",
"title"
]
}
},
"edges": {
"type": "array",
"maxItems": 200,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"source": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"target": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"relation": {
"type": "string",
"enum": [
"contains",
"implements",
"flows_to",
"depends_on",
"prerequisite",
"related_to"
]
},
"label": {
"type": "string",
"maxLength": 120
}
},
"required": [
"source",
"target",
"relation"
]
}
},
"autoLayout": {
"type": "boolean"
}
}
}
}set_scope_decisionsAction
Batch mark features proposed, included, or excluded. Exclusions require a rationale; locked features are skipped.
View tool JSON
{
"name": "set_scope_decisions",
"kind": "act",
"impl": "imperative",
"description": "Batch mark features proposed, included, or excluded. Exclusions require a rationale; locked features are skipped.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"updates": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"nodeId": {
"type": "string",
"maxLength": 160
},
"state": {
"type": "string",
"enum": [
"proposed",
"included",
"excluded"
]
},
"rationale": {
"type": "string",
"maxLength": 500
}
},
"required": [
"nodeId",
"state"
]
}
}
},
"required": [
"updates"
]
}
}set_delivery_statusesAction
Batch update included feature delivery status and optionally attach file, test, commit, URL, or note evidence.
View tool JSON
{
"name": "set_delivery_statuses",
"kind": "act",
"impl": "imperative",
"description": "Batch update included feature delivery status and optionally attach file, test, commit, URL, or note evidence.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"updates": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"nodeId": {
"type": "string",
"maxLength": 160
},
"status": {
"type": "string",
"enum": [
"not_started",
"partial",
"complete"
]
},
"evidence": {
"type": "array",
"maxItems": 20,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"type": "string",
"enum": [
"source_url",
"file",
"test",
"commit",
"note"
]
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"ref": {
"type": "string",
"maxLength": 2048
},
"note": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"kind",
"label",
"ref"
]
}
}
},
"required": [
"nodeId",
"status"
]
}
}
},
"required": [
"updates"
]
}
}set_learning_statesAction
Batch mark concepts unknown, learning, or known; optionally lock the concepts after updating them.
View tool JSON
{
"name": "set_learning_states",
"kind": "act",
"impl": "imperative",
"description": "Batch mark concepts unknown, learning, or known; optionally lock the concepts after updating them.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"updates": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"nodeId": {
"type": "string",
"maxLength": 160
},
"state": {
"type": "string",
"enum": [
"unknown",
"learning",
"known"
]
},
"locked": {
"type": "boolean"
}
},
"required": [
"nodeId",
"state"
]
}
}
},
"required": [
"updates"
]
}
}add_evidenceAction
Attach research source URLs or later file, test, commit, and note evidence to an unlocked node.
View tool JSON
{
"name": "add_evidence",
"kind": "act",
"impl": "imperative",
"description": "Attach research source URLs or later file, test, commit, and note evidence to an unlocked node.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"nodeId": {
"type": "string",
"maxLength": 160
},
"evidence": {
"type": "array",
"minItems": 1,
"maxItems": 20,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"kind": {
"type": "string",
"enum": [
"source_url",
"file",
"test",
"commit",
"note"
]
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"ref": {
"type": "string",
"maxLength": 2048
},
"note": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"kind",
"label",
"ref"
]
}
}
},
"required": [
"nodeId",
"evidence"
]
}
}list_commentsAnswer
List human and agent comments attached to nodes, optionally filtered by node or map.
View tool JSON
{
"name": "list_comments",
"kind": "answer",
"impl": "imperative",
"description": "List human and agent comments attached to nodes, optionally filtered by node or map.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"mapId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
}
}
}add_commentAction
Add a comment to a node under the calling agent's name. Set agentName to your own identity.
View tool JSON
{
"name": "add_comment",
"kind": "act",
"impl": "imperative",
"description": "Add a comment to a node under the calling agent's name. Set agentName to your own identity.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"nodeId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"body": {
"type": "string",
"minLength": 1,
"maxLength": 10000
},
"agentName": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "The agent's display name, such as Codex or Claude."
}
},
"required": [
"nodeId",
"body",
"agentName"
]
}
}focus_nodesAction
Select nodes and fit the live canvas viewport around them without changing durable workspace data.
View tool JSON
{
"name": "focus_nodes",
"kind": "act",
"impl": "imperative",
"description": "Select nodes and fit the live canvas viewport around them without changing durable workspace data.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"nodeIds": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "string",
"maxLength": 160
}
}
},
"required": [
"nodeIds"
]
}
}highlight_pathAction
Highlight an ordered set of nodes using focus, risk, or success styling and fit them in view.
View tool JSON
{
"name": "highlight_path",
"kind": "act",
"impl": "imperative",
"description": "Highlight an ordered set of nodes using focus, risk, or success styling and fit them in view.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"nodeIds": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"type": "string",
"maxLength": 160
}
},
"tone": {
"type": "string",
"enum": [
"focus",
"risk",
"success"
]
}
},
"required": [
"nodeIds",
"tone"
]
}
}