The Claude Bible
Inicio / Extender Claude Code
Nivel: Avanzado · 17 lecciones

Extender Claude Code

Skills, MCP, sub-agents, hooks, plugins, equipos de agentes. Donde Claude Code se convierte en plataforma.

Abrir el curso interactivo212 lecciones, cuestionarios, ejercicios, 3 idiomas, gratis.

Skills: enseñando un flujo de trabajo a Claude

Un skill es un archivo markdown (SKILL.md) que enseña a Claude un flujo de trabajo repetible, activado por un comando slash. En lugar de pegar un prompt largo cada vez, lo invocas: /my-skill.

Anatomía: un frontmatter (nombre, descripción, disparadores) + instrucciones + a veces archivos de referencia y scripts. La descripción es crucial: es lo que permite a Claude elegir el skill correcto en el momento adecuado.

Pierre tiene una colección que revela el poder del mecanismo:

Un skill es conocimiento procedimental empaquetado: codificas tu forma de hacer algo una vez, y Claude la repite perfectamente en cada llamada.

Puntos clave
  • Skill = flujo de trabajo repetible en un SKILL.md, invocado por un comando slash
  • La descripción controla el disparo automático
  • Conocimiento procedimental empaquetado y reutilizable
  • skill-builder: un skill para construir skills

MCP: conectar herramientas externas

MCP (Model Context Protocol) es el estándar abierto que conecta a Claude con servidores de herramientas y datos externos: una base de datos, una API, un CMS, un SaaS. Una vez que un servidor MCP está conectado, sus herramientas pueden ser llamadas por Claude como herramientas nativas.

En la práctica, conectas un servidor mediante /mcp o la configuración, y los prompts del servidor aparecen en el formato /mcp__[server]__[prompt]. Es exactamente la misma tecnología que los Conectores del lado de Cowork.

Ejemplos del entorno de Pierre:

Un problema que hay que conocer, vivido por Pierre: un MCP puede estar limitado al proyecto. Su MCP de Strapi solo expone sus herramientas si Claude Code se inicia desde la carpeta de proyecto correcta. Iniciar desde otro lugar significa que las herramientas no aparecen. Regla: verificar el alcance cuando una herramienta MCP esperada no aparece.

Puntos clave
  • MCP = estándar para conectar herramientas/datos externos a Claude
  • Las herramientas MCP se llaman como herramientas nativas; misma tecnología que los Conectores
  • Formato /mcp__[server]__[prompt]
  • Problema: un MCP limitado al proyecto solo aparece desde la carpeta correcta

Sub-agentes: delegar en un contexto aislado

Un sub-agente es un agente Claude que el agente principal lanza para una tarea, con su propio contexto aislado. Realiza su trabajo y solo devuelve su conclusión al agente principal, sin todo el desorden intermedio.

Dos beneficios principales:

Tipos comunes: un agente Explore (búsqueda de solo lectura), un agente Plan (diseño de una estrategia), agentes especializados (revisión de código, auditoría SEO, análisis competitivo). Se gestionan mediante /agents.

Disponibles desde julio de 2025, los sub-agentes son el bloque básico de todo lo que sigue: los workflows y los equipos de agentes son simplemente formas estructuradas de orquestarlos.

Puntos clave
  • Sub-agente = tarea delegada en contexto aislado, devuelve solo su conclusión
  • Mantiene el contexto principal limpio y habilita el paralelismo
  • Tipos: Explore (lectura), Plan, especializados (revisión, auditoría)
  • Bloque básico de los workflows y equipos de agentes

Hooks: automatizar el ciclo de vida

Los hooks son acciones que se disparan automáticamente en momentos clave del ciclo de vida de Claude Code: antes o después de una llamada a una herramienta, cuando Claude termina, en cada edición de archivo, al iniciar la sesión.

Punto clave: es el harness quien ejecuta los hooks, no el modelo. Por lo tanto, cualquier comportamiento de la forma "cada vez que ocurra X, hacer Y automáticamente" no puede vivir en la memoria ni en las preferencias: debe ser un hook en settings.json.

