Skip to content
Back to skills

Indexing

ASecurity

"Build, inspect, and export bounded paperai indexes from a

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

Works with

  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

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

Scanned September 8, 2026

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

Installs into .claude/skills of the current project.

Are you the author of Indexing?

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

Security grade badge for Indexing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-indexing-arex-skill/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-indexing-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: indexing
description: "Build, inspect, and export bounded paperai indexes from a
  paperetl-style SQLite corpus with txtai-compatible vector configuration."
disable-model-invocation: true
metadata:
  disco-role: operating
license: Apache 2.0
---

# Indexing

Use this route when the task is to prepare or inspect the searchable model
behind `paperai`: validate a corpus, choose a txtai/vector configuration, build
an embeddings index, train optional static word vectors, or export raw section
text. Start with the no-download checker:

```bash
python scripts/inspect_corpus.py ./corpus --config ./index.yml --maxsize 1000 --toprank 0
```

The checker is bundled at [scripts/inspect_corpus.py](scripts/inspect_corpus.py). Run
that command from this sub-skill directory, or replace `scripts/` with the
path where this runtime skill is installed.

The `./corpus` argument is a user-owned directory containing the source
artifact `articles.sqlite`; `inspect_corpus.py` is only a bundled validation
helper and is not a replacement for `paperai.index`.

## Route the task

1. **Validate inputs first.** Read [data-formats.md](references/data-formats.md)
and run the checker before loading a model. It checks tables, required columns,
counts, bounds, and YAML shape without importing txtai or downloading a model.
2. **Choose configuration.** Use [api-reference.md](references/api-reference.md)
and [workflows.md](references/workflows.md) to distinguish a model reference,
a word-vector database, and a full YAML mapping. Start with a positive
`maxsize` or `toprank` for an exploratory run; `0` means unbounded in the
source implementation.
3. **Build and preserve the directory contract.** `paperai.index` reads
`<path>/articles.sqlite` and saves txtai artifacts back into the same directory.
Do not delete the database when replacing a failed index. Confirm the output
files before handing the directory to another route.
4. **Recover deliberately.** Use [troubleshooting.md](references/troubleshooting.md)
for missing schemas, malformed YAML, model cache/download failures, memory
pressure, and interrupted full-corpus runs. A Python import or a CPU SQLite
check does not prove that a configured model or accelerator can load.
5. **Hand off only after local checks.** Query execution belongs to the sibling
[querying route](../querying/SKILL.md); report task configuration and rendering
belong to [reporting](../reporting/SKILL.md). This route supplies their shared
corpus/model prerequisites, not their presentation behavior.

## Core commands

Install `paperai==2.6.0` in Python 3.10+ and verify imports before attempting a
model load:

```bash
python -m pip install "paperai==2.6.0"
python -c "import paperai, paperai.index, paperai.export; print(paperai.__file__)"
```

The source module accepts these positional forms:

```bash
python -m paperai.index CORPUS_DIR [VECTORS_OR_YML] [MAXSIZE] [TOPRANK]
python -m paperai.export OUTPUT.txt CORPUS_DIR
```

For exact signatures and output artifacts, use the linked references rather
than treating either positional interface as a safe full-corpus default.

Files in this skill

  • SKILL.md3 KB
  • references/api-reference.md4.5 KB
  • references/data-formats.md6.7 KB
  • references/troubleshooting.md7 KB
  • references/workflows.md5.6 KB
  • scripts/inspect_corpus.py8.4 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.