Files
my-skills/skills/pptx.md
T
davideandClaude Sonnet 5.5 5051b50902 Aggiungi le schede di claude-obsidian, ecc, pdf, pptx e xlsx
Nel README nascono gli argomenti Ufficio e Second brain (presenti in
entrambi i gruppi, anche se vuoti): pdf, pptx e xlsx vanno sotto Ufficio,
claude-obsidian, obsidian-skills e obsidian-wiki sotto Second brain.
Conoscenza e note resta per graphify; ecc si affianca a superpowers.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 09:38:54 +01:00

9.0 KiB
Raw Blame History

pptx

  • Autore: Anthropic
  • Repository: anthropics/skills, la raccolta di skill di esempio di Anthropic
  • Sorgente: skills/pptx/SKILL.md, con LICENSE.txt e una cartella scripts/
  • Pagina su skills.sh: anthropics/skills/pptx
  • Diffusione (ottobre 2026): circa 245.300 installazioni (su skills.sh dal 20 gennaio 2026); il repository ha circa 184.900 stelle e 21.900 fork su GitHub
  • Controlli di sicurezza su skills.sh: Gen Agent Trust Hub e Snyk superati; Socket segnala un avviso (la pagina non spiega il motivo)
  • Licenza: proprietaria (termini in LICENSE.txt). Il README del repository precisa che le skill per i documenti (docx, pdf, pptx, xlsx) sono source-available, non open source, e che le skill del repository sono dimostrative: conviene provarle bene prima di affidarsi a loro.

A cosa serve

Fa creare, leggere e modificare presentazioni PowerPoint all'agente, controllando poi il risultato slide per slide. Non si limita a scrivere un file: lo trasforma in immagini, cerca testo che esce dai bordi, sovrapposizioni e problemi di spaziatura, e li corregge prima di consegnare.

Cosa fa

Quando si attiva

Ogni volta che la richiesta riguarda un file .pptx o .potx:

  • creare una presentazione nuova (slide, pitch deck);
  • leggere o estrarre il testo di una presentazione;
  • modificarne una esistente: duplicare o riordinare slide, cambiare i contenuti;
  • partire da un modello (.potx), lavorare con layout, note del relatore e commenti.

Come lavora

L'agente sceglie il percorso in base al compito:

Compito Come
Creare scrive uno script pptxgenjs (libreria JavaScript) che genera il file
Modificare o usare un modello decomprime il file, modifica l'XML delle slide e lo ricomprime
Leggere estrae il testo con markitdown (un blocco per slide) o costruisce una griglia di miniature per vedere i layout

Alternativa nominata per la creazione: python-pptx, con limiti nella duplicazione delle slide, nella formattazione del testo e in alcuni tipi di immagine.

Script di aiuto (cartella scripts/):

Script A cosa serve
thumbnail.py griglia di miniature con etichette; ogni presentazione deve avere un prefisso suo, così le griglie non si sovrascrivono
add_slide.py duplica slide o layout e gestisce da solo la contabilità interna del pacchetto
clean.py toglie slide, immagini e relazioni non più referenziate; va lanciato quando l'elenco delle slide è definitivo
validate.py controlla schema, relazioni, tipi di contenuto e grafici; con --original per le presentazioni nate da un modello
soffice.py avvolge LibreOffice per la conversione senza interfaccia

Controllo di qualità, in quattro passi:

  1. controlla il contenuto con markitdown: testo mancante, refusi, segnaposto dimenticati;
  2. esegue la validazione (con --original se parte da un modello);
  3. converte in PDF e poi in immagini JPEG e ispeziona ogni slide: bordi, sovrapposizioni, spaziatura, allineamento, contrasto;
  4. dopo le correzioni rigenera PDF e immagini dal file modificato e ricontrolla solo le slide cambiate.

Regole per modificare

  • prima tutte le modifiche strutturali (aggiungere, togliere, riordinare), poi i contenuti, perché duplicare una slide ne copia lo stato attuale;
  • le slide non si copiano a mano, ma con add_slide.py;
  • l'XML si legge con defusedxml.minidom e non con ElementTree, per non perdere gli spazi dei nomi;
  • gli spazi non usati di un modello vanno rimossi del tutto, con le immagini che contengono;
  • un paragrafo per ogni voce di elenco, con i puntini ereditati dal layout.

