Every tool says its `sessions` (chat, agent or both). The file tools read, write, edit, glob, grep and list are shared; mkdir, mv, rm, search, python and the forge verbs (commit, branch, pr, merge, tag, release) are the chat's; show and recall are new and shared. New fields: `requires` (page, display, forge) with the exact `unavailable` answer, and `confirm: always` for merge, tag and release. knowledge_*, notes_search, note_view and note_manage leave the chat. Default rules for the new tools; modes.json says what `confirm` does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
133 lines
3.3 KiB
JSON
133 lines
3.3 KiB
JSON
{
|
|
"name": "plan_update",
|
|
"scope": "shared",
|
|
"sessions": "both",
|
|
"risk": "interact",
|
|
"exclusive": false,
|
|
"block": "plan",
|
|
"purpose": false,
|
|
"aliases": {
|
|
"cli": [],
|
|
"llembas": []
|
|
},
|
|
"description": "Change the plan as the work goes: mark a task doing when you start it and done once you have checked it works, drop one that turned out unnecessary (say why in its note), add work the plan did not anticipate, record a new finding. Several changes go in one call. Quote the ids the plan shows (p1, t3, o2); an unknown id is an error naming the known ones. Updating is bookkeeping, not a milestone: carry straight on afterwards.",
|
|
"parameters": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tasks": {
|
|
"type": "array",
|
|
"description": "Tasks to change, by id",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"todo",
|
|
"doing",
|
|
"done",
|
|
"dropped"
|
|
]
|
|
},
|
|
"note": {
|
|
"type": "string",
|
|
"maxLength": 300
|
|
}
|
|
},
|
|
"required": [
|
|
"id"
|
|
]
|
|
}
|
|
},
|
|
"objectives": {
|
|
"type": "array",
|
|
"description": "Objectives to change, by id",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"open",
|
|
"done",
|
|
"dropped"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"status"
|
|
]
|
|
}
|
|
},
|
|
"phases": {
|
|
"type": "array",
|
|
"description": "Phases to change, by id",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"pending",
|
|
"active",
|
|
"done"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"status"
|
|
]
|
|
}
|
|
},
|
|
"add_tasks": {
|
|
"type": "array",
|
|
"description": "New tasks, each in a phase; after an existing task's id, or at the end of the phase",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"phase": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 300
|
|
},
|
|
"after": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"phase",
|
|
"text"
|
|
]
|
|
}
|
|
},
|
|
"add_findings": {
|
|
"type": "array",
|
|
"description": "New findings",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 300
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|