Tool tree
gradeNot graded
get_briefAnswer
Read the living client brief currently on this page. Use section to fetch a slice instead of the full document. This is the first tool to call before proposing changes.
View tool JSON
{
"name": "get_brief",
"kind": "answer",
"impl": "imperative",
"description": "Read the living client brief currently on this page. Use section to fetch a slice instead of the full document. This is the first tool to call before proposing changes.",
"inputSchema": {
"type": "object",
"properties": {
"section": {
"type": "string",
"description": "Which slice to return. Defaults to the full brief.",
"enum": [
"all",
"meta",
"goals",
"deliverables",
"constraints",
"decisions",
"questions",
"revisions"
]
}
},
"required": [],
"additionalProperties": false
},
"page": "/samepage/"
}add_deliverableAction
Append a deliverable to the brief. Use for new work the client and studio agree to ship. Prefer update_deliverable when the item already exists.
View tool JSON
{
"name": "add_deliverable",
"kind": "act",
"impl": "imperative",
"description": "Append a deliverable to the brief. Use for new work the client and studio agree to ship. Prefer update_deliverable when the item already exists.",
"inputSchema": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Short name, e.g. 'Weekly menu + allergens'.",
"minLength": 1
},
"description": {
"type": "string",
"description": "What done looks like."
},
"owner": {
"type": "string",
"description": "Who is accountable: Studio, client, or both."
},
"due": {
"type": "string",
"description": "Due date as YYYY-MM-DD."
},
"status": {
"type": "string",
"enum": [
"planned",
"in_progress",
"review",
"done"
],
"description": "Workflow state. Defaults to planned."
}
},
"required": [
"title"
],
"additionalProperties": false
},
"page": "/samepage/"
}update_deliverableAction
Patch an existing deliverable by id. Only provided fields change. Use get_brief first if you do not have the id.
View tool JSON
{
"name": "update_deliverable",
"kind": "act",
"impl": "imperative",
"description": "Patch an existing deliverable by id. Only provided fields change. Use get_brief first if you do not have the id.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Deliverable id, e.g. del-menu.",
"minLength": 1
},
"title": {
"type": "string",
"description": "Replacement title."
},
"description": {
"type": "string",
"description": "Replacement description."
},
"owner": {
"type": "string",
"description": "Replacement owner."
},
"due": {
"type": "string",
"description": "Replacement due date YYYY-MM-DD."
},
"status": {
"type": "string",
"enum": [
"planned",
"in_progress",
"review",
"done"
],
"description": "Replacement status."
}
},
"required": [
"id"
],
"additionalProperties": false
},
"page": "/samepage/"
}add_constraintAction
Record a hard limit on budget, timeline, brand, legal, technical, or other. Constraints are visible to the client — write them in plain language.
View tool JSON
{
"name": "add_constraint",
"kind": "act",
"impl": "imperative",
"description": "Record a hard limit on budget, timeline, brand, legal, technical, or other. Constraints are visible to the client — write them in plain language.",
"inputSchema": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The constraint in one or two sentences.",
"minLength": 1
},
"kind": {
"type": "string",
"enum": [
"budget",
"timeline",
"brand",
"legal",
"technical",
"other"
],
"description": "Category. Defaults to other."
}
},
"required": [
"text"
],
"additionalProperties": false
},
"page": "/samepage/"
}mark_decisionAction
Log a decision that is now closed. Use this when the client or studio has chosen, not for open debate. Open debate belongs in raise_question or propose_revision.
View tool JSON
{
"name": "mark_decision",
"kind": "act",
"impl": "imperative",
"description": "Log a decision that is now closed. Use this when the client or studio has chosen, not for open debate. Open debate belongs in raise_question or propose_revision.",
"inputSchema": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "What was decided, in client-facing language.",
"minLength": 1
},
"decidedBy": {
"type": "string",
"enum": [
"human",
"agent",
"client",
"joint"
],
"description": "Who closed it. Defaults to joint."
}
},
"required": [
"text"
],
"additionalProperties": false
},
"page": "/samepage/"
}raise_questionAction
Park a question the human or client still needs to answer. Do not block the rest of the brief on it. The human can answer inline on the page.
View tool JSON
{
"name": "raise_question",
"kind": "act",
"impl": "imperative",
"description": "Park a question the human or client still needs to answer. Do not block the rest of the brief on it. The human can answer inline on the page.",
"inputSchema": {
"type": "object",
"properties": {
"text": {
"type": "string",
"description": "The question, addressed to the client or studio.",
"minLength": 1
},
"askedBy": {
"type": "string",
"enum": [
"human",
"agent",
"client",
"joint"
],
"description": "Who is asking. Defaults to agent."
}
},
"required": [
"text"
],
"additionalProperties": false
},
"page": "/samepage/"
}propose_revisionAction
Suggest a change without writing it into the brief. The human must accept or reject it. If proposedValue and a target are set, accepting the revision applies that value.
View tool JSON
{
"name": "propose_revision",
"kind": "act",
"impl": "imperative",
"description": "Suggest a change without writing it into the brief. The human must accept or reject it. If proposedValue and a target are set, accepting the revision applies that value.",
"inputSchema": {
"type": "object",
"properties": {
"summary": {
"type": "string",
"description": "One-line change the client can yes/no.",
"minLength": 1
},
"rationale": {
"type": "string",
"description": "Why this is better for the client."
},
"target": {
"type": "string",
"enum": [
"deliverable",
"constraint",
"goal",
"timeline",
"notes",
"meta"
],
"description": "Where the change would land. Defaults to notes."
},
"targetId": {
"type": "string",
"description": "Id of a deliverable when target is deliverable."
},
"proposedValue": {
"type": "string",
"description": "If accepting should write a value, the replacement text (e.g. new deliverable description)."
}
},
"required": [
"summary"
],
"additionalProperties": false
},
"page": "/samepage/"
}accept_revisionAction
Accept a proposed revision by id. Applies proposedValue when present, and records a joint decision. Prefer that the human does this; use only if they have clearly agreed.
View tool JSON
{
"name": "accept_revision",
"kind": "act",
"impl": "imperative",
"description": "Accept a proposed revision by id. Applies proposedValue when present, and records a joint decision. Prefer that the human does this; use only if they have clearly agreed.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Revision id, e.g. rev-soldout.",
"minLength": 1
},
"note": {
"type": "string",
"description": "Optional note stored on the revision."
}
},
"required": [
"id"
],
"additionalProperties": false
},
"page": "/samepage/"
}reject_revisionAction
Reject a proposed revision by id. Leaves the rest of the brief unchanged. Prefer that the human does this.
View tool JSON
{
"name": "reject_revision",
"kind": "act",
"impl": "imperative",
"description": "Reject a proposed revision by id. Leaves the rest of the brief unchanged. Prefer that the human does this.",
"inputSchema": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Revision id.",
"minLength": 1
},
"note": {
"type": "string",
"description": "Why it was rejected, shown on the brief."
}
},
"required": [
"id"
],
"additionalProperties": false
},
"page": "/samepage/"
}export_briefAction
Export the current brief as Markdown or JSON. Use this to hand a snapshot to the client, a contract, or another tool. Does not change the brief.
View tool JSON
{
"name": "export_brief",
"kind": "act",
"impl": "imperative",
"description": "Export the current brief as Markdown or JSON. Use this to hand a snapshot to the client, a contract, or another tool. Does not change the brief.",
"inputSchema": {
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Export format. Defaults to markdown."
}
},
"required": [],
"additionalProperties": false
},
"page": "/samepage/"
}