2.13.0-beta.20). Features may change before the next stable release.Switch to stable →Skills
Design Google ADK Python agents with ak:google-adk-python
Use ak:google-adk-python to design, implement, evaluate, and prepare Google ADK Python agents while keeping deployment and provider effects explicit.
Use ak:google-adk-python when the deliverable is a Python agent or agent
system built with Google's Agent Development Kit. The Skill covers agent and
workflow architecture, tools and MCP, A2A communication, sessions and memory,
callbacks and plugins, evaluation, and deployment preparation.
The packaged guidance is not a framework lock. ADK releases and provider APIs
can change independently of the Kit, so verify the installed google-adk
version and its matching official documentation before relying on an example.
Choose ak:google-adk-python for ADK work
Use ak:google-adk-python when
- You need a single
Agentor a sequential, parallel, or loop workflow. - The agent needs custom tools, filtered MCP tools, sub-agents, sessions, state, memory, artifacts, callbacks, plugins, or observability.
- You need an evaluation plan or deployment-ready design for Cloud Run, Vertex AI Agent Engine, or GKE.
- You can define the provider, data boundary, tool authority, and measurable behavior the agent must satisfy.
Choose another workflow when
- You have not selected Google ADK or Python as the implementation framework.
- You only need to consume an existing MCP tool from the current assistant.
- You want a conceptual agent brief without code or environment changes.
- You expect the Skill to choose a current model, deployment price, region, or platform configuration without live verification.
Prepare the Python project
Before you start:
- Complete Onboarding and install Marketing Kit for the current runtime and scope.
- Use Python 3.10 or later; the packaged guidance recommends 3.11 or later for development. Follow the project's existing environment and lockfile.
- Confirm whether
google-adkis already pinned. Installing or upgrading it changes the environment and may change APIs; approve that separately. - Record the installed framework version and inspect its command help and documentation before copying a packaged example.
- Define provider credentials, project and region, tool permissions, storage, network exposure, and data-retention constraints without placing secrets in source or prompts.
- For a runnable ADK package, preserve the convention that
__init__.pyimports the agent module andagent.pyexportsroot_agentorapp.
| Runtime | Invocation | Availability boundary |
|---|---|---|
| Claude Code | /ak:google-adk-python ... | The Skill can inspect and edit the project within Claude Code permissions. Provider and deployment CLIs remain separate external authorities. |
| Cursor | /ak:google-adk-python ... | Slash invocation is user-verified. Tooling, Hooks, and environment access may differ from Claude Code. |
| Codex | $ak:google-adk-python ... | Native discovery exposes the Skill. Python, MCP, cloud CLI, and network use still depend on the Codex session and sandbox. |
See Runtime adapters for runtime differences.
Start with a bounded agent contract
/ak:google-adk-python Design a Python ADK agent in ./agents/brief-reviewer that reviews a supplied campaign brief, uses no network tools, exports root_agent, adds focused tests and an evaluation fixture, and does not install packages or deploy/ak:google-adk-python Design a Python ADK agent in ./agents/brief-reviewer that reviews a supplied campaign brief, uses no network tools, exports root_agent, adds focused tests and an evaluation fixture, and does not install packages or deploy$ak:google-adk-python Design a Python ADK agent in ./agents/brief-reviewer that reviews a supplied campaign brief, uses no network tools, exports root_agent, adds focused tests and an evaluation fixture, and does not install packages or deployFollow the ADK stages
- Confirm the contract. Define input, output, tool authority, provider, storage, privacy, latency or reliability constraints, and acceptance tests.
- Inspect the environment. Record Python and
google-adkversions, project structure, dependency manager, and available credentials without exposing secret values. - Choose the architecture. Use an LLM agent for dynamic routing or a sequential, parallel, or loop agent for predictable orchestration. Add sub-agents only when responsibilities are distinct.
- Implement the package convention. Export
root_agentorapp, keep tools focused, filter MCP tools, and select session, artifact, or memory services deliberately. - Add controls and evidence. Use callbacks or plugins for observable guardrails, then run focused tests and an evaluation set that measures the stated behavior.
- Prepare, do not assume, deployment. Produce deployment configuration or a runbook only after checking the installed SDK and platform. Execute cloud changes only under a separate approval.
Keep tool, provider, and cloud effects explicit
Implementation is not deployment authority
Package installation, model calls, MCP connections, A2A endpoints, persistent memory, artifact storage, container builds, and cloud deployment have different filesystem, network, data, account, and spend effects. Approve each required boundary separately.
Never hard-code provider keys or database credentials. Use the target platform's approved secret mechanism and least-privilege identities. A tool confirmation pattern is only useful when sensitive operations are actually gated; test denial and failure paths as well as the happy path.
Verify the outputs
A complete implementation should provide:
- The ADK package and the exported
root_agentorapp. - Recorded Python and
google-adkversions plus dependency changes. - Agent, tool, workflow, session, memory, artifact, and network boundaries.
- Focused tests and evaluation results tied to the acceptance criteria.
- Callback, plugin, or observability evidence where required.
- Deployment files or instructions clearly separated from any executed cloud mutation.
- Remaining provider, SDK-version, credential, model, region, or quota dependencies.
Troubleshoot and understand limits
| Symptom | Safe next step |
|---|---|
| Imports or examples do not match the installed SDK | Record google-adk version, consult matching command help and documentation, then adapt the example instead of forcing an upgrade. |
adk cannot discover the agent | Verify the package convention and that agent.py exports root_agent or app. |
| An MCP tool fails | Preserve the agent session and error evidence, verify the installed ADK behavior and server config, then decide whether an upgrade is warranted. |
| Evaluation is missing or unstable | Define a smaller deterministic fixture and explicit assertion before adding deployment work. |
| A cloud command needs credentials or project access | Stop and request separate authority for the exact account, project, region, secret path, and expected spend effect. |
| Model or platform settings are rejected | Verify the live provider or platform contract; do not substitute an unverified model or region. |
The Skill provides framework guidance, not a guarantee that every packaged API example matches every ADK release. It does not guarantee model availability, deployment success, performance, price, or provider compatibility. Continue with Marketing Agents to understand packaged roles.
Discover and call integrations with ak:use-mcp
Use ak:use-mcp to inspect runtime-native MCP tools or call configured servers through the bundled deterministic client.
Plan Claude Code setup with ak:claude-code
Use the Marketing Kit's ak:claude-code knowledge workflow for Claude Code setup, Skills, MCP, Hooks, plugins, IDEs, CI, enterprise controls, and troubleshooting.