Potpie is a tool that turns a software repository and its development history into a context graph for AI coding agents. Agents use that graph to answer codebase questions, plan changes, debug problems, and write code with project-specific information. The catalogue includes skills, hooks, commands, and a plugin for integrating Potpie into coding-agent workflows.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add potpie-ai/potpie --skill potpie-resource-pdfgit clone --depth 1 https://github.com/potpie-ai/potpieWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/potpie-ai/potpie/potpie-resource-pdf)<a href="https://agentmods.dev/skills/potpie-ai/potpie/potpie-resource-pdf"><img src="https://agentmods.dev/badge/skills/potpie-ai/potpie/potpie-resource-pdf/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/potpie-ai/potpie/potpie-resource-pdf"><img src="https://agentmods.dev/badge/skills/potpie-ai/potpie/potpie-resource-pdf.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00101 | $0.03045 |
| Opus 5.5 | $0.00040 | $0.01218 |
| Sonnet 5.5 | $0.00020 | $0.00609 |
| Haiku 4.5 | $0.00010 | $0.00304 |
Grade A, and why
potpie-resource-pdf scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 274 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Potpie Resource Ingestion: PDF
An ingested document is split in two. The bytes become pot-scoped chunk
files behind the resource commands; the structure becomes graph nodes — a
Document owning one DocumentSection per real division, joined by
SECTION_OF. Each section's summary becomes a claim and indexes its
section for graph context. The resource index searches chunk text as well;
summaries improve context quality but are not a prerequisite for text search. Ingestion is
harness-led — you read the source, choose the sections, and write the
summaries; Potpie validates, stores, and embeds. There is no Potpie-side
parser or scanner for PDFs, and no scan command writes the graph for you.
Before deriving graph facts from this document, inspect
potpie --json graph catalog --profile full --pot <pot> and follow
ontology selection. Resource import
owns document structure; facts stated in the document need their own supported
entity types and relations. Do not turn behavior or architecture into preferences
or substitute generic notes for typed facts.
Two rules that are never broken
- Chunk text never passes through your own output. Write an extraction script; the script reads the PDF and writes the chunk files. Never type, paste, or echo document body text into a command argument, a summary, or a graph property. Reading chunks back afterwards (to summarize them) is fine — that is input, not output.
- Payloads never enter the graph. The graph gets slugs, titles, summaries, hashes, and chunk ids. Import enforces the caps below and rejects rather than clamps.
Step 1 — Resolve identity before extracting
potpie graph search-entities "q3 capacity review" --type Document --limit 10
If the document already exists, reuse its slug — importing the same --doc
replaces the content cleanly and bumps revision. Otherwise mint a slug:
lowercase letters, digits, single hyphens (q3-capacity-review). Never mint a
near-duplicate of an existing document slug; that fragments identity.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 274 lines · 101 tokens per session scan A 0da37bf4b40e
potpie-resource-pdf is a skill published in the GitHub repository potpie-ai/potpie (5,748 stars, last pushed today), licensed Apache-2.0. It adds 101 tokens to every session and 3,045 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-17.
Other skills, from other repositories
surfsense-documents
Make or change a Word document (.docx), a PDF, a PowerPoint deck (.pptx) or an Excel workbook (.xlsx) by writing a Python script that surfsenserenderdocument runs, optionally starting from a source's own Word or PowerPoint file. Load it whenever the user asks for one of these, or for a change to one you made.
surfsense-pdf
Work on PDFs the user has, or PDFs in Studio, without changing them - merge, take out, split, turn or reorder pages, add a watermark, page numbers, a header or a footer, and list or fill a form's fields. Load it whenever the user asks for one of these on a PDF.
azure-ai
Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.
paper-figure
Generate publication-quality figures and tables from experiment results. Use when user says "plot this", "make a figure", "generate figures", "paper figures", or needs plots for a paper. Also invoked by /auto's Ledger Figures hook to produce per-claim figures embedded into CLAIMSLEDGER.md.
langchain_patterns
Implement Retrieval-Augmented Generation (RAG) systems with LangChain4j. Build document ingestion pipelines, embedding stores, vector search strategies, and knowledge-enhanced AI applications. Use when creating question-answering systems over document collections or AI assistants with external knowledge bases.
langchain_patterns
Implement Retrieval-Augmented Generation (RAG) systems with LangChain4j. Build document ingestion pipelines, embedding stores, vector search strategies, and knowledge-enhanced AI applications. Use when creating question-answering systems over document collections or AI assistants with external knowledge bases.