"Guides classic LLM-assisted PageIndex PDF tree extraction, TOC
Scanned 9/8/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill pdf-indexing --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Pdf Indexing?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-pdf-indexing)More formats (shields.io, HTML) on the badges page.
---
name: pdf-indexing
description: "Guides classic LLM-assisted PageIndex PDF tree extraction, TOC
recovery, summaries, and document descriptions."
disable-model-invocation: true
metadata:
disco-role: operating
license: MIT
---
# Classic PDF Indexing
Use this sub-skill when the user wants the original PageIndex PDF pipeline: TOC detection, TOC transformation, page-number reconciliation, recursive splitting, node summaries, document descriptions, or `page_index(...)` usage.
Do not use it for:
- fast no-LLM PDF extraction -> use `../flash-indexing/`
- Markdown heading trees -> use `../markdown-indexing/`
- workspace retrieval or agent tools -> use `../retrieval-client/`
## Required context
Read these shared references as needed:
- `../../references/workflows.md#classic-pdf-tree-extraction` for the end-to-end workflow.
- `../../references/api-reference.md#classic-pdf-tree-extraction` for verified signatures.
- `../../references/cli-reference.md#bundled-pageindex-cli-wrapper` for flags and examples.
- `../../references/configuration.md` for model defaults and credentials.
- `../../references/data-formats.md#pdf--flash-tree-nodes` for output shape.
- `../../references/troubleshooting.md#classic-pdf-extraction` for common failures.
## Operating flow
1. Confirm that `pageindex` imports with `python ../../scripts/check_env.py`.
2. Confirm model access. The classic PDF path uses LLM calls for TOC handling even when node summaries are disabled.
3. Use the bundled wrapper rather than a source checkout script path:
```bash
python ../../scripts/pageindex_cli.py --pdf_path document.pdf
```
4. Tune document-size behavior with `--toc-check-pages`, `--max-pages-per-node`, and `--max-tokens-per-node`.
5. Tune output density with `--if-add-node-summary`, `--if-add-doc-description`, `--if-add-node-text`, and `--if-add-node-id`.
6. Inspect the resulting `structure` tree with 1-based inclusive `start_index` / `end_index` page ranges.
## Important behavior
- The pipeline wraps and sanitizes untrusted document text before model calls and validates physical page markers.
- TOC-with-page-number, TOC-without-page-number, and no-TOC branches are all model-backed.
- The pipeline rejects reordered or modified TOC entries returned by a model and nullifies page indexes not supported by the current chunk.
- Very broad nodes can be recursively split when they exceed configured page/token thresholds.
- The pipeline applies deterministic merge logic before final formatting.
## Common decisions
- If the user lacks model credentials, route to `../flash-indexing/` and use `--flash --no-summary` for first-pass structure.
- If the user wants every node to carry raw text, set `--if-add-node-text yes`, but warn about large JSON outputs.
- If the user wants a document summary, set `--if-add-doc-description yes` and keep summary/model access available.
- If page numbers look wrong, inspect model output stability and retry with better model settings before changing structural thresholds.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!