---
name: legal-common-ita
description: "Skill di servizio condivisa da TUTTE le skill legal-* del plugin legal-nexa. Fornisce glossario giuridico italiano, abbreviazioni normative, citation style italiano (ECLI/CELEX/ELI), disclaimer combinato obbligatorio (L. 132/2025 art. 13 + AI Act art. 50 + non-consulenza L. 247/2012), script comuni (check_citation, fetch_eurlex, fetch_normattiva, fetch_garante, anonymizer, disclaimer_generator). Attivati automaticamente in ogni task legale per verifica citazioni, formattazione memo, generazione disclaimer. Contiene anche gerarchia fonti, indici codici/TU/regolamenti UE, templates clausole riusabili (LoL, manleva, SLA, NDA)."
---

# legal-common-ita — Skill di servizio condivisa del plugin legal-nexa

Questa skill espone la cartella **`_common/`** contenente asset condivisi da tutte le altre 16 skill `legal-*`. Claude la legge come dependency quando un'altra skill la referenzia via `depends_on: [legal-common-ita]`.

## Quando usarla

Non la invochi direttamente — viene caricata automaticamente da ogni altra skill legale quando serve:
- Generare il disclaimer obbligatorio
- Verificare formato citazioni via `check_citation.py`
- Anonimizzare PII prima di logging (GDPR)
- Applicare citation style italiano uniforme

## Contenuto cartelle

```
_common/                                  # path: skills/legal-common-ita/
├── glossario/
│   ├── glossario_giuridico.md
│   ├── abbreviazioni_normative.md        # Cass., D.Lgs., Reg. UE, L., DPR, Cost.
│   ├── sigle_tribunali.md                # Trib., CdA, TAR, Cons. Stato, CGA, CGUE, CEDU
│   └── acronimi_autorita.md              # Garante, AGCM, Consob, BdI, IVASS, AGCOM, ANAC, ACN, AgID
├── normativa/
│   ├── indice_codici.md                  # c.c., c.p., c.p.c., c.p.p., c.nav., c.strada
│   ├── indice_testi_unici.md             # TUF, TUB, TUEL, TUIR, TUA
│   ├── indice_regolamenti_ue.md          # GDPR, AI Act, DORA, DMA, DSA, MiCA, eIDAS, Data Act, CRA
│   └── gerarchia_fonti.md
├── templates/
│   ├── parere_legale_standard.md
│   ├── memorandum_compliance.md
│   └── clausole/
│       ├── limitazione_responsabilita.md
│       ├── manleva_indemnity.md
│       ├── sla.md
│       └── riservatezza_nda.md
├── disclaimer/
│   ├── disclaimer_l132_2025_art13.md
│   ├── disclaimer_aiact_art50.md
│   ├── disclaimer_non_consulenza_legale.md
│   └── combined_disclaimer_default.md
├── stile/
│   └── citation_style_italiano.md
├── prompts/
│   ├── how_to_cite.md
│   ├── how_to_structure_legal_memo.md
│   └── how_to_escalate_to_lawyer.md
└── scripts/
    ├── check_citation.py                 # validator Cass./Reg. UE/D.Lgs./ECLI/CELEX/ELI
    ├── disclaimer_generator.py           # context + ai_level + cliente_informato → disclaimer
    ├── anonymizer.py                     # Presidio+spaCy IT pseudonimizza PII prima di logging
    ├── fetch_eurlex.py                   # SPARQL CELLAR via requests (stub Fase 2)
    ├── fetch_normattiva.py               # Open Data API (stub Fase 2)
    └── fetch_garante.py                  # scraping + RSS (stub Fase 2)
```

## Disclaimer combinato (generato da `disclaimer_generator.py`)

Ogni output delle skill legal-* deve terminare con il disclaimer standard:

> **INFORMATIVA E LIMITI DEL PRESENTE DOCUMENTO**
>
> Il presente documento è stato redatto con l'ausilio di sistemi di Intelligenza Artificiale generativa (Anthropic Claude) da Nexa Data S.r.l. in funzione di **supporto strumentale** all'attività professionale, conformemente all'**art. 13 della Legge 23 settembre 2025, n. 132**, e nel rispetto degli obblighi di trasparenza di cui all'**art. 50 del Regolamento (UE) 2024/1689 (AI Act)**.
>
> Il lavoro intellettuale prevalente, la valutazione critica, la verifica dei contenuti e la responsabilità finale permangono in capo al professionista umano supervisore e, per le questioni che rientrano nelle attività riservate ex **art. 2, commi 5-6, L. 31 dicembre 2012, n. 247**, in capo all'**Avvocato iscritto all'Ordine**.
>
> Il presente documento **non costituisce consulenza legale** ai sensi della normativa vigente e **non sostituisce** la valutazione professionale di un Avvocato abilitato.
>
> Il trattamento dei dati personali è conforme al **Reg. (UE) 2016/679** e al **D.Lgs. 196/2003**. I dati sono stati anonimizzati/pseudonimizzati ove necessario.
>
> **Data produzione**: {{date}}  
> **Cut-off fonti normative**: {{cutoff_date}}  
> **Fonti primarie consultate**: {{sources_list}}  
> **Sistema AI**: Anthropic Claude {{model_version}}  
> **Skill invocate**: {{skills_invoked}}  
> **Supervisione umana**: {{supervisor_name_or_role}}

