pptx

Utilisez cette compétence dès qu'un fichier .pptx ou .potx est impliqué, que ce soit en entrée, en sortie, ou les deux. Cela inclut la création de diaporamas, pitch decks ou présentations ; la lecture, l'analyse ou l'extraction de texte depuis tout fichier .pptx ou .potx (même si le contenu extrait sera utilisé ailleurs, comme dans un e-mail ou un résumé) ; l'édition, la modification ou la mise à jour de présentations existantes ; la combinaison ou la division de fichiers de diapositives ; le travail avec des modèles (.potx), des masques, des notes de l'orateur ou des commentaires. Déclenchez-la chaque fois que l'utilisateur mentionne « diaporama », « diapos », « présentation » ou fait référence à un nom de fichier .pptx ou .potx, indépendamment de ce qu'il prévoit de faire avec le contenu par la suite. Si un fichier .pptx ou .potx doit être ouvert, créé ou modifié, utilisez cette compétence.

Qu'est-ce que pptx ?

Cette compétence est conçue pour les agents IA (comme Claude Code, Cursor, Codex) qui ont besoin de créer, éditer ou analyser des fichiers PowerPoint (.pptx) et des modèles (.potx). Elle fournit un ensemble de scripts et d'instructions pour gérer les présentations de manière fiable, en évitant les pièges courants qui corrompent les fichiers. L'agent peut créer des diaporamas complets à l'aide de la bibliothèque `pptxgenjs`, éditer des fichiers existants en décompressant et en manipulant le XML directement, ou extraire le contenu texte via `markitdown` et générer des grilles visuelles de diapositives. La compétence donne la priorité à la correction technique, notamment en validant les fichiers de sortie avec un script dédié pour détecter les défauts courants (comme des problèmes de graphiques ou de couleurs hexadécimales), tout en offrant des conseils de conception pour créer des présentations attrayantes avec des palettes de couleurs et une typographie appropriées.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/anthropics/skills/tree/main/skills/pptx

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Création, édition et analyse de PPTX

Un fichier .pptx est une archive ZIP de fichiers XML. Choisissez votre approche en fonction de la tâche :

TâcheApproche
Créer un nouveau diaporamaÉcrire un script pptxgenjs — voir les pièges ci-dessous
Éditer un diaporama existant, ou construire à partir d'un modèledécompresser → éditer ppt/slides/slideN.xml → recompresser
Lire le contenumarkitdown deck.pptx (un bloc par diapositive sous les marqueurs <!-- Slide number: N -->) ; grille visuelle : python scripts/thumbnail.py deck.pptx

Scripts

Les chemins sont relatifs au répertoire de cette compétence. Tout le reste est en Python pur, node ou shell.

ScriptCe qu'il fait
scripts/thumbnail.py deck.pptx [prefix]Grille étiquetée de chaque diapositive, pour choisir les mises en page du modèle. .pptx uniquement. Passez prefix — par défaut thumbnails, ce qui écrase les grilles de tout autre diaporama effectué dans le même répertoire
scripts/add_slide.py unpacked/ slide2.xml [--after slideN.xml]Dupliquer une diapositive (ou un slideLayoutN.xml) avec toute la comptabilité du package. Accepte aussi un .pptx directement avec -o out.pptx
scripts/clean.py unpacked/Supprimer les diapositives, médias et relations qui ne sont plus référencés. À exécuter après que <p:sldIdLst> soit final
scripts/office/validate.py deck.pptx [--original src.pptx]Vérifications de schéma, relations, types de contenu, graphiques et diapositives ; chaque échec nomme son correctif. Passez --original pour tout diaporama dérivé d'un modèle : il établit une référence des vérifications de schéma par rapport au modèle, de sorte que les propres erreurs XSD du modèle ne soient pas considérées comme les vôtres
scripts/office/soffice.py --headless --convert-to pdf deck.pptxWrapper LibreOffice — soffice nu se bloque dans ce bac à sable

Création avec pptxgenjs — pièges

