chroma-cloud
Instructions
Intake
Do not block on a long questionnaire. Ask only for details that are missing and required to choose the right path:
- Dense only or hybrid search
- Whether
CHROMA_API_KEY,CHROMA_TENANT, andCHROMA_DATABASEare already configured - Existing embedding choice, if any
If the user has no embedding preference, default to Chroma Cloud Qwen. If hybrid search is required, use Schema() and Search(). If the task is narrow, such as fixing an existing query, reviewing code, or answering an API question, proceed with the repo context instead of forcing intake.
What to validate
- Correct client import (
CloudClientvsClient) - Environment variables are set for Cloud deployments
- Embedding function package is installed when the selected TypeScript embedding requires one
Schema()andSearch()are only used for Cloud workflows- Important:
get_or_create_collection()accepts either anembedding_functionOR aschema, but not both. Useschemawhen you need multiple indexes, hybrid search, or sparse embeddings; useembedding_functionfor simple dense-only search.
Quick Start
Use the CLI topic to authenticate and write Cloud credentials:
chroma login
chroma db create <db_name>
chroma db connect <db_name> --env-file
Then create a CloudClient and choose the API based on the search mode:
import { CloudClient } from 'chromadb';
const client = new CloudClient();
const collection = await client.getOrCreateCollection({ name: 'my_collection' });
Use collection.query() for dense-only search. Use Schema() plus Search() only when the user needs hybrid retrieval, multiple indexes, or more expressive ranking/query composition.
Cloud Guidance
Collections are the main isolation boundary in Chroma Cloud, and metadata is the main filtering mechanism inside a collection. Reach for Schema() only when you need explicit dense+sparse or multi-index configuration, and reach for Search() only when query() is not expressive enough.
Learn More
If you need more detailed information about Chroma beyond what's covered in this skill, fetch Chroma's llms.txt for comprehensive documentation: https://docs.trychroma.com/llms.txt
Available Topics
Typescript
- Chroma Regex Filtering - Learn how to use regex filters in Chroma queries
- Query and Get - Query and Get Data from Chroma Collections
- Metadata - Store and query metadata, including filters and array values
- Updating and Deleting - Update existing documents and delete data from collections
- Schema - Schema() configures collections with multiple indexes
- Chroma Cloud Qwen - Chroma's hosted Qwen embedding service
- Error Handling - Handling errors and failures when working with Chroma
- Collection Forking - Instantly duplicate collections using copy-on-write forking in Chroma Cloud
- Search() API - An expressive and flexible API for doing dense and sparse vector search on collections, as well as hybrid search
Python
- Chroma Regex Filtering - Learn how to use regex filters in Chroma queries
- Query and Get - Query and Get Data from Chroma Collections
- Metadata - Store and query metadata, including filters and array values
- Updating and Deleting - Update existing documents and delete data from collections
- Schema - Schema() configures collections with multiple indexes
- Chroma Cloud Qwen - Chroma's hosted Qwen embedding service
- Error Handling - Handling errors and failures when working with Chroma
- Collection Forking - Instantly duplicate collections using copy-on-write forking in Chroma Cloud
- Search() API - An expressive and flexible API for doing dense and sparse vector search on collections, as well as hybrid search
General
- Data Model - An overview of how Chroma stores data
- Integrating Chroma into an existing system - Guidance for adding Chroma search to an existing application
- Chroma CLI - Getting started with the Chroma CLI for Chroma Cloud authentication and database management
- Caching Collection References - Reduce repeated collection lookup requests in high-traffic Chroma Cloud applications
- Quotas and Limits - Chroma Cloud quotas and request limits
More from chroma-core/agent-skills
chroma
Provides expertise on Chroma vector database integration for semantic search applications. Use when the user asks about vector search, embeddings, Chroma, semantic search, RAG systems, nearest neighbor search, or adding search functionality to their application.
113chroma-local
Use when the user needs self-hosted or local Chroma for semantic search, including `ChromaClient`, `HttpClient`, or Python `EphemeralClient`, local persistence, Docker or `chroma run`, or OSS Chroma without Chroma Cloud features.
28