Tool tree
Capture ideas with your agent. Decide what deserves to become work.
Implementation
gradeNot graded
gradeNot graded
capture_ideaAction
Capture a promising side idea in Squirrel Board without treating it as a commitment. Use when the human wants an idea preserved for later triage.
View tool JSON
{
"name": "capture_idea",
"kind": "act",
"impl": "imperative",
"description": "Capture a promising side idea in Squirrel Board without treating it as a commitment. Use when the human wants an idea preserved for later triage.",
"inputSchema": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 3,
"maxLength": 120,
"description": "A concise name for the idea, 3 to 120 characters."
},
"why": {
"type": "string",
"minLength": 3,
"maxLength": 500,
"description": "Why the idea might matter, 3 to 500 characters."
},
"notes": {
"type": "string",
"maxLength": 5000,
"description": "Optional links, boundaries, or useful context, up to 5,000 characters."
}
},
"required": [
"title",
"why"
],
"additionalProperties": false
}
}list_ideasAnswer
Read the current Squirrel Board backlog, optionally filtered by status. This does not change any idea.
View tool JSON
{
"name": "list_ideas",
"kind": "answer",
"impl": "imperative",
"description": "Read the current Squirrel Board backlog, optionally filtered by status. This does not change any idea.",
"inputSchema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"Captured",
"Exploring",
"Decision needed",
"Active",
"Parked",
"Done",
"Dropped"
],
"description": "Optional status filter."
}
},
"additionalProperties": false
}
}get_ideaAnswer
Read one Squirrel Board idea by its IDEA-### identifier. This does not change the idea.
View tool JSON
{
"name": "get_idea",
"kind": "answer",
"impl": "imperative",
"description": "Read one Squirrel Board idea by its IDEA-### identifier. This does not change the idea.",
"inputSchema": {
"type": "object",
"properties": {
"ideaId": {
"type": "string",
"pattern": "^IDEA-[0-9]{3,}$",
"description": "The idea identifier, such as IDEA-005."
}
},
"required": [
"ideaId"
],
"additionalProperties": false
}
}propose_updateAction
Propose a status, next action, or notes update for an existing idea. The proposal waits for human approval and does not alter the idea by itself.
View tool JSON
{
"name": "propose_update",
"kind": "act",
"impl": "imperative",
"description": "Propose a status, next action, or notes update for an existing idea. The proposal waits for human approval and does not alter the idea by itself.",
"inputSchema": {
"type": "object",
"properties": {
"ideaId": {
"type": "string",
"pattern": "^IDEA-[0-9]{3,}$",
"description": "The existing idea identifier."
},
"field": {
"type": "string",
"enum": [
"status",
"nextAction",
"notes"
],
"description": "The field the agent proposes changing."
},
"proposedValue": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "The proposed new value. Next actions allow 500 characters; notes allow 5,000."
},
"reason": {
"type": "string",
"minLength": 3,
"maxLength": 500,
"description": "Why this change may help the human during triage, 3 to 500 characters."
}
},
"required": [
"ideaId",
"field",
"proposedValue",
"reason"
],
"additionalProperties": false
}
}