Usos típicos:

Pierre utiliza hooks de git (post-commit) para refrescar automáticamente sus grafos de Graphify en cada commit, y tareas programadas para la consolidación de memoria. Eso es lo que convierte una práctica manual en un pipeline automático.

Puntos clave
  • Hook = acción automática ante un evento del ciclo de vida
  • Ejecutado por el harness, no por el modelo: 'cada vez que X' = un hook, no una preferencia
  • Formatear/lint, pruebas, bloqueo de secretos, webhook CI
  • Pierre: hooks post-commit para refrescar Graphify

Plugins y equipos de agentes

Plugins: un plugin es un paquete versionado que agrupa varios skills, sub-agentes, comandos slash, hooks, estilos de salida y definiciones de servidores MCP. Es la forma canónica de compartir extensiones reutilizables de Claude Code a través de un marketplace.

Pierre activa varios plugins en su settings.json: superpowers (flujos de trabajo avanzados), frontend-design, code-review, security-guidance, y un marketplace personal searchfit-seo con sus propios skills de SEO. Un plugin equivale a instalar de una sola vez un conjunto de herramientas completo y coherente.

Equipos de agentes: disponibles desde febrero de 2026, permiten que varios agentes se coordinen en subtareas paralelas. Es el nivel superior al de los sub-agentes aislados: no solo se delega, sino que los agentes colaboran hacia un objetivo común. Profundizamos en la orquestación en el módulo 9.

La progresión a recordar: skill (un flujo de trabajo) -> plugin (un conjunto de herramientas compartido) -> equipo de agentes (varios agentes colaborando). Cada nivel compone el anterior.

Puntos clave
  • Plugin = paquete versionado (skills + agentes + comandos + hooks + MCP), compartible
  • Pierre: superpowers, frontend-design, code-review, security-guidance, SEO personal
  • Equipos de agentes (feb. 2026) = varios agentes colaborando en subtareas
  • Escala: skill -> plugin -> equipo de agentes

Crea tu propio skill

Un skill en Claude Code es un conjunto de instrucciones reutilizables almacenado en un archivo Markdown llamado SKILL.md. Cuando activas el skill, Claude lee ese archivo y lo aplica como conjunto de reglas para la tarea actual. Los skills se ubican en ~/.claude/skills/<skill-name>/SKILL.md (global, disponible en todos los proyectos) o en .claude/skills/<skill-name>/SKILL.md dentro de un repositorio específico (alcance de proyecto).

Todo SKILL.md comienza con un bloque frontmatter (un encabezado YAML breve entre dos líneas ---). Las dos claves obligatorias son name (un identificador corto) y description (una frase que le indica a Claude cuando aplica el skill). La descripción es lo que Claude Code muestra en la lista de skills y usa para decidir si sugerirlo automáticamente.

Un skill se activa de dos formas. La primera es de manera explícita: el usuario escribe /skill-name como comando slash. La segunda es automática: si tu descripción coincide con lo que el usuario solicita, Claude Code puede invocarlo sin que se lo pidan. El cuerpo de SKILL.md (todo lo que sigue al frontmatter) es Markdown simple y puede contener instrucciones paso a paso, restricciones, reglas de formato de salida o incluso plantillas de código.

La estructura de carpetas recomendada para un skill bien organizado es:

Puntos clave
  • SKILL.md se ubica en ~/.claude/skills/<name>/ (global) o .claude/skills/<name>/ (proyecto)
  • El frontmatter requiere name y description entre líneas ---
  • Activación: comando slash explícito /name o coincidencia automática con la descripción
  • El cuerpo del skill es Markdown simple: pasos, reglas, restricciones, plantillas

Descubrir e instalar skills

Claude Code incluye una herramienta Skill integrada, un mecanismo que permite al agente cargar un prompt especializado, un flujo de trabajo o un mini-agente bajo demanda. Un skill es un paquete con nombre almacenado en ~/.claude/skills/<name>/SKILL.md. Cuando usted (o el propio Claude) invoca un skill, la herramienta Skill lee ese archivo y adopta sus instrucciones para el resto de la tarea.