pptxgenjs est préinstallé — n'exécutez pas npm install d'abord ; écrivez le script et require('pptxgenjs') directement. Seulement si ce require échoue : npm install pptxgenjs. Le modèle connaît l'API ; voici les pièges :

  • Définissez pres.layout avant d'ajouter des diapositives. Le canevas par défaut est LAYOUT_16x9 = 10" × 5.625", pas 13,3" de large. Les coordonnées au-delà du bord sont écrites, non limitées — la forme n'est simplement pas sur la diapositive. (LAYOUT_WIDE fait 13,3" × 7,5".)
  • Couleurs hexadécimales : jamais #, jamais 8 chiffres. color: "FF0000". "#FF0000" ou l'alpha intégré à l'hex ("00000020") corrompt le fichier. Pour la translucidité : transparency: 0-100 sur les remplissages et les images, opacity: 0.0-1.0 sur les ombres — chacun est ignoré silencieusement sur l'autre.
  • pptxgenjs modifie les objets d'options sur place (convertit les valeurs en EMU lors de la première utilisation). Ne partagez jamais un seul objet shadow/options entre deux appels add* — construisez un nouvel objet à chaque fois.
  • offset d'ombre doit être ≥ 0 — un offset négatif corrompt le fichier. Pour projeter une ombre vers le haut, utilisez angle: 270 avec un offset positif.
  • letterSpacing est ignoré silencieusement — la vraie option est charSpacing.
  • Listes : bullet: true sur chaque élément, jamais un • littéral (rend des doubles puces). Définissez breakLine: true sur chaque élément du tableau sauf le dernier. Espacez les paragraphes à puces avec paraSpaceAfter, pas lineSpacing (énormes écarts).
  • Un new pptxgen() par fichier de sortie — ne réutilisez jamais une instance.
  • rectRadius fonctionne uniquement sur ROUNDED_RECTANGLE, pas sur RECTANGLE.
  • Les remplissages par dégradé ne sont pas pris en charge — utilisez plutôt une image de dégradé comme arrière-plan.
  • Les zones de texte ont un remplissage interne intégré — définissez margin: 0 chaque fois que le texte doit s'aligner avec une forme, une ligne ou une icône au même x.
  • Les notes de l'orateur vont dans slide.addNotes("...") (texte brut, une fois par diapositive), jamais dans une zone de texte sur la diapositive.
  • Conservez les graphiques natifs. Utilisez addChart() pour tout ce que PowerPoint peut représenter (passez un tableau de {type, data, options} pour les combinaisons). Pour les fonctionnalités natives de PowerPoint que la bibliothèque n'expose pas (courbes de tendance, barres d'erreur), calculez vous-même les séries supplémentaires ou post-traitez le OOXML généré — ne recourez pas à une image rendue. Seuls les types de graphiques dont PowerPoint n'a pas de forme native (Sankey, réseau, corde) sont intégrés sous forme d'images.
  • Les graphiques par défaut sont rendus nus — pas de titre, pas d'étiquettes de données, palette datée. Définissez showTitle + title, showValue: true + dataLabelPosition, chartColors: [...] de votre palette, et rendez le cadre discret (catAxisLabelColor/valAxisLabelColor, valGridLine: { color, size }, catGridLine: { style: "none" }, showLegend: false pour une seule série).
  • Sur un graphique à barres ou à colonnes empilées, dataLabelPosition doit être ctr, inEnd ou inBase. outEnd corrompt le fichier.
  • Une série combinée utilisant secondaryValAxis/secondaryCatAxis a besoin à la fois de valAxes et catAxes dans les options du graphique, deux entrées chacun. Sans eux, pptxgenjs écrit des ids d'axes qu'il ne déclare jamais, et PowerPoint supprime ce graphique et signale le fichier comme corrompu. Fournir uniquement valAxes ne suffit pas.
  • Après writeFile(), exécutez python scripts/office/validate.py deck.pptx. Il signale les deux défauts de graphique ci-dessus et les défauts de slide-XML que PowerPoint refuse, et nomme le correctif pour chacun. Corrigez-les dans votre générateur, pas en éditant manuellement le XML emballé.
  • Ne réordonnez jamais les enfants de <p:presentation>. pptxgenjs écrit <p:notesMasterIdLst> juste après <p:sldIdLst> et pointe les deux masques vers une seule partie de thème. PowerPoint lit cela heureusement — déplacez l'élément et le même diaporama devient impossible à ouvrir.
  • Icônes : rendez react-icons en SVG (ReactDOMServer.renderToStaticMarkup), rasterisez avec sharp à ≥256px, et insérez via addImage({ data: "image/png;base64," + buf.toString("base64") }) — le préfixe image/png;base64, est requis (react-icons, react, react-dom et sharp sont préinstallés — npm install react-icons react react-dom sharp seulement si un require échoue).

