An Agent Skill for building single-agent and multi-agent systems with Google's Agent Development Kit (ADK) in Python, Java, Go, and TypeScript.
This skill gives your coding agent deep knowledge of ADK architecture, patterns, and best practices -- covering agent types, tools, callbacks, state management, multi-agent orchestration, testing, and deployment across all supported languages.
adk-skill/
├── SKILL.md # Core instructions (500 lines)
└── references/
├── a2a-protocol.md # A2A protocol: expose, consume, agent cards
├── design-patterns.md # Agent design patterns & best practices
├── tools-reference.md # FunctionTool, MCP, Toolbox, RAG, SkillToolset, API Registry
├── advanced-patterns.md # Multi-agent, App config, plugins, AG-UI, streaming, multi-model
├── evaluation.md # Eval data formats, 8 metrics, user simulation
├── troubleshooting.md # Common errors, debugging, performance tips
└── multi-language.md # Java, Go, TypeScript patterns
SKILL.md covers project structure, all 4 agent types (LlmAgent, SequentialAgent, ParallelAgent, LoopAgent), function tools, AgentTool, MCP integration, A2A remote agents, callbacks, state management, structured output, testing with InMemoryRunner, App runtime config (context compaction, resumability), plugins, streaming/Live API, SkillToolset, multi-model support (Gemini 3, Claude, Ollama, LiteLLM), design patterns with key rules, decision guides, and links to external documentation.
Reference files provide advanced patterns loaded on demand:
- a2a-protocol.md -- A2A (Agent-to-Agent) protocol: exposing agents via
to_a2a()andadk api_server, consuming withRemoteA2aAgent, agent cards, Go patterns, metadata propagation, testing, troubleshooting (validated with integration tests) - design-patterns.md -- 15 agent design patterns (sequential pipeline, fan-out/fan-in, reflection, routing, planning, error handling, HITL, guardrails, resource optimization, reasoning, context engineering, prompting), universal anti-patterns table, multi-agent collaboration models, state management rules, memory architecture
- tools-reference.md -- FunctionTool, ToolboxToolset, MCP connections, RAG retrieval, SkillToolset (Agent Skills loading), APIRegistryToolset, Cloud Pub/Sub, OpenAPI tools, long-running tools, best practices
- advanced-patterns.md -- App object (context compaction, resumability), plugins (BasePlugin, global lifecycle hooks), session rewind, AG-UI integration (CopilotKit), Interactions API, multi-model support (Claude, Ollama, LiteLLM, vLLM), hierarchical workflows, agent transfer, deployment, anti-patterns
- evaluation.md -- eval data formats (EvalSet/EvalCase), all 8 built-in metrics, tool trajectory matching, rubric-based evaluation, user simulation, pytest integration, CLI and web UI, TypeScript support
- troubleshooting.md -- setup errors (missing
__init__.py,root_agent, API keys), runtime issues (empty responses, state sharing, LoopAgent), context/session errors (compaction, rewind, resume, rate limiting), A2A errors, MCP integration, testing tips, performance - multi-language.md -- Java (builder pattern, @Schema annotations, Maven), Go (struct config, launcher), TypeScript (Zod schemas, npm), cross-language tool comparison
The skill also references the official ADK documentation and ADK samples for always up-to-date API details.
Install across all your agents with a single command using the Skills CLI:
npx skills add miticojo/adk-skillThe CLI auto-detects installed agents (Claude Code, Cursor, Windsurf, OpenCode, etc.) and installs the skill to each one.
claude mcp add-skill https://github.com/miticojo/adk-skill/tree/main/adk-skillOr manually:
git clone https://github.com/miticojo/adk-skill.git
cp -r adk-skill/adk-skill ~/.claude/skills/cp -r adk-skill/adk-skill ~/.gemini/antigravity/skills/Or for workspace-only scope, copy to <your-project>/.agent/skills/. See the Antigravity skills docs for details.
cp -r adk-skill/adk-skill ~/.gemini/skills/cp -r adk-skill/adk-skill ~/.config/opencode/skills/cp -r adk-skill/adk-skill ~/.codex/skills/Copy the adk-skill/ folder into your project's .cursor/skills/, .windsurf/skills/, or equivalent agent skills directory. The skill follows the open Agent Skills specification and works with any compatible agent.
Just copy the adk-skill/ folder wherever your agent reads skills from. The only required file is SKILL.md -- the references/ folder provides additional context loaded on demand.
The skill activates when you mention:
- ADK, google-adk, Google Agent Development Kit
- Building AI agents with Gemini in Python, Java, Go, or TypeScript
- Multi-agent architectures or agent orchestration
- Sequential, parallel, or loop agent workflows
- Agent tools, callbacks, state management
- Deploying agents, writing agent tests
- A2A protocol, remote agents, agent-to-agent communication
- Integrating MCP tools or Agent Skills with ADK
- Streaming, Live API, AG-UI, plugins
| Area | What You Get |
|---|---|
| Languages | Python, Java, Go, TypeScript with language-specific patterns |
| Project Setup | Directory structure, __init__.py, root_agent, pyproject.toml |
| Agent Types | LlmAgent, SequentialAgent, ParallelAgent, LoopAgent, composition |
| Tools | Function tools, ToolContext, AgentTool, google_search, MCPToolset, SkillToolset, RemoteA2aAgent |
| Callbacks & Plugins | Agent/tool/model lifecycle hooks; BasePlugin for global cross-cutting concerns |
| State & Sessions | Session state, scopes (app:, user:, temp:), context compaction, session rewind, resumability |
| Output | Pydantic output_schema + output_key for structured data |
| Testing | InMemoryRunner with pytest |
| Evaluation | 8 metrics, adk eval CLI, pytest, web UI, user simulation |
| Design Patterns | Sequential pipeline, fan-out/fan-in, reflection, routing, planning, error handling, HITL, guardrails, resource tiering, reasoning, context engineering, 12 anti-patterns |
| Patterns | Pipeline+validation, coordinator+specialists, parallel research, guardrails |
| A2A Protocol | Expose via to_a2a(), consume via RemoteA2aAgent, agent cards, Python + Go |
| Models | Gemini 2.5/3, Claude, Ollama, LiteLLM, vLLM; Interactions API |
| Streaming | Gemini Live API, LiveRequestQueue, bidirectional audio/video |
| UI Integration | AG-UI protocol, CopilotKit, shared state, generative UI |
| Deployment | adk run/web, Cloud Run, Vertex AI, FastAPI |
| Safety | before_model guardrails, Plugins, LlmAsAJudge, ModelArmor |
| External Docs | Links to official ADK docs and Google sample agents |
Tested by asking the same ADK architecture question (multi-source parallel research with validation, error handling, and user review) under three conditions:
| Condition | Score | vs Baseline |
|---|---|---|
| No skill | 33/100 | -- |
| Skill without design patterns | 60/100 | +82% |
| Skill with design patterns | 86/100 | +161% |
Largest improvements from design patterns: architecture correctness (4 → 9), anti-pattern avoidance (2 → 9), structured output (1 → 9). The design patterns reference transformed outputs from single "God Agent" implementations into properly composed multi-agent pipelines with fan-out/fan-in, layered fallback, model tiering, and structured data flow.
MIT