--- name: chroma description: This skill provides access to a RAG-like context enhancer that uses Chroma locally. --- # Chroma Whenever the user asks to "use chroma", you should perform a search on Chroma, which runs locally via a Python script. The working directory you must use is located in `~/code/chroma` and the entrypoint is `main.py`. The script **MUST** be invoked using `uv`. You have access to these commands: - `$ uv run main.py lc` -> Lists the existing collections. - `$ uv run main.py q ` -> Performs a query. Be sure to quote the `` if this is composed by multiple words. Then use the response from Chroma to enhance the context and give the user a refined response. ## A note on file sources The Chroma response returns the metadatas for the chunks it finds. Among these metadatas, there is `file_name`, which refers to the original file that was chunked and imported. **DO NOT ATTEMPT** to find or fetch these files. They most likely do not exist in the filesystem. You **SHOULD ALWAYS** however cite correctly from which files (**ONLY** from Chroma's metadatas) the information is coming. ## Example use case **START** User query: > Search in chroma information about lovecraft's Dunwich horror. Step 1: Get the available collections with `uv run main.py lc`. The output is: ``` lovecraft documents ``` Most likely our information is in the `lovecraft` collection. We will use that for the query. Step 2: Query using `uv run main.py q lovecraft `. The query *is up to you*, create one keeping into account that this is a raw query on a vector DB. Be concise, extract keywords, avoid noise. Step 3: Get the results, enhance the context, and respond to the user. **END**