Reference Indexer for RAG

VerifiedCaution

Indexes external reference documents (PDF, Word, Markdown, etc.) into a RAG corpus. Supports adding, searching, listing, and removing documents with automatic text extraction, summarization, and indexing. Helps when you need to incorporate legal, technical, or business documents as context for AI queries.

Sby Skills Guide Bot
Data & AIIntermediate
6/2/2026
Claude Code
#reference-indexer#document-indexing#rag#pdf-extraction#knowledge-base

Recommended for

Automated summary

This skill indexes reference documents (PDF, Word, etc.) into a RAG corpus for contextual retrieval.

Strengths

  • Automatic text extraction from multiple formats
  • Seamless integration with RAG for augmented generation
  • Semantic search with relevance scores
  • Structured document management by categories

Limitations

  • Limited to a specific references folder structure (.agentic_sdlc/references)
  • Requires pre-configured RAG setup
  • PDF extraction quality may vary depending on layout
When to use it

Use this skill when you need to add or query external reference documents for retrieval-augmented generation.

When not to use it

Do not use it for documents that do not require indexing or when the document volume is very small.

Security analysis

Caution
Quality score90/100

The skill employs Bash for legitimate document processing tasks like extracting text from PDFs and Word files. It does not involve network access, exfiltration, or system modification. The risk is low, but the use of Bash warrants caution.

Findings
  • •Uses Bash to execute external commands (pdftotext, Python scripts) for document extraction, which could be misused if provided malicious file paths, but the skill itself does not contain destructive or obfuscated code.
How this analysis is made

Examples

Add a legal PDF to the reference index
/ref-add .agentic_sdlc/references/legal/lei-13775-2018.pdf
Search for a term in indexed references
/ref-search "prazo de aceite duplicata"
List all indexed reference documents
/ref-list

name: reference-indexer description: | Indexa documentos de referencia para uso no RAG. Extrai texto de PDFs, processa e adiciona ao corpus. Use quando: adicionar documento, buscar referencia, listar docs. allowed-tools:

  • Read
  • Write
  • Bash
  • Glob user-invocable: true

Reference Indexer Skill

Proposito

Esta skill gerencia documentos de referencia externa, indexando-os para uso no RAG.

Comandos

/ref-add {path}

Adiciona documento ao indice de referencias:

/ref-add .agentic_sdlc/references/legal/lei-13775-2018.pdf

Acoes:

  1. Valida o arquivo
  2. Extrai texto (se PDF/Word)
  3. Cria resumo automatico
  4. Adiciona ao corpus RAG
  5. Atualiza indice

/ref-search {query}

Busca nos documentos de referencia:

/ref-search "prazo de aceite duplicata"

Retorna:

  • Documentos relevantes
  • Trechos com contexto
  • Score de relevancia

/ref-list

Lista todos os documentos indexados:

/ref-list

Mostra:

  • Documentos por categoria
  • Status de indexacao
  • Data de adicao

/ref-remove {path}

Remove documento do indice:

/ref-remove .agentic_sdlc/references/legal/documento-antigo.pdf

Formatos Suportados

| Formato | Extensao | Metodo de Extracao | |---------|----------|-------------------| | PDF | .pdf | pdftotext / PyPDF2 | | Word | .docx | python-docx | | Markdown | .md | Direto | | Texto | .txt | Direto | | HTML | .html | BeautifulSoup |

Estrutura de Referencias

.agentic_sdlc/references/
├── legal/              # Leis, regulamentos, normas
├── technical/          # RFCs, especificacoes tecnicas
├── business/           # Regras de negocio, manuais
├── internal/           # Documentos internos
└── _index.yml          # Indice de documentos

Indice de Documentos

Arquivo _index.yml:

index:
  version: 1
  updated_at: "2026-01-12T..."

