CommunityProgramación y desarrollogithub.com

xlsx

Usa esta habilidad siempre que un archivo de hoja de cálculo sea la entrada o salida principal. Esto significa cualquier tarea donde el usuario quiera: abrir, leer, editar o corregir un archivo .xlsx, .xlsm, .xltx, .csv o .tsv existente (por ejemplo, agregar columnas, calcular fórmulas, formatear, graficar, limpiar datos desordenados); crear una nueva hoja de cálculo desde cero o a partir de otras fuentes de datos; o convertir entre formatos de archivos tabulares. Actívala especialmente cuando el usuario mencione un archivo de hoja de cálculo por nombre o ruta, incluso de manera casual (como

¿Qué es xlsx?

Esta habilidad (skill) capacita al agente de IA para crear, editar y analizar archivos de hoja de cálculo en formatos como .xlsx, .xlsm, .csv y .tsv, utilizando herramientas preinstaladas como `openpyxl`, `pandas` y `markitdown`. Es especialmente útil cuando el usuario menciona un archivo de hoja de cálculo por nombre o ruta, incluso de forma casual, y desea realizar operaciones como agregar fórmulas, formatear, limpiar datos desordenados o convertir entre formatos tabulares. La habilidad asegura que el resultado final sea un archivo de hoja de cálculo profesional, sin errores de fórmula, y siguiendo convenciones específicas (como el uso de fórmulas en lugar de valores calculados, formato de fuente profesional, y documentación de suposiciones). Compatible con Claude Code, Cursor, Codex y otros entornos similares donde se ejecuten scripts de Python, la habilidad incluye scripts auxiliares (como `recalc.py` para recalcular fórmulas) y maneja peculiaridades de openpyxl (como la lectura de modelos con dos pases de `load_workbook`, la pérdida de macros en .xlsm si no se usa `keep_vba=True`, y la necesidad de prefijar funciones posteriores a 2007 como `TEXTJOIN` con `_xlfn.`). También impone restricciones críticas: no usar `XLOOKUP`, `SORT`, `FILTER` u otras funciones que LibreOffice no pueda evaluar, y recalcular siempre después de escribir fórmulas para que los valores estén disponibles.

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

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Creación, edición y análisis de XLSX

TareaEnfoque
Crear o editar con fórmulas/formatoopenpyxl — ver advertencias abajo
Datos masivos de entrada o salidapandas (read_excel, to_excel)
Vistazo rápido a una hojamarkitdown archivo.xlsx — ## NombreHoja por hoja; también lee .xlsm. Sin coordenadas de celda, así que no planees ediciones a partir de él
Leer un modelo (fórmulas y valores)dos pases de load_workbook — ver advertencias

openpyxl, pandas y markitdown están preinstalados — no ejecutes pip install primero; escribe el script e importa directamente. Solo si una importación falla (o el comando markitdown no se encuentra): pip install el paquete faltante.

Las rutas de los scripts a continuación son relativas al directorio de esta habilidad.

Requisitos para cada salida

  • Fuente profesional (Arial, Times New Roman) en todo el documento, a menos que el usuario indique lo contrario.
  • Cero errores de fórmula. Nunca entregues mientras recalc.py reporte errors_found. Si crees que un error existía antes de tu intervención, demuéstralo: carga el archivo original con data_only=True y revisa esa celda. Un error que introdujiste se ve exactamente igual que uno heredado.
  • Usa fórmulas, nunca resultados codificados. Escribe sheet['B10'] = '=SUM(B2:B9)', no el total calculado en Python. La hoja debe recalcularse cuando sus entradas cambien.
  • Sigue las especificaciones del usuario al pie de la letra. Nombres exactos de pestañas, encabezados de columna exactos y la fórmula que indicó. Un rediseño que calcule algo diferente falla, por más elegante que sea.
  • Documenta cada suposición y número codificado donde el lector pueda verlo: un comentario de celda, o una celda adyacente al final de una tabla. Cita una fuente real cuando exista (Fuente: Informe 10-K de la empresa, Año Fiscal 2024, Página 45, Nota de Ingresos, [URL SEC EDGAR]); cuando el número provino del usuario, dilo claramente.
  • Un libro de trabajo que crees para que alguien lo complete necesita una leyenda corta que indique qué celdas editar, y una fila de ejemplo con valores realistas que muestre el formato esperado. Nunca agregues esa fila a un archivo que te pidieron editar.
  • Editar un archivo existente: respeta sus convenciones exactamente. Estas anulan cualquier directriz aquí. Encuentra primero sus celdas de entrada designadas — un color de fuente, relleno o sombreado distinto las marca — escribe solo allí, y deja intacta cada fórmula existente.

Recalcular (obligatorio siempre que el archivo contenga fórmulas)

openpyxl escribe fórmulas como cadenas sin valores almacenados en caché. Hasta que recalculas, cada celda de fórmula se lee como None para cualquier cosa que lea valores en caché — pandas, load_workbook(data_only=True) y la mayoría de los previsualizadores.

python scripts/recalc.py salida.xlsx [tiempo_limite_segundos]   # predeterminado 30

LibreOffice calcula cada fórmula, el archivo se reescribe en el mismo lugar y obtienes JSON: status (success | errors_found), total_formulas, total_errors y un error_summary que nombra hasta 100 celdas por tipo de error (locations_truncated indica cuántas omitió — confía en total_errors, no en la longitud de la lista). Corrige lo que nombra y ejecútalo de nuevo. JSON con una clave error en lugar de status significa que no se recalculó nada, y solo ese caso sale con código distinto de cero — errors_found sale con 0, así que nunca trates una salida limpia como un libro de trabajo limpio.

Un recálculo exitoso demuestra que tus fórmulas se evalúan, no que sean correctas. Un rango desplazado por uno o una referencia a la fila incorrecta produce un archivo limpio y sin errores pero con números incorrectos. Escribe 2–3 fórmulas primero y verifica que obtengan los valores esperados, antes de construir una cuadrícula completa.

Un libro de trabajo que enlaza a otro archivo pierde esos enlaces si lo vuelves a guardar con openpyxl y luego recalculas. Una fórmula así se lee como ='[1]Returns Analysis'!$B$2 — el [1] es un índice en la lista de referencias externas del libro, que nombra un archivo separado en el disco, no una hoja. Ese archivo rara vez está presente aquí, así que el valor en caché de la celda es lo único que mantiene sus datos. openpyxl elimina ese valor al guardar; luego LibreOffice tiene que resolver la referencia realmente, falla, escribe #NAME? y elimina todos los enlaces. recalc.py se niega a ejecutarse en ese estado — copia los valores de esas celdas desde el original antes de guardar sobre ellas (--force anula y acepta la pérdida).

Elegir fórmulas que sobrevivan a la verificación

LibreOffice implementa menos funciones que Excel, y una que no puede evaluar se convierte en un literal #NAME? integrado en el archivo que entregas.

  • Prefiere funciones de la era de Excel 2007 — SUMIFS, INDEX, MATCH, IFERROR, SUMPRODUCT — que no necesitan prefijo.
  • Seis funciones posteriores a 2007 funcionan, pero solo con un prefijo _xlfn., porque openpyxl escribe tu fórmula en XML textualmente y Excel almacena los nombres posteriores a 2007 con prefijo (su interfaz oculta el prefijo): _xlfn.TEXTJOIN, _xlfn.CONCAT, _xlfn.IFS, _xlfn.SWITCH, _xlfn.MAXIFS, _xlfn.MINIFS. Escritas sin prefijo, cada una produce #NAME?.
  • Nunca uses XLOOKUP, XMATCH, SORT, FILTER, UNIQUE o SEQUENCE. El runtime de LibreOffice no puede evaluarlas bajo ningún prefijo. Las versiones más nuevas sí las evalúan, pero son funciones de matriz derramada y un archivo escrito por openpyxl no tiene metadatos de derrame, por lo que solo la celda superior izquierda del rango recibe un valor — y recalc.py reporta total_errors: 0 sobre el resultado truncado. Usa INDEX/MATCH para búsquedas, y ordena, filtra y elimina duplicados en Python antes de escribir las celdas.
  • Una fórmula que LibreOffice no pudo analizar se escribe de vuelta en minúsculas — una pista rápida junto a un #NAME?.

Advertencias de openpyxl

  • Leer un modelo requiere dos cargas. data_only=True produce valores en caché sin las fórmulas; el valor predeterminado produce cadenas de fórmula sin valores. Un solo pase no puede darte ambos.
  • data_only=True es destructivo si guardas. Ese libro de trabajo ya no tiene fórmulas, por lo que guardar reemplaza cada una con un literal — permanentemente.
  • data_only=True en un archivo que openpyxl acaba de escribir devuelve None en todas partes — ejecuta recalc.py primero. (Una fórmula cuyo resultado es "" también se lee como None).
  • Celdas combinadas: escribe solo el ancla superior izquierda. Cada otra celda en el rango es un MergedCell cuyo .value es de solo lectura.
  • .xlsm pierde sus macros a menos que pases keep_vba=True a load_workbook.
  • Un nombre de hoja que contenga un espacio debe estar entre comillas en una referencia entre hojas: ='Inputs de Supuestos'!$B$5. Sin comillas, se evalúa como #VALUE!.

Modelos financieros

A menos que el usuario indique lo contrario, o el archivo existente ya haga algo diferente.

Color: texto azul (0,0,255) para entradas codificadas y palancas de escenario · negro para fórmulas · verde (0,128,0) para enlaces a otra hoja · rojo (255,0,0) para enlaces a otro archivo · relleno amarillo (255,255,0) para supuestos clave y celdas que el usuario debe completar.

Números: moneda $#,##0, con la unidad nombrada en el encabezado (Ingresos ($mm)) · ceros se muestran como -, incluso en porcentajes ($#,##0;($#,##0);-) · negativos entre paréntesis · porcentajes 0.0%, almacenados como fracciones (0.15 muestra 15.0%; almacenar 15 muestra 1500.0%) · múltiplos de valoración 0.0x · años como texto ("2024", nunca 2,024).

Estructura: cada supuesto en su propia celda etiquetada, referenciado por las fórmulas que lo usan (=B5*(1+$B$6), nunca =B5*1.05) · fórmulas consistentes en cada período de proyección, ya que una celda editada solitaria en medio de una fila es el error silencioso más común · protege denominadores que pueden ser cero.

Dependencias

openpyxl, pandas, markitdown (pip, preinstalados — instala solo si una importación falla o el comando no se encuentra) · LibreOffice (soffice, configurado automáticamente para entornos aislados mediante scripts/office/soffice.py)

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.

pptx

Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions "deck," "slides," "presentation," or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, 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.

Skills relacionados