Skip to content
Back to skills

Ingestion And Loading

ASecurity

"Load local files or raw text into LlamaIndex Documents, split them

  • 247 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 8, 2026
documentationpythonbashnodeapi

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill ingestion-and-loading --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Ingestion And Loading?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Ingestion And Loading
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-ingestion-and-loading/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-ingestion-and-loading)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: ingestion-and-loading
description: "Load local files or raw text into LlamaIndex Documents, split them
  into metadata-aware nodes, and run ingestion pipelines with cache/docstore
  controls. Use for SimpleDirectoryReader configuration, Document/TextNode
  metadata,
  SentenceSplitter/TokenTextSplitter/MarkdownNodeParser/HierarchicalNodeParser,
  IngestionPipeline, and ingestion troubleshooting."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# Ingestion and Loading

Use this sub-skill when the user needs to get data into `llama_index.core` before indexing or querying.

## Route Here For

- Loading files with `SimpleDirectoryReader`, including `input_dir`, `input_files`, `exclude`, `exclude_hidden`, `exclude_empty`, `recursive`, `required_exts`, `filename_as_id`, `file_extractor`, `file_metadata`, and `raise_on_error`.
- Creating or inspecting `Document`, `TextNode`, node IDs, metadata, `excluded_embed_metadata_keys`, and `excluded_llm_metadata_keys`.
- Splitting documents into nodes with `SentenceSplitter`, `TokenTextSplitter`, `MarkdownNodeParser`, or `HierarchicalNodeParser`.
- Running `IngestionPipeline` with transformations, `IngestionCache`, optional docstores, `DocstoreStrategy`, `persist()`, `load()`, `run()`, `arun()`, and `num_workers`.
- Diagnosing no files loaded, skipped hidden/empty/excluded files, encoding failures, optional parser dependencies, oversized metadata, bad chunk overlap, stale caches/docstores, duplicate IDs, and async/parallel ingestion caveats.

## Do Not Use For

- Choosing index classes, retrievers, query engines, or response synthesizers; use `../indexing-and-querying/SKILL.md`.
- Selecting external vector stores, embedding providers, file parser integrations, or optional provider packages; use `../integrations-and-storage/SKILL.md`.
- Building agents, tools, memory, or workflows; use `../agents-and-workflows/SKILL.md`.

## Fast Start

```python
from llama_index.core import Document, SimpleDirectoryReader
from llama_index.core.ingestion import IngestionPipeline
from llama_index.core.node_parser import SentenceSplitter

reader = SimpleDirectoryReader(
    input_dir="data",
    recursive=True,
    required_exts=[".md", ".pdf"],
    exclude_hidden=True,
    filename_as_id=True,
)
documents = reader.load_data()

splitter = SentenceSplitter(chunk_size=1024, chunk_overlap=200)
nodes = splitter.get_nodes_from_documents(documents)

pipeline = IngestionPipeline(transformations=[splitter])
nodes = pipeline.run(documents=documents, show_progress=True)
```

For raw text, bypass readers:

```python
from llama_index.core import Document

doc = Document(text="Release notes...", metadata={"source": "manual"}, id_="release-notes")
```

## Required References

- Read `references/workflows.md` for loading recipes, metadata-aware chunking, and cache/docstore refresh patterns.
- Read `references/api-reference.md` for signatures, defaults, imports, and parser selection rules.
- Read `references/troubleshooting.md` when ingestion loads nothing, parsing fails, chunks look wrong, or cache/docstore results are stale.
- Run `scripts/validate_ingestion_inputs.py --help` before proposing a `SimpleDirectoryReader` setup for unfamiliar local file trees.

## Bundled Helper

Use the safe validator to inspect planned local inputs and print likely reader arguments without importing LlamaIndex or reading file contents:

```bash
python sub-skills/ingestion-and-loading/scripts/validate_ingestion_inputs.py data --required-ext .md --required-ext .pdf --recursive --filename-as-id
```

It reports matched, hidden, empty, excluded, and extension-filtered files plus a copyable `SimpleDirectoryReader(...)` argument sketch.

Files in this skill

  • SKILL.md3.6 KB
  • references/api-reference.md6 KB
  • references/troubleshooting.md4 KB
  • references/workflows.md5 KB
  • scripts/validate_ingestion_inputs.py5.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.