Trappole di pptxgenjs che la skill segnala

  • imposta il layout prima di aggiungere le slide: quello predefinito è 10" × 5,625", non il formato panoramico;
  • colori esadecimali senza # e senza cifre di trasparenza, altrimenti il file si corrompe;
  • non riusare gli stessi oggetti di opzioni tra le chiamate, perché la libreria li modifica;
  • gli scostamenti delle ombre non possono essere negativi;
  • si usa charSpacing, non letterSpacing;
  • gli elenchi puntati con l'opzione bullet, non con caratteri letterali;
  • un'istanza del generatore per ogni file di uscita;
  • niente sfumature: si usa un'immagine con la sfumatura;
  • i grafici restano nativi (quelli in pila non accettano le etichette outEnd; i grafici combinati con assi secondari richiedono due voci per valAxes e catAxes);
  • non riordinare mai i figli di <p:presentation>;
  • validare dopo ogni generazione e correggere il problema nel generatore, non nel file.

Indicazioni di design

  • una palette adatta all'argomento, con un colore dominante e un accento deciso;
  • un elemento visivo per slide (immagine, grafico, icona, forma) e layout vari;
  • caratteri sicuri per il corpo del testo (Arial, Calibri, Cambria, Times New Roman e simili);
  • titoli da 36-44 pt, intestazioni di sezione da 20-24 pt, testo da 14-16 pt, didascalie da 10-12 pt;
  • margini di almeno 0,5" e distanze di 0,3-0,5";
  • da evitare: righe decorative sotto i titoli, barre o strisce colorate, sfondi color crema, testo centrato nel corpo, testo che esce dalla forma.

Da sapere

  • Requisiti: Node.js con pptxgenjs, Python con markitdown, Pillow, defusedxml e lxml, LibreOffice e Poppler (pdftoppm). La skill indica anche react-icons, react, react-dom e sharp tra i pacchetti usati (per le icone). pptxgenjs è dato come già installato nell'ambiente previsto.
  • Script eseguiti: i cinque della cartella scripts/, più i comandi di LibreOffice e pdftoppm. Non ho letto i file Python: GitHub non mostrava il contenuto di scripts/.
  • Nessun accesso esterno dichiarato: lavora sui file locali.
  • Qualità del risultato: il controllo è visivo e lo fa il modello guardando le immagini; non sostituisce una rilettura tua.

Installazione

Claude Code e Codex

npx skills add anthropics/skills --skill pptx -g -a codex -a claude-code
Opzione Significato
--skill pptx installa solo questa skill del repository
-g installazione globale (~/.claude/skills/, ~/.codex/skills/); senza, solo nel progetto corrente (.claude/skills/, .agents/skills/)
-a <agente> agente di destinazione, ripetibile (claude-code, codex, ...)
-y salta le domande di conferma
--copy copia i file invece di creare collegamenti simbolici

Non ho trovato il comando esatto sulla pagina di skills.sh: è la forma standard dello strumento skills, la stessa usata per le altre schede.

Alternativa solo per Claude Code, dal marketplace di Anthropic (installa tutte le skill per i documenti: docx, pdf, pptx, xlsx):

/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills

Dopo l'installazione riavvia la sessione. Claude Code la usa da solo quando la richiesta è pertinente. In Codex la richiami con $pptx o la vedi con /skills.

Gestione:

npx skills list -g              # skill installate
npx skills update pptx          # aggiornamento
npx skills remove pptx          # rimozione
/plugin uninstall document-skills@anthropic-agent-skills   # rimozione del plugin

App desktop di Claude e ChatGPT

Queste app richiedono di caricare la skill come ZIP. Preparalo così:

git clone --depth 1 https://github.com/anthropics/skills.git
cd skills/skills && zip -r ~/pptx.zip pptx

Lo ZIP deve contenere la cartella pptx/ con dentro SKILL.md e la cartella scripts/.

Claude (desktop o web)

  1. Attiva l'esecuzione del codice in Settings → Capabilities.
  2. Vai in Customize → Skills → + → Create skill → Upload a skill e scegli lo ZIP.
  3. Attiva l'interruttore della skill.

ChatGPT (desktop o web)

  1. Vai in Skills nella barra laterale, poi Create → Upload from your computer, e scegli lo ZIP o la cartella.
  2. Attendi l'analisi di sicurezza di ChatGPT.
  3. Richiamala con @ nella chat.

Le skill personali caricate su desktop e web non si sincronizzano: vanno caricate su ciascuna.

Limite: nelle app di chat la skill gira in un ambiente isolato con esecuzione del codice. Funziona solo se lì sono disponibili pptxgenjs, LibreOffice e Poppler (non l'ho verificato), e legge solo i file che alleghi alla conversazione. Il README del repository dice che le skill di esempio sono già disponibili sui piani a pagamento di Claude.ai, ma non specifica se pptx sia tra queste.

Fonti