From a2a-multi-agent
Implements A2A multi-turn conversations with input-required state handling, context preservation, iterative refinement, and human-in-the-loop patterns for back-and-forth agent interactions.
npx claudepluginhub orcaqubits/agentic-commerce-skills-plugins --plugin a2a-multi-agentThis skill is limited to using the following tools:
**Fetch live docs**:
Acquire memory dumps from live systems/VMs and analyze with Volatility 3 for processes, networks, DLLs, injections in incident response or malware hunts.
Provides x86-64/ARM disassembly patterns, calling conventions, control flow recognition for static analysis of executables and compiled binaries.
Identifies anti-debugging checks like IsDebuggerPresent, NtQueryInformationProcess in Windows binaries; suggests bypasses via patches/hooks/scripts for malware analysis, CTFs, authorized RE.
Fetch live docs:
https://a2a-protocol.org/latest/specification/ for multi-turn and input-required handlingsite:github.com a2aproject A2A multi-turn input-required for multi-turn protocol detailssite:github.com a2aproject a2a-samples multi-turn for conversation examplesMulti-turn conversations allow agents to have iterative exchanges within a single task. The server agent can request more input from the client, creating a back-and-forth dialogue before reaching a final result.
The key mechanism for multi-turn is the input-required task state:
Client sends message → Task created (submitted)
Server processes → working
Server needs more info → input-required (with a message explaining what's needed)
Client sends follow-up → working (task continues with same taskId)
Server completes → completed
message/send or message/stream without taskIdinput-required if it needs clarificationinput-required state and a message explaining what's neededmessage/send with the same taskId and the requested informationWithin a multi-turn task:
taskIdAgent asks for clarification when the request is ambiguous:
User: "Book a flight"
Agent: (input-required) "Where are you flying from and to? What dates?"
User: "NYC to London, March 15-22"
Agent: (input-required) "I found 3 options. Which do you prefer? [options]"
User: "Option 2"
Agent: (completed) "Booked! Confirmation #ABC123"
Agent produces intermediate results and asks for feedback:
User: "Write a blog post about AI"
Agent: (input-required) "Here's an outline. Should I proceed? [outline]"
User: "Looks good, but add a section on safety"
Agent: (completed) "Here's the final post. [content]"
Agent defers to a human for decisions it can't make:
User: "Process this insurance claim"
Agent: (input-required) "This claim requires manager approval for amounts over $10,000. Please confirm."
User: "Approved"
Agent: (completed) "Claim processed and approved."
Agent collects required information step by step:
User: "Set up my account"
Agent: (input-required) "What's your email address?"
User: "user@example.com"
Agent: (input-required) "What subscription plan? [Basic/Pro/Enterprise]"
User: "Pro"
Agent: (completed) "Account created with Pro plan."
The server must:
The client must:
input-required and present the agent's message to the user (or auto-respond)taskIdinput-required — the client needs to know what to provideinput-required stateFetch the specification for exact multi-turn handling rules, message continuation semantics, and state transition constraints before implementing.