google-agents-cli-scaffold
Original:🇺🇸 English
Translated
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).
442installs
Sourcegoogle/agents-cli
Added on
NPX Install
npx skill4agent add google/agents-cli google-agents-cli-scaffoldTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →ADK Project Scaffolding Guide
Use the CLI to create new ADK agent projects or enhance existing ones with deployment, CI/CD, and infrastructure scaffolding.
agents-cliPrerequisite: Clarify Requirements (MANDATORY for new projects)
Before scaffolding a new project, load and complete Phase 0 — clarify the user's requirements before running any command. Ask what the agent should do, what tools/APIs it needs, and whether they want a prototype or full deployment.
/google-agents-cli-workflowscaffold createStep 1: Choose Architecture
Mapping user choices to CLI flags:
| Choice | CLI flag |
|---|---|
| RAG with vector search | |
| RAG with document search | |
| A2A protocol | |
| Prototype (no deployment) | |
| Deployment target | |
| CI/CD runner | |
| Session storage | |
Product name mapping
The platform formerly known as "Vertex AI" is now Gemini Enterprise Agent Platform (short: Agent Platform). Users may refer to products by different names. Map them to the correct CLI values:
| User may say | CLI value |
|---|---|
| Agent Engine, Vertex AI Agent Engine, Agent Runtime | |
| Vertex AI Search, Agent Search | |
| Vertex AI Vector Search, Vector Search | |
| Agent Engine sessions, Agent Platform Sessions | |
The Python SDK package name is unchanged.
vertexaiStep 2: Create or Enhance the Project
Create a New Project
bash
agents-cli scaffold create <project-name> \
--agent <template> \
--deployment-target <target> \
--region <region> \
--prototypeConstraints:
- Project name must be 26 characters or less, lowercase letters, numbers, and hyphens only.
- Do NOT the project directory before running
mkdir— the CLI creates it automatically. If you mkdir first,createwill fail or behave unexpectedly.create - Auto-detect the guidance filename based on the IDE you are running in and pass accordingly (
--agent-guidance-filenamefor Gemini CLI,GEMINI.mdfor Claude Code,CLAUDE.mdfor OpenAI Codex/other).AGENTS.md - When enhancing an existing project, check where the agent code lives. If it's not in , pass
app/(e.g.--agent-directory <dir>). Getting this wrong causes enhance to miss or misplace files.--agent-directory agent
Reference Files
| File | Contents |
|---|---|
| Full flag reference for |
Enhance an Existing Project
bash
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:
bash
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 changesExecution Modes
The CLI defaults to strict programmatic mode — all required params must be supplied as CLI flags or a is raised. No approval flags needed. Pass all required params explicitly.
UsageErrorCommon Workflows
Always ask the user before running these commands. Present the options (CI/CD runner, deployment target, etc.) and confirm before executing.
bash
# 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_actionsTemplate Options
| Template | Deployment | Description |
|---|---|---|
| Agent Runtime, Cloud Run, GKE | Standard ADK agent (default) |
| Agent Runtime, Cloud Run, GKE | Agent-to-agent coordination (A2A protocol) |
| Agent Runtime, Cloud Run, GKE | RAG with data ingestion pipeline |
Deployment Options
| Target | Description |
|---|---|
| Managed by Google (Vertex AI Agent Runtime). Sessions handled automatically. |
| Container-based deployment. More control, requires Dockerfile. |
| Container-based on GKE Autopilot. Full Kubernetes control. |
| No deployment scaffolding. Code only. |
"Prototype First" Pattern (Recommended)
Start with to skip CI/CD and Terraform. Focus on getting the agent working first, then add deployment later with :
--prototypescaffold enhancebash
# 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_runtimeAgent Runtime and session_type
When using session_type`, clear it — Agent Runtime overrides it.
agent_runtime as the deployment target, Agent Runtime manages sessions internally. If your code sets a Step 3: Load Dev Workflow
After scaffolding, save to the project root if it isn't there already.
DESIGN_SPEC.mdThen immediately load — it contains the development workflow, coding guidelines, and operational rules you must follow when implementing the agent.
/google-agents-cli-workflowKey files to customize: (instruction, tools, model), (custom tool functions), (project ID, location, API keys).
Files to preserve: section (CLI reads this), deployment configs under , , (the must match the directory name — default ).
app/agent.pyapp/tools.py.envpyproject.toml[tool.agents-cli]deployment/Makefileapp/__init__.pyApp(name=...)appRAG projects () — provision datastore first:
Before running or testing your RAG agent, you must provision the datastore and ingest data:
agentic_ragagents-cli playgroundbash
agents-cli infra datastore # Provision datastore infrastructure
agents-cli data-ingestion # Ingest data into the datastoreUse — not . Both provision the datastore, but is faster because it skips unrelated Terraform. Without this step, the agent won't have data to search over.
infra datastoreinfra single-projectinfra datastoreVector Search region:defaults tovector_search_location, separate fromus-central1(region). 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 withus-east1.agents-cli data-ingestion --vector-search-location <region>
Verifying your agent works: Use for quick smoke tests, then for systematic validation. Do NOT write pytest tests that assert on LLM response content — that belongs in eval.
agents-cli run "test prompt"agents-cli eval runScaffold 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/bash
agents-cli scaffold create /tmp/ref-project \
--agent adk \
--deployment-target cloud_runInspect 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 can't handle
enhance - Cherry-picking specific infrastructure files
- Understanding what the CLI generates before committing to it
Critical Rules
- NEVER skip requirements clarification — load Phase 0 and clarify the user's intent before running
/google-agents-cli-workflowscaffold create - NEVER change the model in existing code unless explicitly asked
- NEVER before
mkdir— the CLI creates the directory; pre-creating it causes enhance mode instead of create modecreate - 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 , remove any
agent_runtimesetting from your codesession_type - Start with for quick iteration — add deployment later with
--prototypeenhance - Project names must be ≤26 characters, lowercase, letters/numbers/hyphens only
- NEVER write A2A code from scratch — the A2A Python API surface (import paths, schema,
AgentCardsignature) is non-trivial and changes across versions. Always useto_a2a()to scaffold A2A projects.--agent adk_a2a
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)
- Result: Valid A2A imports and Dockerfile — no manual A2A code written.
agents-cli scaffold create my-a2a-agent --agent adk_a2a --deployment-target cloud_run --prototype
Troubleshooting
agents-cli
command not found
agents-cliSee → Setup section.
/google-agents-cli-workflowRelated Skills
- — Development workflow, coding guidelines, and the build-evaluate-deploy lifecycle
/google-agents-cli-workflow - — ADK Python API quick reference for writing agent code
/google-agents-cli-adk-code - — Deployment targets, CI/CD pipelines, and production workflows
/google-agents-cli-deploy - — Evaluation methodology, evalset schema, and the eval-fix loop
/google-agents-cli-eval