Édition de diaporamas et modèles existants

Choisissez d'abord les mises en page : python scripts/thumbnail.py template.pptx template-thumbs écrit une grille étiquetée de chaque diapositive et affiche le(s) fichier(s) créé(s) — template-thumbs.jpg, divisé en template-thumbs-N.jpg au-delà de 12 diapositives. Passez toujours ce deuxième argument, nommé d'après le diaporama. Par défaut, il est thumbnails, donc deux diaporamas dont les vignettes sont créées dans un même répertoire écrasent silencieusement les grilles de l'autre — celles du premier diaporama sont simplement perdues (analyse du modèle uniquement — le contrôle visuel qualité a besoin des rendus en pleine résolution de Conversion en images ; il n'accepte que le .pptx, donc copiez d'abord un .potx vers un nom .pptx). Utilisez-le avec markitdown pour mapper chaque section de contenu sur une diapositive du modèle, et variez les mises en page — ne mettez pas chaque section sur la même diapositive de titre et de puces.

python3 -c "import sys,zipfile; zipfile.ZipFile(sys.argv[1]).extractall('unpacked')" deck.pptx
python scripts/add_slide.py unpacked/ slide2.xml --after slide2.xml   # dupliquer une diapositive (ou slideLayoutN.xml) ; affiche le chemin de la nouvelle diapositive
# réorganiser / supprimer des diapositives = modifier <p:sldIdLst> dans ppt/presentation.xml
python scripts/clean.py unpacked/                                     # après les suppressions : supprime les diapositives, médias, relations orphelins
# modifier le contenu de la diapositive dans ppt/slides/slideN.xml
(cd unpacked && rm -f ../out.pptx && zip -Xr ../out.pptx .)           # compresser DEPUIS L'INTÉRIEUR du répertoire ; rm d'abord ou les parties supprimées survivent
python scripts/office/validate.py out.pptx --original deck.pptx
  • Effectuez tout le travail structurel — ajouter, supprimer, réorganiser — avant de modifier le contenu d'une diapositive. add_slide.py copie un fichier de diapositive textuellement, donc dupliquer après avoir édité clone le contenu édité ; et clean.py supprime toute diapositive manquante dans <p:sldIdLst>, y compris celle que vous venez d'écrire.
  • Ne copiez jamais un fichier de diapositive manuellement — add_slide.py effectue chaque enregistrement dont une nouvelle diapositive a besoin et signale ce qu'il a fait (Created ppt/slides/slide17.xml from slide2.xml). Il fonctionne aussi directement sur un fichier : add_slide.py deck.pptx slide2.xml -o out.pptx — passez -o, ou il réécrit le diaporama d'entrée sur place. Une diapositive dupliquée référence toujours les parties de graphique/SmartArt/objet incorporé de sa source plutôt que de les cloner, donc éditer le graphique d'une diapositive modifie celui de l'autre.
  • Si vous utilisez python-pptx, trois choses qu'il ne fera pas : dupliquer une diapositive (son seul point d'entrée est add_slide(layout)), préserver la mise en forme via text_frame.text = "..." (cela réduit le paragraphe à une seule exécution sans style — utilisez plutôt run.text), ou lire le SVG/EMF utilisé par la plupart des images de modèle (add_picture lève UnidentifiedImageError).
  • Les fichiers .ppt hérités doivent d'abord être convertis : python scripts/office/soffice.py --headless --convert-to pptx file.ppt. Les modèles .potx se décompressent et se compressent de manière identique — conservez l'extension .potx sur la sortie.
  • Pour réutiliser une icône ou une image de modèle, dupliquez une diapositive ou une mise en page qui la contient déjà.

