xlsx (anthropics/skills)
Lit, modifie, nettoie, convertit et crée des feuilles de calcul aux formats .xlsx, .xlsm, .xltx, .csv et .tsv.
anthropics xlsx : son script de recalcul n'a jamais tourné sur un Mac, et le skill a obtenu un score légèrement inférieur à celui obtenu sans skill
Codex CLI · gpt-6-astra
20.3 / 30
Gain par rapport à sans skill : -0.25 · Selon les cas · 12 exécutions
Selon les cas : le total 20.3/30 est inférieur à 22 et le gain -0.25 est inférieur à +1.0. Pour être recommandé, il faut un total de 22/30, une qualité de sortie de 3.5 et un gain de +1.0.
SOTA
RéussiTesté avec Codex.
Couvre Codex, Claude Code
Codex CLI 0.166 (palier SOTA) : 12 exécutions notées. Une réussite ici couvre aussi Claude Code selon notre règle de palier ; elle ne dit rien du second palier.
Scores
Chaque dimension va de 0 à 5 et les six forment le total sur 30. 5 est la meilleure note dans chaque dimension. Coût 5 signifie bon marché et rapide. Installation 5 signifie facile.
- Fiabilité du déclenchement
- 5.0
- Gain par rapport à sans skill
- 1.8
- Qualité de sortie
- 4.6
- Coût en tokens et en temps
- 3.0
- Installation et portabilité
- 2.0
- Sécurité
- 4.0
Revue de sécurité
SûrScan statique : 0 CRITIQUE / 0 ÉLEVÉ / 0 MOYEN. Revue manuelle : sûr à exécuter (bac à sable sans réseau). Un scan propre ne prouve pas qu'un skill est sûr.
Installer
npx skills@latest add anthropics/skills --skill xlsx
Commit épinglé: ca45fc496a3436251f191354091d557da31c15b5
Testé: 2026-11-02
Ce que nous avons testé
- Créer un classeur de budget — Créez budget.xlsx avec une feuille nommée « Budget » : ligne d'en-tête Category, Q1, Q2, Q3, Q4, Total (en gras, police Arial) ; au moins cinq catégories de dépenses avec des nombres d'exemple ; la colonne Total et une ligne Total en bas doivent être de vraies formules Excel, pas des valeurs saisies.
- Ajouter une colonne de croissance — Dans sales.xlsx, ajoutez une colonne « Growth % » à la fin de la feuille Sales (colonne F) montrant la variation Q2 de chaque région par rapport à Q1 sous forme de formule vivante. Conservez les formules et le formatage d'en-tête existants. Modifiez le fichier sur place.
- Feuille de synthèse avec SUMIF — Dans orders.xlsx, ajoutez une feuille « Summary » avec le montant total Amount par région (North, South, East, West) sous forme de formules vivantes référençant la feuille Orders. Ne modifiez pas la feuille Orders. Modifiez le fichier sur place.
Points forts
- Le skill a été détecté sans être nommé : son fichier a été lu dans 6/6 exécutions avec skill.
- Qualité absolue élevée avec le skill : 4.55 sur 5.
Points faibles
- Aucun gain mesurable par rapport à sans skill (-0.25, dans le bruit).
- Réserve de test : test à deux bras uniquement (sans skill vs avec skill, 12 exécutions). Le bras « prompt d'une phrase » n'a pas été exécuté car il nécessite LibreOffice, que nous n'utilisons pas sur les machines de test.
- n=2 par tâche et par bras ; les écarts inférieurs à environ 1 point sont du bruit.
Avis
Codex CLI 0.166 (gpt-6-astra, low reasoning) sur un Mac de test, un projet temporaire neuf et des HOME/TMPDIR/caches temporaires à chaque exécution, skill installé (traitement) ou absent (contrôle), 2 exécutions par groupe et par tâche, réseau coupé, écritures dans /tmp bloquées. Les prompts ne mentionnent jamais le skill (sauf la formulation indiquée ci-dessous). Environnement : les deux groupes ont reçu la même boîte à outils hors ligne (python openpyxl/lxml/defusedxml, node docx, un shim python pour python3), car le skill le suppose. LibreOffice est sur le Mac mais ne peut pas créer de profil dans le bac à sable Codex.
Comparaison à trois bras
| Bras | Score moyen (0-5) | Tokens par exécution |
|---|---|---|
| Sans le skill | 4.8 | 83k |
| Avec le skill | 4.55 | 120k |
Mesuré avec Codex CLI sur 12 exécutions, noté par des contrôles basés sur des règles, sans juge LLM. Total 20.3 / 30, verdict Selon les cas.
Divulgation : test à deux bras uniquement (sans skill vs avec skill, 12 exécutions). Le bras « prompt d'une phrase » n'a pas été exécuté car il nécessite LibreOffice, que nous n'utilisons pas sur les machines de test.
Verdict : situationnel (20.3 / 30). Source : anthropics/skills, skills/xlsx, épinglé au commit ca45fc4. Installation : npx skills@latest add anthropics/skills --skill xlsx. Licence : propriétaire (LICENSE.txt dans le dossier de la compétence) : évaluée en lecture seule, non redistribuée.
Ce que c'est
La compétence xlsx du dépôt de compétences d'Anthropic : utiliser openpyxl/pandas pour créer et modifier des fichiers Excel, garder les formules vivantes au lieu de coller des nombres, suivre les conventions de couleurs des modèles financiers et exécuter scripts/recalc.py (LibreOffice en mode headless) pour calculer les formules et détecter les erreurs comme #REF!. SKILL.md indique que les outils sont préinstallés.
Comment nous avons testé
Codex CLI 0.166 (gpt-6-astra, raisonnement faible) sur une machine de test Mac, un projet temporaire neuf et des HOME/TMPDIR/caches temporaires à chaque exécution, compétence installée (avec compétence) ou absente (témoin), 2 exécutions par groupe et par tâche, réseau désactivé, écritures dans /tmp bloquées. Les prompts ne mentionnent jamais la compétence (sauf la formulation indiquée ci-dessous).
Environnement : les deux groupes ont reçu la même boîte à outils hors ligne (python openpyxl/lxml/defusedxml, node docx, un shim python pour python3), car la compétence le suppose. LibreOffice est présent sur le Mac mais ne peut pas créer de profil dans la sandbox de Codex.
- Créer un classeur de budget — Crée budget.xlsx avec une feuille nommée « Budget » : ligne d'en-tête Category, Q1, Q2, Q3, Q4, Total (en gras, police Arial) ; au moins cinq catégories de dépenses avec des nombres d'exemple ; la colonne Total et une ligne Total en bas doivent être de vraies formules Excel, pas des valeurs saisies.
- Ajouter une colonne de croissance — Dans sales.xlsx, ajoute une colonne « Growth % » à la fin de la feuille Sales (colonne F) montrant la variation Q2 par rapport à Q1 pour chaque région sous forme de formule vivante. Conserve les formules existantes et le formatage de l'en-tête. Modifie le fichier sur place.
- Feuille de synthèse avec SUMIF — Dans orders.xlsx, ajoute une feuille « Summary » avec le montant total Amount par région (North, South, East, West) sous forme de formules vivantes qui référencent la feuille Orders. Ne modifie pas la feuille Orders. Modifie le fichier sur place.
Le score est calculé de manière programmatique (tests masqués / détection des problèmes implantés / vérifications de contraintes / rendu + OCR le cas échéant), avec une note de 0–5 par exécution. Aucun juge LLM n'a attribué de score.
Résultats
| Tâche | Score témoin | Avec compétence | Tokens témoin | Tokens avec compétence | Compétence lue |
|---|---|---|---|---|---|
| t1-new | 5.0 | 4.74 | 71k | 118k | 2/2 |
| t2-edit | 4.4 | 4.4 | 79k | 127k | 2/2 |
| t3-summary | 5.0 | 4.5 | 98k | 113k | 2/2 |
Score moyen : 4.8 sans contre 4.55 avec la compétence (écart -0.25). Tokens par exécution : 83k contre 120k (1.44x) ; temps 44s contre 63s.
Ce qui s'est passé
- Le résultat était à peu près le même : témoin 4.8 contre 4.55 avec compétence sur 5 (n=2, dans le bruit). Les deux groupes ont construit des formules vivantes correctes (totaux de ligne et de colonne, colonne de croissance, SUMIF par région) avec des valeurs recalculées correctes lorsque nous les recalculions nous-mêmes.
- La fonction phare de la compétence ne s'est pas exécutée. Dans 5 des 6 exécutions avec compétence,
recalc.pya été essayé : l'appel simple àpythona planté avecTypeError: ... 'ignore_cleanup_errors'(cet argument exige Python 3.10+ ; lepython3résolu par le PATH de la sandbox est plus ancien), et après passage à Homebrew Python, il s'est arrêté avec « LibreOffice did not create a usable profile; formulas were NOT recalculated » dans la sandbox. - Le coût de cette découverte : environ 1.4x les tokens par exécution, et plus de commandes (10-18 contre 4-6).
- Un effet secondaire des tentatives de contournement : une exécution avec compétence a laissé un dossier
.xlsx-tmp/contenant une copie du classeur dans le projet. - La tâche de la colonne de croissance a perdu le même point aux quatre exécutions : le fichier ne contenait aucune valeur stockée pour les nouvelles formules (un visualiseur qui ne recalcule pas afficherait des blancs), car personne ne pouvait lancer un recalcul. Dans la tâche SUMIF, trois exécutions sur quatre se terminaient avec des valeurs stockées (les exécutions du témoin les écrivaient elles-mêmes dans le XML) ; une exécution avec compétence n'en a laissé aucune.
- Dans une exécution avec compétence, la ligne Total du budget n'avait aucune formule (7 contrôles sur 8).
Scores par dimension
| Dimension | Score | Pourquoi |
|---|---|---|
| 1_output_quality | 4.55 | Score moyen de 4.55/5 avec la compétence (contrôles programmatiques, voir le tableau par tâche). |
| 2_lift_vs_no_skill | 1.75 | -0.25 point par rapport à 4.80 sans la compétence (n=2 par tâche ; moins d'environ 1 point relève du bruit). |
| 3_trigger | 5.0 | Fichier de compétence lu dans 6/6 exécutions avec compétence. |
| 4_instructions_portability | 2 | |
| 5_efficiency | 3 | 1.44x de tokens (120k contre 83k par exécution) et 1.43x de temps (63s contre 44s). |
| 6_safety_hygiene | 4 |
Limites de ce test
- Seulement trois petites tâches de classeur ; les conventions de formatage (entrées en bleu, formules en noir), les formats de nombres et les modèles financiers multi-feuilles n'ont pas été notés.
- Les échecs sont liés à l'environnement (Python système ancien, LibreOffice dans une sandbox). Sur une machine où
recalc.pys'exécute, le résultat pourrait différer. - Licence propriétaire : comportement décrit uniquement.
- n = 2 par groupe et par tâche : les écarts inférieurs à environ 1 point relèvent du bruit.
- Le score basé sur des règles mesure ce que les contrôles peuvent voir ; il ne peut juger du goût ni du caractère optimal d'un résultat.
Sécurité
Voir security.md. Analyse : 0 CRITICAL / 0 HIGH / 0 MEDIUM. Verdict : sûr à exécuter (sandbox sans réseau). Une analyse propre ne prouve pas qu'une compétence est sûre.
En bref
Dans une sandbox de type Codex sur un Mac, le script de recalcul de la compétence ne s'exécute pas : vous payez donc environ 1.4x les tokens sans obtenir de meilleurs classeurs que sans elle. Ses conseils (formules vivantes, recalcul, détection d'erreurs) sont bons, mais l'outillage exige Python 3.10+ et un LibreOffice hors sandbox.
Transcription
Journal d'exécution : xlsx (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.) Colonnes : tâche, groupe-exécution, score (0-5), tokens, secondes, vérifications réussies, fichiers de la skill ouverts par l'agent. t1-new control-1: score 5.0, tokens 79892, s 54.9, vérifications 2/2, rien ouvert t1-new control-2: score 5.0, tokens 63375, s 44.3, vérifications 2/2, rien ouvert t1-new treatment-1: score 4.48, tokens 128230, s 111.7, vérifications 1/2, ouvert xlsx t1-new treatment-2: score 5.0, tokens 108664, s 57.0, vérifications 2/2, ouvert xlsx t2-edit control-1: score 4.4, tokens 78381, s 44.1, vérifications 1/2, rien ouvert t2-edit control-2: score 4.4, tokens 80886, s 32.4, vérifications 1/2, rien ouvert t2-edit treatment-1: score 4.4, tokens 127161, s 41.9, vérifications 1/2, ouvert xlsx t2-edit treatment-2: score 4.4, tokens 127810, s 44.3, vérifications 1/2, ouvert xlsx t3-summary control-1: score 5.0, tokens 85935, s 40.9, vérifications 2/2, rien ouvert
12 exécutions, 2 artefacts
Exemple de sortie
SOTA · With the skill: final message (t1-new, run 1, Codex)
Created [budget.xlsx](budget.xlsx) with the Budget sheet, bold Arial headers, six expense categories, and live formulas for all totals. Formulas are verified; recalculation in this environment was unavailable.