## Checklist obbligatoria (9 controlli pre-output)

Applicata via `disclaimer_generator.py`:

1. ✅ Identificazione uso Claude
2. ✅ Informativa L. 132/2025 preventiva (se destinatario = cliente professionale)
3. ✅ Disclaimer non-consulenza (se firmatario non è avvocato)
4. ✅ Rinvio escalation per questioni dispositive/contenziose/rappresentanza
5. ✅ Citazioni verificate su fonte primaria (via `check_citation.py`)
6. ✅ Data cut-off fonti dichiarata
7. ✅ Tracciabilità prompt+output+sources conservata
8. ✅ PII anonimizzate prima di logging (via `anonymizer.py`)
9. ✅ Limiti sistema (allucinazioni, aggiornamenti) dichiarati

## Pattern di escalation obbligatoria

Trigger keywords che forzano escalation a avvocato umano:
- "contenzioso imminente"
- "giudizio pendente"
- "minori"
- "dati particolari art. 9 GDPR"
- "procedimento penale"
- "sanzione amministrativa > 50k"

Rilevati da `disclaimer_generator.py` → disclaimer rafforzato con obbligo firma avvocato.

## Citation style italiano (sintesi)

Formato esatto da usare in tutti gli output:

| Tipo | Formato |
|------|---------|
| Codice civile | `art. 1957 c.c.` |
| Decreto legislativo | `D.Lgs. 36/2023, art. 117` |
| Regolamento UE | `Reg. (UE) 2016/679, art. 9` |
| Cass. ordinanza | `Cass., Sez. II, ord. 10/6/2025, n. 15526` |
| Cass. sentenza | `Cass., Sez. Lav., sent. 31/10/2025, n. 28772` |
| Cass. Sezioni Unite | `Cass., SU, sent. 30/12/2021, n. 41994` |
| Cons. Stato | `Cons. Stato, Sez. V, 9/5/2025, n. 4036` |
| TAR | `TAR Lazio, Sez. III, 28/5/2025, n. 1013` |
| CGUE | `CGUE, Sez. VIII, 26/9/2024, cause riunite C-403/23 e C-404/23` |
| ECLI | `ECLI:IT:CASS:2025:15526` |
| CELEX | `32016R0679` |
| ELI | `https://data.europa.eu/eli/reg/2016/679/oj` |

## Scripts disponibili

### `check_citation.py`
Validator formato citazioni (Cass., Reg. UE, D.Lgs., ECLI, CELEX, ELI). Ritorna JSON con `formato_valido: true/false` + URL fonte ufficiale da consultare manualmente.

### `disclaimer_generator.py`
Input: `{context, ai_level, cliente_informato, trigger_keywords}` → Output: disclaimer combinato Markdown. Applica automaticamente escalation se trigger keywords presenti.

### `anonymizer.py`
Presidio + spaCy IT. Sostituisce PII (nomi, CF, P.IVA, email, tel) con placeholder `[PERSONA-1]`, `[CF-1]` etc. prima di logging/trasmissione.

### `fetch_eurlex.py`, `fetch_normattiva.py`, `fetch_garante.py`
**MVP Fase 2 (stub)**: oggi ritornano `{"status": "TODO", "url_fallback": "..."}` con istruzioni per verifica manuale su fonti ufficiali. Implementazione completa prevista mesi 3-5 roadmap.

## Come le altre skill consumano questo `_common/`

Ogni `SKILL.md` di una skill `legal-*` istruisce Claude a leggere file da `../legal-common-ita/` quando necessario:

```markdown
### Step X — Applica disclaimer
Leggi: $HOME/.claude/plugins/legal-nexa/skills/legal-common-ita/disclaimer/combined_disclaimer_default.md
Sostituisci i placeholder con i dati della sessione corrente.
```

## File correlati

- `legal-entrypoint-ita` — router che forza checklist disclaimer prima di ogni skill specialistica
- Tutte le 16 skill specialistiche dipendono da questa

## Riferimenti normativi disclaimer

- **L. 132/2025 art. 13** — IA nelle professioni intellettuali
- **Reg. UE 2024/1689 art. 50** — trasparenza AI Act
- **L. 247/2012 art. 2 commi 5-6** — attività riservate avvocato
- **Reg. UE 2016/679 + D.Lgs. 196/2003** — GDPR + Codice Privacy
- **Art. 2229 c.c.** — professioni intellettuali
