ASD

Google Agents Cli Workflow

Guía activa siempre para el ciclo de vida completo de desarrollo con ADK: scaffolding, construcción, evaluación, despliegue, publicación y observación de agentes, con reglas de preservación de código y selección de modelo.

Oficial

Reemplaza a: Configuración manual de proyectos de agentes sin scaffold, boilerplate de eval o CI/CD

Estrellas
5.6k

en todo el repo

Actividad
74

0–100, la ruta de este skill

Actualizado
hace 9 días

último commit aquí

Commits
15

últimos 90 días

Contexto
5.2k tok

138 tok en reposo

Paquete
6 archivos

31 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add google/agents-cli --skill google-agents-cli-workflow --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Acts as the entrypoint that walks the agent through the full ADK lifecycle: scaffold, build, evaluate, deploy, publish, observe
  • Enforces a design dialogue (Phase 0) before any scaffolding or coding begins
  • Cross-references other agents-cli skills (adk-code, scaffold, eval, deploy, publish, observability) at the right phase
  • Imposes code preservation rules and model-selection guardrails when editing agent code
  • Provides systematic debugging steps and common-shortcut warnings for coding agents

Úsalo cuando

  • Developing, building, running, debugging, testing, deploying, publishing, or monitoring an agent
  • Needing the ADK development lifecycle or coding guidelines
  • Working with agents-cli or the Agent Development Kit in any coding agent (Antigravity CLI, Claude Code, Codex, etc.)

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Quiero construir un agente con ADK
    • Ayúdame a desplegar mi agente en Agent Runtime
    • Necesito evaluar el comportamiento de mi agente antes de publicarlo
    • Cómo depuro mi agente de agents-cli localmente

    SKILL.md

    En inglés

    Agent Development Workflow & Guidelines

    agents-cli is a CLI and skills toolkit for building, evaluating, and deploying agents on Google Cloud. It works with any coding agent — Antigravity CLI, Claude Code, Codex, or others — and with the agent framework of your choice (the Agent Development Kit (ADK) by default). Install with uvx google-agents-cli setup.

    Before writing agent code, make sure a scaffolded project exists (see Phase 2). Skipping scaffolding loses eval boilerplate, CI/CD config, and project conventions.

    Requires: google-agents-cli = 1.3.1 If version is behind, run: uv tool install "google-agents-cli=1.3.1"

    Check version: agents-cli info Install uv first if needed.

    Session Continuity & Skill Cross-References

    Re-read the relevant skill before each phase — not after you've already started and hit a problem. Context compaction may have dropped earlier skill content. If skills are not available, run uvx google-agents-cli setup to install them.

    Phase Skill When to load
    0 — Understand No skill needed — read .agents-cli-spec.md if present, else clarify goals with the user
    1 — Study recipes /google-agents-cli-adk-code Load it during design — its references/samples.md topic index maps a need to the recipe that implements it. Yes, this early: the catalog lives there.
    2 — Scaffold /google-agents-cli-scaffold Before creating or enhancing a project
    3 — Build /google-agents-cli-adk-code Before writing agent code — API patterns, tools, callbacks, state
    4 — Evaluate /google-agents-cli-eval Before running any eval — dataset schema, metrics, eval-fix loop
    5 — Deploy /google-agents-cli-deploy Before deploying — target selection, troubleshooting 403/timeouts
    6 — Publish /google-agents-cli-publish After deploying, if registering with Gemini Enterprise (optional)
    7 — Observe /google-agents-cli-observability After deploying — traces, logging, monitoring setup

    Setup

    If agents-cli is not installed:

    uv tool install google-agents-cli
    

    uv command not found

    Install uv following the official installation guide.

    Product name mapping

    Users name products inconsistently (Vertex AI → Agent Platform, Agent Engine → Agent Runtime, etc.). Map user terms to CLI values using references/terminology.md.


    Phase 0: Understand

    Before writing or scaffolding anything, understand what you're building — through a design dialogue, not a checklist. Load references/brainstorming.md and follow it: ask one question at a time, propose 2–3 architecture approaches for non-trivial agents, and validate the design before any scaffolding.

    If .agents-cli-spec.md exists in the current directory, read it — it is your primary source of truth. Otherwise:

    Do NOT proceed to planning, scaffolding, or coding until the user approves the spec. Do not assume, research, or fill in the blanks yourself — the user's intent drives everything.

    Scale the ceremony to complexity: a trivial agent (single tool, fixed persona) needs only a couple of questions, a 2–3 sentence spec, and one approval; a complex agent (multi-agent, RAG, external APIs/auth, safety-critical) gets the full treatment in references/brainstorming.md.

    Topics to cover (one question at a time, adapting to the user — see the playbook):

    1. What problem will the agent solve? — Core purpose and capabilities
    2. External APIs or data sources needed? — Tools, integrations, auth requirements
    3. Safety constraints? — What the agent must NOT do, guardrails
    4. Deployment preference? — Prototype first (recommended) or full deployment? If deploying: Agent Runtime, Cloud Run, or GKE?

    Ask based on context:

    • If the agent needs a capability the scaffold doesn't ship — retrieval over your data, sandboxed code execution, memory across sessions, OAuth consent, safety guardrails, event-driven triggers — that capability comes from a clone-and-study recipe, not a scaffold flag. Look the need up in the topic index in /google-agents-cli-adk-codereferences/samples.md and study the matching recipe in Phase 1.
    • If agent should be available to other agentsA2A protocol is built into every Python agent scaffolded by agents-cli; no separate choice needed — just scaffold normally.
    • If full deployment chosen → CI/CD runner? GitHub Actions (default) or Google Cloud Build?
    • If agent should remember user preferences or facts across sessions → long-term memory across conversations. Load /google-agents-cli-adk-code — it has both the recipe (in references/samples.md) and the ADK memory API details.
    • If Cloud Run or GKE chosen → Session storage? In-memory (default), Cloud SQL (persistent), or Agent Platform Sessions (managed).
    • If deployment with CI/CD chosen → Git repository? Does one already exist, or should one be created? If creating, public or private?

    Once the design is agreed, write the spec to .agents-cli-spec.md using the template in references/spec-template.md, self-review it, then get the user's approval. See /google-agents-cli-scaffold for how these choices map to CLI flags.

    Once you have a clear understanding, proceed to Phase 1.

    Phase 1: Study Reference Recipes

    Trigger. If the request involves any of: searching your own documents · running shell or Python code on a user's behalf · a sandboxed or isolated per-user environment · loading skills the agent picks up at runtime · work that spans days, resumes, or runs unattended · remembering across conversations · approving a risky action before it executes · blocking harmful content or moderating what agents say · acting with a user's own API keys or credentials · OAuth consent to reach a user's own data · delegating to sub-agents with isolated context · speaking A2A to other agents · reacting to events or a schedule · researching a topic online and reporting it with citations · generating images or video — then a recipe already implements it. Look it up before you commit to an implementation.

    This list covers the same capabilities as the topic index in /google-agents-cli-adk-codereferences/samples.md. If you extend one, extend the other.

    Load /google-agents-cli-adk-code now — the catalog lives there, at references/samples.md. Load it even though nothing is scaffolded and you are not writing code yet; "wrong phase for the code skill" is the rationalisation that makes agents skip this step, and that skill's Prerequisites for writing code does not apply to you. Look each capability the design calls for up in its topic index. It maps needs (retrieval, sandboxed execution, memory, approval gates, guardrails, per-user credentials, scheduling) to the recipe that teaches them, and shows how to clone one. Multiple recipes can match — clone and study all that are relevant, starting with each one's AGENTS.md.

    If no recipe matches, proceed to Phase 2. But first — are you sure? Re-read the user's request and re-check the topic index in /google-agents-cli-adk-code. Skipping a matching recipe means rebuilding patterns that already exist, usually worse.

    IMPORTANT — Exit criteria: After studying a recipe, ask yourself: can I apply anything from it to help me deliver the design? Note what you'll reuse before moving on. Do NOT proceed until you've answered this.

    This catalog is useful at any phase — revisit it when you hit deployment, publishing, or infrastructure questions. A recipe's Terraform or registration pattern may be exactly what you need later.

    Phase 2: Scaffold (if needed)

    First check whether a project already exists: run agents-cli info from the project root. If one was already created or enhanced by agents-cli, skip this phase.

    Otherwise, scaffold before writing any code:

    • No project yetagents-cli scaffold create <name>
    • Existing code to importagents-cli scaffold enhance . (adds the agents-cli structure)

    Use /google-agents-cli-scaffold for the full workflow — it covers architecture choices (deployment target, agent type, session storage) and project creation or enhancement.

    Phase 3: Build and Implement

    Implement the agent logic:

    1. Write/modify code in the agent directory (check GEMINI.md / CLAUDE.md for directory name)
    2. Quick smoke test: Use agents-cli run "your prompt" to verify the agent works after changes — this is the fastest way to check behavior without leaving the terminal
    3. Iterate on the implementation based on user feedback

    If the user asks for interactive testing, suggest agents-cli playground — it opens a web-based playground for manual conversation with the agent.

    For ADK API patterns and code examples, use /google-agents-cli-adk-code.

    Smoke-test only here — do not write behavioral pytest. LLM output is non-deterministic; behavioral checks belong in eval (Phase 4), not pytest. Use agents-cli run "prompt" for quick checks.

    Provision recipe infrastructure (if you adapted one)

    A recipe that needs backing infrastructure (a datastore, an index, a sandbox, a queue) ships its own provisioning: follow its Makefile (e.g. make setup-infra, make data-ingestion) and its AGENTS.md / README.md, adapting the recipe's infra/terraform/ and .env into your project. agents-cli has no command for this.

    Phase 4: Evaluate

    This is the most important phase. Evaluation validates agent behavior end-to-end.

    MANDATORY: Activate /google-agents-cli-eval before running evaluation. It contains the dataset schema, config format, and critical gotchas. Do NOT skip this.

    Do NOT skip this phase. After building the agent, you MUST proceed to evaluation.

    uv run pytest vs agents-cli eval — know the difference:

    • uv run pytest — Tests code correctness: imports work, functions return expected types, API contracts hold. Does NOT test whether the agent behaves well.
    • agents-cli eval — Tests agent behavior: response quality, tool usage, persona consistency, safety compliance. This is what validates your agent actually works.
    • agents-cli run "prompt" — Quick one-off smoke test during development. If testing multiple prompts use the --start-server option to persist the local server, which reduces overhead for repeated calls and allows resuming local sessions via --session-id. Use this for fast iteration, not pytest.

    NEVER write pytest tests that check LLM response content (e.g., asserting pirate keywords appear, checking if the agent mentions allergies). LLM outputs are non-deterministic. Use eval with LLM-as-judge criteria instead.

    1. Start small: Begin with 1-2 sample eval cases, not a full suite
    2. Run evaluations: agents-cli eval run (chains generate + grade). For debugging or custom trace locations, use the two-step form: agents-cli eval generate then agents-cli eval grade.
    3. Discuss results with the user
    4. Fix issues and iterate on the core cases first
    5. Only after core cases pass, add edge cases and new scenarios
    6. Repeat until quality thresholds are met

    Expect 5-10+ iterations here.

    Phase 5: Deploy

    Once evaluation thresholds are met:

    1. Check if the project has a deployment target configured — run agents-cli info to see current config
    2. If the project is a prototype (no deployment target), add deployment support first:
      agents-cli scaffold enhance . --deployment-target <target>
      
      See /google-agents-cli-deploy for the deployment target decision matrix (Agent Runtime vs Cloud Run vs GKE).
    3. Deploy when ready: agents-cli deploy

    IMPORTANT: Never deploy without explicit human approval.

    Phase 6: Publish (optional)

    Not all agents require this — currently supporting Gemini Enterprise. See /google-agents-cli-publish for registration modes, flags, and troubleshooting.

    Phase 7: Observe

    After deploying, use observability tools to monitor agent behavior in production. See /google-agents-cli-observability for Cloud Trace, prompt-response logging, BigQuery Analytics, and third-party integrations.


    Operational Guidelines for Coding Agents

    Common Shortcuts to Resist

    Agents routinely skip steps with plausible-sounding excuses. Recognize these and push back:

    Shortcut Why it fails
    "The user's request is clear enough, no need to clarify" You're guessing at requirements. Phase 0 exists to confirm intent before scaffolding — even one question can prevent a full rework.
    "The agent responded correctly in agents-cli run, so eval isn't needed" One prompt is not a test suite. Eval catches regressions, edge cases, and tool trajectory issues that a single run never will.
    "I'll use a newer/better model" The scaffolded model was chosen deliberately. Changing it without being asked violates code preservation (Principle 1) and often breaks things — wrong location, deprecated version, or 404. Your training data is likely out of date — rely on the skills and the model listing command, not your knowledge of model names.
    "I already know how to build this — sandbox, memory, approval gates" You are about to reinvent a recipe, worse. These capabilities are already implemented and battle-tested in /google-agents-cli-adk-codereferences/samples.md; check the topic index and open the matching recipe's AGENTS.md before designing anything custom.
    "I can skip the scaffold and set up manually" Manual setup misses eval boilerplate, CI/CD config, and project configuration manifest conventions. Use agents-cli create even for quick experiments.

    Principle 1: Code Preservation & Isolation

    Code modifications require surgical precision — alter only the code segments directly targeted by the user's request and strictly preserve all surrounding and unrelated code.

    Mandatory Pre-Execution Verification:

    Before finalizing any code replacement, verify the following:

    1. Target Identification: Clearly define the exact lines or expressions to change, based solely on the user's explicit instructions.
    2. Preservation Check: Confirm that all code, configuration values (e.g., model, version, api_key), comments, and formatting outside the identified target remain identical.

    Example:

    • User Request: "Change the agent's instruction to be a recipe suggester."
    • Incorrect (VIOLATION):
      root_agent = Agent(
          name="recipe_suggester",
          model="gemini-1.5-flash",  # UNINTENDED - model was not requested to change
          instruction="You are a recipe suggester."
      )
      
    • Correct (COMPLIANT):
      root_agent = Agent(
          name="recipe_suggester",  # OK, related to new purpose
          model="gemini-3.6-flash",  # PRESERVED
          instruction="You are a recipe suggester."  # OK, the direct target
      )
      

    Principle 2: Execution Best Practices

    • Model Selection — CRITICAL:

      • NEVER change the model unless explicitly asked.
      • When creating NEW agents (not modifying existing), use the latest Gemini model. List available models to pick the newest one:
        # Use 'global' or any supported region (e.g. 'us-east1')
        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)
        "
        
      • Do NOT use older models unless explicitly requested. For model docs, fetch https://adk.dev/agents/models/google-gemini/index.md. See also stable model versions.
    • Running Python Commands:

      • Always use uv to execute Python commands (e.g., uv run python script.py)
      • Run uv sync before executing scripts
    • Breaking Infinite Loops:

      • Stop immediately if you see the same error 3+ times in a row
      • RED FLAGS: Lock IDs incrementing, names appending v5→v6→v7, "I'll try one more time" repeatedly
      • State conflicts (Error 409): Use terraform import instead of retrying creation
      • When stuck: Run underlying commands directly (e.g., terraform CLI)
    • Troubleshooting:

      • Check /google-agents-cli-adk-code first — it covers most common patterns
      • Use WebFetch on URLs from the ADK docs index (curl https://adk.dev/llms.txt) for deep dives
      • When encountering persistent errors, a targeted web search often finds solutions faster
      • CLI command failures: run agents-cli <command> --help — the output ends with a Source: line pointing to the exact source file implementing that command. Read it to understand the logic and diagnose failures. Use agents-cli info to get the full CLI install path if you need to browse across multiple files.

    Systematic Debugging

    When something breaks, follow this sequence — don't skip steps or shotgun fixes:

    1. Reproduce — Run the exact command that failed. Save the full error output. If you can't reproduce it, you can't fix it.
    2. Localize — Narrow the cause: is it the agent code, a tool, the config, or the environment? Use agents-cli run "prompt" to isolate agent behavior from deployment issues. Add -v (--verbose) to print the full JSON event payloads — useful for inspecting tool calls, intermediate steps, and silent failures.
    3. Fix one thing — Change one variable at a time. If you change the instruction AND the tool AND the config simultaneously, you won't know what fixed it (or what broke something else).
    4. Verify — Rerun the exact reproduction command. Don't assume the fix worked.
    5. Guard — If it was a non-obvious bug, add an eval case to catch regressions.

    Stop-the-line rule: If a change breaks something that was working, stop feature work and fix the regression first. Don't push forward hoping to circle back — regressions compound.

    • Environment Variables:
      • .env files and env var assignments (e.g., GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION) are typically required for the agent to function — never remove or modify them unless the user explicitly asks
      • If a .env file exists in the project root, treat it as essential configuration
      • For secrets and API keys, prefer GCP Secret Manager over plain .env entries — see /google-agents-cli-deploy for secret management guidance

    Using a Temporary Scaffold as Reference

    When you need specific infrastructure files (Terraform, CI/CD, Dockerfile) but don't want to modify the current project, use /google-agents-cli-scaffold to create a temporary project in /tmp/ and copy over what you need.


    Reference Files

    File Contents
    references/internals.md Underlying tools and commands that agents-cli wraps (adk, pytest, ruff, uvicorn)
    references/spec-template.md .agents-cli-spec.md template and optional sections
    references/brainstorming.md Phase 0 design-dialogue playbook (one-at-a-time Q&A, approaches, gates)
    references/terminology.md Product-name → CLI-value mapping
    references/commands.md Per-phase agents-cli command index

    Development Commands

    Run agents-cli --help or agents-cli <command> --help for the authoritative flag list. A per-phase command index lives in references/commands.md; per-phase usage is in the phase sections above.


    Skills Version

    Troubleshooting hint: If skills seem outdated or incomplete, reinstall:

    agents-cli setup --skip-auth
    

    Only do this when you suspect stale skills are causing problems.

    Reproducido de google/agents-cli bajo licencia Apache-2.0. Leer esta página en markdown.

    Archivos

    6 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Requiere el binario agents-cli (google-agents-cli ~= 1.3.1), instalable con uv tool install google-agents-cli.

    Detalles

    Creador
    google
    Licencia
    Apache-2.0
    Recursos incluidos
    referencias
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de google/agents-cli

    Este repo incluye 7 skills. Si instalas uno, normalmente ya tienes los demás.

    Guía para desplegar un agente ADK, configurar CI/CD, gestionar secretos o solucionar despliegues en Agent Runtime, Cloud Run o GKE, incluyendo Agent Gateway.

    Costo de contexto al activarse
    6.5k tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 9 días
    Oficialdevops infraestructura

    Guía sobre la metodología de evaluación de Agent Platform y el Quality Flywheel: métricas, esquema de dataset, scoring LLM-as-judge y causas comunes de fallo.

    Costo de contexto al activarse
    6.4k tok
    Tamaño del paquete
    6 archivos
    Última actualización
    hace 9 días
    Oficialtesting qa

    Referencia rápida de patrones de la API Python de ADK: tipos de agente, definición de tools, orquestación, callbacks, manejo de estado y recetas de referencia para estudiar.

    Costo de contexto al activarse
    984 tok
    Tamaño del paquete
    4 archivos
    Última actualización
    hace 9 días
    Oficialherramientas desarrollo

    Guía para publicar un agente ADK o A2A en Gemini Enterprise, gestionar el Agent Registry y usar el comando `agents-cli publish gemini-enterprise`.

    Costo de contexto al activarse
    2.6k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    hace 9 días
    Oficialdevops infraestructura

    Úsalo para 'crear un proyecto de agente', 'iniciar un proyecto ADK nuevo', 'añadir CI/CD' o 'mejorar/actualizar mi proyecto'. Cubre `scaffold create`, `scaffold enhance` y `scaffold upgrade`, plantillas y targets de deployment.

    Costo de contexto al activarse
    2.8k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 9 días
    Oficialherramientas desarrollo

    Úsalo para configurar tracing, monitorizar agentes ADK, configurar logging o depurar tráfico en producción; cubre Cloud Trace, prompt-response logging, BigQuery Agent Analytics e integraciones de terceros.

    Costo de contexto al activarse
    2.7k tok
    Tamaño del paquete
    3 archivos
    Última actualización
    hace 9 días
    Oficialdevops infraestructura

    Skills relacionados

    Ai Sdk

    26.2k

    Responde preguntas sobre la AI SDK y ayuda a construir funciones con IA: agentes, chatbots, RAG, streaming, tool calling, salida estructurada, embeddings y hooks como useChat.

    Costo de contexto al activarse
    1.4k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    Oficialdesarrollo apis

    Domina el sistema de tipos avanzado de TypeScript: generics, tipos condicionales, mapped types, template literals y utility types para aplicaciones type-safe.

    Costo de contexto al activarse
    2k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    herramientas desarrollo

    Patrones de resiliencia en Python: reintentos automáticos, backoff exponencial, timeouts y decoradores tolerantes a fallos para servicios.

    Costo de contexto al activarse
    1.5k tok
    Tamaño del paquete
    2 archivos
    Última actualización
    hace 2 meses
    herramientas desarrollo