[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7CWC72XX5PFNJJ71M4Q8ZAR":3,"skill-same:01M7CWC72XX5PFNJJ71M4Q8ZAR":77},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":14,"repositoryHtmlUrl":29,"repositoryHomepageUrl":6,"ownerHtmlUrl":30,"ownerBlogUrl":6,"ownerDescription":31,"updatedAt":32,"install":33,"resources":46},"01M7CWC72XX5PFNJJ71M4Q8ZAR","google-adk-python",null,"Build AI agents with Google ADK Python. Multi-agent systems, A2A protocol, MCP tools, workflow agents, state\u002Fmemory, callbacks\u002Fplugins, Vertex AI deployment, evaluation.","haidonglethqb\u002FBAHAU","haidonglethqb","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F115625430?v=4","01M7CW8M42R8EJ7G0P4XPYEE5D","HAI","01M7CW8M550DFW4TEHPTGEA1S8",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgoogle-adk-python\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: google-adk-python\ndescription: \"Build AI agents with Google ADK Python. Multi-agent systems, A2A protocol, MCP tools, workflow agents, state\u002Fmemory, callbacks\u002Fplugins, Vertex AI deployment, evaluation.\"\nlicense: Apache-2.0\nversion: 2.0.0\nargument-hint: \"[agent or feature]\"\n---\n\n# Google ADK Python Skill\n\nExpert guide for Google's Agent Development Kit (ADK) Python — open-source, code-first toolkit for building, evaluating, and deploying AI agents. Optimized for Gemini, model-agnostic by design.\n\n## When to Activate\n\n- Build single or multi-agent systems with tool integration\n- Implement A2A protocol for remote agent communication\n- Integrate MCP servers as agent tools\n- Use workflow agents (sequential, parallel, loop) for pipelines\n- Manage sessions, state, memory, and artifacts\n- Add callbacks, plugins, or observability hooks\n- Deploy to Cloud Run, Vertex AI Agent Engine, or GKE\n- Evaluate agents with `adk eval` framework\n\n## Agent Structure Convention (Required)\n\n```\nmy_agent\u002F\n├── __init__.py   # MUST: from . import agent\n└── agent.py      # MUST: root_agent = Agent(...) OR app = App(...)\n```\n\n## Quick Start\n\n```bash\npip install google-adk          # stable (weekly releases)\nuv sync --all-extras            # dev setup (uv required, Python 3.10+, 3.11+ recommended)\n```\n\n```python\nfrom google.adk import Agent\n\nroot_agent = Agent(\n    name=\"assistant\",\n    model=\"gemini-2.5-flash\",\n    instruction=\"You are a helpful assistant.\",\n    description=\"General assistant agent.\",\n    tools=[get_weather],\n)\n```\n\n## App Pattern (Production)\n\n```python\nfrom google.adk import Agent\nfrom google.adk.apps import App\nfrom google.adk.apps.app import EventsCompactionConfig\nfrom google.adk.plugins.save_files_as_artifacts_plugin import SaveFilesAsArtifactsPlugin\n\napp = App(\n    name=\"my_app\",\n    root_agent=Agent(name=\"my_agent\", model=\"gemini-2.5-flash\", ...),\n    plugins=[SaveFilesAsArtifactsPlugin()],\n    events_compaction_config=EventsCompactionConfig(compaction_interval=2),\n)\n```\n\nUse `App` when needing plugins, event compaction, or custom lifecycle management.\n\n## CLI Tools\n\n| Command | Purpose |\n|---------|---------|\n| `adk web \u003Cagents_dir>` | Dev UI (recommended for development) |\n| `adk run \u003Cagent_dir>` | Interactive CLI testing |\n| `adk api_server \u003Cagents_dir>` | FastAPI production server |\n| `adk eval \u003Cagent> \u003Cevalset.json>` | Run evaluation suite |\n\n## Agent Types\n\n| Type | Use Case |\n|------|----------|\n| `Agent` \u002F `LlmAgent` | Dynamic routing, tool use, reasoning |\n| `SequentialAgent` | Fixed-order pipeline |\n| `ParallelAgent` | Concurrent execution |\n| `LoopAgent` | Iterative processing |\n| `RemoteA2aAgent` | Remote agent via A2A protocol |\n\n## Key APIs\n\n| Feature | API |\n|---------|-----|\n| State | `tool_context.state[key] = value` |\n| Artifacts | `tool_context.save_artifact(name, part)` |\n| Callbacks | `before_agent_callback`, `after_model_callback`, etc. |\n| MCP Tools | `MCPToolset(connection_params=StdioConnectionParams(...))` |\n| Sub-agents | `Agent(..., sub_agents=[agent1, agent2])` |\n| Human-in-loop | `LongRunningFunctionTool(func=my_func)` |\n| Plugins | `App(..., plugins=[MyPlugin()])` |\n\n## Model Support\n\nLatest: `gemini-2.5-flash` (default), `gemini-2.5-pro`, `gemini-2.0-flash` (sunsets Mar 2026)\nPreview: `gemini-3-flash-preview`, `gemini-3-pro-preview`\nAlso: Anthropic Codex, Ollama, LiteLLM, vLLM, Model Garden\n\n## Best Practices\n\n1. **Code-first** — define agents in Python for version control and testing\n2. **Agent convention** — always use `root_agent` or `app` variable in `agent.py`\n3. **Modular agents** — specialize per domain, compose via `sub_agents`\n4. **Workflow selection** — workflow agents for predictable, LlmAgent for dynamic\n5. **State** — `ToolContext.state` for ephemeral, `MemoryService` for long-term\n6. **Safety** — callbacks for guardrails, tool confirmation for sensitive ops\n7. **Evaluate** — test with `adk eval` + evalset JSON before deployment\n\n## References\n\nDetailed guides (load as needed):\n\n- `references\u002Fagent-types-and-architecture.md` — Agent types, workflows, custom agents\n- `references\u002Ftools-and-mcp-integration.md` — Custom tools, MCP, tool filtering\n- `references\u002Fmulti-agent-and-a2a-protocol.md` — Sub-agents, A2A, coordinator patterns\n- `references\u002Fsessions-state-memory-artifacts.md` — State, artifacts, sessions, memory\n- `references\u002Fcallbacks-plugins-observability.md` — Lifecycle hooks, plugins, tracing\n- `references\u002Fevaluation-testing-cli.md` — adk eval, CLI, evalset format\n- `references\u002Fdeployment-cloud-run-vertex-gke.md` — Cloud Run, Vertex AI, GKE\n\n## External Resources\n\n- GitHub: https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-python\n- Docs: https:\u002F\u002Fgoogle.github.io\u002Fadk-docs\u002F\n- Samples: https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-python\u002Ftree\u002Fmain\u002Fcontributing\u002Fsamples\n- llms.txt: https:\u002F\u002Fraw.githubusercontent.com\u002Fgoogle\u002Fadk-python\u002Frefs\u002Fheads\u002Fmain\u002Fllms.txt\n","# Google ADK Python Skill\n\nExpert guide for Google's Agent Development Kit (ADK) Python — open-source, code-first toolkit for building, evaluating, and deploying AI agents. Optimized for Gemini, model-agnostic by design.\n\n## When to Activate\n\n- Build single or multi-agent systems with tool integration\n- Implement A2A protocol for remote agent communication\n- Integrate MCP servers as agent tools\n- Use workflow agents (sequential, parallel, loop) for pipelines\n- Manage sessions, state, memory, and artifacts\n- Add callbacks, plugins, or observability hooks\n- Deploy to Cloud Run, Vertex AI Agent Engine, or GKE\n- Evaluate agents with `adk eval` framework\n\n## Agent Structure Convention (Required)\n\n```\nmy_agent\u002F\n├── __init__.py   # MUST: from . import agent\n└── agent.py      # MUST: root_agent = Agent(...) OR app = App(...)\n```\n\n## Quick Start\n\n```bash\npip install google-adk          # stable (weekly releases)\nuv sync --all-extras            # dev setup (uv required, Python 3.10+, 3.11+ recommended)\n```\n\n```python\nfrom google.adk import Agent\n\nroot_agent = Agent(\n    name=\"assistant\",\n    model=\"gemini-2.5-flash\",\n    instruction=\"You are a helpful assistant.\",\n    description=\"General assistant agent.\",\n    tools=[get_weather],\n)\n```\n\n## App Pattern (Production)\n\n```python\nfrom google.adk import Agent\nfrom google.adk.apps import App\nfrom google.adk.apps.app import EventsCompactionConfig\nfrom google.adk.plugins.save_files_as_artifacts_plugin import SaveFilesAsArtifactsPlugin\n\napp = App(\n    name=\"my_app\",\n    root_agent=Agent(name=\"my_agent\", model=\"gemini-2.5-flash\", ...),\n    plugins=[SaveFilesAsArtifactsPlugin()],\n    events_compaction_config=EventsCompactionConfig(compaction_interval=2),\n)\n```\n\nUse `App` when needing plugins, event compaction, or custom lifecycle management.\n\n## CLI Tools\n\n| Command | Purpose |\n|---------|---------|\n| `adk web \u003Cagents_dir>` | Dev UI (recommended for development) |\n| `adk run \u003Cagent_dir>` | Interactive CLI testing |\n| `adk api_server \u003Cagents_dir>` | FastAPI production server |\n| `adk eval \u003Cagent> \u003Cevalset.json>` | Run evaluation suite |\n\n## Agent Types\n\n| Type | Use Case |\n|------|----------|\n| `Agent` \u002F `LlmAgent` | Dynamic routing, tool use, reasoning |\n| `SequentialAgent` | Fixed-order pipeline |\n| `ParallelAgent` | Concurrent execution |\n| `LoopAgent` | Iterative processing |\n| `RemoteA2aAgent` | Remote agent via A2A protocol |\n\n## Key APIs\n\n| Feature | API |\n|---------|-----|\n| State | `tool_context.state[key] = value` |\n| Artifacts | `tool_context.save_artifact(name, part)` |\n| Callbacks | `before_agent_callback`, `after_model_callback`, etc. |\n| MCP Tools | `MCPToolset(connection_params=StdioConnectionParams(...))` |\n| Sub-agents | `Agent(..., sub_agents=[agent1, agent2])` |\n| Human-in-loop | `LongRunningFunctionTool(func=my_func)` |\n| Plugins | `App(..., plugins=[MyPlugin()])` |\n\n## Model Support\n\nLatest: `gemini-2.5-flash` (default), `gemini-2.5-pro`, `gemini-2.0-flash` (sunsets Mar 2026)\nPreview: `gemini-3-flash-preview`, `gemini-3-pro-preview`\nAlso: Anthropic Codex, Ollama, LiteLLM, vLLM, Model Garden\n\n## Best Practices\n\n1. **Code-first** — define agents in Python for version control and testing\n2. **Agent convention** — always use `root_agent` or `app` variable in `agent.py`\n3. **Modular agents** — specialize per domain, compose via `sub_agents`\n4. **Workflow selection** — workflow agents for predictable, LlmAgent for dynamic\n5. **State** — `ToolContext.state` for ephemeral, `MemoryService` for long-term\n6. **Safety** — callbacks for guardrails, tool confirmation for sensitive ops\n7. **Evaluate** — test with `adk eval` + evalset JSON before deployment\n\n## References\n\nDetailed guides (load as needed):\n\n- `references\u002Fagent-types-and-architecture.md` — Agent types, workflows, custom agents\n- `references\u002Ftools-and-mcp-integration.md` — Custom tools, MCP, tool filtering\n- `references\u002Fmulti-agent-and-a2a-protocol.md` — Sub-agents, A2A, coordinator patterns\n- `references\u002Fsessions-state-memory-artifacts.md` — State, artifacts, sessions, memory\n- `references\u002Fcallbacks-plugins-observability.md` — Lifecycle hooks, plugins, tracing\n- `references\u002Fevaluation-testing-cli.md` — adk eval, CLI, evalset format\n- `references\u002Fdeployment-cloud-run-vertex-gke.md` — Cloud Run, Vertex AI, GKE\n\n## External Resources\n\n- GitHub: https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-python\n- Docs: https:\u002F\u002Fgoogle.github.io\u002Fadk-docs\u002F\n- Samples: https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fadk-python\u002Ftree\u002Fmain\u002Fcontributing\u002Fsamples\n- llms.txt: https:\u002F\u002Fraw.githubusercontent.com\u002Fgoogle\u002Fadk-python\u002Frefs\u002Fheads\u002Fmain\u002Fllms.txt\n",{"name":5,"license":15,"version":24,"description":7,"argument-hint":25},"2.0.0","[agent or feature]","main","82da5963278d597455c869ad91cfc05b2b607e75",".agents\u002Fskills\u002Fgoogle-adk-python","https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU","https:\u002F\u002Fgithub.com\u002Fhaidonglethqb","Study at University of information technology - Viet Nam National University","2026-11-12 17:30:31",{"source":8,"skillName":5,"commands":34,"prompt":44,"zipAvailable":45},[35,38,41],{"tool":36,"command":37},"npx","npx skills add haidonglethqb\u002FBAHAU --skill google-adk-python",{"tool":39,"command":40},"bunx","bunx skills add haidonglethqb\u002FBAHAU --skill google-adk-python",{"tool":42,"command":43},"pnpm","pnpm dlx skills add haidonglethqb\u002FBAHAU --skill google-adk-python","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgoogle-adk-python\u002FSKILL.md",true,[47,53,57,61,65,69,73],{"path":48,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":51,"sourceHtmlUrl":52},"references\u002Fagent-types-and-architecture.md","REFERENCE","参考文档",2979,"https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgoogle-adk-python\u002Freferences\u002Fagent-types-and-architecture.md",{"path":54,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":55,"sourceHtmlUrl":56},"references\u002Fcallbacks-plugins-observability.md",3556,"https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgoogle-adk-python\u002Freferences\u002Fcallbacks-plugins-observability.md",{"path":58,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":59,"sourceHtmlUrl":60},"references\u002Fdeployment-cloud-run-vertex-gke.md",3442,"https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgoogle-adk-python\u002Freferences\u002Fdeployment-cloud-run-vertex-gke.md",{"path":62,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":63,"sourceHtmlUrl":64},"references\u002Fevaluation-testing-cli.md",2671,"https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgoogle-adk-python\u002Freferences\u002Fevaluation-testing-cli.md",{"path":66,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":67,"sourceHtmlUrl":68},"references\u002Fmulti-agent-and-a2a-protocol.md",3850,"https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgoogle-adk-python\u002Freferences\u002Fmulti-agent-and-a2a-protocol.md",{"path":70,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":71,"sourceHtmlUrl":72},"references\u002Fsessions-state-memory-artifacts.md",4317,"https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgoogle-adk-python\u002Freferences\u002Fsessions-state-memory-artifacts.md",{"path":74,"resourceType":49,"resourceTypeDesc":50,"sizeBytes":75,"sourceHtmlUrl":76},"references\u002Ftools-and-mcp-integration.md",3963,"https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgoogle-adk-python\u002Freferences\u002Ftools-and-mcp-integration.md",[78,85,93,101,108,116],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":19},"01M7CX33YDC6KGJ0E8BXAZPJ5F","ck:web-testing","Web testing with Playwright, Vitest, k6. E2E\u002Funit\u002Fintegration\u002Fload\u002Fsecurity\u002Fvisual\u002Fa11y testing. Use for test automation, flakiness, Core Web Vitals, mobile gestures, cross-browser.","https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.qwen\u002Fskills\u002Fweb-testing\u002FSKILL.md",[],[],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":19},"01M7CX2ZQD1ZYDCPDXV9RT172S","ck:web-frameworks","Build with Next.js (App Router, RSC, SSR, ISR), Turborepo monorepos. Use for React apps, server rendering, build optimization, caching strategies, shared dependencies.","MIT","https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.qwen\u002Fskills\u002Fweb-frameworks\u002FSKILL.md",[],[],{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":97,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":19},"01M7CX2AAFYCVRJVP668GQGWEG","ck:ui-styling","Style UIs with shadcn\u002Fui components (Radix UI + Tailwind CSS). Use for accessible components, themes, dark mode, responsive layouts, design systems, color customization.","https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.qwen\u002Fskills\u002Fui-styling\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.qwen\u002Fskills\u002Fui-styling\u002FSKILL.md",[],[],{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":107,"publishedAt":19},"01M7CX23C6RSSS5YQZTT9C86GC","ck:threejs","Build 3D web apps with Three.js (WebGL\u002FWebGPU). 556 searchable examples, 60 API classes, 20 use cases. Actions: create 3D scene, load model, add animation, implement physics, build VR\u002FXR. Topics: GLTF loader, PBR materials, particle effects, shadows, post-processing, compute shaders, TSL. Integrations: WebGPU, physics engines, spatial audio.","https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.qwen\u002Fskills\u002Fthreejs\u002FSKILL.md",[],[],{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":112,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":19},"01M7CX1CJVKAQJHM6VSEFMNCHX","ck:skill-creator","Create or update Claude skills optimized for Skillmark benchmarks. Use for new skills, skill scripts, references, benchmark optimization, extending Claude's capabilities.","https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.qwen\u002Fskills\u002Fskill-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.qwen\u002Fskills\u002Fskill-creator\u002FSKILL.md",[],[],{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":89,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":19},"01M7CX115W0PP7J9CDDZZQGH0M","ck:sequential-thinking","Apply step-by-step analysis for complex problems with revision capability. Use for multi-step reasoning, hypothesis verification, adaptive planning, problem decomposition, course correction.","https:\u002F\u002Fgithub.com\u002Fhaidonglethqb\u002FBAHAU\u002Fblob\u002Fmain\u002F.qwen\u002Fskills\u002Fsequential-thinking\u002FSKILL.md",[],[]]