rag-index
rag-index Skill
Index a document corpus for semantic search. This skill uses qmd under the hood.
Prerequisites
Install qmd:
bun install -g @tobilu/qmd
Verify installation:
qmd --version
Documents must be in markdown format. Use /rag-parse first to convert PDFs/DOCX.
Response Requirements
When using this skill, always include:
- Collection name that will be created/used (e.g.
my-project) - Source documents path being indexed (e.g.
./docs) - Where the index/collection is stored (qmd collection location), and a verification command (
qmd status)
Never omit storage location details in your final answer.
Workflow
1. Verify qmd
qmd --version
If not installed, see Prerequisites above.
2. Create Collection
qmd collection add <path> --name <name>
Arguments:
| Argument | Type | Default | Description |
|---|---|---|---|
path |
string | required | Path to document directory |
name |
string | derived | Collection name (defaults to directory name) |
Examples:
qmd collection add ./docs --name my-project
qmd collection add ~/Documents/api-docs --name api-docs
3. Add Context (Optional)
Add semantic context to help with retrieval:
qmd context add qmd://<name> "<description>"
Examples:
qmd context add qmd://api-docs "API documentation for the project"
qmd context add qmd://contracts "Legal contracts and agreements"
4. Generate Embeddings
qmd embed
This creates vector embeddings for all documents in the collection.
5. Verify Setup
qmd status
Should show your collection with document count.
Full Example
# Create collection
qmd collection add ./docs --name my-project
# Add context
qmd context add qmd://my-project "Project documentation and guides"
# Generate embeddings
qmd embed
# Verify
qmd status
Arguments
| Argument | Type | Default | Description |
|---|---|---|---|
path |
string | required | Path to document directory |
name |
string | derived | Collection name |
context |
string | asked | Context description for retrieval |
Troubleshooting
"sqlite-vec is not available"
qmd requires SQLite with extension loading support. Solutions:
- macOS:
brew install sqlite - Linux: Build sqlite-vec from source
- Docker: Use official qmd Docker image
Other Issues
If embeddings fail:
- Check qmd status:
qmd status - Verify documents exist:
ls -la <path> - Check for empty files:
find <path> -empty
Next Steps
After setting up the knowledge base, use /rag-search to search your documents.
Provider-Specific Notes
qmd (current)
- Storage: Local SQLite with sqlite-vec extension
- Embeddings: Local model (no API key required)
- Best for: Small to medium corpora, offline usage
pinecone (planned)
- Storage: Pinecone cloud
- Embeddings: OpenAI or custom embeddings
- Best for: Large-scale production deployments
- Setup: Requires
PINECONE_API_KEYenvironment variable
weaviate (planned)
- Storage: Weaviate instance (self-hosted or cloud)
- Embeddings: Configurable
- Best for: Enterprise deployments with hybrid search
- Setup: Requires
WEAVIATE_URLand optionallyWEAVIATE_API_KEY
More from etalab-ia/skills
rgaa
>-
14securite-anssi
Règles essentielles de sécurité ANSSI pour le développement d'applications de l'État. 12 règles couvrant TLS, secrets, authentification, headers, dépendances, entrées, logs et durcissement. Utiliser cette skill quand l'utilisateur développe une application web, une API, ou tout service exposé, quand il mentionne la sécurité, l'ANSSI, le durcissement, ou quand on configure un serveur, un reverse proxy ou un pipeline CI/CD.
10datagouv-apis
>-
10react-dsfr
Créer des interfaces React conformes au Design System de l'État français (DSFR) avec @codegouvfr/react-dsfr. Utiliser cette skill quand l'utilisateur demande de créer des pages, composants ou interfaces en React utilisant le DSFR, quand il mentionne react-dsfr, le design system de l'État, ou quand le projet utilise @codegouvfr/react-dsfr. Couvre les composants natifs react-dsfr (pas MUI), le routing, les icônes, les couleurs et les patterns de mise en page.
9lasuite-ui-kit
Créer des interfaces React pour les applications LaSuite (Docs, Drive, People, Webinaire, Messagerie, etc.) avec @gouvfr-lasuite/ui-kit et @gouvfr-lasuite/cunningham-react. Utiliser cette skill quand l'utilisateur travaille sur une application LaSuite, mentionne @gouvfr-lasuite/ui-kit, @gouvfr-lasuite/cunningham-react, @openfun/cunningham-react, ou développe des composants pour la suite numérique de l'État. Couvre le layout applicatif, la navigation, la recherche rapide, les utilisateurs, les badges, les icônes Material, les menus contextuels et les patterns de partage.
9rag-parse
Convertir des documents non-structurés (PDF, DOCX, PPTX, XLSX, images, etc.) en markdown ou JSON localement, sans dépendances cloud. Utiliser quand l'utilisateur demande de parser des fichiers, convertir des documents, ou extraire du texte de PDFs.
7