Los skills se descubren a través de varios canales. El más sencillo es escribir un comando slash como /graphify o /code-review en el prompt de Claude Code. Claude verifica la lista de skills disponibles (visible en su recordatorio de sistema) y llama a la herramienta Skill automáticamente. También puede preguntar en lenguaje natural: "find a skill for X" activa el skill find-skills, que busca en el registro y sugiere qué instalar.

El principal punto de distribución es el repositorio comunitario affaan-m/ECC en GitHub, que agrupa cientos de skills preconfigurados. Basta con clonar o copiar los skills deseados en ~/.claude/skills/ para que estén disponibles de inmediato. Algunos autores también publican archivos SKILL.md como gists o subcarpetas de repositorios que puede depositar de la misma manera.

Aspectos clave del sistema de skills:

Puntos clave
  • Los skills residen en ~/.claude/skills/ como archivos SKILL.md
  • Se invocan con un comando slash o un activador en lenguaje natural
  • ECC (affaan-m/ECC) es la principal biblioteca comunitaria de skills
  • find-skills descubre y sugiere nuevos skills bajo demanda

El ecosistema MCP

MCP (Model Context Protocol) es un estándar abierto que permite a Claude conectarse con herramientas externas, fuentes de datos e instrucciones reutilizables a través de una única interfaz uniforme. En lugar de codificar cada integración, se conecta un servidor MCP (un pequeño programa que habla el protocolo) y Claude adquiere nuevas capacidades de inmediato.

MCP define exactamente tres primitivas (los bloques de construcción que expone cada servidor):

En Claude Code se configuran los servidores MCP en .claude/settings.json bajo la clave mcpServers. Una vez registrados, todas las herramientas que expone el servidor aparecen automáticamente en el agente, y se puede ver la lista completa con /mcp en el indicador de Claude Code.

Puntos clave
  • MCP es el protocolo abierto para conectar Claude con capacidades externas
  • Tres primitivas: herramientas (invocables), recursos (legibles), instrucciones (plantillas reutilizables)
  • Los servidores se registran en .claude/settings.json bajo mcpServers
  • Ejecuta /mcp dentro de Claude Code para listar todos los servidores activos y sus herramientas

Conectar un servidor MCP

MCP (Model Context Protocol) es un estándar abierto que permite a Claude Code comunicarse con herramientas externas y fuentes de datos a través de un pequeño proceso servidor. Cada servidor MCP expone un conjunto de herramientas (acciones que Claude puede invocar) y recursos (datos que Claude puede leer). Basta con instalar uno, indicarle su ubicación a Claude Code, y esas capacidades aparecerán automáticamente en cada conversación.

Claude Code admite dos ámbitos para los servidores MCP. El ámbito de usuario hace que un servidor esté disponible en todos los proyectos de su máquina. El ámbito de proyecto restringe el servidor a un repositorio concreto, lo que mantiene las credenciales y los conjuntos de herramientas aislados. Los servidores con ámbito de proyecto se declaran en .claude/settings.json dentro del repositorio; los de ámbito de usuario residen en su archivo global ~/.claude/settings.json.

Muchos servidores MCP requieren autenticación antes de que Claude Code pueda invocar sus herramientas. Los dos patrones más comunes son el token estático (se pega una clave secreta una sola vez y queda almacenada en la configuración) y OAuth (Open Authorization, un flujo basado en el navegador donde se inicia sesión con la cuenta real y el servidor emite un token de acceso temporal). OAuth es preferible cuando el servicio ya dispone de sus credenciales, ya que no se almacena ningún secreto permanente en un archivo.

Puntos clave
  • Los servidores MCP agregan herramientas y recursos a Claude Code sin modificar el modelo
  • El ámbito de proyecto mantiene las credenciales y las herramientas aisladas en un solo repositorio
  • OAuth permite autenticarse con la cuenta real en lugar de pegar una clave secreta
  • Use 'claude mcp list' para verificar que un servidor está conectado y en buen estado

Construir tu propio servidor MCP

