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
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
---
|
||||
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.
|
||||
Reference in New Issue
Block a user