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.
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.
$ npx skills add google/adk-recipes --skill retail-product-search -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install google/adk-recipes retail-product-search --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "retail-product-search" agent skill from https://github.com/google/adk-recipes/tree/main/plugins/retail/skills/product-search into .claude/skills/retail-product-search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retail-product-search", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/google/adk-recipes/tree/main/plugins/retail/skills/product-searchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add google/adk-recipes --skill retail-product-search -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install google/adk-recipes retail-product-search --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/adk-recipes.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/retail/skills/product-search .agents/skills/retail-product-search && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "retail-product-search" agent skill from https://github.com/google/adk-recipes/tree/main/plugins/retail/skills/product-search into .agents/skills/retail-product-search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retail-product-search", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google/adk-recipes --skill retail-product-search -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install google/adk-recipes retail-product-search --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/adk-recipes.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/retail/skills/product-search .cursor/skills/retail-product-search && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "retail-product-search" agent skill from https://github.com/google/adk-recipes/tree/main/plugins/retail/skills/product-search into .cursor/skills/retail-product-search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retail-product-search", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/google/adk-recipes.git --path plugins/retail/skills/product-search--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add google/adk-recipes --skill retail-product-search -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install google/adk-recipes retail-product-search --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/adk-recipes.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/retail/skills/product-search .gemini/skills/retail-product-search && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "retail-product-search" agent skill from https://github.com/google/adk-recipes/tree/main/plugins/retail/skills/product-search into .gemini/skills/retail-product-search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retail-product-search", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install google/adk-recipes retail-product-searchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add google/adk-recipes --skill retail-product-search -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/google/adk-recipes.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/retail/skills/product-search .github/skills/retail-product-search && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "retail-product-search" agent skill from https://github.com/google/adk-recipes/tree/main/plugins/retail/skills/product-search into .github/skills/retail-product-search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retail-product-search", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add google/adk-recipes --skill retail-product-search -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install google/adk-recipes retail-product-search --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/google/adk-recipes.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/retail/skills/product-search .opencode/skills/retail-product-search && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "retail-product-search" agent skill from https://github.com/google/adk-recipes/tree/main/plugins/retail/skills/product-search into .opencode/skills/retail-product-search/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "retail-product-search", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
retail-product-searchBuilds 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. 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.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d079ffc. It shows what the files ask for, not the result of running them.
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.
Ships 3 files in scripts/ (Python, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
pythonbashgclouduvnpxpipFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from google/adk-recipes at commit d079ffc, republished under its Apache-2.0 licence (© google). 1,110 words, ~2,970 tokens.
.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.Creates product search agents with semantic search and RAG on Google Cloud.
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).
[default: ...]. Empty input = default../design-spec.md in the workspace as you collect them.scripts/setup.py (see Workspace Setup below).The skill has two locations:
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:
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.
.venv/bin/python "$SKILL_DIR/scripts/setup.py" --config ./design-spec.md
.venv/bin/python "$SKILL_DIR/scripts/cleanup.py" --config ./design-spec.md --confirmDetails in references/install-paths.md.
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
| Q | Question | Default |
|---|---|---|
| Q-A | GCP project ID? | $GOOGLE_CLOUD_PROJECT or gcloud config get-value project |
| Q-B | Where'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.
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../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).venv/bin/python "$SKILL_DIR/scripts/setup.py" --config ./design-spec.mdVECTOR_SEARCH_COLLECTION and proceed to TestAdds two more questions: product fields level and GCP region.
| Q | Question | Default | Notes |
|---|---|---|---|
| Q-fields | Product fields level | Extended | Basic / Standard / Extended / Full. Match this to your CSV's columns. Don't offer "Custom" — validate_schema.py rejects it. |
| Q-region | GCP region | us-central1 | Only confirmed-working region for Vector Search 2.0. Other regions return 501 MethodNotImplemented. |
Otherwise identical to Quick Start.
Don't use for generic document search, simple keyword search, or non-retail.
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.pyCustomize: rewrite scripts/agent.py (see
references/agent-example.md) and
scripts/retrievers.py with your product-specific fields.
After setup.py succeeds, set the collection env var (one line, no newlines):
export VECTOR_SEARCH_COLLECTION="projects/$GOOGLE_CLOUD_PROJECT/locations/us-central1/collections/retail-skill-products-collection"Then either:
With ADK (interactive UI):
# 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 8765Open http://127.0.0.1:8765, click scripts, query.
⚠️ Two things must be right:
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"..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):
.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.
cd "$SKILL_DIR"
uv run pytestEVAL.yaml declares rubric (LLM-as-judge) + assertions (deterministic
checks). Target: 80%+ passing.
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.
VECTOR_SEARCH_COLLECTION not settop_ksearch() 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 filtersadk web after
fixing the underlying issueMost-common failures inline; full table in references/troubleshooting.md.
| Error | Fix |
|---|---|
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 Search | VECTOR_SEARCH_COLLECTION has a newline. Re-export on one line |
ModuleNotFoundError: google.adk | pip install -e "$SKILL_DIR" — google-adk is an unconditional dependency, no [adk] extra needed |
Package requires Python: 3.9.X | venv used system Python 3.9. Recreate with python3.12 -m venv .venv |
BILLING_DISABLED / PERMISSION_DENIED / API has not been used | GCP project setup — see troubleshooting.md |
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:
| Service | Where | Future MCP |
|---|---|---|
| BigQuery | ingest_bigquery.py, validate_schema.py | BigQuery MCP |
| Vector Search (Gemini Enterprise Agent Platform) | ingest_vertex_search.py, setup.py | Gemini Enterprise Agent Platform MCP |
| Embeddings (Gemini Enterprise Agent Platform) | retrievers.py | Gemini Enterprise Agent Platform MCP |
| Cloud Run | gcloud run deploy | Cloud Run MCP |
retrieve_docs returns results in ADK web UILoad on demand:
bash -c rationale© 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
SKILL.md and 29 other files (scripts, references, assets) in plugins/retail/skills/product-search of google/adk-recipes.
Open the folder on GitHubat commit d079ffc
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Retail Product Search Agent this skillgoogle/adk-recipes | 10k | — | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Chroma Vector DatabaseOrchestra-Research/AI-Research-SKILLs | 13k | 7 repos | ~2.3k | Automated safety check: Pass | MIT | |
| DBoracle/skills | 877 | — | ~1.4k | Automated safety check: Pass | UPL-1.0 | |
| Langchain RAGlangchain-ai/langchain-skills | 1.3k | — | ~3.9k | Automated safety check: Pass | MIT | |
| Google Cloud Solution RAG Enterprise Search Gke Sqldbgoogle/skills | 21k | — | ~4k | Automated safety check: Pass | Apache-2.0 | |
| Surrealdb Pythonaiskillstore/marketplace | 433 | — | ~2.6k | Automated safety check: Pass | None |
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.
oracle/skills
Oracle Database guidance for SQL, PL/SQL, SQLcl, ORDS, Oracle Vector SDK, administration, app development, performance, security, migrations, and agent-safe database workflows.
langchain-ai/langchain-skills
INVOKE THIS SKILL when building ANY retrieval-augmented generation (RAG) system.
Discovers requirements, and generates architectural, design, and deployment guidance for a retrieval-augmented generation (RAG)-capable enterprise search system in Google Cloud.
aiskillstore/marketplace
Master SurrealDB 2.3.x with Python for multi-model database operations including CRUD, graph relationships, vector search, and real-time queries.
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.
google/adk-recipes
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.
google/adk-recipes
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.
google/adk-recipes
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.
google/adk-recipes
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.
google/adk-recipes
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…
google/adk-recipes
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.
Categories
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.
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.
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.
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.
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.
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.
SKILL.md names 1 domain. As links in the text: github.com. This is read from the text; nothing was executed.
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.
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.
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.
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.
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.