a2a-handoff
Installation
SKILL.md
A2A Handoff
Transfer the smallest complete state the receiving agent needs.
Native A2A
- Preserve existing
Task.idandcontextId. AMessage.taskIdreferences thatTask.id; surface identifier mismatches and let the native runtime assign missing identifiers. - Use the exact native
TaskStateenum insideTaskStatus; do not emit fallback aliases in native objects. - Use
Messagefor instructions, clarification, approval requests, or status. - Use
ArtifactwithPartvalues for task outputs; do not put a critical result only in a transientMessage. - Follow the host schema. A2A 1.0.0 is the semantic reference; this skill does not implement transport, discovery, authentication, streaming, push, or Agent Cards.
Choose the matching native state; do not use TASK_STATE_UNSPECIFIED when the lifecycle state is known:
TASK_STATE_SUBMITTED,TASK_STATE_WORKING;TASK_STATE_INPUT_REQUIRED,TASK_STATE_AUTH_REQUIRED;TASK_STATE_COMPLETED,TASK_STATE_FAILED,TASK_STATE_REJECTED,TASK_STATE_CANCELED.
Terminal states stay terminal. Completion requires the delegated objective and decisive outputs. Use TASK_STATE_INPUT_REQUIRED for missing product or task content: a choice, fact, or other required input. Use TASK_STATE_AUTH_REQUIRED when an operation lacks required human approval or authorization, or when authentication or credentials are missing. If the host lacks an equivalent state, keep a valid host state and describe the dependency in TaskStatus.message.