google-agents-cli-scaffold
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).
What this skill does
# ADK Project Scaffolding Guide > **Requires:** `agents-cli` (`uv tool install google-agents-cli`) — [install uv](https://docs.astral.sh/uv/getting-started/installation/index.md) 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 | `--agent adk_a2a` | | 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 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 | `--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` | The `vertexai` Python SDK package name is unchanged. --- ## Step 2: Create or Enhance the Project ### Create a New Project ```bash 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 `mkdir` the project directory before running `create` — the CLI creates it automatically. If you mkdir first, `create` will fail or behave unexpectedly. - Auto-detect the guidance filename based on the IDE you are running in and pass `--agent-guidance-filename` accordingly (`GEMINI.md` for Gemini CLI, `CLAUDE.md` for Claude Code, `AGENTS.md` for OpenAI Codex/other). - 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 ```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 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. ```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_actions ``` --- ## Template Options | Template | Deployment | Description | |----------|------------|-------------| | `adk` | Agent Runtime, Cloud Run, GKE | Standard ADK agent (default) | | `adk_a2a` | Agent Runtime, Cloud Run, GKE | Agent-to-agent coordination (A2A protocol) | | `agentic_rag` | Agent Runtime, Cloud Run, GKE | RAG with data ingestion pipeline | --- ## Deployment Options | Target | Description | |--------|-------------| | `agent_runtime` | Managed by Google (Vertex AI Agent Runtime). Sessions handled automatically. | | `cloud_run` | Container-based deployment. More control, requires Dockerfile. | | `gke` | Container-based on GKE Autopilot. Full Kubernetes control. | | `none` | No deployment scaffolding. Code only. | ### "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`: ```bash # 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`). **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: ```bash 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_location` defaults to `us-central1`, separate from `region` (`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 with `agents-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/`: ```bash 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 use
Related in Design
contribute
IncludedLocal-only OSS contribution command center. Auto-refreshes the user's in-flight PR and issue state on invoke so conversations start with full context — no need to brief Claude on what's in flight. Helps the user find issues to contribute to on GitHub, builds per-repo dossiers of what each upstream expects (CLA, DCO, branch convention, AI policy, draft-first, review bots, issue templates), runs deterministic gates before any external action so AI-assisted contributions don't reach maintainers as slop. State is markdown-only: candidate files at ~/.contribute-system/candidates/, repo dossiers at ~/.contribute-system/research/, append-only event log at ~/.contribute-system/log.jsonl. No database, no cloud calls. Use when the user asks about their PRs / issues / contributions, wants to find new work to take on, claim an issue, build/refresh a repo's dossier, or draft a Design Issue or PR. Trigger with "/contribute", "what's my PR status", "find a contribution", "claim issue X", "draft a Design Issue for Y", "refresh dossier for Z".
architectural-analysis
IncludedUser-triggered deep architectural analysis of a codebase or scoped subtree across eight modes — information architecture, data flow, integration points, UI surfaces, interaction patterns, data model, control flow, and failure modes. This skill should be used when the user asks to "diagram this codebase," "map the architecture," "show the data flow," "give me an ERD," "trace control flow," "find the integration points," "verify the layout pattern," "audit the UX architecture," or any similar request whose primary deliverable is mermaid diagrams plus cited reports under docs/architecture/. Dispatches haiku/sonnet sub-agents in parallel for per-mode exploration, then verifies every citation mechanically before any node lands in a diagram. Not for one-off prose explanations of code (use code-explanation) or for high-level system design from scratch (use system-design).
mcp
IncludedModel Context Protocol (MCP) server development and tool management. Languages: Python, TypeScript. Capabilities: build MCP servers, integrate external APIs, discover/execute MCP tools, manage multi-server configs, design agent-centric tools. Actions: create, build, integrate, discover, execute, configure MCP servers/tools. Keywords: MCP, Model Context Protocol, MCP server, MCP tool, stdio transport, SSE transport, tool discovery, resource provider, prompt template, external API integration, Gemini CLI MCP, Claude MCP, agent tools, tool execution, server config. Use when: building MCP servers, integrating external APIs as MCP tools, discovering available MCP tools, executing MCP capabilities, configuring multi-server setups, designing tools for AI agents.
react-native-skia
IncludedDesign, build, debug, and optimise high-polish animated graphics in React Native or Expo using @shopify/react-native-skia, Reanimated, and Gesture Handler. Use when the user wants canvas-driven UI, shaders, paths, rich text, image filters, sprite fields, Skottie, video frames, snapshots, web CanvasKit setup, or performance tuning for custom motion-heavy elements such as loaders, hero art, cards, charts, progress indicators, particle systems, or gesture-driven surfaces. Also use when the user asks for fluid, glow, glass, blob, parallax, 60fps/120fps, or GPU-friendly animated effects in React Native, even if they do not explicitly say "Skia". Do not use for ordinary form/layout work with standard views.
plaid
IncludedProduct Led AI Development — guides founders from idea to launched product. Six capabilities: Idea (discover a product idea), Validate (pressure-test the idea against fatal flaws, problem reality, competition, and 2-week MVP feasibility), Plan (vision intake + document generation), Design (translate image references into a design.md spec), Launch (go-to-market strategy), and Build (roadmap execution). Use when someone says "PLAID", "plaid idea", "help me find an idea", "product idea", "idea from my business", "idea from my expertise", "plaid validate", "validate my idea", "pressure-test", "is this idea good", "find fatal flaws", "validate the problem", "plan a product", "define my vision", "generate a PRD", "product strategy", "plaid design", "design from image", "translate image to design", "create design.md", "extract design tokens", "plaid launch", "go-to-market", "launch plan", "GTM strategy", "launch playbook", "plaid build", "build the app", "start building", or "execute the roadmap".
nextjs-framer-motion-animations
IncludedAdds production-safe Motion for React or Framer Motion animations to Next.js apps, including reveal, hover and tap micro-interactions, whileInView, stagger, AnimatePresence, layout and layoutId transitions, reorder, scroll-linked UI, and lightweight route-content transitions. Use when the user asks to add, refactor, or debug Motion or Framer Motion in App Router or Pages Router codebases, especially around server/client boundaries, reduced motion, LazyMotion, bundle size, hydration, or route transitions. Avoid for GSAP-style timelines, WebGL or 3D scenes, heavy scroll storytelling, or CSS-only effects unless Motion is explicitly requested.