npx skills add ...
npx skills add pinecone-io/skills --skill pinecone-quickstart
npx skills add pinecone-io/skills --skill pinecone-quickstart
Interactive Pinecone quickstart for new developers. Choose between two paths - Database (create an integrated index, upsert data, and query using Pinecone MCP + Python) or Assistant (create a Pinecone Assistant for document Q&A). Use when a user wants to get started with Pinecone for the first time or wants a guided tour of Pinecone's tools.
Welcome! This skill walks you through your first Pinecone experience using the tools available to you. In this quickstart, you will learn how to do a simple form of semantic search over some example data.
Before starting either path, verify the API key works by calling list-indexes via the Pinecone MCP. If it succeeds, proceed. If it fails, ask the user to set their key:
export PINECONE_API_KEY="your-key".env file in the project root: PINECONE_API_KEY=your-keyThen retry list-indexes to confirm.
Ask the user which path they want:
For each step, explain to the user what will happen. An overview is here:
The prerequisite check already called list-indexes. If it succeeded, the MCP is working — proceed to Step 2.
If it failed because MCP tools were unavailable (not an auth error):
Use the MCP create-index-for-model tool to create a serverless index with integrated embeddings:
Explain to the user what's happening:
llama-text-embed-v2)field_map tells Pinecone which field in your records contains the text to embedWait for the index to become ready before proceeding. Waiting a few seconds is sufficient.
Run the bundled upsert script to seed the index with sample records.
If PINECONE_API_KEY is set in the environment:
If using a .env file:
Explain to the user what's happening:
_id, a chunk_text field (the text that gets embedded), and a category fieldUse the MCP search-records tool to run the first semantic search:
Display the results in a clean table: ID, score, and chunk_text.
Explain to the user what's happening:
Offer to explore further: Ask the user if they'd like to try another query to see the effect more clearly:
"feeling under the weather" — should surface the health records"wildlife spotting outside" — should surface the nature recordsRun whichever query they choose and display the results the same way. If they want to try both, do both. After each result, point out which theme surfaced and why.
If they decline or are done exploring, proceed to Step 5 or offer to skip ahead to the complete script.
Ask the user if they want to try reranking.
If yes, use search-records again with reranking enabled:
Explain: Reranking runs a second-pass model over the results to improve relevance ordering.
Congratulate the user on completing the quickstart. Ask if they'd like a standalone Python script that does everything in one go — create index, upsert, query, and rerank.
If yes, copy it to their working directory:
Tell the user:
./pinecone_quickstart.pyuv run pinecone_quickstart.pyuv inline dependencies — no separate install neededrecords list to build something realGuide the user through the Pinecone Assistant workflow using the existing assistant skills:
Before anything else, ask the user if they have files to upload. Pinecone Assistant accepts .pdf, .md, .txt, and .docx files — a single file or a folder of files both work.
If they have files: ask for the path and proceed to Step 2.
If they don't have files: offer two options:
./sample-docs/ so they can complete the quickstart right now. Ask what topics they'd like (or default to: a product FAQ, a short how-to guide, and a brief company overview). Write 3 files, each 150–250 words.Invoke pinecone-assistant or run (add --env-file .env if using a .env file):
Explain: The assistant is a fully managed RAG service — upload documents, ask questions, get cited answers.
Invoke pinecone-assistant or run (add --env-file .env if using a .env file):
Explain: Pinecone handles chunking, embedding, and indexing automatically — no configuration needed.
Invoke pinecone-assistant or run (add --env-file .env if using a .env file):
Explain: Responses include citations with source file and page number.
pinecone-assistant to keep the assistant up to date as documents changePINECONE_API_KEY not set
Terminal environments:
IDEs that don't inherit shell variables: create a .env file in the project root:
Then use uv run --env-file .env when running scripts. Restart your IDE/agent session after setting.
MCP tools not available
PINECONE_API_KEY is set before the MCP server startsIndex already exists
pc index delete -n quickstart-skills via the CLIuv not installed
See the uv installation guide.
rerank:
model: bge-reranker-v2-m3
rankFields: [chunk_text]
topN: 3cp scripts/quickstart_complete.py ./pinecone_quickstart.pyuv run ../pinecone-assistant/scripts/create.py --name my-assistantuv run ../pinecone-assistant/scripts/upload.py --assistant my-assistant --source ./your-docsuv run ../pinecone-assistant/scripts/chat.py --assistant my-assistant --message "What are the main topics in these documents?"export PINECONE_API_KEY="your-key"PINECONE_API_KEY=your-key