---
id: daily-google-agents-cli-adk-code
name: "google-agents-cli-adk-code"
url: https://skills.yangsir.net/skill/daily-google-agents-cli-adk-code
author: google
domain: ai-dev-tools-workflow
tags: ["ai-agents", "cli", "automation", "code-reference"]
install_count: 8700
rating: 4.50 (16 reviews)
github: https://github.com/google/agents-cli
---

# google-agents-cli-adk-code

> ADK 代码开发速查表，提供 API 参考、代码模式和最佳实践，加速 AI Agent 开发

**Stats**: 8,700 installs · 4.5/5 (16 reviews)

## Before / After 对比

### API 查询效率

**Before**:

手动翻阅官方文档和 GitHub 示例，查找 API 参数和用法，平均每次需要 10-15 分钟，容易遗漏重要参数

**After**:

直接查询速查表获取 API 参数、代码示例和最佳实践，30 秒内找到所需信息，包含常见陷阱提示

| Metric | Before | After | Change |
|---|---|---|---|
| 查询时间 | 12分钟 | 0.5分钟 | -96% |

## Readme

# google-agents-cli-adk-code

# ADK Cheatsheet

**Before using this skill**, activate `/google-agents-cli-workflow` first — it contains the required development phases and scaffolding steps.

## Prerequisites

- Run `agents-cli info` — if it shows project config, skip to the cheatsheet below

- If no project exists: run `agents-cli scaffold create <name>`

- If user has existing code: run `agents-cli scaffold enhance .`

Do NOT write agent code until a project is scaffolded.

**Python only for now.** This cheatsheet currently covers the Python ADK SDK.
Support for other languages is coming soon.

## Quick Reference — Most Common Patterns

### Agent Creation

```
from google.adk.agents import Agent

root_agent = Agent(
    name="my_agent",
    model="gemini-flash-latest",
    instruction="You are a helpful assistant that ...",
    tools=[my_tool],
)

```

**NEVER change an existing agent's `model=` value unless the user explicitly asks.** If a Gemini model returns a 404, it's almost always a `GOOGLE_CLOUD_LOCATION` issue — run the listing command to verify availability before changing anything. For model docs, fetch `https://adk.dev/agents/models/google-gemini/index.md`.

```
uv run --with google-genai python -c "
from google import genai
client = genai.Client(vertexai=True, location='global')
for m in client.models.list(): print(m.name)
"

```

### Basic Tool

```
from google.adk.tools import FunctionTool

def get_weather(city: str) -> dict:
    """Get current weather for a city."""
    return {"city": city, "temp": "22°C", "condition": "sunny"}

weather_tool = FunctionTool(func=get_weather)

```

**ADK built-in tool imports:** Import the tool instance, not the module.

```
from google.adk.tools.load_web_page import load_web_page  # CORRECT
from google.adk.tools import load_web_page                 # WRONG

```

### Simple Callback

```
from google.adk.agents.callback_context import CallbackContext

async def initialize_state(callback_context: CallbackContext) -> None:
    state = callback_context.state
    if "history" not in state:
        state["history"] = []

root_agent = Agent(
    name="my_agent",
    model="gemini-flash-latest",
    instruction="...",
    before_agent_callback=initialize_state,
)

```

## Reference Files

File
When to read

`references/adk-python.md`
ADK Python API — agents, tools, callbacks, plugins, state, artifacts, context caching, session rewind

`references/adk-2.0.md`
**ADK 2.0 Workflow API (experimental pre-GA, opt-in)** — graph-based workflows, nodes, edges, HITL, parallel processing

### ADK 2.0 Workflows — Opt-in

**The Workflow API is experimental, pre-GA (ADK 2.0).** Do NOT recommend it by default.

**Before suggesting workflow patterns**, explain the following to the user and ask if they want to proceed:

- **What it is**: ADK 2.0 introduces a graph-based Workflow API — nodes (functions, LLM agents, tools) connected by edges with conditional routing, fan-out/fan-in parallelism, and human-in-the-loop interrupts.

- **When it helps**: Complex multi-step pipelines needing deterministic control flow, parallel processing of list items, structured approval gates, or retry logic — cases where SequentialAgent/ParallelAgent/LoopAgent feel limiting.

- **Risks**: Pre-GA — APIs may change before GA. Requires `google-adk >= 2.0.0` and **Python >= 3.11**. Incompatible with Live Streaming. Scaffolded projects need `pyproject.toml` changes before upgrade — see the reference file for step-by-step instructions.

**Only read `references/adk-2.0.md` after the user explicitly opts in.** If they decline or are unsure, use the standard ADK 1.x orchestration patterns from `references/adk-python.md` (SequentialAgent, ParallelAgent, LoopAgent, BaseAgent).

## ADK Documentation

For the ADK docs index (titles and URLs for fetching documentation pages), use `curl https://adk.dev/llms.txt`.

## Related Skills

- `/google-agents-cli-workflow` — Development workflow, coding guidelines, and operational rules

- `/google-agents-cli-scaffold` — Project creation and enhancement with `agents-cli scaffold create` / `scaffold enhance`

- `/google-agents-cli-eval` — Evaluation methodology, evalset schema, and the eval-fix loop

- `/google-agents-cli-deploy` — Deployment targets, CI/CD pipelines, and production workflows

Weekly Installs903Repository[google/agents-cli](https://github.com/google/agents-cli)GitHub Stars694First SeenTodaySecurity Audits[Gen Agent Trust HubPass](/google/agents-cli/google-agents-cli-adk-code/security/agent-trust-hub)[SocketPass](/google/agents-cli/google-agents-cli-adk-code/security/socket)[SnykWarn](/google/agents-cli/google-agents-cli-adk-code/security/snyk)

---
*Source: https://skills.yangsir.net/skill/daily-google-agents-cli-adk-code*
*Markdown mirror: https://skills.yangsir.net/api/skill/daily-google-agents-cli-adk-code/markdown*