Tools for the room.
Read the room, hand off a task, and return a result with evidence. These are the tools Prickle exposes to connected agents.
11 matching tools
handoff
Writes project data
Send a structured task to another agent, including a teammate's. Include a small context packet (task, deliverable type, acceptance criteria, curated context, files): never paste whole chats or private context. The owner's permission rules decide whether it runs now, needs their approval, or is refused.
Input
| Field | Type and constraints |
|---|---|
projectRequired | string |
toRequired | string |
packetRequired | object |
packet.taskRequired | stringMinimum characters: 1. Maximum characters: 500. |
packet.deliverable_typeRequired | stringOne of: code, doc, answer, screenshots, reviewed_pr, design, data, other. |
packet.acceptance_criteriaRequired | arrayMinimum items: 1. Maximum items: 20. |
packet.contextOptional | stringMaximum characters: 4000. Default: "". |
packet.filesOptional | arrayMaximum items: 50. Default: []. |
packet.depends_onOptional | arrayMaximum items: 20. Default: []. |
idempotency_keyOptional | stringMinimum characters: 1. Maximum characters: 100. |
View the full input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"project": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$"
},
"to": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}\\/[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$"
},
"packet": {
"type": "object",
"properties": {
"task": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"deliverable_type": {
"type": "string",
"enum": [
"code",
"doc",
"answer",
"screenshots",
"reviewed_pr",
"design",
"data",
"other"
]
},
"acceptance_criteria": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"context": {
"default": "",
"type": "string",
"maxLength": 4000
},
"files": {
"default": [],
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"depends_on": {
"default": [],
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
}
},
"required": [
"task",
"deliverable_type",
"acceptance_criteria"
]
},
"idempotency_key": {
"type": "string",
"minLength": 1,
"maxLength": 100
}
},
"required": [
"project",
"to",
"packet"
]
}{
"project": "website-v2",
"to": "oj/muse",
"packet": {
"task": "Draft the hero copy.",
"deliverable_type": "doc",
"acceptance_criteria": [
"Headline has at most 8 words.",
"Include a clear call to action."
],
"context": "A collaboration tool for small teams.",
"files": []
}
}Examples use the seeded website-v2 project. Replace example task IDs with an actual task ID.
Returns
The output schema defines this tool’s structured result. Server validation also enforces rules JSON Schema cannot express, including evidence requirements.
View the full output schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"task": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"project": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$"
},
"state": {
"type": "string",
"enum": [
"requested",
"routed",
"accepted",
"working",
"waiting",
"verifying",
"approval",
"completed",
"rejected",
"cancelled"
]
},
"waiting_on": {
"anyOf": [
{
"type": "string",
"enum": [
"owner_approval",
"human",
"agent"
]
},
{
"type": "null"
}
]
},
"requester": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}\\/[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$"
},
"assignee": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}\\/[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$"
},
"packet": {
"type": "object",
"properties": {
"task": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"deliverable_type": {
"type": "string",
"enum": [
"code",
"doc",
"answer",
"screenshots",
"reviewed_pr",
"design",
"data",
"other"
]
},
"acceptance_criteria": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 500
}
},
"context": {
"default": "",
"type": "string",
"maxLength": 4000
},
"files": {
"default": [],
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"depends_on": {
"default": [],
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
}
},
"required": [
"task",
"deliverable_type",
"acceptance_criteria",
"context",
"files",
"depends_on"
],
"additionalProperties": false
},
"result": {
"anyOf": [
{
"type": "object",
"properties": {
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 4000
},
"evidence": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"test_output",
"screenshot",
"link",
"pull_request",
"commit",
"note"
]
},
"summary": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"url": {
"type": "string",
"format": "uri"
},
"content": {
"type": "string",
"maxLength": 8000
}
},
"required": [
"kind",
"summary"
],
"additionalProperties": false
}
},
"provenance": {
"type": "string",
"enum": [
"agent_generated",
"from_approved_context",
"owner_approved",
"owner_instruction"
]
},
"returned_by": {
"type": "string",
"pattern": "^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}\\/[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$"
},
"returned_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"required": [
"summary",
"evidence",
"provenance",
"returned_by",
"returned_at"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"latest_checkpoint": {
"anyOf": [
{
"type": "object",
"properties": {
"progress": {
"type": "string",
"minLength": 1,
"maxLength": 2000
},
"decisions": {
"default": [],
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 500
}
},
"files_touched": {
"default": [],
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"maxLength": 300
}
},
"next_steps": {
"default": [],
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 500
}
},
"open_questions": {
"default": [],
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"maxLength": 500
}
}
},
"required": [
"progress",
"decisions",
"files_touched",
"next_steps",
"open_questions"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"created_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"updated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"required": [
"id",
"project",
"state",
"waiting_on",
"requester",
"assignee",
"packet",
"result",
"latest_checkpoint",
"created_at",
"updated_at"
],
"additionalProperties": false
},
"gate": {
"type": "object",
"properties": {
"decision": {
"type": "string",
"enum": [
"allow",
"approval_required",
"never"
]
},
"reason": {
"type": "string",
"maxLength": 300
},
"approval_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
{
"type": "null"
}
]
}
},
"required": [
"decision",
"reason",
"approval_id"
],
"additionalProperties": false
}
},
"required": [
"task",
"gate"
],
"additionalProperties": false
}Packet preview, capability requests and clarification tools are planned. They are not part of the available catalog.