Agent skill · writing content · github
pinecone-rag
Build production RAG pipelines and persistent agent memory using Pinecone as the vector database backend. ALWAYS USE THIS SKILL when the user mentions Pinecone, wants to index documents for semantic search, build a retrieval-augmented generation system, store agent memory across sessions, implement hybrid search, or connect an LLM to a searchable knowledge base — even if they don't say "Pinecone" explicitly. Also use when the user asks about vector databases for RAG, namespace isolation for multi-tenant agents, embedding pipelines, or scaling a knowledge base beyond what local storage can handle. DO NOT use for local-only vector stores (Chroma, FAISS, pgvector) or pure keyword search with no semantic component.
Why this skill is useful
Provides specific commands and workflows for integrating Pinecone as a vector database in RAG systems, which the AI wouldn't reliably generate on its own.
What it needs
Requires openai, pinecone installed locally. Requires openai, pinecone account access. About 5k tokens when loaded. Last updated 2026-08-07. 37,534 stars on the source repository.
What this skill does
Pinecone RAG Skill This skill guides you through building a production RAG pipeline or persistent agent memory system using Pinecone. Follow the workflow from start to finish — don't skip steps or jump to code before understanding what the user actually needs. Before you start — ask one question Before writing any code, identify which of these two use cases applies: A — RAG over documents: User wants to index a corpus (PDFs, docs, code, web pages) and retrieve relevant chunks to ground LLM responses. B — Agent memory: User wants an agent to remember facts, decisions, or context across sessions or across multiple agents sharing a knowledge base. The setup is similar but the namespace strategy and retrieval patterns differ. If the user hasn't said, ask: "Is this for document retrieval, agent memory, or both?" Then follow the relevant workflow below. --- Step 1 — Choose your index configuration Pick the index type before writing any code. Getting this wrong means re-creating the index later. Serverless (recommended for most cases) Pod-based (for consistent high-throughput production) Dimension quick reference — match this exactly to your embedding model: Model Dimension --- --- text-embedding-3-small 1536 text-embedding-3-large 3072 voyage-3 / voyage-multimodal-3 1024 BAAI/bge-large-en-v1.5 1024 intfloat/multilingual-e5-large (Arabic, Malay, Chinese) 1024 Checkpoint: Index exists, dimension matches embedding model, index.describeindexstats() returns without error. --- Step 2 — Embed and upsert documents Always batch upserts — never upsert one vector at a time. Always store the original text in metadata — this avoids a second lookup at retrieval time. Checkpoint: index.describeindexstats() shows vector count > 0 in the target namespace. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills github/pinecone-rag