El Model Context Protocol (MCP) es un estándar abierto que permite a Claude Code llamar a herramientas externas que defines tú mismo. En lugar de estar limitado a los comandos integrados, puedes exponer cualquier función (una consulta a base de datos, una llamada a API, una transformación de archivo) como una herramienta que Claude descubre e invoca automáticamente.

Los servidores MCP se comunican con Claude Code a través de uno de dos transportes (el canal por el que viajan los mensajes). stdio (entrada/salida estándar) es el más sencillo: Claude Code lanza tu servidor como un proceso hijo e intercambia mensajes JSON a través de stdin y stdout. HTTP con Server-Sent Events (SSE) ejecuta tu servidor como un servicio web persistente, útil cuando el servidor debe compartirse entre máquinas o mantenerse activo entre sesiones. Para herramientas locales, stdio es casi siempre la mejor opción.

Cada herramienta que expones tiene tres partes obligatorias: un nombre único, una descripción legible por humanos (Claude la lee para decidir cuándo llamar a la herramienta), y un esquema de entrada (un objeto JSON Schema que describe los parámetros que acepta la herramienta). Claude Code valida cada llamada contra el esquema antes de ejecutarla, de modo que los argumentos incorrectos se detectan con rapidez.

Puntos clave
  • MCP (Model Context Protocol): estándar abierto para herramientas Claude personalizadas
  • Transporte stdio: Claude lanza tu servidor como un proceso hijo
  • Esquema de entrada: JSON Schema que valida los argumentos de la herramienta
  • Descripción de la herramienta: el texto que Claude lee para decidir cuándo llamarla

Patrones de sub-agentes

Un sub-agente es un proceso de Claude Code independiente que Claude inicia para gestionar una tarea específica en aislamiento. "Aislamiento" significa que dispone de su propia ventana de contexto en blanco (el búfer de memoria que contiene la conversación hasta ese momento), por lo que no puede ver el historial, las credenciales ni el razonamiento intermedio de la sesión padre. Esto es intencional: un contexto fresco se mantiene enfocado y evita contaminar los resultados con información no relacionada.

¿Cuándo conviene delegar a un sub-agente? La regla general es: delegar cuando una tarea es independiente (no necesita conocimiento que el padre ya posee), costosa (consumiría la mayor parte del presupuesto de contexto del padre leyendo muchos archivos) o paralelizable (varias tareas similares pueden ejecutarse al mismo tiempo). Algunos ejemplos son ejecutar una auditoría de seguridad completa sobre un único módulo, generar una traducción para cada idioma soportado o ejecutar una suite de pruebas sobre una rama.

Claude Code reconoce tres tipos de agentes con nombre que encontrará en los skills y en la documentación:

Dado que cada sub-agente parte de cero, el orquestador debe pasar todo el contexto necesario en el propio prompt: rutas de archivos, fragmentos de código relevantes, restricciones y formato de salida esperado. Trate cada prompt de delegación como un ticket autónomo entregado a un colaborador externo que nunca ha visto su proyecto.

Puntos clave
  • Los sub-agentes se ejecutan en ventanas de contexto aisladas, sin acceso a la sesión padre
  • Delegar cuando una tarea es independiente, costosa o paralelizable
  • El orquestador planifica y ensambla; los trabajadores ejecutan; el revisor valida
  • Cada prompt de delegación debe ser autónomo y contener todo el contexto necesario

Eventos de hook: el ciclo de vida

Claude Code expone un sistema de hooks que le permite ejecutar sus propios scripts en momentos precisos durante una sesión. Cada momento se denomina evento de hook. Usted registra un hook en settings.json asociando el nombre de un evento a un comando de shell. Claude Code ejecuta ese comando automáticamente cuando el evento se dispara.

Los principales eventos de hook son:

Los hooks reciben por stdin un JSON estructurado que describe el evento: qué herramienta fue llamada, qué argumentos se pasaron, cuál fue el resultado, etc. Su script lee ese JSON, realiza su trabajo y termina. Un código de salida distinto de cero en un hook PreToolUse cancela por completo la llamada a la herramienta, ofreciéndole un control ligero pero eficaz.

