google-agents-cli-scaffold
google/agents-cli
Scaffold new ADK agent projects and add deployment, CI/CD, and infrastructure.
What is google-agents-cli-scaffold?
This skill creates new Google ADK (Agent Development Kit) agent projects or enhances existing ones with deployment targets, CI/CD pipelines, and infrastructure scaffolding. Use it when starting a new agent project, adding deployment, or upgrading an existing project.
- Create new ADK agent projects with `agents-cli scaffold create` with configurable templates (standard ADK or RAG)
- Choose deployment targets (Agent Runtime, Cloud Run, GKE) and CI/CD runners (GitHub Actions, Cloud Build)
- Enhance existing projects to add deployment, CI/CD, or session storage without recreating the project
- Upgrade projects to newer agents-cli versions while preserving customizations
- Support prototype-first workflow: start with `--prototype` to skip deployment, add it later with `scaffold enhance`
- Configure RAG agents with vector search or document search datastores
How to install google-agents-cli-scaffold
npx skills add https://github.com/google/agents-cli --skill google-agents-cli-scaffold- Install `uv` (Python package manager): https://docs.astral.sh/uv/getting-started/installation/
- Install `agents-cli` via `uv tool install google-agents-cli`
- Google Cloud project with appropriate APIs enabled (for deployment targets)
How to use google-agents-cli-scaffold
- 1.Load `/google-agents-cli-workflow` and complete Phase 0 to clarify requirements before scaffolding
- 2.Choose your architecture: template (adk or agentic_rag), deployment target, CI/CD runner, and session storage
- 3.Run `agents-cli scaffold create <project-name>` with appropriate flags (project name must be ≤26 characters, lowercase, alphanumeric and hyphens only)
- 4.Do NOT create the project directory manually — the CLI creates it automatically
- 5.For existing projects, run `agents-cli scaffold enhance .` with the desired flags (deployment-target, cicd-runner, etc.)
- 6.After scaffolding, load `/google-agents-cli-workflow` to understand the development workflow and customize key files (`app/agent.py`, `app/tools.py`, `.env`)
- 7.For RAG projects, run `agents-cli infra datastore` and `agents-cli data-ingestion` to provision and populate the datastore before testing
Use cases
- Create a new agent project from scratch with a specific deployment target and CI/CD pipeline
- Add deployment infrastructure to an existing prototype agent project
- Upgrade an existing ADK project to a newer agents-cli version
- Set up a RAG agent with Vertex AI Vector Search or Agent Platform Search
- Configure session storage (in-memory, Cloud SQL, or Agent Platform Sessions) for multi-turn conversations
- Developers building new agents with the Google ADK
- Teams setting up CI/CD and deployment infrastructure for agent projects
- Engineers upgrading existing ADK projects to newer versions
- Developers implementing RAG (Retrieval-Augmented Generation) agents
google-agents-cli-scaffold FAQ
No. Do NOT mkdir the project directory — the CLI creates it automatically. If you mkdir first, the create command will fail or behave unexpectedly.
Use `--prototype` to skip CI/CD and Terraform scaffolding initially, letting you focus on agent logic. Once the agent works, run `agents-cli scaffold enhance . --deployment-target <target>` to add deployment infrastructure.
Use `adk` for standard agents. Use `agentic_rag` when you need RAG (Retrieval-Augmented Generation) with data search; you must then provision the datastore with `agents-cli infra datastore` and ingest data with `agents-cli data-ingestion`.
Customize: `app/agent.py` (instruction, tools, model), `app/tools.py` (custom functions), `.env` (credentials). Preserve: `agents-cli-manifest.yaml`, deployment configs, `Makefile`, `app/__init__.py`, and generated runtime files (`app/fast_api_app.py`, `app/app_utils/`, `Dockerfile`).
Run `agents-cli scaffold upgrade` from the project directory, or `agents-cli scaffold upgrade --dry-run` to preview changes first. Use `--auto-approve` to auto-apply non-conflicting updates.
Full instructions (SKILL.md)
Source of truth, from google/agents-cli.
name: google-agents-cli-scaffold
description: >
This skill should be used when the user wants to "create an agent project",
"start a new ADK project", "build me a new agent", "add CI/CD to my project",
"add deployment", "enhance my project", or "upgrade my project".
Part of the Google ADK (Agent Development Kit) skills suite.
Covers agents-cli scaffold create, scaffold enhance, and scaffold upgrade commands,
template options, deployment targets, and the prototype-first workflow.
Do NOT use for writing agent code (use google-agents-cli-adk-code) or
deployment operations (use google-agents-cli-deploy).
metadata:
author: Google
license: Apache-2.0
version: 0.6.1
requires:
bins:
- agents-cli
install: "uv tool install google-agents-cli"
ADK Project Scaffolding Guide
Requires:
agents-cli(uv tool install google-agents-cli) — install uv first if needed.
Use the agents-cli CLI to create new ADK agent projects or enhance existing ones with deployment, CI/CD, and infrastructure scaffolding.
Prerequisite: Clarify Requirements (MANDATORY for new projects)
Before scaffolding a new project, load /google-agents-cli-workflow and complete Phase 0 — clarify the user's requirements before running any scaffold create command. Ask what the agent should do, what tools/APIs it needs, and whether they want a prototype or full deployment.
Step 1: Choose Architecture
Mapping user choices to CLI flags:
| Choice | CLI flag |
|---|---|
| RAG with vector search | --agent agentic_rag --datastore agent_platform_vector_search |
| RAG with document search | --agent agentic_rag --datastore agent_platform_search |
| A2A protocol | built into every ADK agent — scaffold normally (--agent adk) |
| Prototype (no deployment) | --prototype |
| Deployment target | --deployment-target <agent_runtime|cloud_run|gke> |
| CI/CD runner | --cicd-runner <github_actions|google_cloud_build> |
| Session storage | --session-type <in_memory|cloud_sql|agent_platform_sessions> |
Product name mapping
Older names → CLI values (vertexai SDK package name unchanged):
- Agent Engine / Vertex AI Agent Engine →
--deployment-target agent_runtime - Vertex AI Search / Agent Search →
--datastore agent_platform_search - Vertex AI Vector Search / Vector Search →
--datastore agent_platform_vector_search - Agent Engine sessions / Agent Platform Sessions →
--session-type agent_platform_sessions
Step 2: Create or Enhance the Project
Create a New Project
agents-cli scaffold create <project-name> \
--agent <template> \
--deployment-target <target> \
--region <region> \
--prototype
Constraints:
- Project name must be 26 characters or less, lowercase letters, numbers, and hyphens only.
- Do NOT
mkdirthe project directory before runningcreate— the CLI creates it automatically. If you mkdir first,createwill fail or behave unexpectedly. - Auto-detect the guidance filename based on the IDE you are running in and pass
--agent-guidance-filenameaccordingly (AGENTS.mdfor Antigravity CLI/OpenAI Codex/other,CLAUDE.mdfor Claude Code,GEMINI.mdfor Gemini CLI). - When enhancing an existing project, check where the agent code lives. If it's not in
app/, pass--agent-directory <dir>(e.g.--agent-directory agent). Getting this wrong causes enhance to miss or misplace files.
Reference Files
| File | Contents |
|---|---|
references/flags.md | Full flag reference for create and enhance commands |
Enhance an Existing Project
agents-cli scaffold enhance . --deployment-target <target>
agents-cli scaffold enhance . --cicd-runner <runner>
Run this from inside the project directory (or pass the path instead of .).
Upgrade a Project
Upgrade an existing project to a newer agents-cli version, intelligently applying updates while preserving your customizations:
agents-cli scaffold upgrade # Upgrade current directory
agents-cli scaffold upgrade <project-path> # Upgrade specific project
agents-cli scaffold upgrade --dry-run # Preview changes without applying
agents-cli scaffold upgrade --auto-approve # Auto-apply non-conflicting changes
Execution Modes
The CLI defaults to strict programmatic mode — all required params must be supplied as CLI flags or a UsageError is raised. No approval flags needed. Pass all required params explicitly.
Common Workflows
Always ask the user before running these commands. Present the options (CI/CD runner, deployment target, etc.) and confirm before executing.
# Add deployment to an existing prototype (strict programmatic)
agents-cli scaffold enhance . --deployment-target agent_runtime
# Add CI/CD pipeline (ask: GitHub Actions or Cloud Build?)
agents-cli scaffold enhance . --cicd-runner github_actions
Template Options
| Template | Deployment | Description |
|---|---|---|
adk | Agent Runtime, Cloud Run, GKE | Standard ADK agent (default); A2A protocol built in |
agentic_rag | Agent Runtime, Cloud Run, GKE | RAG with data ingestion pipeline; A2A protocol built in |
Deployment Options
| Target | Description |
|---|---|
agent_runtime | Managed by Google (Vertex AI Agent Runtime). Container-based — Agent Engine builds the project Dockerfile. Sessions handled automatically. |
cloud_run | Container-based deployment. More control; you build and deploy the Dockerfile. |
gke | Container-based on GKE Autopilot. Full Kubernetes control. |
none | No deployment scaffolding. Code only (still includes a Dockerfile). |
"Prototype First" Pattern (Recommended)
Start with --prototype to skip CI/CD and Terraform. Focus on getting the agent working first, then add deployment later with scaffold enhance:
# Step 1: Create a prototype
agents-cli scaffold create my-agent --agent adk --prototype
# Step 2: Iterate on the agent code...
# Step 3: Add deployment when ready
agents-cli scaffold enhance . --deployment-target agent_runtime
Agent Runtime and session_type
When using agent_runtime as the deployment target, Agent Runtime manages sessions internally. If your code sets a session_type, clear it — Agent Runtime overrides it.
Step 3: Load Dev Workflow
After scaffolding, immediately load /google-agents-cli-workflow — it contains the development workflow, coding guidelines, and operational rules you must follow when implementing the agent.
Key files to customize: app/agent.py (instruction, tools, model), app/tools.py (custom tool functions), .env (project ID, location, API keys).
Files to preserve: agents-cli-manifest.yaml (CLI reads this), deployment configs under deployment/, Makefile, app/__init__.py (the App(name=...) must match the directory name — default app), and the generated runtime/A2A infra (app/fast_api_app.py, app/app_utils/a2a.py, app/app_utils/services.py, Dockerfile) — these wire up serving, sessions, and the built-in A2A surface; don't hand-edit them.
RAG projects (agentic_rag) — provision datastore first:
Before running agents-cli playground or testing your RAG agent, you must provision the datastore and ingest data:
agents-cli infra datastore # Provision datastore infrastructure
agents-cli data-ingestion # Ingest data into the datastore
Use infra datastore — not infra single-project. Both provision the datastore, but infra datastore is faster because it skips unrelated Terraform. Without this step, the agent won't have data to search over.
Vector Search region:
vector_search_locationdefaults tous-central1, separate fromregion(us-east1). It sets both the Vector Search collection region and the BQ ingestion dataset region, kept colocated to avoid cross-region data movement. Override per-invocation withagents-cli data-ingestion --vector-search-location <region>.
Verifying your agent works: Use agents-cli run "test prompt" for quick smoke tests, then agents-cli eval generate and agents-cli eval grade for systematic validation. Do NOT write pytest tests that assert on LLM response content — that belongs in eval.
Scaffold as Reference
When you need specific files (Terraform, CI/CD workflows, Dockerfile) but don't want to scaffold the current project directly, create a temporary reference project in /tmp/:
agents-cli scaffold create /tmp/ref-project \
--agent adk \
--deployment-target cloud_run
Inspect the generated files, adapt what you need, and copy into the actual project. Delete the reference project when done.
This is useful for:
- Non-standard project structures that
enhancecan't handle - Cherry-picking specific infrastructure files
- Understanding what the CLI generates before committing to it
Critical Rules
- NEVER skip requirements clarification — load
/google-agents-cli-workflowPhase 0 and clarify the user's intent before runningscaffold create - NEVER change the model in existing code unless explicitly asked
- NEVER
mkdirbeforecreate— the CLI creates the directory; pre-creating it causes enhance mode instead of create mode - NEVER create a Git repo or push to remote without asking — confirm repo name, public vs private, and whether the user wants it created at all
- Always ask before choosing CI/CD runner — present GitHub Actions and Cloud Build as options, don't default silently
- Agent Runtime clears session_type — if deploying to
agent_runtime, remove anysession_typesetting from your code - Start with
--prototypefor quick iteration — add deployment later withenhance - Project names must be ≤26 characters, lowercase, letters/numbers/hyphens only
- NEVER write A2A code from scratch — A2A is built into every Python ADK agent (
adk,agentic_rag); the A2A Python API surface (import paths,AgentCardschema,to_a2a()signature) is non-trivial and changes across versions. Scaffold normally; never hand-write the A2A surface.
Examples
Using scaffold as reference: User says: "I need a Dockerfile for my non-standard project" Actions:
- Create temp project:
agents-cli scaffold create /tmp/ref --agent adk --deployment-target cloud_run - Copy relevant files (Dockerfile, etc.) from /tmp/ref
- Delete temp project Result: Infrastructure files adapted to the actual project
A2A project: User says: "Build me a Python agent that exposes A2A and deploys to Cloud Run" Actions:
- Follow the standard flow (understand requirements, choose architecture, scaffold)
agents-cli scaffold create my-a2a-agent --agent adk --deployment-target cloud_run --prototypeResult: Valid A2A imports and Dockerfile — no manual A2A code written.
Troubleshooting
agents-cli command not found
See /google-agents-cli-workflow → Setup section.
Related Skills
/google-agents-cli-workflow— Development workflow, coding guidelines, and the build-evaluate-deploy lifecycle/google-agents-cli-adk-code— ADK Python API quick reference for writing agent code/google-agents-cli-deploy— Deployment targets, CI/CD pipelines, and production workflows/google-agents-cli-eval— Evaluation methodology, dataset schema, and the eval-fix loop
Related skills
More from google/agents-cli and the wider catalog.
google-agents-cli-adk-code
Quick reference for ADK Python API patterns, tools, callbacks, and agent code examples.
google-agents-cli-workflow
CLI toolkit for building, evaluating, and deploying agents on Google Cloud using the Agent Development Kit (ADK).
google-agents-cli-eval
Evaluate and optimize ADK agents with built-in metrics, LLM-as-judge scoring, and failure analysis.
google-agents-cli-observability
Set up tracing, logging, and monitoring for ADK agents with Cloud Trace, BigQuery, and third-party platforms.
google-agents-cli-deploy
Deploy ADK agents to Agent Runtime, Cloud Run, or GKE with managed infrastructure and CI/CD.
google-agents-cli-publish
Publish and register agents with Gemini Enterprise via ADK or A2A modes.