pptx (anthropics/skills)
Erstellt, liest und bearbeitet .pptx- und .potx-Folien, Vorlagen, Layouts und Notizen.
anthropics pptx: Alle Gruppen bestehen unsere Deck-Prüfungen (5.0 vs. 4.99), der Skill kostet 1.4x die Tokens; ein Ein-Satz-Lauf erzeugte ein Deck, das LibreOffice nicht öffnen kann
Codex CLI · gpt-6-astra
24.0 / 30
Lift gegenüber ohne Skill: +0.01 · Situativ · 17 Läufe
Situativ: der Lift +0.01 liegt unter +1.0. Für „Empfohlen“ sind insgesamt 22/30, eine Ausgabequalität von 3.5 und ein Lift von +1.0 nötig.
SOTA
BestandenGetestet mit Codex.
Gilt für Codex, Claude Code
Codex CLI 0.166 (SOTA-Stufe): 17 bewertete Läufe. Ein Bestehen hier deckt gemäß unserer Stufenregel auch Claude Code ab; über die zweite Stufe sagt es nichts aus.
Punktzahlen
Jede Dimension reicht von 0 bis 5, und die sechs ergeben zusammen die Gesamtpunktzahl von 30. 5 ist in jeder Dimension besser. Kosten 5 bedeutet günstig und schnell. Installation 5 bedeutet einfach.
- Trigger-Zuverlässigkeit
- 5.0
- Lift gegenüber ohne Skill
- 2.0
- Ausgabequalität
- 5.0
- Token- und Zeitkosten
- 3.0
- Installation und Portabilität
- 4.0
- Sicherheit
- 5.0
Sicherheitsprüfung
SicherStatischer Scan: 0 CRITICAL / 1 HIGH / 6 MEDIUM. Manuelle Prüfung: Sicher in einer Sandbox ohne Netzwerk auszuführen (Scanner-Befunde erklärt). Ein sauberer Scan beweist nicht, dass ein Skill sicher ist.
Installieren
npx skills@latest add anthropics/skills --skill pptx
Fixierter Commit: ca45fc496a3436251f191354091d557da31c15b5
Getestet: 2026-11-02
Was wir getestet haben
- Ein Pitchdeck erstellen — pitch.pptx erstellen: ein 5-Folien-Deck im 16:9-Format für den Launch eines fiktiven Produkts namens Falcon: eine Titelfolie, eine Folie „Problem“, eine Folie „Solution“, eine Folie „Traction“ mit einem Balkendiagramm des Quartalsumsatzes (Q1 12, Q2 18, Q3 27, Q4 35, in Tsd. $) und eine abschließende Folie „Ask“. E…
- Folien einfügen und umbenennen — In team.pptx den Titel von Folie 2 in „Revenue outlook“ ändern und direkt danach eine neue Folie mit dem Titel „Risks“ und drei Aufzählungspunkten einfügen (Lieferverzögerungen, Personal, Währung). Alle anderen Folien und ihre Sprechernotizen unverändert lassen. Das Ergebnis als team.pptx speichern…
- Gliederung und Tabelle extrahieren — Aus team.pptx outline.txt (ein Folientitel pro Zeile, in Reihenfolge) und table.csv (die Tabelle auf der Ergebnisse-Folie, Kopfzeile zuerst) schreiben. team.pptx nicht verändern.
Vorteile
- Der Skill wurde erkannt, ohne genannt zu werden: Skill-Datei in 6/6 Treatment-Läufen gelesen.
- Hohe absolute Qualität mit dem Skill: 5.0 von 5.
Nachteile
- Kein messbarer Lift gegenüber ohne Skill (+0.01, im Rauschen).
- Die Kontrolle erreicht bereits 4.99: ein Deckeneffekt, daher kann der Test keinen Lift zeigen.
- Testhinweis: 17 von 18 geplanten Läufen: Der t3-Ein-Satz-Arm hat n=1. Der Batch wurde nach wiederholten LibreOffice-Abstürzen auf einem Testrechner gestoppt.
- n=2 pro Aufgabe und Variante; Unterschiede unter etwa 1 Punkt sind Rauschen.
Bewertung
Codex CLI 0.166 (gpt-6-astra, niedriges Reasoning) auf einem Mac-Testrechner, einem frischen temporären Projekt und temporären HOME/TMPDIR/Caches pro Lauf; Skill installiert (Treatment) oder nicht vorhanden (Kontrolle) oder nicht vorhanden mit der Kernanforderung des Skills in einem an den Prompt angehängten Satz (One-Liner-Gruppe); 2 Läufe pro Gruppe und Aufgabe; Netzwerk aus; Schreiben nach /tmp blockiert. Die Prompts nennen den Skill nie (außer der unten genannten Formulierung). Drei Aufgaben: ein 5-Folien-Pitchdeck im 16:9-Format erstellen (Sprechernotizen auf jeder Folie, ein natives editierbares Diagramm, echte Aufzählungspunkte, alles auf der Folie, öffnet in LibreOffice); in team.pptx Folie 2 umbenennen und danach eine Folie „Risks“ mit drei Aufzählungspunkten einfügen, wobei die übrigen Folien, die Tabelle und die Sprechernotizen erhalten bleiben; die Folientitel und die Tabelle in Textdateien extrahieren, ohne das Deck zu verändern. Beide Arme hatten dieselben Offline-Kopien von pptxgenjs und python-pptx. Die Prüfungen nutzen python-pptx plus eine offline auf unserer Seite durchgeführte LibreOffice-Konvertierung. Ausgeführt mit 17 von 18 geplanten Läufen: Der Batch wurde vorzeitig gestoppt (siehe Limits), daher hat die Ein-Satz-Gruppe bei der Extraktionsaufgabe einen Lauf weniger.
Drei-Arm-Vergleich
| Variante | Durchschnittsnote (0-5) | Tokens pro Lauf |
|---|---|---|
| Ohne Skill | 4.99 | 114k |
| Ein-Satz-Prompt | 4.86 | 224k |
| Mit Skill | 5.0 | 162k |
Gemessen mit Codex CLI über 17 Läufe, bewertet durch regelbasierte Prüfungen ohne LLM-Richter. Gesamt 24.0 / 30, Urteil Situativ.
Offenlegung: 17 von 18 geplanten Läufen: Der t3-Ein-Satz-Arm hat n=1. Der Batch wurde nach wiederholten LibreOffice-Abstürzen auf einem Testrechner gestoppt.
Urteil: Situativ (24.0 / 30). Quelle: anthropics/skills, skills/pptx, gepinnt auf Commit ca45fc4. Installation: npx skills@latest add anthropics/skills --skill pptx. Lizenz: Proprietär (LICENSE.txt im Skill-Verzeichnis): nur lesend evaluiert, nicht weitergegeben.
Worum es geht
Der Skill pptx aus anthropics/skills: Decks mit pptxgenjs erstellen (inklusive einer Liste von Fallstricken, die Dateien beschädigen), Decks bearbeiten, indem man sie entpackt und Slide-XML mit Hilfsskripten (add_slide.py, clean.py, thumbnail.py) bearbeitet, Inhalte mit markitdown lesen und mit scripts/office/validate.py und LibreOffice validieren. Rund 3,100 Wörter in SKILL.md plus Python-Skripte und OOXML-Schemas; proprietäre Lizenz, nur lesend evaluiert.
So haben wir getestet
Codex CLI 0.166 (gpt-6-astra, niedriges Reasoning) auf einem Mac-Testgerät, pro Lauf ein frisches temporäres Projekt und temporäre HOME/TMPDIR/Caches, Skill installiert (Skill-Gruppe), nicht vorhanden (Kontrollgruppe) oder nicht vorhanden, aber mit der Kernanforderung des Skills als einem an den Prompt angehängten Satz (Ein-Satz-Gruppe), 2 Läufe pro Gruppe und Aufgabe, Netzwerk aus, Schreibzugriffe auf /tmp blockiert. Die Prompts nennen den Skill nie (außer der unten genannten Formulierung).
Drei Aufgaben: ein 5-Folien-Pitchdeck in 16:9 erstellen (Sprechernotizen auf jeder Folie, ein natives bearbeitbares Diagramm, echte Aufzählungspunkte, alles auf der Folie, öffnet in LibreOffice); in team.pptx Folie 2 umbenennen und danach eine Folie „Risks“ mit drei Aufzählungspunkten einfügen, wobei die übrigen Folien, die Tabelle und die Sprechernotizen erhalten bleiben; die Folientitel und die Tabelle in Textdateien extrahieren, ohne das Deck zu verändern. Beide Gruppen hatten dieselben Offline-Kopien von pptxgenjs und python-pptx. Die Prüfungen verwenden python-pptx plus eine LibreOffice-Konvertierung, die offline auf unserer Seite lief. Ausgeführt mit 17 von 18 geplanten Läufen: Der Batch wurde vorzeitig gestoppt (siehe Grenzen), daher hat die Ein-Satz-Gruppe bei der Extraktionsaufgabe einen Lauf weniger.
- Ein Pitchdeck erstellen — Erstelle pitch.pptx: ein 5-Folien-Deck in 16:9 für den Launch eines fiktiven Produkts namens Falcon: eine Titelfolie, eine Problem-Folie, eine Solution-Folie, eine Traction-Folie mit einem Balkendiagramm des Quartalsumsatzes (Q1 12, Q2 18, Q3 27, Q4 35, in $k) und eine abschließende Ask-Folie. …
- Folien einfügen und umbenennen — Ändere in team.pptx den Titel von Folie 2 in „Revenue outlook“ und füge direkt danach eine neue Folie mit dem Titel „Risks“ und drei Aufzählungspunkten ein (Lieferverzögerungen, Personal, Währung). Behalte jede andere Folie und ihre Sprechernotizen unverändert. Speichere das Ergebnis als team.pptx …
- Gliederung und Tabelle extrahieren — Schreibe aus team.pptx outline.txt (ein Folientitel pro Zeile, in Reihenfolge) und table.csv (die Tabelle auf der Ergebnisse-Folie, Kopfzeile zuerst). Ändere team.pptx nicht.
Die Bewertung ist programmatisch (versteckte Tests / Erkennung eingebauter Probleme / Constraint-Checks / Rendern+OCR, wo relevant), 0–5 pro Lauf. Kein LLM-Richter hat einen Score vergeben.
Ergebnisse
Der Ein-Satz-Prompt für die dritte Gruppe: „Baue das Deck aus echten PowerPoint-Objekten: Setze zuerst das 16:9-Layout, verwende ein natives bearbeitbares Diagramm (kein Bild), echte Aufzählungspunkte (niemals getippte ‚•‘-Zeichen), Sprechernotizen über die Notes-API, halte jede Form innerhalb der Folie und bestätige, dass die Datei sich öffnet, indem du sie nach PDF konvertierst; ändere beim Bearbeiten nur, was verlangt wurde, lass die anderen Folien und ihre Notizen unverändert und hinterlasse keine Arbeitsdateien.“
| Aufgabe | Score Kontrolle | Ein-Satz | Mit Skill | Tokens Kontrolle | Tokens Ein-Satz | Tokens mit Skill | Skill gelesen |
|---|---|---|---|---|---|---|---|
| t1-new | 4.96 | 5.0 | 5.0 | 147k | 342k | 185k | 2/2 |
| t2-edit | 5.0 | 4.65 | 5.0 | 114k | 175k | 199k | 2/2 |
| t3-extract | 5.0 | 5.0 | 5.0 | 79k | 80k | 99k | 2/2 |
Durchschnittsscore: 4.99 ohne vs. 5.0 mit dem Skill (Delta +0.01). Tokens pro Lauf: 114k vs. 162k (1.42x); Zeit 67s vs. 70s. Ein-Satz-Gruppe: 4.86 (Gewinn des Skills gegenüber der Ein-Satz-Version: +0.14; Gewinn der Ein-Satz-Version gegenüber ohne Skill: -0.12); Ein-Satz-Version 224k Tokens pro Lauf, der Skill kostet also 0.72x so viel wie die Ein-Satz-Version.
Was passiert ist
- Kein Unterschied beim Score: 4.99 Kontrolle, 4.86 Ein-Satz, 5.00 Skill. Die Kontrolle erstellt bereits korrekte Decks (5 Folien, Notizen auf jeder Folie, ein natives Diagramm, keine getippten Aufzählungszeichen, Formen innerhalb der Folie, öffnet in LibreOffice) und erledigt die Bearbeitung mit python-pptx, ohne Notizen oder die Tabelle zu verlieren.
- Der Skill kostete mehr: 162k Tokens pro Lauf gegenüber 114k (1.4x), die Ein-Satz-Version 224k (2.0x), vor allem bei der Erstellungsaufgabe (185k für den Skill und 325-361k für die Ein-Satz-Version gegenüber 118-176k für die Kontrolle).
- Ein Fehlschlag in der Ein-Satz-Gruppe: Die von ihr bearbeitete team.pptx öffnet in python-pptx, aber LibreOffice kann sie nicht konvertieren (bei uns zweimal reproduziert); der Agent selbst meldete, dass LibreOffice abgestürzt sei. Die sechs Decks der Skill-Gruppe ließen sich alle konvertieren, und alle sechs Skill-Läufe führten validate.py aus.
- Der Skill wurde in 6/6 Läufen gelesen, und in allen 6 nutzte der Agent markitdown, validate.py und den LibreOffice-Wrapper (soffice.py). Die Kontrolle rief nie LibreOffice auf; 4 von 5 Ein-Satz-Läufen riefen soffice direkt auf.
Dimensionsbewertungen
| Dimension | Score | Begründung |
|---|---|---|
| 1_output_quality | 5.0 | Durchschnittsscore 5.00/5 mit dem Skill (programmatische Prüfungen, siehe Tabelle pro Aufgabe). |
| 2_lift_vs_no_skill | 2.01 | +0.01 Punkte gegenüber 4.99 ohne den Skill (n=2 pro Aufgabe; unter etwa 1 Punkt ist Rauschen). |
| 3_trigger | 5.0 | Skill-Datei in 6/6 Skill-Läufen gelesen. |
| 4_instructions_portability | 4 | Setzt voraus, dass pptxgenjs, python-pptx, markitdown und LibreOffice installiert sind; auf Linux-Sandboxes ausgerichtet. |
| 5_efficiency | 3 | 1.42x Tokens (162k vs. 114k pro Lauf) und 1.04x Zeit (70s vs. 67s). |
| 6_safety_hygiene | 5 | Skripte gelesen: soffice.py (LibreOffice-Starter; kompiliert nur unter Linux einen kleinen LD_PRELOAD-Shim, wenn Sockets blockiert sind), thumbnail.py, add_slide.py, clean.py und Validatoren; kein Netzwerk, kein Zugriff auf Anmeldedaten. |
Grenzen dieses Tests
- Der Batch wurde bei 17 von 18 Läufen gestoppt: LibreOffice stürzte auf dem Testrechner wiederholt ab, während Agenten (meist in der Skill- und der Ein-Satz-Gruppe) Decks nach PDF konvertierten, und der Nutzer bat uns, aufzuhören. Alle Ergebnisse stammen aus abgeschlossenen Läufen; ein Ein-Satz-Extraktionslauf fehlt.
- Regelprüfungen (Struktur, Notizen, Diagramm, Grenzen, Öffnen); die visuelle Qualität der Folien wurde nicht beurteilt, und die Designhinweise im Skill (Farbpaletten, Layoutideen) wurden nicht geübt.
- Kleine Decks; 5 Folien und 3 Folien. Vorlagenbasiertes Bearbeiten, Zusammenführen/Teilen und Kommentare wurden nicht getestet.
- Konvertierungen in den Prüfungen liefen offline auf unserer Seite; die LibreOffice-Nutzung der Agenten auf dem Testrechner verursachte die Abstürze.
- n = 2 pro Gruppe und Aufgabe: Unterschiede unter etwa 1 Punkt sind Rauschen.
- Regelbasierte Bewertung misst, was die Prüfungen sehen können; sie kann keinen Geschmack beurteilen oder ob ein Ergebnis das bestmögliche ist.
Sicherheit
Siehe security.md. Scan: 0 CRITICAL / 1 HIGH / 6 MEDIUM. Urteil: sicher ausführbar (Sandbox ohne Netzwerk). Ein sauberer Scan beweist nicht, dass ein Skill sicher ist.
Fazit
Bei kleinen Decks erzeugte reines Codex mit python-pptx bereits korrekte, gültige Dateien, sodass die Fallstricke und der Validator des Skills etwa 40 % mehr Tokens kosteten, ohne den Score zu erhöhen. Sein Validator und die Konvertierungsschritte sind für größere oder vorlagenbasierte Decks nützlich, was dieser Test nicht abdeckte. Beachten Sie, dass der Workflow des Skills LibreOffice aufruft, das auf manchen Desktops instabil sein kann.
Transkript
Laufprotokoll: pptx (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.) Spalten: Aufgabe, Gruppe-Lauf, Punktzahl (0-5), Tokens, Sekunden, bestandene Prüfungen, vom Agenten geöffnete Skill-Dateien. t1-new control-1: Punkte 4.92, Tokens 117727, Sek. 118.4, Prüfungen 1/2, nichts geöffnet t1-new control-2: Punkte 5.0, Tokens 176319, Sek. 129.0, Prüfungen 2/2, nichts geöffnet t1-new oneliner-1: Punkte 5.0, Tokens 324776, Sek. 128.1, Prüfungen 2/2, nichts geöffnet t1-new oneliner-2: Punkte 5.0, Tokens 360676, Sek. 134.3, Prüfungen 2/2, nichts geöffnet t1-new treatment-1: Punkte 5.0, Tokens 183150, Sek. 123.4, Prüfungen 2/2, geöffnet pptx t1-new treatment-2: Punkte 5.0, Tokens 187890, Sek. 110.7, Prüfungen 2/2, geöffnet pptx t2-edit control-1: Punkte 5.0, Tokens 115865, Sek. 43.4, Prüfungen 2/2, nichts geöffnet t2-edit control-2: Punkte 5.0, Tokens 113982, Sek. 42.2, Prüfungen 2/2, nichts geöffnet t2-edit oneliner-1: Punkte 4.31, Tokens 147330, Sek. 67.2, Prüfungen 1/2, nichts geöffnet
17 Läufe, 3 Artefakte
Beispielausgabe
SOTA · With the skill: create_pitch.js (t1-new, run 1, Codex)
const pptxgen=require('pptxgenjs'); const p=new pptxgen();p.layout='LAYOUT_WIDE';p.title='Falcon launch';p.author='Falcon';p.theme={headFontFace:'Arial',bodyFontFace:'Arial',lang:'en-US'}; const dark='192620',green='C2F36B',muted='56665C'; function t(s,text,x,y,w,h,size=20,color=dark,bold=false){s.addText(text,{x,y,w,h,fontSize:size,fontFace:'Arial',color,bold,margin:0});} function base(n,d=false){const s=p.addSlide();s.background={color:d?dark:'FFFFFF'};t(s,'FALCON / LAUNCH',.65,.35,6,.25,10,d?green:muted,true);t(s,String(n).padStart(2,'0'),12,6.9,.6,.25,10,d?'FFFFFF':muted);return s;} function list(s,items,x,y,w,h,color=dark,size=22){s.addText(items.map((text,i)=>({text,options:{bullet:{indent:size},hanging:4,breakLine:i<items.length-1}})),{x,y,w,h,fontFace:'Arial',fontSize:size,color,margin:0,paraSpaceAfter:23,valign:'top'});} function box(s,x,y,w,h,color){s.addShape(p.ShapeType.roundRect,{x,y,w,h,fill:{color},line:{color,transparency:100},radius:.15});} let s=base(1,true);t(s,'Falcon',.75,1.45,8,1.1,66,'FFFFFF',true);t(s,'Turn team plans into\nforward motion.',.75,2.85,8,1.5,34,'FFFFFF');t(s,'One workspace for priorities, owners, and progress.',.75,4.85,8,.7,20,'B9C8BE');s.addShape(p.ShapeType.chevron,{x:10,y:1.8,w:1.2,h:3.3,fill:{color:green},line:{color:green}});s.addShape(p.ShapeType.chevron,{x:11.4,y:2.5,w:.6,h:1.9,fill:{color:'71964A'},line:{color:'71964A'}});t(s,'Fictional product • Illustrative launch pitch',.75,6.5,8,.3,11,'B9C8BE');s.addNotes('Introduce Falcon as a fictional work-management product for growing teams. Its promise is to turn plans into coordinated action through shared priorities, owners, and progress. All business details are illustrative; quarterly revenue was supplied for this pitch.'); s=base(2);t(s,'Problem',.65,1,10,.65,40,dark,true);t(s,'Work moves faster than the tools tracking it.',.65,1.85,12,.6,25,muted);list(s,['Priorities scatter across chats, docs, and spreadsheets.','Unclear ownership delays decisions and handoffs.','Manual updates hide risks until deadlines slip.'],.8,3,7.1,3);box(s,9,2.85,3.55,3.15,'F0F5F1');t(s,'The cost',9.35,3.2,2.8,.4,20,muted,true);t(s,'More chasing.\nLess shipping.',9.35,3.95,2.8,1.3,30,dark,true);s.addNotes('Growing teams often keep priorities in multiple places, leaving owners and dependencies unclear. Explain how this creates time spent chasing updates. These are product assumptions for a fictional launch, not research findings.'); s=base(3);t(s,'Solution',.65,1,10,.65,40,dark,true);t(s,'One shared view. A clear next step.',.65,1.85,12,.6,25,muted);[['01','Align priorities',['Capture goals in one place.','Link tasks to outcomes.']],['02','Assign owners',['Give every task an owner.','Make deadlines visible.']],['03','Advance work',['Track progress together.','Flag blockers early.']]].forEach((a,i)=>{let x=.65+i*4.1;box(s,x,2.9,3.8,3.3,'F0F5F1');t(s,a[0],x+.3,3.2,1,.5,28,'638831',true);t(s,a[1],x+.3,4,3.2,.6,23,dark,true);list(s,a[2],x+.3,4.9,3.1,1.1,dark,16);});s.addNotes('Walk through the proposed workflow: align on priorities, assign owners, and advance work with visible progress and blockers. These are conceptual features of the fictional Falcon product. Emphasize the va [... excerpt: first 3200 of 5381 characters]