Lors du remplissage d'un modèle :

  • Si vous scriptez une transformation XML, analysez avec defusedxml.minidom — le passage aller-retour de OOXML via xml.etree.ElementTree réécrit les préfixes de namespace et corrompt le diaporama.
  • Les emplacements du modèle ≠ les éléments source. Si le modèle montre 4 membres d'équipe et que vous en avez 3, supprimez tout le groupe du 4ème membre (image + zones de texte), pas seulement son texte — puis vérifiez les visuels orphelins dans le contrôle qualité.
  • Un <a:p> par élément de liste — ne concaténez jamais les éléments en un seul paragraphe. Copiez le frère <a:pPr> pour préserver l'espacement, et mettez b="1" sur le <a:rPr> des titres, en-têtes de section et étiquettes en ligne (Statut :, Propriétaire :).
  • Laissez les puces hériter de la mise en page ; n'ajoutez <a:buChar>, <a:buAutoNum> (numérotées) ou <a:buNone> que pour remplacer — jamais un • littéral dans le texte.
  • Le texte avec des espaces de début ou de fin a besoin de xml:space="preserve" sur son <a:t>.

Idées de design

Ne créez pas de diapositives ennuyeuses. Les simples puces sur un fond blanc n'impressionneront personne. Considérez les idées de cette liste pour chaque diapositive.

Avant de commencer

  • Choisissez une palette de couleurs audacieuse et informée par le contenu : La palette doit sembler conçue POUR ce sujet. Si l'échange de vos couleurs dans une présentation complètement différente « fonctionnait » encore, vous n'avez pas fait de choix suffisamment spécifiques.
  • Dominance sur l'égalité : Une couleur doit dominer (60-70 % de poids visuel), avec 1 à 2 tons de soutien et un accent vif. Ne donnez jamais un poids égal à toutes les couleurs.
  • Contraste sombre/clair : Arrière-plans sombres pour les diapositives de titre et de conclusion, clairs pour le contenu (structure « sandwich »). Ou optez pour le sombre partout pour une sensation premium.
  • Engagez-vous sur un motif visuel : Choisissez UN élément distinctif et répétez-le — cadres d'image arrondis, icônes dans des cercles colorés. Portez-le sur chaque diapositive. N'utilisez pas de barre de couleur ou de bande d'accent comme motif (voir la liste des éléments à éviter).

Palettes de couleurs

Choisissez des couleurs qui correspondent à votre sujet — ne vous contentez pas du bleu générique par défaut. Utilisez ces palettes comme inspiration :

ThèmePrimaireSecondaireAccent
Midnight Executive1E2761 (bleu marine)CADCFC (bleu glacier)FFFFFF (blanc)
Forest & Moss2C5F2D (forêt)97BC62 (mousse)F5F5F5 (crème)
Coral EnergyF96167 (corail)F9E795 (or)2F3C7E (bleu marine)
Warm TerracottaB85042 (terre cuite)E7E8D1 (sable)A7BEAE (sauge)
Ocean Gradient065A82 (bleu profond)1C7293 (sarcelle)21295C (minuit)
Charcoal Minimal36454F (charbon)F2F2F2 (blanc cassé)212121 (noir)
Teal Trust028090 (sarcelle)00A896 (écume de mer)02C39A (menthe)
Berry & Cream6D2E46 (baie)A26769 (rose poussiéreux)ECE2D0 (crème)
Sage Calm84B59F (sauge)69A297 (eucalyptus)50808E (ardoise)
Cherry Bold990011 (cerise)FCF6F5 (blanc cassé)2F3C7E (bleu marine)

Pour chaque diapositive

Chaque diapositive a besoin d'un élément visuel — image, graphique, icône ou forme. Les diapositives uniquement textuelles sont oubliables.

Options de mise en page :

  • Deux colonnes (texte à gauche, illustration à droite)
  • Lignes icône + texte (icône dans un cercle coloré, en-tête en gras, description en dessous)
  • Grille 2x2 ou 2x3 (image d'un côté, grille de blocs de contenu de l'autre)
  • Image demi-débordante (côté gauche ou droit entier) avec superposition de contenu

Affichage des données :

  • Grands chiffres clés (grands nombres 60-72pt avec petites étiquettes en dessous)
  • Colonnes de comparaison (avant/après, avantages/inconvénients, options côte à côte)
  • Chronologie ou flux de processus (étapes numérotées, flèches)

Polissage visuel :

  • Icônes dans de petits cercles colorés à côté des en-têtes de section
  • Texte d'accent en italique pour les statistiques clés ou les slogans

Typographie

