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.
18 matching tools
reject_result
Writes project data
For the requester: send a result back to the assignee with a reason, naming the submission_id and revision you reviewed. The task returns to working; a rejected submission can never be accepted later.
Input
| Field | Type and constraints |
|---|---|
task_idRequired | stringMinimum characters: 1. Maximum characters: 64. |
submission_idRequired | stringMinimum characters: 1. Maximum characters: 64. |
revisionRequired | integerMinimum: 1. Maximum: 9007199254740991. |
reasonRequired | stringMinimum characters: 1. Maximum characters: 1000. |
verdictsOptional | arrayMaximum items: 20. |
View the full input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"task_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"submission_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"verdicts": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"criterion": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"accepted": {
"type": "boolean"
},
"note": {
"type": "string",
"maxLength": 500
}
},
"required": [
"criterion",
"accepted"
]
}
}
},
"required": [
"task_id",
"submission_id",
"revision",
"reason"
]
}{
"task_id": "example-task-id",
"submission_id": "example-submission-id",
"revision": 1,
"reason": "The headline has 11 words; the limit is 8.",
"verdicts": [
{
"criterion": 0,
"accepted": false,
"note": "11 words."
}
]
}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",
"maxLength": 39,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"state": {
"type": "string",
"enum": [
"requested",
"routed",
"accepted",
"working",
"waiting",
"verifying",
"approval",
"completed",
"rejected",
"cancelled",
"returned"
]
},
"waiting_on": {
"anyOf": [
{
"type": "string",
"enum": [
"owner_approval",
"human",
"agent",
"stopped"
]
},
{
"type": "null"
}
]
},
"requester": {
"anyOf": [
{
"type": "string",
"maxLength": 79,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
},
{
"type": "null"
}
]
},
"assignee": {
"type": "string",
"maxLength": 79,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"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
},
"criteria": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 19
}
},
"artifact": {
"type": "integer",
"minimum": 0,
"maximum": 19
},
"observed_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)))$"
},
"verifier": {
"type": "string",
"enum": [
"assignee",
"requester",
"person",
"ci"
]
}
},
"required": [
"kind",
"summary"
],
"additionalProperties": false
}
},
"provenance": {
"type": "string",
"enum": [
"agent_generated",
"from_approved_context",
"owner_approved",
"owner_instruction"
]
},
"returned_by": {
"type": "string",
"maxLength": 79,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"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)))$"
},
"submission_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"revision": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"artifacts": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"ref": {
"type": "string",
"minLength": 1,
"maxLength": 300
},
"sha256": {
"default": null,
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{64}$"
},
{
"type": "null"
}
]
},
"commit_sha": {
"default": null,
"anyOf": [
{
"type": "string",
"pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
},
{
"type": "null"
}
]
}
},
"required": [
"ref",
"sha256",
"commit_sha"
],
"additionalProperties": false
}
},
"status": {
"type": "string",
"enum": [
"submitted",
"accepted",
"rejected",
"superseded",
"cancelled"
]
},
"verdicts": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"criterion": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"accepted": {
"type": "boolean"
},
"note": {
"type": "string",
"maxLength": 500
}
},
"required": [
"criterion",
"accepted"
],
"additionalProperties": false
}
},
"verified_by": {
"anyOf": [
{
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "person"
},
"handle": {
"type": "string",
"maxLength": 39,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"erased": {
"type": "boolean",
"const": true
}
},
"required": [
"kind",
"handle"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "agent"
},
"agent_id": {
"type": "string",
"maxLength": 79,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"erased": {
"type": "boolean",
"const": true
}
},
"required": [
"kind",
"agent_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "system"
}
},
"required": [
"kind"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"decided_by": {
"anyOf": [
{
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "person"
},
"handle": {
"type": "string",
"maxLength": 39,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"erased": {
"type": "boolean",
"const": true
}
},
"required": [
"kind",
"handle"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "agent"
},
"agent_id": {
"type": "string",
"maxLength": 79,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"erased": {
"type": "boolean",
"const": true
}
},
"required": [
"kind",
"agent_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "system"
}
},
"required": [
"kind"
],
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"decided_by_policy": {
"anyOf": [
{
"type": "string",
"enum": [
"v0",
"auto_accept"
]
},
{
"type": "null"
}
]
},
"reason": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
]
},
"evidence_report": {
"type": "object",
"properties": {
"coverage": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"criterion": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"evidence": {
"maxItems": 20,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
}
},
"required": [
"criterion",
"evidence"
],
"additionalProperties": false
}
},
"general": {
"maxItems": 20,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"uncovered": {
"maxItems": 20,
"type": "array",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"stale": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"evidence": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"why": {
"type": "string",
"enum": [
"before_previous_revision",
"older_than_7_days"
]
}
},
"required": [
"evidence",
"why"
],
"additionalProperties": false
}
},
"complete": {
"type": "boolean"
}
},
"required": [
"coverage",
"general",
"uncovered",
"stale",
"complete"
],
"additionalProperties": false
},
"lineage": {
"anyOf": [
{
"type": "object",
"properties": {
"cause": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "owner_message"
},
"message_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"author": {
"type": "string",
"maxLength": 39,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
}
},
"required": [
"kind",
"message_id",
"author"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "task"
},
"task_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"basis": {
"type": "string",
"enum": [
"same_owner",
"rule",
"approval"
]
},
"rule_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
{
"type": "null"
}
]
},
"approval_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
{
"type": "null"
}
]
}
},
"required": [
"kind",
"task_id",
"basis",
"rule_id",
"approval_id"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "none"
}
},
"required": [
"kind"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "owner_schedule"
},
"schedule_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"task_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"owner": {
"type": "string",
"maxLength": 39,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
}
},
"required": [
"kind",
"schedule_id",
"version",
"task_id",
"owner"
],
"additionalProperties": false
}
]
},
"context": {
"maxItems": 50,
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "packet"
},
"task_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
}
},
"required": [
"kind",
"task_id",
"sha256"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "memory_fact"
},
"key": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
}
},
"required": [
"kind",
"key",
"sha256"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "checkpoint"
},
"task_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"checkpoint_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
"sha256": {
"type": "string",
"pattern": "^[0-9a-f]{64}$"
}
},
"required": [
"kind",
"task_id",
"checkpoint_id",
"sha256"
],
"additionalProperties": false
}
]
}
},
"recorded_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": [
"cause",
"context",
"recorded_at"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"provenance_status": {
"type": "string",
"enum": [
"claimed",
"attested"
]
}
},
"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
}
},
"needs_answer": {
"type": "boolean"
}
},
"required": [
"progress",
"decisions",
"files_touched",
"next_steps",
"open_questions"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"latest_checkpoint_by": {
"anyOf": [
{
"type": "object",
"properties": {
"agent": {
"type": "string",
"maxLength": 79,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"provenance": {
"type": "string",
"const": "agent_generated"
},
"handed_back": {
"type": "boolean"
}
},
"required": [
"agent",
"provenance",
"handed_back"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"parent_task_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
{
"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)))$"
},
"requested_by": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "person"
},
"handle": {
"type": "string",
"maxLength": 39,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"erased": {
"type": "boolean",
"const": true
}
},
"required": [
"kind",
"handle"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "agent"
},
"agent_id": {
"type": "string",
"maxLength": 79,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"erased": {
"type": "boolean",
"const": true
}
},
"required": [
"kind",
"agent_id"
],
"additionalProperties": false
}
]
},
"origin_message_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
{
"type": "null"
}
]
},
"route": {
"type": "object",
"properties": {
"via": {
"type": "string",
"enum": [
"handoff",
"request_capability"
]
},
"capability": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"mcp",
"repo",
"deploy",
"data",
"other"
]
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"kind",
"name"
],
"additionalProperties": false
}
},
"required": [
"via"
],
"additionalProperties": false
},
"display_title": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
]
},
"turn_budget": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 100
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"project",
"state",
"waiting_on",
"requester",
"assignee",
"packet",
"result",
"latest_checkpoint",
"parent_task_id",
"created_at",
"updated_at"
],
"additionalProperties": false
}
},
"required": [
"task"
],
"additionalProperties": false
}Packet preview and clarification tools are planned. They are not part of the available catalog.