Puntos clave
  • PreToolUse se ejecuta antes de cada llamada a una herramienta y puede cancelarla
  • PostToolUse se ejecuta después de que se devuelve el resultado
  • Stop se dispara una vez cuando Claude termina su respuesta final
  • SessionStart se dispara una vez al inicio de cada sesión

Escribir un script de hook

Un script de hook es un pequeño programa que Claude Code ejecuta automáticamente en un momento específico, por ejemplo antes de que se ejecute una herramienta o después de que se guarde un archivo. Los hooks permiten aplicar políticas, registrar acciones o enviar información adicional a Claude sin modificar los prompts.

Cada hook recibe un payload JSON (un objeto de datos estructurado) en la entrada estándar (stdin) que describe lo que Claude está a punto de hacer. El payload incluye un campo tool_name que puede compararse para decidir si el script debe actuar. Los nombres de herramientas comunes son Bash, Edit, Write y Read.

El script controla lo que sucede a continuación mediante su código de salida (un número que el script devuelve al sistema operativo al terminar) y su salida estándar (stdout):

Si se escribe un objeto JSON en stdout con un campo continue establecido en true y una cadena stopReason, Claude lee ese texto y puede ajustar su siguiente acción. Así es como se envía contexto al modelo durante una tarea, convirtiendo un guardián pasivo en un asesor activo.

Puntos clave
  • Los scripts de hook se ejecutan en momentos definidos y reciben un payload JSON en stdin.
  • Compare tool_name para decidir si el hook aplica a la llamada actual.
  • Exit 0 permite, exit 2 bloquea y muestra el mensaje al usuario.
  • Escriba JSON con continue:true y stopReason para enviar orientación de vuelta a Claude.

Plugins: agrupar todo en un solo lugar

Un skill de Claude Code es un directorio que se distribuye como una unidad instalable. En su interior puede combinar todos los puntos de extensión que ha aprendido: slash commands, hooks, declaraciones de servidor MCP e incluso definiciones de sub-agentes. Cuando alguien instala su skill, todas esas piezas se activan juntas, sin necesidad de configuración manual.

El punto de entrada es un archivo SKILL.md. Claude lo lee en el momento de la invocación para entender el propósito del skill, sus comandos disponibles y las instrucciones de configuración. Junto a él, el directorio del skill suele contener los scripts de soporte, fragmentos de configuración y manifiestos MCP que respaldan esos comandos.

Un skill bien estructurado cubre cuatro capas:

Los skills residen en ~/.claude/skills/<skill-name>/ para uso global, o en .claude/skills/<skill-name>/ dentro de un repositorio para uso limitado al proyecto. Invocar un skill es tan sencillo como escribir /skill-name en el indicador de Claude Code.

Puntos clave
  • Un skill agrupa comandos, hooks, servidores MCP y agentes en un solo directorio
  • SKILL.md es el punto de entrada que Claude lee cuando se invoca el skill
  • Los skills globales van en ~/.claude/skills/, los skills de proyecto en .claude/skills/
  • Instalar un skill activa todos sus puntos de extensión sin configuración adicional

settings.json en profundidad

settings.json es el archivo de configuración que controla el comportamiento de Claude Code en un proyecto o de forma global. Cubre cuatro áreas principales: los permisos (las herramientas que Claude puede usar sin preguntar), las variables de entorno (valores inyectados en cada sesión), los hooks (comandos de shell que se ejecutan automáticamente en ciertos momentos) y las reglas de ubicación de archivos y precedencia.

Existen dos niveles de alcance. El archivo de usuario en ~/.claude/settings.json se aplica a todos los proyectos que abres. El archivo de proyecto en .claude/settings.json dentro de un repositorio se aplica solo a ese repositorio. Cuando ambos existen, los ajustes del proyecto sobreescriben los del usuario para cualquier clave compartida, y el resto se hereda.

