/index
Reindexes KB for semantic search via vector store (Qdrant). Triggers: reindex KB, rebuild index, vector reindex, refresh embeddings.
$ npx -y skills add softspark/ai-toolkit --skill index --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/index
Context preview
The summary Claude sees to decide when to auto-load this skill.
Reindexes KB for semantic search via vector store (Qdrant). Triggers: reindex KB, rebuild index, vector reindex, refresh embeddings.
SKILL.md
index.SKILL.mdname: index
description: "Reindexes KB for semantic search via vector store (Qdrant). Triggers: reindex KB, rebuild index, vector reindex, refresh embeddings."
effort: low
disable-model-invocation: true
argument-hint: "[path or scope]"
allowed-tools: Bash
Knowledge Base Indexing
$ARGUMENTS
Reindex the knowledge base for semantic search.
> **Prerequisite**: This command requires a vector store (e.g., Qdrant) and an indexing pipeline configured for your project. If not configured, this command provides guidance on setup.
Usage
/index # Incremental index (detect changes)
/index --full # Full rebuild
Execution
Direct Execution
# Incremental index (auto-detects changes)
make index
# Full rebuild
make index-full
Docker Execution
docker exec {app-container} make index
docker exec {app-container} make index-fullChange Detection
The indexer uses content hashing to detect changes:
| Scenario | Action | |----------|--------| | New document | Index | | Changed content | Reindex | | No changes | Skip | | Deleted document | Remove from index |
Frontmatter Validation
Before indexing, ensure all KB documents have valid frontmatter:
---
title: "Document Title"
service: {service-name}
category: reference|howto|procedures|troubleshooting|decisions|best-practices
tags: [tag1, tag2]
last_updated: "YYYY-MM-DD"
---Troubleshooting
| Problem | Solution | |---------|----------| | Index not updating | Check file timestamps, run full rebuild | | Missing documents | Verify frontmatter is valid | | Slow indexing | Check embedding service performance | | No vector store | Set up Qdrant or compatible vector DB |
Rules
- **MUST** require explicit user permission before running `make index` or `make index-full` — never self-trigger
- **NEVER** trigger a full rebuild to "clean up" unless the user asked for it
- **CRITICAL**: validate KB frontmatter before indexing — abort on invalid documents rather than indexing a broken state
- **MANDATORY**: respect change-detection hashes; do not force reindexing of unchanged documents
Gotchas
- Content-hash change detection keys on the file's content AND path. A **moved** document (same content, new path) looks new to the indexer — both the old path vector and the new one will exist until a full rebuild. Plan a full rebuild after mass reorganizations.
- Deleting a document on disk does not automatically remove its vectors from Qdrant; the indexer emits tombstones only if run with a directory scan. Without `--delete-missing`, orphan vectors stay for weeks.
- Embedding providers rate-limit by requests-per-minute AND by tokens-per-minute. A reindex of 1000+ docs hits the token cap first and stalls silently — watch for 429s in the indexer log before concluding "slow indexing".
- `make index-full` truncates the collection before re-embedding; if the embedding job crashes mid-way, the collection is left partially populated with no query-time indicator of the gap.
When NOT to Use
- For searching the KB — use `/research-mastery` or call `smart_query()` via the rag-mcp tool
- For fixing indexing bugs — use `/debug` on the indexer pipeline
- To evaluate RAG quality after reindexing — use `/evaluate`
- When no vector store is configured — document the gap, do not invent one
Read more
name: index description: "Reindexes KB for semantic search via vector store (Qdrant). Triggers: reindex KB, rebuild index, vector reindex, refresh embeddings." effort: low disable-model-invocation: true argument-hint: "[path or scope]" allowed-tools: Bash
Knowledge Base Indexing
$ARGUMENTS
Reindex the knowledge base for semantic search.
> **Prerequisite**: This command requires a vector store (e.g., Qdrant) and an indexing pipeline configured for your project. If not configured, this command provides guidance on setup.
Usage
/index # Incremental index (detect changes) /index --full # Full rebuild
Execution
Direct Execution
# Incremental index (auto-detects changes) make index # Full rebuild make index-full
Docker Execution
docker exec {app-container} make index
docker exec {app-container} make index-fullChange Detection
The indexer uses content hashing to detect changes:
| Scenario | Action | |----------|--------| | New document | Index | | Changed content | Reindex | | No changes | Skip | | Deleted document | Remove from index |
Frontmatter Validation
Before indexing, ensure all KB documents have valid frontmatter:
---
title: "Document Title"
service: {service-name}
category: reference|howto|procedures|troubleshooting|decisions|best-practices
tags: [tag1, tag2]
last_updated: "YYYY-MM-DD"
---Troubleshooting
| Problem | Solution | |---------|----------| | Index not updating | Check file timestamps, run full rebuild | | Missing documents | Verify frontmatter is valid | | Slow indexing | Check embedding service performance | | No vector store | Set up Qdrant or compatible vector DB |
Rules
- **MUST** require explicit user permission before running `make index` or `make index-full` — never self-trigger
- **NEVER** trigger a full rebuild to "clean up" unless the user asked for it
- **CRITICAL**: validate KB frontmatter before indexing — abort on invalid documents rather than indexing a broken state
- **MANDATORY**: respect change-detection hashes; do not force reindexing of unchanged documents
Gotchas
- Content-hash change detection keys on the file's content AND path. A **moved** document (same content, new path) looks new to the indexer — both the old path vector and the new one will exist until a full rebuild. Plan a full rebuild after mass reorganizations.
- Deleting a document on disk does not automatically remove its vectors from Qdrant; the indexer emits tombstones only if run with a directory scan. Without `--delete-missing`, orphan vectors stay for weeks.
- Embedding providers rate-limit by requests-per-minute AND by tokens-per-minute. A reindex of 1000+ docs hits the token cap first and stalls silently — watch for 429s in the indexer log before concluding "slow indexing".
- `make index-full` truncates the collection before re-embedding; if the embedding job crashes mid-way, the collection is left partially populated with no query-time indicator of the gap.
When NOT to Use
- For searching the KB — use `/research-mastery` or call `smart_query()` via the rag-mcp tool
- For fixing indexing bugs — use `/debug` on the indexer pipeline
- To evaluate RAG quality after reindexing — use `/evaluate`
- When no vector store is configured — document the gap, do not invent one
Professional-grade AI coding toolkit with multi-platform support. Machine-enforced safety, 109 skills, 44 agents, expanded lifecycle hooks, persona presets, experimental opt-in plugin packs, and benchmark tooling — works with Claude Code, Claude Chat/Cowork,
Repo: softspark/ai-toolkit
Other skills on ai-toolkit.
- /ai-toolkit-rules
Mandatory engineering, security, testing, git, performance, quality, and response rules. Claude MUST load this skill for every technical, coding, debugging, review, architecture, DevOps, data, or file-editing task in Chat or Cowork.
Open skill - /mem-search
Search past coding sessions using natural language. Finds relevant observations, decisions, and context from previous work.
Open skill - /a11y-validate
Accessibility validator: WCAG 2.1 AA, EN 301 549, EAA. Triggers: a11y, accessibility, WCAG, EAA, ARIA, contrast, keyboard, screen reader.
Open skill - /agent-creator
Creates new specialized agents with frontmatter, tools, delegation. Triggers: new agent, create agent, agent scaffold, specialized agent.
Open skill - /analyze
Analyzes code quality, complexity, patterns across codebase. Triggers: quality report, hotspot scan, code analysis, architecture signal.
Open skill - /api-patterns
REST/GraphQL API design: naming, versioning, pagination, idempotency, OpenAPI. Triggers: API design, REST, GraphQL, OpenAPI, Swagger, idempotency, rate limit.
Open skill

