Agent skill
a2a-framework-integration
Integrate A2A with agent frameworks — Google ADK, LangGraph, CrewAI, AutoGen, and AWS Bedrock AgentCore. Use when connecting framework-built agents to the A2A protocol for inter-agent communication.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/a2a-framework-integration
SKILL.md
A2A Framework Integration
Before writing code
Fetch live docs:
- Fetch
https://a2a-protocol.org/latest/specification/for the protocol spec - Web-search
site:github.com a2aproject a2a-samplesfor framework integration examples - Web-search the specific framework's docs for A2A support:
site:google.github.io adk a2a agent-to-agentfor Google ADKsite:langchain-ai.github.io langgraph a2afor LangGraphsite:docs.crewai.com a2afor CrewAIsite:docs.aws.amazon.com bedrock agentcore a2afor AWS Bedrock
- Fetch SDK docs for framework adapter classes
Conceptual Architecture
Why Framework Integration
Most production agents are built using frameworks (LangGraph, CrewAI, ADK, etc.). A2A framework integration allows these agents to:
- Expose themselves as A2A servers (other agents can discover and call them)
- Call other agents as A2A clients (delegate work to specialist agents)
- Participate in multi-agent systems without rewriting framework-specific code
Google ADK (Agent Development Kit)
Google ADK has native A2A support since it was co-developed alongside A2A:
- ADK agents can be directly exposed as A2A servers
- ADK provides A2A client utilities for calling other agents
- Agent Cards are generated from ADK agent configuration
- Supports streaming, multi-turn, and push notifications
Integration approach: Use ADK's built-in A2A server/client utilities.
LangGraph / LangChain
LangGraph agents can be wrapped as A2A servers:
- The graph's invoke/stream methods map to
message/sendandmessage/stream - Graph state maps to A2A task state
- Interrupts in LangGraph map to
input-requiredin A2A
Integration approach: Use A2A SDK adapters or build a thin wrapper that translates between LangGraph's interface and A2A's JSON-RPC protocol.
CrewAI
CrewAI's crew-based multi-agent model can integrate with A2A:
- Individual crew members can be exposed as A2A agents
- Entire crews can be wrapped as a single A2A agent
- A2A enables cross-crew communication
Integration approach: Wrap CrewAI agents/crews with an A2A server that translates tasks to crew kickoffs.
AutoGen
Microsoft's AutoGen multi-agent framework:
- AutoGen agents can be wrapped as A2A servers
- AutoGen's conversation patterns map to A2A multi-turn
- Group chat can be exposed as a single A2A agent
Integration approach: Build adapters between AutoGen's message protocol and A2A.
AWS Bedrock AgentCore
AWS Bedrock has added A2A support:
- Bedrock agents can communicate via A2A
- AgentCore provides infrastructure for hosting A2A-compatible agents
- Integration with AWS IAM for authentication
Integration approach: Use Bedrock's A2A-compatible agent hosting and client utilities.
General Integration Pattern
Regardless of framework, the pattern is:
Exposing a framework agent as A2A server:
- Create an Agent Card describing the framework agent's capabilities
- Implement a thin A2A server that wraps the framework agent
- Map incoming A2A messages to framework input format
- Map framework output to A2A task results/artifacts
- Handle state mapping (framework states → A2A task states)
Using A2A agents from a framework:
- Fetch the target agent's Agent Card
- Create an A2A client in the framework's tool/action layer
- Map the framework's delegation pattern to A2A
message/sendormessage/stream - Handle A2A responses within the framework's processing flow
State Mapping Challenges
Different frameworks manage state differently:
- LangGraph: Graph state with checkpoints → A2A task state
- CrewAI: Crew execution state → A2A task state
- AutoGen: Conversation history → A2A message history
- ADK: Native A2A alignment (minimal mapping needed)
Best Practices
- Use the simplest integration pattern that works — don't over-abstract
- Test framework-specific edge cases (timeouts, retries, error handling)
- Document the state mapping between the framework and A2A
- Keep the adapter layer as thin as possible
- Check for official A2A adapters before building custom ones
- Handle framework-specific features that don't map cleanly to A2A (e.g., LangGraph branching)
- Version your adapters alongside framework version upgrades
Fetch the latest framework documentation and A2A SDK adapters before implementing integrations.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?