Tool tree
gradeNot graded
list_stepsAnswer
Read the runbook the person currently has open: its title, description and every step in order. Returns step ids, positions, titles and whether each has a check or a branch. Pass detail="full" to also get each instruction, check and branch. Call this first before editing or running.
View tool JSON
{
"name": "list_steps",
"kind": "answer",
"impl": "imperative",
"description": "Read the runbook the person currently has open: its title, description and every step in order. Returns step ids, positions, titles and whether each has a check or a branch. Pass detail=\"full\" to also get each instruction, check and branch. Call this first before editing or running.",
"inputSchema": {
"type": "object",
"properties": {
"detail": {
"type": "string",
"enum": [
"summary",
"full"
],
"description": "\"summary\" (default) keeps the answer short. \"full\" includes every instruction, check and branch."
}
}
}
}get_stepAnswer
Read one step of the open runbook in full: title, instruction, check and branch. Use it when you need the exact wording of a step before rewriting it or judging whether reality matched it.
View tool JSON
{
"name": "get_step",
"kind": "answer",
"impl": "imperative",
"description": "Read one step of the open runbook in full: title, instruction, check and branch. Use it when you need the exact wording of a step before rewriting it or judging whether reality matched it.",
"inputSchema": {
"type": "object",
"properties": {
"stepId": {
"type": "string",
"description": "The step id from list_steps, or its position number such as \"3\"."
}
},
"required": [
"stepId"
]
}
}add_stepAction
Insert a new step into the open runbook. Give a short imperative title and a clear instruction a person can follow. Optionally add a check (what must be true before moving on) and a position; without a position the step goes at the end. Existing steps renumber and the page highlights the new step.
View tool JSON
{
"name": "add_step",
"kind": "act",
"impl": "imperative",
"description": "Insert a new step into the open runbook. Give a short imperative title and a clear instruction a person can follow. Optionally add a check (what must be true before moving on) and a position; without a position the step goes at the end. Existing steps renumber and the page highlights the new step.",
"inputSchema": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Short imperative title, for example \"Verify the backup checksum\"."
},
"instruction": {
"type": "string",
"description": "What the person should do at this step, in one to three sentences."
},
"check": {
"type": "string",
"description": "Optional. A plain-language condition that must be true before the next step."
},
"position": {
"type": "integer",
"minimum": 1,
"description": "Optional 1-based position. Existing steps at and after it shift down."
}
},
"required": [
"title",
"instruction"
]
}
}update_stepAction
Rewrite the title or instruction of an existing step, or both. Use this to correct wording, add detail, or bring a step back in line with how the work is really done. Checks and branches are left untouched; use set_check or set_branch for those.
View tool JSON
{
"name": "update_step",
"kind": "act",
"impl": "imperative",
"description": "Rewrite the title or instruction of an existing step, or both. Use this to correct wording, add detail, or bring a step back in line with how the work is really done. Checks and branches are left untouched; use set_check or set_branch for those.",
"inputSchema": {
"type": "object",
"properties": {
"stepId": {
"type": "string",
"description": "The step id from list_steps, or its position number."
},
"title": {
"type": "string",
"description": "New title. Omit to keep the current one."
},
"instruction": {
"type": "string",
"description": "New instruction. Omit to keep the current one."
}
},
"required": [
"stepId"
]
}
}reorder_stepsAction
Move one step to a new position in the open runbook. Every step renumbers afterwards, so read list_steps again before referring to positions. Branch targets follow the step they point at.
View tool JSON
{
"name": "reorder_steps",
"kind": "act",
"impl": "imperative",
"description": "Move one step to a new position in the open runbook. Every step renumbers afterwards, so read list_steps again before referring to positions. Branch targets follow the step they point at.",
"inputSchema": {
"type": "object",
"properties": {
"stepId": {
"type": "string",
"description": "The step id from list_steps, or its current position number."
},
"newPosition": {
"type": "integer",
"minimum": 1,
"description": "The 1-based position the step should occupy after the move."
}
},
"required": [
"stepId",
"newPosition"
]
}
}delete_stepSensitive Action
Remove a step from the open runbook permanently. Any branch that pointed at it is cleared. Prefer update_step when the step is merely wrong; delete only when it no longer belongs in the procedure.
View tool JSON
{
"name": "delete_step",
"kind": "transact",
"impl": "imperative",
"description": "Remove a step from the open runbook permanently. Any branch that pointed at it is cleared. Prefer update_step when the step is merely wrong; delete only when it no longer belongs in the procedure.",
"inputSchema": {
"type": "object",
"properties": {
"stepId": {
"type": "string",
"description": "The step id from list_steps, or its position number."
}
},
"required": [
"stepId"
]
}
}set_checkAction
Attach a verification check to a step, replace its existing check, or clear it. A check is a plain-language condition that must be true before moving to the next step, such as "The invoice total matches the order". Pass an empty string to clear.
View tool JSON
{
"name": "set_check",
"kind": "act",
"impl": "imperative",
"description": "Attach a verification check to a step, replace its existing check, or clear it. A check is a plain-language condition that must be true before moving to the next step, such as \"The invoice total matches the order\". Pass an empty string to clear.",
"inputSchema": {
"type": "object",
"properties": {
"stepId": {
"type": "string",
"description": "The step id from list_steps, or its position number."
},
"check": {
"type": "string",
"description": "The condition to verify, or an empty string to remove the check."
}
},
"required": [
"stepId",
"check"
]
}
}set_branchAction
Attach a conditional branch to a step, replace it, or clear it. A branch says: if this condition holds when the step is reached, jump to the target step instead of continuing. Use it for exceptions such as an existing record or a missing ingredient. Pass an empty condition to clear.
View tool JSON
{
"name": "set_branch",
"kind": "act",
"impl": "imperative",
"description": "Attach a conditional branch to a step, replace it, or clear it. A branch says: if this condition holds when the step is reached, jump to the target step instead of continuing. Use it for exceptions such as an existing record or a missing ingredient. Pass an empty condition to clear.",
"inputSchema": {
"type": "object",
"properties": {
"stepId": {
"type": "string",
"description": "The step that carries the branch: its id or position number."
},
"condition": {
"type": "string",
"description": "Plain-language condition under which to jump, or an empty string to clear."
},
"targetStepId": {
"type": "string",
"description": "The step to jump to: its id or position number. Required unless clearing."
}
},
"required": [
"stepId",
"condition"
]
}
}start_runAction
Begin running the open runbook from step 1 and return that step in full. While a run is active the page shows which step is current. Use advance_run to move on and report_blocker when reality does not match a step. Starting a new run replaces any run already in progress.
View tool JSON
{
"name": "start_run",
"kind": "act",
"impl": "imperative",
"description": "Begin running the open runbook from step 1 and return that step in full. While a run is active the page shows which step is current. Use advance_run to move on and report_blocker when reality does not match a step. Starting a new run replaces any run already in progress.",
"inputSchema": {
"type": "object",
"properties": {}
}
}advance_runAction
Mark the current step of the active run as done and move to the next one, returning it in full. If the current step has a branch and its condition held, pass branchTaken=true to jump to the branch target instead. Confirm the step's check before advancing. When no steps remain the run completes.
View tool JSON
{
"name": "advance_run",
"kind": "act",
"impl": "imperative",
"description": "Mark the current step of the active run as done and move to the next one, returning it in full. If the current step has a branch and its condition held, pass branchTaken=true to jump to the branch target instead. Confirm the step's check before advancing. When no steps remain the run completes.",
"inputSchema": {
"type": "object",
"properties": {
"branchTaken": {
"type": "boolean",
"description": "True if the current step's branch condition held and the jump should be taken."
},
"note": {
"type": "string",
"description": "Optional short note on how the step went, recorded in the run log."
}
}
}
}report_blockerAction
Record that reality did not match a step during a run: a missing screen, a renamed option, a check that cannot pass. Say plainly what was found instead. The blocker is pinned to that step on the page so it can be turned into a fix later with apply_blocker_fix. The run stays on the same step.
View tool JSON
{
"name": "report_blocker",
"kind": "act",
"impl": "imperative",
"description": "Record that reality did not match a step during a run: a missing screen, a renamed option, a check that cannot pass. Say plainly what was found instead. The blocker is pinned to that step on the page so it can be turned into a fix later with apply_blocker_fix. The run stays on the same step.",
"inputSchema": {
"type": "object",
"properties": {
"stepId": {
"type": "string",
"description": "The step that did not match: its id or position number. Defaults to the current run step."
},
"note": {
"type": "string",
"description": "What was actually found and why the step could not be followed as written."
}
},
"required": [
"note"
]
}
}list_blockersAnswer
Read the blockers recorded against steps of the open runbook that have not yet been fixed. Each includes the step it refers to and the note about what was found. Use the blockerId with apply_blocker_fix.
View tool JSON
{
"name": "list_blockers",
"kind": "answer",
"impl": "imperative",
"description": "Read the blockers recorded against steps of the open runbook that have not yet been fixed. Each includes the step it refers to and the note about what was found. Use the blockerId with apply_blocker_fix.",
"inputSchema": {
"type": "object",
"properties": {
"includeResolved": {
"type": "boolean",
"description": "True to also list blockers that have already been turned into fixes."
}
}
}
}apply_blocker_fixAction
Turn a blocker into an amendment: rewrite the step the blocker refers to so it matches what was actually found, optionally update its check, and mark the blocker resolved. Give a short resolution note saying what changed. This closes the loop between running a procedure and keeping it accurate.
View tool JSON
{
"name": "apply_blocker_fix",
"kind": "act",
"impl": "imperative",
"description": "Turn a blocker into an amendment: rewrite the step the blocker refers to so it matches what was actually found, optionally update its check, and mark the blocker resolved. Give a short resolution note saying what changed. This closes the loop between running a procedure and keeping it accurate.",
"inputSchema": {
"type": "object",
"properties": {
"blockerId": {
"type": "string",
"description": "The blocker id from list_blockers or report_blocker."
},
"title": {
"type": "string",
"description": "New step title. Omit to keep it."
},
"instruction": {
"type": "string",
"description": "New step instruction that reflects reality. Omit to keep it."
},
"check": {
"type": "string",
"description": "New check for the step, or an empty string to clear it. Omit to keep it."
},
"resolution": {
"type": "string",
"description": "One sentence on what was changed and why."
}
},
"required": [
"blockerId"
]
}
}