Files
rag-from-scratch/.claude/commands/step4-review.md
T
davide aa5ae17ca8 step-4: add revise.py, step4-review skill, README update
- revise.py: automatic pre-processing (ALL-CAPS→##, numbered sections→###,
  TOC removal, broken paragraph merging, whitespace normalization);
  supports N. and Na. numbering patterns; universal heuristics
- .claude/commands/step4-review.md: Claude Code skill for qualitative
  review of clean.md (🔴/🟡/🟢 report + interactive fixes)
- README: document step-4 workflow with revise.py and /step4-review
- .gitignore: exclude step-4/*/ and step-4/revision_log.md
2026-04-13 12:21:30 +02:00

63 lines
2.4 KiB
Markdown

---
description: Revisione qualitativa del clean.md dopo il pre-processing automatico (step 4). Trova artefatti residui, paragrafi spezzati e header errati, poi propone le correzioni.
allowed-tools: Read Bash Grep Edit
argument-hint: <stem>
---
Esegui la revisione qualitativa di `step-4/$ARGUMENTS/clean.md`.
**Profilo struttura:**
!`cat step-4/$ARGUMENTS/structure_profile.json 2>/dev/null || echo "ERRORE: step-4/$ARGUMENTS/structure_profile.json non trovato — verifica che lo stem sia corretto"`
**Statistiche file:**
!`wc -l step-4/$ARGUMENTS/clean.md 2>/dev/null && grep -c "^## " step-4/$ARGUMENTS/clean.md 2>/dev/null | xargs -I{} echo "## headers: {}" && grep -c "^### " step-4/$ARGUMENTS/clean.md 2>/dev/null | xargs -I{} echo "### headers: {}"`
---
Analizza `step-4/$ARGUMENTS/clean.md` seguendo questi passi. Usa Grep e Read per raccogliere i casi concreti prima di riportarli.
## Passo 1 — Righe orfane in corpo testo
Cerca blocchi di testo standalone (separati da righe vuote, non header `#`) più corti di 80 caratteri che sembrino artefatti da PDF:
- Firme o nomi di persone isolati (tutto maiuscolo o iniziali maiuscole seguite da punto)
- Date o luoghi isolati
- Titoli del documento ripetuti nel corpo
- Numeri di pagina isolati
- Riferimenti bibliografici fuori contesto
Per ogni caso trovato: riporta numero di riga e testo.
## Passo 2 — Paragrafi spezzati residui
Cerca paragrafi che finiscono senza punteggiatura di fine frase (`.?!»)`), escludendo quelli che terminano con ` -` (interruzione stilistica intenzionale).
Riporta i primi 5 casi con numero di riga e la fine del testo.
## Passo 3 — Header sospetti
Controlla i `##` e `###`:
- `### N.` con solo numero e punto → **corretto**, non segnalare
- `##` o `###` con contenuto ALL-CAPS non convertito in sentence-case → segnalare
- `##` o `###` duplicati (stesso titolo che appare due volte) → segnalare
- `##` con testo molto lungo (> 80 char) → segnalare come sospetto
## Passo 4 — Sezioni quasi vuote
Cerca `### ` header seguiti da un blocco di testo inferiore a 60 caratteri (sezione priva di contenuto utile per il RAG). Riporta i casi.
## Report finale
```
🔴 BLOCCANTI (compromettono il chunking o la qualità del RAG)
...
🟡 MINORI (artefatti visibili ma non bloccanti)
...
🟢 OK
...
```
Chiedi all'utente: "Vuoi che applichi le correzioni per i problemi 🔴? E per i 🟡?"
Applica solo le correzioni esplicitamente approvate.