Les noms de polices que vous écrivez dans le .pptx sont rendus par le PowerPoint de l'utilisateur, pas par cet environnement. Votre rendu de contrôle qualité visuel passe par LibreOffice, qui substitue les polices qu'il n'a pas — et pour certaines polices, le substitut a des largeurs différentes, donc votre aperçu de contrôle qualité peut montrer un débordement de texte (ou un ajustement) que le vrai diaporama n'aura pas. Pour maintenir la fiabilité de votre contrôle qualité :

  • Polices sûres (rendent à largeur réelle dans le contrôle qualité et sont fournies avec Office) : Arial, Calibri, Cambria, Times New Roman, Courier New, Bookman Old Style, Century Schoolbook. Utilisez-les pour le corps du texte et tout ce où l'ajustement compte.
  • En-têtes avec personnalité sans risque de contrôle qualité : associez un en-tête serif de la liste sûre (Cambria, Bookman Old Style, Century Schoolbook) avec un corps sans-serif de la liste sûre (Calibri ou Arial). Vous obtenez un contraste visuel sans renoncer à des vérifications fiables de débordement.
  • Si l'utilisateur demande une police en dehors de la liste sûre (par exemple Georgia ou Trebuchet MS) : utilisez-la là où l'utilisateur l'a demandée, mais dimensionnez ces conteneurs avec une marge supplémentaire (~10 %) et ne faites pas confiance à l'ajustement du texte du contrôle qualité sur ces éléments — l'aperçu de cette police est approximatif. Si l'utilisateur n'a pas spécifié, préférez les polices de la liste sûre pour le corps du texte.
  • Polices non fiables pour le contrôle qualité (le substitut a des largeurs différentes — les vérifications de débordement peuvent être erronées) : Georgia, Trebuchet MS, Impact, Arial Black, Garamond, Consolas, Palatino Linotype. La substitution de Calibri Light varie selon l'environnement ; traitez-la comme non fiable pour le contrôle qualité. Acceptable pour les titres/accent avec marge ; ne faites pas confiance à l'ajustement du texte du contrôle qualité sur celles-ci.
  • Ne choisissez jamais Aptos par défaut — le défaut d'Office après 2023 n'a pas de substitut compatible métrique ici et est absent des installations Office plus anciennes, donc il n'est fiable sur aucun des deux fronts.
ÉlémentTaille
Titre de diapositive36-44pt gras
En-tête de section20-24pt gras
Corps du texte14-16pt
Légendes10-12pt atténué

…

[tronqué pour la traduction]

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

academy-guide

Stop and check this skill before finishing any reply to a question about how to use Claude or a Claude product — it recommends matching courses, tutorials, and use cases from Claude Academy (academy.claude.com), Anthropic's learning hub. Trigger on: "how do I", "how can I", "getting started with", "what can Claude do", "teach me", "learn to use"; questions about artifacts, projects, skills, plugins, connectors, MCP; requests about rolling Claude out to a team, class, or organization; and any ask for training materials, onboarding content, or learning resources. Use it when the user is learning how to use a feature or product — not when they are mid-task and just want the task done. This skill composes with other skills: after consulting product documentation to answer how a Claude feature works, also check here for a matching course or tutorial — a docs-grounded answer and an Academy recommendation belong together. Only recommend on a strong match; never invent Academy content.

algorithmic-art

Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists

anthropics/template-skill

Replace with description of the skill and when Claude should use it.

brand-guidelines

Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.

canvas-design

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists

claude-api

|-

discernment-nudge

After you give a substantive answer or draft that the user may act on — advice or recommendations, drafted artifacts such as goals, plans, pitches, proposals, or emails, estimates or projections, analysis or interpretation of data, factual claims they may rely on, or a multi-step argument — invoke this skill BEFORE finalizing your reply and then, if it applies, append 2-3 short follow-up questions, each tied to something specific in what you just produced, that help the user check key facts, probe the reasoning or assumptions, and notice missing context. Do this at most once per conversation. Skip it when the user asked a trivial how-to or simple lookup, wants a purely educational explanation, asked you only to format, convert, or assemble a file from content they provided, is writing code they will run, is doing creative writing or casual chat, or already asked you to double-check, cite, or review — the skill file explains these boundaries and the exact output format.

doc-coauthoring

Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.

docx

Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.

frontend-design

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

internal-comms

A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).

mcp-builder

Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).

pdf

Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.

skill-creator

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill

slack-gif-creator

Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like

theme-factory

Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors/fonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.

webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

web-artifacts-builder

Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.

xlsx

Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .xltx, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like "the xlsx in my downloads") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.

Skills associés