Preguntas

¿Las skills funcionan igual en claude.ai, la API y Claude Code?

El formato SKILL.md es común, pero cada producto instala las skills a su manera. claude.ai recibe un zip para un solo usuario, la API de Claude recibe subidas para todo un workspace y Claude Code lee carpetas del disco. Una skill subida a claude.ai no está disponible en la API, ni al revés.

Dónde guarda cada producto las skills

claude.ai recibe las skills personalizadas como archivos zip en Settings > Features, en los planes Pro, Max, Team y Enterprise con la ejecución de código activada, y cada subida queda en manos de un usuario. La API las recibe por los endpoints /v1/skills, las ejecuta con la herramienta de ejecución de código y las comparte con todo el workspace. Claude Code no necesita subida: lee ~/.claude/skills/ y el .claude/skills/ del proyecto.

El entorno de ejecución también cambia

En la API, una skill se ejecuta en un contenedor sin acceso a la red y solo con los paquetes ya instalados. En claude.ai ese acceso puede ser completo, parcial o nulo según la configuración del usuario y del administrador. En Claude Code es el de cualquier otro programa del ordenador. Así, una skill que llama a un servicio externo puede funcionar en Claude Code y fallar en la API; dilo en su campo compatibility.

Un frontmatter que sobrevive a la subida

Claude Code acepta campos que la especificación no define, como disable-model-invocation. Las subidas a claude.ai y a la Skills API, y el empaquetado con package_skill.py de anthropics/skills, aceptan solo los seis campos de la especificación: name, description, license, compatibility, metadata y allowed-tools. Cualquier otro provoca un error en lugar de ignorarse. La documentación de la plataforma de Anthropic además prohíbe en name las etiquetas XML y las palabras "anthropic" y "claude".