alexai-mcp/hermes-ccc/chroma
Claude Code and agent skill by alexai-mcp/hermes-ccc
Trust tier 2
- community
Source check pending
Checking that the SKILL.md file is still in the repository.
Open-source embedding database for RAG — store embeddings, vector search, metadata filtering. Simple API, scales from notebook to production.
Install
npx vskill@latest install alexai-mcp/hermes-ccc/chromaSKILL.md
Chroma
Purpose
- Use this skill to store embeddings and perform semantic retrieval for RAG systems.
- Prefer Chroma when you want a simple local developer experience with an easy Python API.
- Chroma works well for notebooks, prototypes, local apps, and moderate production deployments.
- It supports metadata filtering, server mode, and pluggable embedding functions.
Install
- Add any extra embedding provider packages you need, such as the OpenAI SDK.
Basic Setup
PersistentClientstores data on disk.- It is a good default for local development and single-node setups.
Create a Collection
- Use descriptive collection names like
docs,papers,tickets, orkb_chunks. - A collection is the logical container for your embeddings and payload metadata.
Add Documents
- Minimal add call:
- Required arrays must align by index.
- Keep
idsstable if you plan to update or delete records later.
Query
query_texts=['...']is the most common path when Chroma is managing embeddings for you.- Start with
n_results=5or10for most retrieval experiments.
Basic Collection Lifecycle
- Create collection
- Add documents
- Query for nearest neighbors
- Update documents when content changes
- Delete stale records
Get or Create
- For idempotent startup flows, prefer
get_or_create_collection:
- This is helpful in services that initialize storage on boot.
Embedding Functions
- Chroma supports multiple embedding strategies.
- Common choices include:
DefaultEmbeddingFunctionSentenceTransformerEmbeddingFunctionOpenAIEmbeddingFunction
Default Embedding Function
- The default function is convenient for quick experiments.
- For production, you usually want to control the embedding model explicitly.
SentenceTransformers Embedding Function
- This is a good choice for local semantic search with no external API dependency.
OpenAI Embedding Function
- Use this when you want consistent hosted embeddings across environments.
- Track model versions because embedding changes can invalidate similarity behavior.
Add Structured Documents
- Include source, section, title, author, or timestamp metadata if you need filtered retrieval.
Metadata Filtering
- Filter by metadata with
where:
- Example requested pattern:
where={'source': 'paper1'}
- Metadata filters are critical for multi-tenant or source-restricted RAG.
Full Text Search
- Chroma also supports document-side text filtering with
where_document. - The commonly used operator form is:
- Some examples on the internet simplify this idea informally as
where_document={'...': 'keyword'}. - In practice, use the explicit operator form your installed Chroma version documents.
Update Documents
- Update existing records by ID:
- Use stable IDs so updates remain deterministic.
Delete Documents
- You can also delete by filter in many workflows:
- Deletes are useful for document re-indexing and source cleanup jobs.
Inspect Data
- Fetch records directly:
- Use this for debugging chunk contents, metadata shape, and embedding lifecycle issues.
HTTP Client for Server Mode
- Chroma can run as a server and be accessed over HTTP.
- Python client example:
- This is useful when multiple apps need to share one Chroma instance.
Docker Server
- Start a server with Docker:
- Pair that with
chromadb.HttpClient(host='localhost', port=8000)from Python. - For persistent data in Docker, mount a volume rather than relying on container-local storage.
Retrieval Design Tips
- Chunk documents before indexing.
- Keep chunk size and overlap consistent during experiments.
- Store source metadata so retrieved chunks can be traced back to originals.
- Log your embedding model name and collection schema.
Chroma Strengths
- Very easy local setup
- Clean Python API
- Good fit for notebook and single-service workflows
- Flexible embedding function support
Chroma Limitations
- It is simpler than some production-first vector engines.
- Large-scale distributed deployments may need a more specialized backend.
- You should benchmark real workloads before using it as a high-scale production default.
Common Failure Modes
- Empty search results:
- confirm documents were added
- confirm the embedding function is configured as expected
- lower filtering constraints
- Embedding mismatch:
- avoid changing embedding models inside the same collection without re-indexing
- document the embedding function used for each collection
- Duplicate records:
- choose deterministic IDs from source path plus chunk index
- upsert or update intentionally instead of re-adding blind
- Server connectivity issues:
- verify the Docker container is running
- confirm
localhost:8000is reachable - switch from
PersistentClienttoHttpClientonly when appropriate
Recommended Workflow
- Start local with
PersistentClient. - Use sentence-transformers for quick offline prototypes.
- Add metadata filters early if you know you need scoped retrieval.
- Move to server mode when multiple apps or services need shared access.
When To Use This Skill
- You are building a local RAG system.
- You need an easy vector store API inside Python.
- You want metadata-aware retrieval without a heavy infrastructure stack.
- You need a bridge from notebook experimentation to a small production deployment.
Quick Reference
- Install:
pip install chromadb sentence-transformers - Local client:
chromadb.PersistentClient(path="./chroma_db") - Add docs:
collection.add(documents=[...], metadatas=[...], ids=[...]) - Query:
collection.query(query_texts=["..."], n_results=5) - Metadata filter:
where={"source": "paper1"} - Document text filter:
where_document={"$contains": "keyword"} - Server client:
chromadb.HttpClient(host="localhost", port=8000) - Docker:
docker run -p 8000:8000 chromadb/chroma
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/chroma/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/alexai-mcp/hermes-ccc/chroma)