PluginBench
Rule

google adk

via PatrickJS/awesome-cursorrules

Google Agent Development Kit rules for building, deploying, and evaluating multi-agent systems with tools, memory, and artifacts.

What is google adk?

This rule provides best practices for designing agents, tools, sessions, memory, artifacts, evaluation, and deployment using Google's Agent Development Kit. Use it when building agent-based systems that need clear responsibility boundaries, safe tool integration, persistent state management, and production-ready observability.

  • Design focused agents with clear goals, personas, and tool sets; choose between LLM agents for reasoning and workflow agents for deterministic orchestration
  • Define narrow, typed tools with input validation, error handling, and explicit secret/credential management to prevent unsafe operations
  • Manage session state for conversation data and cross-session memory for retrieval, keeping state small and serializable
  • Store generated files, uploads, and binary data in artifacts with intentional versioning and references in state
  • Add tests for tool behavior, agent routing, prompt regressions, and unsafe calls; instrument with trace logs and observability for latency and failures
  • Avoid common pitfalls: single agents handling all workflows, unvalidated tool inputs, prompt-based access control, and hidden side effects

Applies to

File patterns this rule matches.

["**/*.py"
**/*.ts
**/*.tsx
**/*.go
**/*.java
pyproject.toml
"package.json"]
Rule definition (reference)

Source of truth, from the repository.

Google ADK Rules

Agent Design

  • Keep each agent focused on a clear goal, persona, and tool set.
  • Use LLM agents for flexible reasoning and workflow agents for deterministic orchestration.
  • Write instructions that define task boundaries, tool-use rules, and escalation behavior.
  • Split multi-agent systems by responsibility rather than by implementation convenience.
  • Keep model choices configurable.

Tools

  • Give tools narrow, typed inputs and outputs.
  • Validate tool arguments before performing side effects.
  • Keep secrets, credentials, and privileged APIs out of agent prompts.
  • Handle tool errors explicitly and return actionable failure messages.
  • Be aware of ADK tool limitations; some built-in tools cannot be combined with other tools on the same agent.

Sessions, State, and Memory

  • Use session state for current-conversation data.
  • Use memory for cross-session recall and retrieval.
  • Keep state small and serializable.
  • Do not store large files or binary payloads in session state.
  • Make state keys stable and documented.

Artifacts

  • Use artifacts for generated files, uploaded files, reports, images, audio, and other binary data.
  • Configure an artifact service in the runner before relying on artifact operations.
  • Version artifact filenames intentionally and avoid overwriting semantically different outputs.
  • Store only references or summaries in state when full content belongs in artifacts.

Evaluation and Deployment

  • Add tests for tool behavior, agent routing, prompt regressions, and unsafe tool calls.
  • Use trace or event logs to debug agent decisions.
  • Keep local development, staging, and production configuration separate.
  • Add observability for latency, tool failures, token use, and handoff failures.

Common Mistakes

  • Do not make one agent responsible for every workflow.
  • Do not let tools accept arbitrary shell, SQL, or HTTP input without validation.
  • Do not rely on prompt text for access control.
  • Do not hide important side effects behind generic tool names.

Related rules

Senior full-stack TypeScript, React, Node.js guidance with clean architecture, testing, and WHY-oriented reasoning.

**/*
41k
via PatrickJS/awesome-cursorrules

Quantitative factor research skills for designing, evaluating, and mining alpha factors in equities markets.

**/*
41k
via PatrickJS/awesome-cursorrules

Android development with Jetpack Compose, clean architecture, and Material Design 3.

**/*
41k
via PatrickJS/awesome-cursorrules

Angular development with Novo Elements UI library using standalone components.

**/*
41k
via PatrickJS/awesome-cursorrules

Expert Angular 18 + TypeScript development with Jest, emphasizing clean code and performance.

**/*
41k
via PatrickJS/awesome-cursorrules

Manage Kubernetes clusters, add-ons, stacks, and credentials via the Ankra CLI platform.

**/*.sh +5
41k
via PatrickJS/awesome-cursorrules