From turbopuffer
Use when the user wants to work with turbopuffer — a serverless vector and full-text search database. Covers setup, querying (vector ANN, BM25, hybrid), writing data, exploring namespaces, and diagnosing issues. Trigger on any mention of turbopuffer, vector search, namespace, embeddings, BM25, or semantic search in the context of turbopuffer.
How this skill is triggered — by the user, by Claude, or both
Slash command
/turbopuffer:tpufThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Before any operation, verify:
references/api-patterns.mdreferences/bulk-ingestion.mdreferences/common-mistakes.mdreferences/doctor-indexing.mdreferences/doctor.mdreferences/explore.mdreferences/namespace-design.mdreferences/overview.mdreferences/query.mdreferences/sdk-examples.mdreferences/setup.mdreferences/troubleshoot-429.mdreferences/write.mdBefore any operation, verify:
execute and search_docs tools exist. If not:
Set your API key and restart Claude Code:
echo 'export TURBOPUFFER_API_KEY=tpuf_...' >> ~/.zshrc && source ~/.zshrcGet your key at https://turbopuffer.com/dashboard
async function run(client) {
for await (const ns of client.namespaces()) { console.log(ns.id); break; }
console.log("Connected.");
}
Match the user's request to a reference and load it before proceeding:
| User wants to... | Load reference |
|---|---|
| Set up turbopuffer, install SDK, configure API key | references/setup.md |
| List namespaces, inspect schema, see what data exists | references/explore.md |
| Search, query, find similar, retrieve data | references/query.md |
| Add, update, delete data, configure schema | references/write.md |
| Fix 429 errors, rate limiting, concurrency issues | references/troubleshoot-429.md |
| Load large datasets, bulk ingest, monitor progress | references/bulk-ingestion.md |
| Design namespaces, plan sharding, sizing | references/namespace-design.md |
| Diagnose slow/empty/wrong queries, optimize schema, fix latency | references/doctor.md |
| Stuck indexing, unindexed backlog, indexing throttling | references/doctor-indexing.md |
For multi-step requests, load references in sequence as needed.
delete_by_filter or ns.deleteAll(), confirm intent and show what will be affected before executing.limit, not top_k — top_k is deprecated.ns.deleteAll() — permanently deletes an entire namespace and all its datadelete_by_filter on broad filters — could delete thousands of rows unexpectedlyAlways structure responses as:
prod-articles with BM25 search")distance_metric is set on first write and cannot be changed. If wrong, create a new namespace..substring(0, 800). Cast before string methods: row.field as string.filterable: true attributes can appear in filters."tpuf*" is fast, "*tpuf*" scans everything.include_attributes: true returns everything — prefer listing specific fields.Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub turbopuffer/skills --plugin turbopuffer