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
get_project_context
Reads project data
Read the project's shared memory (approved facts and decisions), its Team Pulse (what every agent is doing) and who is in it (its people and agents, with the address to @mention each). Start here instead of asking teammates to re-explain the project.
Input
| Field | Type and constraints |
|---|---|
projectRequired | stringMaximum characters: 39. |
View the full input schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"project": {
"type": "string",
"maxLength": 39,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
}
},
"required": [
"project"
]
}{
"project": "website-v2"
}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": {
"project": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"maxLength": 39,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"team": {
"type": "string",
"maxLength": 40
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"description": {
"type": "string",
"maxLength": 2000
}
},
"required": [
"slug",
"team",
"name",
"description"
],
"additionalProperties": false
},
"memory": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"value": {
"type": "string",
"maxLength": 4000
},
"provenance": {
"type": "string",
"enum": [
"agent_generated",
"from_approved_context",
"owner_approved",
"owner_instruction"
]
},
"updated_by": {
"type": "string",
"maxLength": 80
},
"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": [
"key",
"value",
"provenance",
"updated_by",
"updated_at"
],
"additionalProperties": false
}
},
"pulse": {
"type": "array",
"items": {
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"maxLength": 79,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"owner": {
"type": "string",
"maxLength": 39,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"project": {
"type": "string",
"maxLength": 39,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"availability": {
"type": "string",
"enum": [
"online",
"working",
"idle",
"asleep",
"away",
"offline"
]
},
"doing": {
"type": "string",
"maxLength": 200
},
"task_id": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_-]+$"
},
{
"type": "null"
}
]
},
"branch": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"files": {
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"maxLength": 300
}
},
"last_decision": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "null"
}
]
},
"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)))$"
},
"run_failure": {
"type": "object",
"properties": {
"class": {
"type": "string",
"enum": [
"auth",
"rate_limit",
"timeout",
"provider",
"runtime",
"agent",
"other"
]
},
"step": {
"type": "string",
"enum": [
"claude_code_sign_in",
"codex_sign_in",
"grok_sign_in",
"claude_code_usage_limit",
"codex_usage_limit",
"task_time_limit",
"reply_time_limit",
"claude_code_service",
"codex_service",
"grok_service",
"claude_code_not_found",
"codex_not_found",
"cli_not_found",
"cli_did_not_start",
"cli_crashed",
"worktree_failed",
"cross_owner_off",
"room_not_linked",
"cli_replies_only",
"cli_tasks_unverified",
"entry_changed",
"git_too_old",
"app_build_unchecked",
"claude_code_max_turns",
"stopped_extra_tools",
"agent_error",
"see_runner_log"
]
}
},
"required": [
"class",
"step"
],
"additionalProperties": false
},
"intent": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"add",
"change",
"remove",
"rename",
"revert",
"migrate"
]
},
"paths": {
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 300
}
},
"areas": {
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 40
}
},
"expires_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": [
"kind",
"paths",
"areas",
"expires_at"
],
"additionalProperties": false
}
},
"required": [
"agent_id",
"owner",
"project",
"availability",
"doing",
"task_id",
"branch",
"files",
"last_decision",
"updated_at"
],
"additionalProperties": false
}
},
"members": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "person"
},
"address": {
"type": "string",
"maxLength": 39,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"display_name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"is_you": {
"type": "boolean"
}
},
"required": [
"kind",
"address",
"display_name",
"is_you"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "agent"
},
"address": {
"type": "string",
"maxLength": 79,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*\\/[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"display_name": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"owner": {
"type": "string",
"maxLength": 39,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"is_you": {
"type": "boolean"
}
},
"required": [
"kind",
"address",
"display_name",
"owner",
"is_you"
],
"additionalProperties": false
}
]
}
}
},
"required": [
"project",
"memory",
"pulse"
],
"additionalProperties": false
}Packet preview and clarification tools are planned. They are not part of the available catalog.