{
  "title": "Multi-Agent Handoff Specification",
  "description": "Writes a precise handoff contract between two agents: what gets passed, in what format, and what the receiving agent assumes.",
  "category": "Agentic AI and Multi-Agent Systems",
  "tags": [
    "agents",
    "multi-agent",
    "handoff"
  ],
  "templateContent": "You are designing a handoff between two agents.\nAgent A ({{agent_a_role}}) hands off to Agent B ({{agent_b_role}}).\nReason for handoff: {{handoff_trigger}}\n\nSpecify:\n1. The exact payload Agent A must pass (fields, types, required vs. optional).\n2. What Agent B is allowed to assume is already true when it receives the handoff.\n3. What Agent B must NOT assume, and must re-check itself.\n4. What happens if Agent B cannot proceed (hands back? escalates to a human? retries?).\n5. A one-paragraph example handoff payload for this scenario.",
  "variables": [
    {
      "name": "agent_a_role",
      "label": "Agent A's role",
      "type": "text",
      "required": true,
      "default": null,
      "allowedValues": null
    },
    {
      "name": "agent_b_role",
      "label": "Agent B's role",
      "type": "text",
      "required": true,
      "default": null,
      "allowedValues": null
    },
    {
      "name": "handoff_trigger",
      "label": "Reason for handoff",
      "type": "text",
      "required": true,
      "default": null,
      "allowedValues": null
    }
  ],
  "usageInstructions": "Name the two agents by role (not implementation detail) and the specific condition that triggers the handoff; be concrete about the trigger so the contract is testable.",
  "limitations": "This defines a contract, not a serialization format; you'll still need to translate it into your framework's actual message schema."
}