El bloque permissions utiliza una lista allow y una lista deny. Cada entrada es un identificador de herramienta como Bash, Edit o un nombre de herramienta MCP. Las entradas en allow permiten que Claude llame a esa herramienta sin confirmación; las entradas en deny la bloquean por completo. El bloque env es un objeto clave-valor simple: cada clave se convierte en una variable de entorno disponible para los hooks y para cualquier subproceso que Claude lance.

El bloque hooks asocia eventos del ciclo de vida con comandos de shell:

Cada entrada de hook es un objeto con un matcher (nombre de herramienta o "*" para todas) y una cadena command ejecutada en el shell. Los hooks se ejecutan como el usuario actual, por lo que tienen acceso completo al sistema: mantenlos cortos y revisados.

Puntos clave
  • El settings.json de proyecto sobreescribe el settings.json de usuario para las claves compartidas.
  • Las listas allow/deny en permissions controlan qué herramientas puede usar Claude sin confirmación.
  • El bloque env inyecta variables en cada sesión de Claude Code y en los subprocesos.
  • Los hooks (PreToolUse, PostToolUse, Stop) ejecutan comandos de shell en eventos del ciclo de vida.

Estilos de salida

Claude Code usa por defecto un estilo conversacional y detallado: explica su razonamiento, lista los pasos y confirma las acciones. Ese comportamiento predeterminado es útil cuando se está aprendiendo, pero genera ruido cuando se trabaja en un ciclo de iteración rápida o se redirige la salida hacia otra herramienta.

El estilo de salida se controla mediante dos mecanismos principales: las opciones de la línea de comandos y las instrucciones dentro del propio prompt. Las opciones son fiables y legibles por máquinas; las instrucciones de prompt son flexibles y portables.

Las opciones más importantes son:

Dentro del prompt se pueden agregar directivas de estilo como "responde solo con el contenido del archivo, sin comentarios" o "devuelve únicamente un comando de shell, nada más." Claude Code las respeta de forma consistente en claude-opus-4-8, claude-sonnet-4-6 y claude-haiku-4-5.

Puntos clave
  • --output-format json para salida legible por máquinas
  • --verbose para exponer llamadas a herramientas y razonamiento
  • Las directivas de prompt anulan el estilo verboso predeterminado
  • Adaptar el estilo de salida al destinatario (humano o script)

Tareas en segundo plano y herramientas web

Claude Code puede lanzar procesos de larga duración en segundo plano para que no tenga que esperar a que terminen antes de dar la siguiente instrucción. La opción run_in_background le indica a la herramienta Bash que inicie un comando sin bloquearse: Claude lo lanza, continúa trabajando y le notifica cuando finaliza. Esto es útil para compilaciones, suites de pruebas o servidores de desarrollo que de otro modo congelarían la conversación.

Dos herramientas web extienden Claude Code más allá de sus archivos locales. WebSearch consulta la web y devuelve una lista clasificada de resultados con títulos, URLs y fragmentos breves. WebFetch recupera el contenido completo de una URL específica, elimina el HTML y le entrega el texto legible a Claude. Juntas, permiten a Claude responder preguntas que requieren información actualizada o documentación externa sin que usted tenga que copiar y pegar nada.

Saber cuándo usar cada herramienta es importante. Use WebSearch cuando necesite descubrir fuentes (aún no conoce la URL correcta). Use WebFetch cuando ya tiene una URL y quiere que Claude lea la página completa (por ejemplo, una referencia de API o un registro de cambios). Use run_in_background cuando un comando de shell tarde más de unos pocos segundos y quiera seguir trabajando en paralelo.

Puntos clave
  • run_in_background permite que los comandos de shell largos se ejecuten sin bloquear el chat
  • WebSearch encuentra fuentes cuando aún no conoce la URL
  • WebFetch lee una página completa cuando ya tiene la URL
  • Combínelas: busque primero, luego recupere el resultado más relevante
Trabaja conmigo

Domina Claude, Claude Code y los LLM, desde tu primer prompt hasta la orquestacion multiagente.

Te gusta este curso? Lo cree de principio a fin. Necesitas una web app, una app movil, automatizacion con IA o SEO/GEO? Hablemos.

Contactame en LinkedInVer un sitio que hice