llamaindex-framework
Skill0 starsChanged 5 months agoMITView on GitHub
This skill should be used when the user wants to "build a RAG pipeline with LlamaIndex (OSS)", work with "VectorStoreIndex / query engine", follow the "load-index-store-query" model, consult "LlamaIndex component/module guides", or do "self-managed retrieval in code". Owns the open-source LlamaIndex Python/TS framework mental model and component selection; defers managed/hosted RAG to llamacloud-index, agent orchestration to llamaindex-workflows, deployment to llamaindex-deploy, and cloud parsing to llamacloud-parse.
In this repository12 other files it gives its agents.
- liteparseSkill
- llamacloud-classifySkill
- llamacloud-extractSkill
- llamacloud-indexSkill
- llamacloud-parseSkill
- llamacloud-self-hostingSkill
- llamacloud-sheetsSkill
- llamacloudSkill
- llamacloud-splitSkill
- llamaindex-cookbooksSkill
- llamaindex-deploySkill
- llamaindex-workflowsSkill
The file
We split this skill into the rules it gives an agent
2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 16
Every LlamaIndex RAG application is the same four-stage pipeline.
- Distinctive: line 114
Do not trust memory for exact class/method signatures, parameter names, or current package names — they drift.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
LlamaIndex Framework (OSS) — Build RAG Yourself
Guide building retrieval-augmented generation in code with the open-source LlamaIndex
framework: own the data flow, pick components, run retrieval and synthesis in your own
process. Use this skill for self-managed RAG. For a fully managed pipeline (hosted
indexing, parsing, retrieval API) hand off to llamacloud-index.
The mental model: load → index → store → query
Every LlamaIndex RAG application is the same four-stage pipeline. Hold this map; it determines which component category does each job.
- Load — get data in and chunk it. Readers/connectors ingest from files, URLs,
databases, APIs. A node parser splits documents into
Nodes (chunks + metadata). - Index — build a queryable structure. Most commonly embed nodes into a
VectorStoreIndex. Embeddings turn text into vectors for semantic similarity. - Store — persist the index so re-indexing is not repeated on every run. Either persist the default in-memory stores to disk, or back the index with an external vector database.
- Query — answer questions. A query engine wires a retriever (fetch top-k nodes) → optional node postprocessors (filter/rerank) → response synthesizer (LLM composes the answer). Add memory with a chat engine; add reasoning/tools with an agent.
A fifth concern, evaluate, measures retrieval and answer quality once the pipeline
runs. Treat it as the feedback loop, not a build step. When an answer is wrong, the
mental model tells you where to look: evaluate retrieval and generation separately, then
fix the stage that broke (chunking, embedding, top_k, or synthesizer) rather than
guessing at the prompt.
This skill owns the framework-vs-managed decision too. Build with the OSS framework
when the team wants control over chunking, the vector store, retrieval logic, and
hosting, and is willing to operate them. Choose the managed Cloud Index
(llamacloud-index) when the team would rather not run indexing infrastructure at all —
hand off the whole pipeline. The two are not mutually exclusive at the component level,
but pick one as the spine of the application.
The framework offers a high-level path (VectorStoreIndex.from_documents(...) then
.as_query_engine() — sensible defaults, few lines) and a low-level path (assemble
retriever, postprocessors, and synthesizer by hand). Start high-level: get an answer end
to end, measure it, and only then drop to the low-level API for the one stage that needs
control. Reaching for the low-level API, custom retrievers, routers, or sub-question
decomposition before the defaults have been measured is the most common way these
pipelines accrue complexity that never pays for itself. See references/rag-pipeline.md
for the sequence and the key decision at each stage.
Component map (which category for which job)
| Stage | Category | Job |
| Load | Readers / connectors | Ingest source data into Documents |
| Load | Node parsers / text splitters | Chunk documents into Nodes |
| Index | Indexes | Organize nodes for retrieval (vector, summary, keyword, property graph) |
| Index | Embeddings | Encode text to vectors |
| Index/Query | LLMs | Generate text (extraction, synthesis, agent reasoning) |
| Store | Storage context | Doc store + index store + vector store; persist vs re-index |
| Query | Retrievers | Fetch candidate nodes for a query |
| Query | Node postprocessors | Filter, rerank, apply similarity cutoffs |
| Query | Response synthesizers | Compose the final answer from nodes |
| Query | Routers / query engines / chat engines / agents | Route and orchestrate the query flow |
Selection judgment — which index, which retrieval shape, which synthesizer mode, when to
move from local to an external vector store — lives in references/component-map.md.
Consult it before defaulting; the defaults are good but not universal.
Key choices, fast
- Index type:
VectorStoreIndexfor semantic search (the default and the right answer for most RAG). Summary index for "read everything and synthesize." Property graph index for relationship/multi-hop questions. Keyword table for exact-term lookup. - Store: prototype with the in-memory default and
persist/loadto disk. Move to an external vector database when data outgrows memory, multiple processes share the index, or production durability matters. - Synthesizer mode:
compact(default) for normal Q&A;tree_summarizefor summarizing many chunks;refinefor maximum detail at higher cost. Mode trades LLM calls (latency/cost) against answer completeness — table incomponent-map.md. - Query interface: query engine for one-shot Q&A; chat engine when conversation
memory matters; agent when the query needs tool use or multi-step reasoning. For full
event-driven agent orchestration, defer to
llamaindex-workflows.
Packaging note (durable)
LlamaIndex is modular: a small core plus many independently versioned integration
packages (each reader, vector store, LLM, and embedding provider ships separately).
Install the core plus only the integrations a pipeline uses. The exact distribution
names have shifted over time — confirm them live (see below) rather than hardcoding from
memory. Illustrative Python uses the llama-index family; TypeScript uses LlamaIndex.TS.
# Python — high-level, illustrative (confirm package/signature via docs)
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
docs = SimpleDirectoryReader("./data").load_data()
index = VectorStoreIndex.from_documents(docs)
answer = index.as_query_engine().query("What changed in Q3?")// TypeScript (LlamaIndex.TS) — illustrative
import { VectorStoreIndex, Document } from "llamaindex";
const index = await VectorStoreIndex.fromDocuments([new Document({ text })]);
const res = await index.asQueryEngine().query({ query: "What changed in Q3?" });Set the embedding model and LLM once via the global Settings object (or pass them
per-call) instead of threading them through every component.
Fetching facts (signatures, package names, parameters)
Do not trust memory for exact class/method signatures, parameter names, or current package names — they drift. Look them up live:
mcp__plugin_llamacloud_docs__search_docs— concept / BM25 search.mcp__plugin_llamacloud_docs__read_doc— read a known doc page.mcp__plugin_llamacloud_docs__grep_docs— exact symbol / regex search.- Fallback (verified working for OSS framework docs): append
index.mdto anyhttps://developers.llamaindex.ai/...page URL and WebFetch it. Prefer this fallback for OSSframework/pages.
Anchor doc paths for this pillar:
https://developers.llamaindex.ai/python/framework/understanding/rag/— the staged model.https://developers.llamaindex.ai/python/framework/module_guides/— component index..../module_guides/indexing/index_guide/— index type comparison..../module_guides/storing/— persistence and stores..../module_guides/querying/response_synthesizers/— synthesizer modes.
Boundaries (defer, do not teach here)
- Managed / hosted RAG (LlamaCloud indexing, retrieval API, no infra) →
llamacloud-index. Choose managed over this framework when the team does not want to run/maintain the indexing and vector store themselves. (Cloud Index v2 is beta; teach stable Cloud Index there.) - Event-driven agent orchestration (multi-step
Workflow, steps/events) →llamaindex-workflows. - Deploying agents/services →
llamaindex-deploy. - Cloud document parsing (complex PDFs, tables, OCR) →
llamacloud-parse. This skill uses basic local readers; reach for managed parsing when documents are hard.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