documents:
  - id: "ref-001"
    path: "legal/lei-13775-2018.pdf"
    title: "Lei 13.775/2018 - Duplicatas Eletrônicas"
    category: legal
    added_at: "2026-01-12T..."
    indexed: true
    summary: "Lei que regulamenta as duplicatas escriturais..."
    keywords:
      - duplicata
      - escritural
      - eletronica
    page_count: 5

  - id: "ref-002"
    path: "technical/icp-brasil.pdf"
    title: "Padrões ICP-Brasil"
    category: technical
    added_at: "2026-01-12T..."
    indexed: true

Extracao de Texto

PDF

# Usando pdftotext (poppler-utils)
pdftotext -layout input.pdf output.txt

# Usando Python
python3 << 'EOF'
import PyPDF2

with open('input.pdf', 'rb') as f:
    reader = PyPDF2.PdfReader(f)
    text = ''
    for page in reader.pages:
        text += page.extract_text() + '\n'
    print(text)
EOF

Word (docx)

from docx import Document

doc = Document('input.docx')
text = '\n'.join([p.text for p in doc.paragraphs])
print(text)

Integracao com RAG

Documentos indexados sao adicionados ao corpus RAG:

corpus_entry:
  id: "ref-001"
  source: "references/legal/lei-13775-2018.pdf"
  type: "reference"
  category: "legal"
  content: "{texto extraido}"
  embeddings: [...]  # Gerado pelo RAG
  metadata:
    title: "Lei 13.775/2018"
    page: 1
    section: "Art. 1"

Workflow de Indexacao

indexing_workflow:
  1_validate:
    - Verificar formato suportado
    - Verificar tamanho (max 50MB)
    - Verificar permissoes

  2_extract:
    - Extrair texto do documento
    - Limpar formatacao
    - Dividir em chunks

  3_analyze:
    - Gerar resumo automatico
    - Extrair keywords
    - Classificar categoria

  4_index:
    - Adicionar ao corpus RAG
    - Gerar embeddings
    - Atualizar indice

  5_verify:
    - Testar busca
    - Verificar qualidade

Configuracao

No settings.json:

{
  "memory": {
    "rag_corpus": ".agentic_sdlc/corpus",
    "max_document_size_mb": 50,
    "chunk_size": 1000,
    "chunk_overlap": 200
  }
}

Boas Praticas

  1. Nomeie arquivos descritivamente: lei-13775-2018-duplicatas.pdf
  2. Organize por categoria: legal, technical, business
  3. Mantenha versoes: Nao sobrescreva, versione
  4. Documente a fonte: Adicione de onde veio
  5. Resuma docs longos: Crie resumos para PDFs grandes

Troubleshooting

PDF nao extrai texto

Alguns PDFs sao imagens escaneadas. Use OCR:

ocrmypdf input.pdf output.pdf
pdftotext output.pdf -

Documento muito grande

Divida em partes menores ou aumente max_document_size_mb.

Encoding incorreto

Force UTF-8 na extracao:

pdftotext -enc UTF-8 input.pdf output.txt

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/reference-indexer-for-rag-mm5t8a45/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/reference-indexer-for-rag-mm5t8a45' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/reference-indexer-for-rag-mm5t8a45/download' --output '.skill-downloads/reference-indexer-for-rag-mm5t8a45/SKILL.md.part' && mv '.skill-downloads/reference-indexer-for-rag-mm5t8a45/SKILL.md.part' '.skill-downloads/reference-indexer-for-rag-mm5t8a45/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/reference-indexer-for-rag-mm5t8a45/SKILL.md' && test -s '.skill-downloads/reference-indexer-for-rag-mm5t8a45/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/reference-indexer' && cp -R '.skill-downloads/reference-indexer-for-rag-mm5t8a45' '.claude/skills/reference-indexer'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/reference-indexer-for-rag-mm5t8a45'

openskills read 'reference-indexer-for-rag-mm5t8a45'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/reference-indexer-for-rag-mm5t8a45/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills