Official agent skill

Retail Product Search Agent

by google in google/adk-recipes

Builds a retail product search agent on Google Cloud, from catalog ingestion into BigQuery and Vector Search to ADK scaffolding, evaluation and Cloud Run deployment.

OfficialApache-2.0Auto-check passedAI & LLM Engineering

Install Retail Product Search Agent

skills CLI
$ npx skills add google/adk-recipes --skill retail-product-search -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install google/adk-recipes retail-product-search --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/google/adk-recipes.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/retail/skills/product-search .claude/skills/retail-product-search && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
retail-product-search
GitHub stars
10k
Token cost
~3k tokens
SKILL.md length
1,110 words
Files
30 (incl. scripts, references, assets)
Skills in repo
17
Repo updated
First seen
Licence
Apache-2.0

At a glance

Builds a retail product search agent on Google Cloud, from catalog ingestion into BigQuery and Vector Search to ADK scaffolding, evaluation and Cloud Run deployment.

  • Works in 5 steps: Q-MODE first. No preamble, no… → One question at a time. Show [default:… → Save answers to ./design-spec.md in the… → …
  • Building an e-commerce or shopping-assistant search agent
  • SKILL.md covers STOP — Q-MODE FIRST, Execution Rules, Workspace Setup and Skill Dependencies, plus 12 more sections
  • Runs Python scripts from its folder; calls python, bash and gcloud

What it does

The skill opens with a setup choice: a quick start with two questions and smart defaults, or a full interview. Answers are saved in design-spec.md, then a bootstrap step creates a virtual environment with the skill installed and setup.py builds the pieces. If a catalog is already loaded and a deployed search agent is in context, it skips the interview and answers product queries from the catalog.

The pipeline loads the product catalog into BigQuery, sets up a Vector Search collection with embeddings, scaffolds an Agent Development Kit agent, evaluates it and deploys it to Cloud Run, with a cleanup script for tearing it down. Reference files cover architecture, dependencies, ingestion scripts, install paths and troubleshooting, and a sample products CSV is included. It works alongside core Google Cloud skills such as bigquery-basics.

When your agent uses it

  • Building an e-commerce or shopping-assistant search agent
  • Ingesting a product catalog into Vector Search
  • Setting up semantic catalog discovery on Google Cloud
  • Deploying a retail RAG agent to Cloud Run

Example prompts

  • “Build a product search agent for our shoe catalog using the quick start.”
  • “Ingest products.csv into Vector Search and scaffold the agent.”
  • “Deploy the retail search agent to Cloud Run and run the evaluation first.”

Requirements

  • A Google Cloud project with BigQuery, Vector Search and Cloud Run
  • Python 3.11 or newer

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Q-MODE first. No preamble, no plan-proposing.
  2. One question at a time. Show [default: ...]. Empty input = default.
  3. Save answers to ./design-spec.md in the workspace as you collect them.
  4. After interview, run scripts/setup.py (see Workspace Setup below).
  5. User can say "configure more" mid-Quick-Start to switch to Full.

What it can do on your machine

Read from SKILL.md and the folder at commit d079ffc. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 3 files in scripts/ (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python
    • bash
    • gcloud
    • uv
    • npx
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Retail Product Search Agent loads about 3k tokens when it runs, and up to ~7.7k if it reads all its reference files. Until then it costs about 147 tokens; SKILL.md has 1,110 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~147
When it runs · the whole SKILL.md, loaded when a task matches
~3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from google/adk-recipes at commit d079ffc, republished under its Apache-2.0 licence (© google). 1,110 words, ~2,970 tokens.

Download SKILL.mdSave it as .claude/skills/retail-product-search/SKILL.md (or your agent's skills folder). This skill also uses 29 other files; get the full folder from GitHub.
name
retail-product-search
description
Creates product search agents with semantic search and RAG on Google Cloud (Vector Search on Gemini Enterprise Agent Platform, BigQuery, embeddings). Use when the user wants to "build a product search agent", "create an e-commerce search", "make a shopping assistant", "set up semantic catalog discovery", "ingest products into Vector Search", or "deploy a retail RAG agent". Handles the full pipeline: catalog data ingestion to BigQuery, Gemini Enterprise Agent Platform Vector Search collection setup, ADK agent scaffolding, evaluation, and Cloud Run deployment.
metadata.author
Google
metadata.license
Apache-2.0
metadata.version
0.2.0

Product Search Agent

Creates product search agents with semantic search and RAG on Google Cloud.

STOP — Q-MODE FIRST

If a catalog is already loaded (system context says "DEPLOYED search agent" or provides a <catalog> block), skip Q-MODE and answer product queries directly using the catalog.

Otherwise, your first message MUST be exactly this:

[skill: retail-product-search] active.
Q-MODE: Pick a setup mode? [default: 1]
  1. Quick start -- 2 questions, smart defaults, ~60s. Best for demos and first-timers.
  2. Full setup  -- 4 questions, ~2 min. Best for real builds.

Then stop and wait. Accept 1, quick, empty/Enter (Quick), or 2, full (Full).

Execution Rules

  1. Q-MODE first. No preamble, no plan-proposing.
  2. One question at a time. Show [default: ...]. Empty input = default.
  3. Save answers to ./design-spec.md in the workspace as you collect them.
  4. After interview, run scripts/setup.py (see Workspace Setup below).
  5. User can say "configure more" mid-Quick-Start to switch to Full.

Workspace Setup

The skill has two locations:

  • Install dir — where SKILL.md and scripts live (varies by host)
  • Workspace — the agent's cwd; design-spec.md, .venv, and per-run state live here

By the end of this section the workspace must have .venv/ (with the skill installed editable), design-spec.md, and SKILL_DIR exported in the shell.

Run this as ONE shell command — splitting it across tool calls loses state:

bash
SKILL_DIR=$(for d in ~/.claude/skills ~/.agents/skills ~/.gemini/skills ~/.cursor/skills; do
  [ -f "$d/retail-product-search/SKILL.md" ] && echo "$d/retail-product-search" && break
done)
bash "$SKILL_DIR/scripts/bootstrap.sh"

bootstrap.sh finds a Python 3.11+ interpreter (with absolute-path fallback for sandboxed shells), creates .venv, installs the skill editable, and copies design-spec.md into the workspace.

All scripts run from the install dir against the workspace config. Use .venv/bin/python, not bare python — bare python may resolve to a Python without the skill's editable install on sys.path.

bash
.venv/bin/python "$SKILL_DIR/scripts/setup.py" --config ./design-spec.md
.venv/bin/python "$SKILL_DIR/scripts/cleanup.py" --config ./design-spec.md --confirm

Details in references/install-paths.md.

Skill Dependencies

This skill works in conjunction with the following core Google Cloud skills:

  • bigquery-basics (for database configuration guidelines)
  • gemini-api (for Gemini Enterprise Agent Platform / Google Gen AI SDK best practices)

Verify if these skills are installed in your active skills directory. If they are missing, recommend the developer to install them by running: npx skills add google/skills --skill bigquery-basics gemini-api

Mode 1: Quick Start (2 questions)

QQuestionDefault
Q-AGCP project ID?$GOOGLE_CLOUD_PROJECT or gcloud config get-value project
Q-BWhere's your product data?assets/sample-products.csv (bundled)

Accepted for Q-B: empty / default (bundled), /path/to/file.csv, or gs://....

Silent defaults: Extended fields, us-central1.

After Q-A and Q-B, do this automatically (don't ask the user to copy/paste). Run these steps SEQUENTIALLY — do not parallelize. Steps 2-3 modify the file bootstrap copies in step 1; running them concurrently is a race.

  1. Run bootstrap first and wait for completion. bash "$SKILL_DIR/scripts/bootstrap.sh" copies the YAML-frontmatter design-spec template into the workspace at ./design-spec.md. Do NOT touch ./design-spec.md until bootstrap exits.
  2. Mutate the existing ./design-spec.md — do NOT rewrite it from scratch. setup.py parses YAML frontmatter via _setup_utils.py. A Markdown-only file fails with 'NoneType' object has no attribute 'get'. Use Edit / sed to replace specific lines:
    • gcp_project_id: "" → gcp_project_id: "<Q-A answer>"
    • data_source: assets/sample-products.csv → data_source: <Q-B answer> (only if user gave a non-default)
  3. Say: "Taking defaults for the rest. Running setup — this takes 2-5 min to create a BigQuery dataset and Vector Search collection. Say 'configure more' to switch to Full setup."
  4. Run .venv/bin/python "$SKILL_DIR/scripts/setup.py" --config ./design-spec.md
  5. Stream output. On non-zero exit, surface the error and check references/troubleshooting.md
  6. On success, set VECTOR_SEARCH_COLLECTION and proceed to Test

Mode 2: Full Setup

Adds two more questions: product fields level and GCP region.

QQuestionDefaultNotes
Q-fieldsProduct fields levelExtendedBasic / Standard / Extended / Full. Match this to your CSV's columns. Don't offer "Custom" — validate_schema.py rejects it.
Q-regionGCP regionus-central1Only confirmed-working region for Vector Search 2.0. Other regions return 501 MethodNotImplemented.

Otherwise identical to Quick Start.

When to Use

  • E-commerce product search, shopping assistants, semantic catalog discovery

Don't use for generic document search, simple keyword search, or non-retail.

Project Tree

retail-product-search/
  assets/
    design-spec.md            # Source of truth -- filled by Q-MODE
    sample-products.csv       # Bundled 5-product demo catalog
  references/                  # Deep-dive docs (load on demand)
  scripts/
    agent.py                  # Reference ADK agent
    retrievers.py             # Vector Search retrieval logic
    setup.py                  # Pipeline driver (reads design-spec.md)
    bootstrap.sh              # Workspace bootstrap (called from Workspace Setup)
    validate_schema.py
    ingest_bigquery.py
    ingest_vertex_search.py
    cleanup.py

Customize: rewrite scripts/agent.py (see references/agent-example.md) and scripts/retrievers.py with your product-specific fields.

Test

After setup.py succeeds, set the collection env var (one line, no newlines):

bash
export VECTOR_SEARCH_COLLECTION="projects/$GOOGLE_CLOUD_PROJECT/locations/us-central1/collections/retail-skill-products-collection"

Then either:

With ADK (interactive UI):

bash
# Use the WORKSPACE VENV's adk (not bare `adk`) so the skill's editable
# install is on sys.path. Bare `adk` may resolve to a global Python (pyenv,
# brew, etc.) whose ADK can't find the skill and reports an empty app list.
.venv/bin/adk web "$SKILL_DIR/scripts" --port 8765

Open http://127.0.0.1:8765, click scripts, query.

⚠️ Two things must be right:

  • Point adk web at $SKILL_DIR/scripts, not at . — agent code lives in the install dir, not the workspace. adk web . fails with "No agents found in current folder".
  • Use .venv/bin/adk, not bare adk — bare adk may launch the wrong Python and silently fail to load the agent (UI loads, but /list-apps returns [] and queries time out).

Without ADK (direct smoke test):

bash
.venv/bin/python -c "from scripts.retrievers import search; print(search('laptop for video editing', top_k=3))"

Semantic-only retrieval — no structured filters on price, stock, or rating. For demo queries and how to add structured filtering, see references/architecture.md.

Show full SKILL.md (395 more words)Show less

Evaluate

bash
cd "$SKILL_DIR"
uv run pytest

EVAL.yaml declares rubric (LLM-as-judge) + assertions (deterministic checks). Target: 80%+ passing.

Deploy

Never deploy without explicit human approval.

Cloud Run service account needs roles/bigquery.dataViewer on the dataset and roles/aiplatform.user on the project. Deploy via gcloud run deploy or your org's existing tooling.

Gotchas

  • No results: collection empty or VECTOR_SEARCH_COLLECTION not set
  • Slow search: check region and top_k
  • No structured filters: search() is pure semantic similarity. Price / stock / currency filters happen client-side in the LLM, so results may include items outside the constraint. Don't promise hard filters
  • ADK session memory: if the retriever errored in earlier turns, the model "learns" the tool is broken. Click "New Session" in adk web after fixing the underlying issue

Troubleshooting

Most-common failures inline; full table in references/troubleshooting.md.

ErrorFix
setup.py exits with 'NoneType' object has no attribute 'get'design-spec.md was rewritten as plain Markdown instead of mutating the YAML-frontmatter template bootstrap copied. Wait for bootstrap to finish, then edit (not rewrite) ./design-spec.md — only change the field values inside the existing ---...--- frontmatter
adk web starts but /list-apps returns [] / browser shows "No agents found"Bare adk resolved to a global Python that lacks the editable install. Kill it and restart with .venv/bin/adk web "$SKILL_DIR/scripts" --port 8765
MethodNotImplemented: 501 from Vector SearchVECTOR_SEARCH_COLLECTION has a newline. Re-export on one line
ModuleNotFoundError: google.adkpip install -e "$SKILL_DIR" — google-adk is an unconditional dependency, no [adk] extra needed
Package requires Python: 3.9.Xvenv used system Python 3.9. Recreate with python3.12 -m venv .venv
BILLING_DISABLED / PERMISSION_DENIED / API has not been usedGCP project setup — see troubleshooting.md

MCP Migration

This skill uses gcloud CLI + Python SDKs (google-genai, google-cloud-bigquery, google-cloud-aiplatform). Per Phase 2 Skills guidelines, 1p skills should prefer remote MCP tools when available. Migration map:

ServiceWhereFuture MCP
BigQueryingest_bigquery.py, validate_schema.pyBigQuery MCP
Vector Search (Gemini Enterprise Agent Platform)ingest_vertex_search.py, setup.pyGemini Enterprise Agent Platform MCP
Embeddings (Gemini Enterprise Agent Platform)retrievers.pyGemini Enterprise Agent Platform MCP
Cloud Rungcloud run deployCloud Run MCP

Completion Checklist

  • Product fields level and data source confirmed
  • Data ingestion ran; Vector Search populated
  • retrieve_docs returns results in ADK web UI
  • Evaluation passes success criteria
  • Deployed (if beyond prototype)

References

Load on demand:

© google, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 29 other files (scripts, references, assets) in plugins/retail/skills/product-search of google/adk-recipes.

  • SKILL.md
  • .env.example
  • .gitignore
  • EVAL.yaml
  • Makefile
  • README.md
  • assets/design-spec.md
  • assets/sample-products.csv
  • pyproject.toml
  • references/agent-example.md
  • references/architecture.md
  • references/dependencies.md
  • references/ingestion-scripts.md
  • references/install-paths.md
  • references/troubleshooting.md
  • scripts/__init__.py
  • scripts/_paths.py
  • scripts/_setup_utils.py
  • … and 12 more

Open the folder on GitHubat commit d079ffc

Compare with similar skills

Retail Product Search Agent next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Retail Product Search Agent compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Retail Product Search Agent this skillgoogle/adk-recipes10k—~3kAutomated safety check: PassApache-2.0
Chroma Vector DatabaseOrchestra-Research/AI-Research-SKILLs13k7 repos~2.3kAutomated safety check: PassMIT
DBoracle/skills877—~1.4kAutomated safety check: PassUPL-1.0
Langchain RAGlangchain-ai/langchain-skills1.3k—~3.9kAutomated safety check: PassMIT
Google Cloud Solution RAG Enterprise Search Gke Sqldbgoogle/skills21k—~4kAutomated safety check: PassApache-2.0
Surrealdb Pythonaiskillstore/marketplace433—~2.6kAutomated safety check: PassNone

Similar skills

  • Chroma Vector Database

    Orchestra-Research/AI-Research-SKILLs

    Shows how to store documents and embeddings in Chroma, query them by similarity with metadata filters, and persist them to disk for RAG and semantic search projects.

    13k GitHub starsUsed in 7 repos~2.3k tokens
    AI & LLM EngineeringAuto-check passed
  • DB

    oracle/skills

    Official

    Oracle Database guidance for SQL, PL/SQL, SQLcl, ORDS, Oracle Vector SDK, administration, app development, performance, security, migrations, and agent-safe database workflows.

    877 GitHub stars~1.4k tokensUpdated yesterday
    DatabasesAuto-check passed
  • Langchain RAG

    langchain-ai/langchain-skills

    Official

    INVOKE THIS SKILL when building ANY retrieval-augmented generation (RAG) system.

    1.3k GitHub stars~3.9k tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check passed
  • Discovers requirements, and generates architectural, design, and deployment guidance for a retrieval-augmented generation (RAG)-capable enterprise search system in Google Cloud.

    21k GitHub stars~4k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Surrealdb Python

    aiskillstore/marketplace

    Master SurrealDB 2.3.x with Python for multi-model database operations including CRUD, graph relationships, vector search, and real-time queries.

    433 GitHub stars~2.6k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • FAISS Similarity Search

    Orchestra-Research/AI-Research-SKILLs

    Sets up FAISS for fast nearest-neighbor search over large collections of dense vectors, choosing between Flat, IVF, HNSW and product quantization indexes.

    13k GitHub starsUsed in 6 repos~1.3k tokens
    DatabasesAuto-check passed

More from google/adk-recipes

All 17 skills in this repo
  • Align Recipe pyproject.toml

    google/adk-recipes

    Official

    Brings a Python recipe's pyproject.toml in line with the repo's CI rules, either as a read-only dry run or by rewriting the file while keeping comments.

    10k GitHub stars~4.6k tokensUpdated yesterday
    Auto-check passed
  • Official

    Generates a minimal tests/test_runnability.py for a Python agent recipe that imports the agent module and checks root_agent, adding only the mocks and env vars it needs.

    10k GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • Retail Virtual Try-On Agent

    google/adk-recipes

    Official

    Sets up a virtual try-on agent on Google Cloud that generates image and catwalk-video try-ons with Gemini, from first setup through local testing.

    10k GitHub stars~3.5k tokensUpdated yesterday
    Auto-check passed
  • Scaffold Python ADK Recipe

    google/adk-recipes

    Official

    Creates a new Python recipe for the ADK recipes repository by running a scaffold script that copies template files, after confirming the output directory and recipe name.

    10k GitHub stars~931 tokensUpdated yesterday
    Auto-check passed
  • Custom Investigation

    google/adk-recipes

    Official

    Run a custom investigation: review a chosen slice of conversations instead of a random sample, by writing a SQL selector over the observed agent's telemetry, and optionally narrow what the reviewer…

    10k GitHub stars~2.9k tokensUpdated yesterday
    Auto-check passed
  • Official

    Reviews a GitHub pull request and drafts a small set of inline comments in a human reviewing voice, each checkable from the line it points at, then posts them after approval.

    10k GitHub stars~8.4k tokensUpdated yesterday
    Auto-check passed

Questions about Retail Product Search Agent

What does Retail Product Search Agent do?

Builds a retail product search agent on Google Cloud, from catalog ingestion into BigQuery and Vector Search to ADK scaffolding, evaluation and Cloud Run deployment. The skill opens with a setup choice: a quick start with two questions and smart defaults, or a full interview.py builds the pieces.

When should I use Retail Product Search Agent?

Retail Product Search Agent fits situations like: building an e-commerce or shopping-assistant search agent; ingesting a product catalog into Vector Search; setting up semantic catalog discovery on Google Cloud; deploying a retail RAG agent to Cloud Run.

How do I install Retail Product Search Agent in Claude Code?

Run `npx skills add google/adk-recipes --skill retail-product-search -a claude-code`. Or copy the skill folder (plugins/retail/skills/product-search in google/adk-recipes) into .claude/skills/retail-product-search in your project. Claude Code loads it when a task matches its description.

How do I install Retail Product Search Agent in Codex?

Run `npx skills add google/adk-recipes --skill retail-product-search -a codex`. Or copy the skill folder (plugins/retail/skills/product-search in google/adk-recipes) into .agents/skills/retail-product-search in your project. Codex loads it when a task matches its description.

Can I use Retail Product Search Agent in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add google/adk-recipes --skill retail-product-search -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/retail-product-search, .gemini/skills/retail-product-search, .github/skills/retail-product-search and .opencode/skills/retail-product-search in your project.

What does Retail Product Search Agent need to run?

Going by SKILL.md and its folder, Retail Product Search Agent needs Python for the scripts in its folder and the command-line tools its instructions call (python, bash, gcloud, uv, npx and pip). Our summary lists: A Google Cloud project with BigQuery, Vector Search and Cloud Run; Python 3.11 or newer.

Does Retail Product Search Agent access the network?

SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.

Is Retail Product Search Agent safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Retail Product Search Agent use?

Retail Product Search Agent is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Retail Product Search Agent use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.7k tokens, read only when the agent opens those files.

What are the alternatives to Retail Product Search Agent?

Skills that share tags, products or a category with Retail Product Search Agent: Chroma Vector Database (Orchestra-Research/AI-Research-SKILLs, 13k stars), DB (oracle/skills, 877 stars), Langchain RAG (langchain-ai/langchain-skills, 1.3k stars) and Google Cloud Solution RAG Enterprise Search Gke Sqldb (google/skills, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Retail Product Search Agent?

google (a GitHub organization, an official publisher) maintains it in google/adk-recipes, which has 10,435 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 10, 2026.

Source: google/adk-recipes on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.