skills/difensore-civico-ti-scrivo/SKILL.md
Guides users step by step in drafting a formal complaint (segnalazione) to Italy's Digital Civic Defender (Difensore Civico per il Digitale, DCD) at AGID for violations of the CAD (Codice dell'Amministrazione Digitale) or other digitalization norms by public administrations. Use this skill whenever someone wants to: report an Italian PA to AGID; write to the Difensore Civico per il Digitale; complain about open data violations, non-machine-readable public data, inaccessible PA portals, missing or restrictive licenses on public data, captchas blocking automated access, unanswered data reuse requests (D.Lgs. 36/2006 art. 5), failure to publish mandatory High Value Datasets (HVD, Reg. (UE) 2023/138), or a prior DCD complaint that got no response. Trigger even if the user does not name the skill — any Italian digital-rights complaint targeting a PA is a candidate.
npx skillsauth add ondata/skills difensore-civico-ti-scrivoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Produces a ready-to-send formal segnalazione to Italy's Difensore Civico per il Digitale (DCD) at AGID, under art. 17, comma 1-quater of the CAD (D.Lgs. 82/2005).
Funzione A only. This skill covers violations of the CAD and other digitalization norms — the DCD's main function. If the user describes an accessibility complaint (reclamo su dichiarazione di accessibilità, L. 4/2004 — Funzione B), redirect them: the correct channel is exclusively the link on the reported entity's own website, not AGID. Do not draft a Funzione B complaint through this skill.
Covered norms. In addition to the CAD, this skill covers D.Lgs. 36/2006 (open data and reuse) and EU regulations directly applicable in Italy — in particular Reg. (UE) 2023/138 (High Value Datasets — HVD), which requires publication of six dataset categories via machine-readable API; obligations have been enforceable since 9 June 2024.
One complaint per PA. If multiple administrations are involved, produce one segnalazione per administration.
Collect the required information before drafting. Ask in conversational turns — not all at once. Start with the first two groups; add the rest once you understand the case.
Group A — Sender identity (required for admissibility, art. 4 co. 3 Regolamento DCD)
Group B — The problem
Group C — Prior requests (ask if categories E or F seem relevant)
Group D — Optional details
Read references/categorie-violazioni.md. Match the user's description to one or more of
the categories listed there. Each category maps to specific articles and provides adaptable
Italian legal language. Confirm the match with the user before drafting.
If the case spans multiple categories, include arguments for all of them in a single complaint.
Produce the complaint in Italian, formal administrative register. Pull exact article text
and URLs from references/normativa.md. Use the adaptable language from
references/categorie-violazioni.md for the legal-argument section.
Every complaint must include (admissibility elements, art. 4 co. 3 Regolamento DCD):
A: [email protected]
Oggetto: Segnalazione al Difensore Civico per il Digitale (art. 17, co. 1-quater CAD) –
[brief violation description] – [PA name]
Body:
Spett.le Difensore Civico per il Digitale
Agenzia per l'Italia Digitale
[SENDER BLOCK]
Il/La sottoscritto/a [NOME], [QUALITÀ E ORGANIZZAZIONE], con la presente formula
segnalazione ai sensi dell'art. 17, comma 1-quater, del decreto legislativo 7 marzo 2005,
n. 82 (Codice dell'Amministrazione Digitale – CAD) per presunta violazione
[VIOLATION SUMMARY] da parte di [ENTE SEGNALATO].
[CONTEXT — 2–4 sentences: what the PA is, what service/page is concerned, why it matters]
[FACTS — specific, dated, verifiable: what the user observed, what they tried, what the
outcome was. Include URLs. Be concrete.]
[PRIOR REQUESTS — only if applicable: date of request, type, channel, deadline, outcome]
[LEGAL ARGUMENTS — drawn from references/categorie-violazioni.md for this category.
Cite each article with its Normattiva URL from references/normativa.md.]
[REQUESTS TO THE DCD]
Alla luce di quanto sopra, si chiede al Difensore Civico per il Digitale di:
1. valutare la presente segnalazione ai sensi dell'art. 17, co. 1-quater CAD;
2. ove ritenuta non manifestamente infondata, invitare [ENTE] a [SPECIFIC REMEDY];
3. comunicare gli esiti del procedimento al recapito sopra indicato;
4. assegnare un numero di protocollo per il seguito della procedura.
[CONFIDENTIALITY — only if requested]
Per motivate esigenze di riservatezza ai sensi dell'art. 4, co. 5, del Regolamento AgID
(D.T. n. 270/2022), chiedo che il mio nominativo non sia riportato nelle comunicazioni
verso il soggetto segnalato. Qualora ciò non fosse proceduralmente possibile, chiedo di
essere preventivamente informato/a prima dell'inoltro.
[ATTACHMENTS — only if any]
Si allegano: [list filenames].
[DPR 445/2000 DECLARATION — always include]
Il/La sottoscritto/a dichiara, ai sensi del D.P.R. 28 dicembre 2000, n. 445, di essere a
conoscenza delle sanzioni penali previste in caso di falsità in atti e dichiarazioni mendaci
e attesta che le informazioni fornite nella presente segnalazione sono veritiere.
Distinti saluti,
[NOME]
[QUALITÀ / ORGANIZZAZIONE]
[EMAIL / PEC]
The complaint is sent via PEC or web form to a PA. PEC clients are often basic and do not render Markdown. Apply these rules strictly:
Plain text only. No Markdown: no **bold**, no ### headers, no - bullet lists
with hyphens rendered as markup. Use plain prose and simple numbered lists (1. 2. 3.).
No horizontal rules. Do not use --- or *** to separate sections. Leave a blank
line between sections instead.
Subject line: max 100 characters. Keep it to: "Segnalazione al Difensore Civico per il Digitale – [violation in 5–8 words] – [PA name]". Cut ruthlessly.
Links as numbered footnotes. Never embed URLs in the text. Instead, write [1], [2]
etc. at each citation point, and collect all URLs at the very end under a plain-text
"Riferimenti" section, one per line:
Riferimenti
[1] https://www.normattiva.it/...
[2] https://www.agid.gov.it/...
Gender agreement. Match "Il sottoscritto / La sottoscritta" to the sender's gender.
Italian accented characters. Always use proper Unicode accented letters: à, è, é, ì, ò, ù. Never substitute with apostrophe (a', e', i', o', u'). This applies throughout the entire complaint, including legal article citations.
After the draft, tell the user:
[email protected]. Keep both the ricevuta di
accettazione and ricevuta di avvenuta consegna as proof.development
Create charts, choropleth maps, and locator maps via the Datawrapper API. Use this skill whenever the user wants to publish a visualization on Datawrapper, create an interactive chart or map from data, generate a PNG/embed from Datawrapper, or use the Datawrapper REST API. Triggers on: "create a map with datawrapper", "publish a chart on datawrapper", "choropleth map", "locator map datawrapper", "export PNG from datawrapper", and any request involving creating or configuring Datawrapper charts/maps programmatically. Also triggers for Italian variants: "mappa coropletica datawrapper", "crea grafico datawrapper", "mappa datawrapper".
development
Generate PNG images for online communication — social media, carousels, infographics, posts — using Typst. Use this skill whenever the user wants to create slides, cards, visual posts or any digital graphic content, even if they don't explicitly mention Typst. The skill drives an interview about brand materials (logo, palette, fonts, DESIGN.md), proposes the formats best suited to the context (Instagram 1:1, Stories 9:16, LinkedIn 16:9, etc.) and produces ready-to-use PNGs.
development
Query OpenAlex API from the command line with curl and jq for publication discovery, filtering, sorting, pagination, and PDF availability checks. Use when searching scholarly works/authors/sources, building or debugging OpenAlex queries, extracting results, or downloading available PDFs using OPENALEX_API_KEY.
testing
Comprehensive open data quality validator for two audiences: data analysts who need to assess whether a dataset is ready to use, and public administrations who want to self-evaluate their published data. Automatically adapts based on input type: (A) local CSV file only — performs file-level structural and content checks; (B) CKAN/open data portal dataset — adds metadata completeness, resource accessibility, URL reachability, and DCAT-AP compliance (supports all national profiles: DCAT-AP 2.x baseline, IT, BE, NL, DE, FR, UK, ES, and others). Always use this skill when the user mentions: data quality, validate dataset, check CSV, open data compliance, metadata audit, CKAN dataset review, "is this data usable?", or whenever a CSV file or CKAN dataset ID/URL is provided for quality assessment. Produces severity-ranked reports (blocker / major / minor) with concrete fixes, quality score, and a plain-language summary for non-technical stakeholders.