quickstart — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited quickstart (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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:
name: quickstart-skills
cloud: aws
region: us-east-1
embed:
model: llama-text-embed-v2
fieldMap:
text: chunk_textExplain 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:
uv run scripts/upsert.py --index quickstart-skillsIf using a .env file:
uv run --env-file .env scripts/upsert.py --index quickstart-skillsExplain 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:
index: quickstart-skills
namespace: example-namespace
query:
topK: 3
inputs:
text: "getting things done efficiently"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:
rerank:
model: bge-reranker-v2-m3
rankFields: [chunk_text]
topN: 3Explain: 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:
cp scripts/quickstart_complete.py ./pinecone_quickstart.pyTell 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 assistant or run (add --env-file .env if using a .env file):
uv run ../assistant/scripts/create.py --name my-assistantExplain: The assistant is a fully managed RAG service — upload documents, ask questions, get cited answers.
Invoke assistant or run (add --env-file .env if using a .env file):
uv run ../assistant/scripts/upload.py --assistant my-assistant --source ./your-docsExplain: Pinecone handles chunking, embedding, and indexing automatically — no configuration needed.
Invoke assistant or run (add --env-file .env if using a .env file):
uv run ../assistant/scripts/chat.py --assistant my-assistant --message "What are the main topics in these documents?"Explain: Responses include citations with source file and page number.
assistant to keep the assistant up to date as documents change`PINECONE_API_KEY` not set
Terminal environments:
export PINECONE_API_KEY="your-key"IDEs that don't inherit shell variables: create a .env file in the project root:
PINECONE_API_KEY=your-keyThen 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 CLI`uv` not installed See the uv installation guide.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.