| name | document-processor |
| description | Processa documentos empresariais (PDF, XLSX, DOCX) para extracao de requisitos,
validacao de dados e criacao de documentos profissionais.
Use quando: extrair texto de PDF, processar planilhas Excel, criar/editar Word,
validar documentos, converter formatos.
|
| allowed-tools | ["Read","Write","Bash","Glob"] |
| user-invocable | true |
Document Processor Skill
Proposito
Processa documentos empresariais com qualidade production-grade:
- PDF: Extracao de texto/tabelas, OCR para escaneados, merge, split
- XLSX: Leitura de dados, validacao de formulas, criacao de relatorios
- DOCX: Extracao de texto, tracked changes, criacao profissional
Principios de Design
1. Validation-First
Sempre validar ANTES de processar. Coletar TODOS os erros antes de reportar.
2. Multi-Tool Strategy
- Extracao: Python (pdfplumber, openpyxl, python-docx)
- Validacao: CLI (LibreOffice headless, pdftotext)
- OCR: tesseract-ocr
3. Zero-Error Policy
Planilhas e documentos criados devem ter ZERO erros de formula ou formatacao.
Comandos
/doc-extract {arquivo}
Extrai texto e dados de um documento.
/doc-extract requirements.pdf
/doc-extract financials.xlsx
/doc-extract spec.docx
Output: Texto estruturado, tabelas em formato markdown, metadados.
/doc-validate {arquivo}
Valida integridade do documento.
/doc-validate report.xlsx
/doc-validate contract.docx
Output: JSON com status e erros encontrados.
/doc-create {tipo} {nome}
Cria documento profissional a partir de template.
/doc-create xlsx requirement-matrix
/doc-create docx technical-spec
Tipos suportados:
xlsx: Planilha com formatacao profissional
docx: Documento Word com estilos padrao
Workflow de Extracao
PDF
python scripts/extract_pdf.py input.pdf --output json
XLSX
python scripts/process_xlsx.py input.xlsx --mode extract
python scripts/process_xlsx.py input.xlsx --mode validate
DOCX
python scripts/process_docx.py input.docx --mode extract
Validacao de Planilhas
Tipos de Erros Detectados
| Codigo | Descricao | Exemplo |
|---|
#VALUE! | Tipo incompativel | =A1+B1 onde B1 e texto |
#REF! | Referencia invalida | Celula deletada referenciada |
#DIV/0! | Divisao por zero | =A1/0 |
#NAME? | Nome desconhecido | Funcao inexistente |
#N/A | Valor nao disponivel | VLOOKUP sem match |
#NUM! | Numero invalido | =SQRT(-1) |
#NULL! | Intersecao nula | Range invalido |
Output de Validacao
{
"status": "errors_found",
"total_errors": 3,
"errors": [
{"cell": "B5", "type": "#REF!", "formula": "=A1+Sheet2!Z99"},
{"cell": "C10", "type": "#DIV/0!", "formula": "=A10/B10"},
{"cell": "D15", "type": "#VALUE!", "formula": "=SUM(D1:D14)"}
],
"suggestions": [
"B5: Verifique se Sheet2!Z99 existe",
"C10: B10 esta vazio ou zero",
"D15: Range contem valores nao-numericos"
]
}
Tracked Changes (DOCX)
Detectar Alteracoes
python scripts/process_docx.py contract.docx --mode changes
Output
{
"has_tracked_changes": true,
"changes": [
{
"type": "insertion",
"author": "John Doe",
"date": "2026-01-10T14:30:00Z",
"text": "novo texto inserido"
},
{
"type": "deletion",
"author": "Jane Smith",
"date": "2026-01-11T09:15:00Z",
"text": "texto removido"
}
]
}
Dependencias
Obrigatorias (Python)
pip install pdfplumber openpyxl python-docx pandas
Opcionais (Sistema)
apt install poppler-utils
apt install tesseract-ocr
apt install libreoffice
Verificar Instalacao
python scripts/validate.py --check-deps
Integracao com SDLC
| Fase | Uso |
|---|
| Phase 1 (Discovery) | Extrair requisitos de PDFs de stakeholders |
| Phase 2 (Requirements) | Processar matrizes de requisitos (XLSX) |
| Phase 3 (Architecture) | Ler especificacoes tecnicas (DOCX) |
| Phase 7 (Release) | Gerar release notes (DOCX), reports (XLSX) |
Boas Praticas
- Sempre validar antes de processar - Use
/doc-validate primeiro
- Preferir extracao estruturada - Tabelas como arrays, nao texto
- Preservar metadados - Autor, data, versao
- Reportar todos os erros - Nao falhar no primeiro erro
- Usar templates padronizados - Para documentos criados
Troubleshooting
PDF nao extrai texto
pdftotext input.pdf - | head -20
python scripts/extract_pdf.py input.pdf --ocr
XLSX com formulas quebradas
python scripts/process_xlsx.py input.xlsx --mode validate
python scripts/process_xlsx.py input.xlsx --mode formulas
DOCX corrompido
libreoffice --headless --convert-to docx input.docx
Referencias