Skip to content
Back to skills

Data Ingestion

ASecurity

"Load local files, directories, and websites into DeepSearcher

  • 247 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 8, 2026
toolspythonapidatabase

Works with

  • cli
  • api

Security analysis

A100/100

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

Scanned September 8, 2026

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

Installs into .claude/skills of the current project.

Are you the author of Data Ingestion?

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

Security grade badge for Data Ingestion
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-data-ingestion-arex-skill/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-data-ingestion-arex-skill)

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: data-ingestion
description: "Load local files, directories, and websites into DeepSearcher
  collections while validating inputs, loader choices, chunking, and vector
  database implications."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Data Ingestion

Use this sub-skill when the user needs to load documents or web pages into a DeepSearcher collection, choose an ingestion loader or crawler, tune chunking and batching, prevent collection overwrite mistakes, or validate ingestion inputs before indexing.

Prefer DeepSearcher's Python APIs for ingestion workflows:

- Local files and directories: `deepsearcher.offline_loading.load_from_local_files(...)`
- Websites and web-readable documents: `deepsearcher.offline_loading.load_from_website(...)`
- Configuration: `deepsearcher.configuration.Configuration` and `deepsearcher.configuration.init_config(...)`

For command-line `deepsearcher load ...` syntax, route to `cli-and-service`. For provider credentials and model/provider selection, route to `provider-configuration`. For querying or retrieval after ingestion, route to `rag-query`. For evaluation dataset loading, route to `evaluation`.

## Fast Routing

| User intent | Read |
| --- | --- |
| Load PDFs, Markdown, text, JSON/JSONL, or a directory | [references/local-loading.md](references/local-loading.md) |
| Crawl or scrape websites into a collection | [references/web-loading.md](references/web-loading.md) |
| Pick PDF/Text/JSON/Unstructured/Docling loaders or tune chunks | [references/data-formats-and-chunking.md](references/data-formats-and-chunking.md) |
| Diagnose missing files, empty chunks, FireCrawl key errors, Milvus Lite locks, or version incompatibilities | [references/troubleshooting.md](references/troubleshooting.md) |
| Validate paths, URLs, chunk parameters, and collection-name normalization without indexing | [scripts/validate_ingestion_inputs.py](scripts/validate_ingestion_inputs.py) |

## Operating Checklist

1. Confirm the ingestion source type: local path(s), directory, URL(s), or a mix that should be split into separate local and web ingestion calls.
2. Confirm the intended collection name and overwrite policy. For local loading, names are normalized by replacing spaces and hyphens with underscores; set `force_new_collection=True` only when the existing collection should be dropped.
3. Choose the configured file loader or web crawler before calling `init_config(config)`. Do not initialize configuration just to validate user input.
4. Validate local paths, URL shape, chunk parameters, and optional JSON text key with the bundled helper when practical. The helper performs no indexing, no network calls, and no provider initialization.
5. Initialize DeepSearcher only after credentials, optional dependencies, and vector DB readiness are accounted for.
6. Load data, then route post-load search, retrieval, answer generation, and token accounting to `rag-query`.

## Minimal API Pattern

```python
from deepsearcher.configuration import Configuration, init_config
from deepsearcher.offline_loading import load_from_local_files

config = Configuration()
config.set_provider_config("file_loader", "PDFLoader", {})
config.set_provider_config("vector_db", "Milvus", {"uri": "./milvus.db", "token": ""})
init_config(config)

load_from_local_files(
    paths_or_directory=["docs/guide.pdf", "notes/summary.md", "notes/plain.txt"],
    collection_name="project_knowledge",
    collection_description="Project PDFs, Markdown, and text notes",
    force_new_collection=False,
    chunk_size=1500,
    chunk_overlap=100,
    batch_size=256,
)
```

Treat credentialed, networked, remote-service, and expensive ingestion as optional unless the user explicitly asks to run it and the required provider configuration is ready.

Files in this skill

  • SKILL.md3.7 KB
  • references/data-formats-and-chunking.md7.2 KB
  • references/local-loading.md6.8 KB
  • references/troubleshooting.md7.9 KB
  • references/web-loading.md6.3 KB
  • scripts/validate_ingestion_inputs.py13.3 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.