Cuando empecé a utilizar Claude Code, me sentí abrumado por la cantidad de términos nuevos que aparecían constantemente. Este artículo tiene como objetivo explicar esos conceptos de forma sencilla para quienes están dando sus primeros pasos.
Si entiendes que CLAUDE.md proporciona contexto, los comandos /commands permiten reutilizar prompts, las skills enseñan cómo realizar tareas y los hooks automatizan flujos de trabajo, ya comprendes gran parte del funcionamiento de Claude Code.
1. CLAUDE.md
¿Qué es?
Es el archivo de referencia principal que Claude Code utiliza para comprender el proyecto en el que estás trabajando.
Contiene documentación del proyecto, tanto de carácter conceptual como técnico.
La documentación conceptual incluye aspectos como el propósito de la aplicación, su arquitectura, las abstracciones utilizadas, las reglas del proyecto y las buenas prácticas.
Por otro lado, la documentación técnica incluye información concreta, como la estructura de directorios y los comandos necesarios para compilar, ejecutar pruebas y realizar otras operaciones.
El archivo CLAUDE.md se encuentra en la raíz del proyecto. También puedes crear archivos CLAUDE.md adicionales dentro de subcarpetas para proporcionar contexto específico.
Por ejemplo:
/CLAUDE.md
/frontend/CLAUDE.md
Los archivos adicionales no sobrescriben la información existente, sino que agregan contexto complementario.
¿Cómo se crea?
Puedes crearlo manualmente o con la ayuda de Claude Code.
Para utilizar la segunda opción, ejecuta el comando /init desde el directorio de tu proyecto.
Claude Code analizará los archivos del proyecto y generará un archivo CLAUDE.md con la documentación necesaria.
Si estás comenzando un proyecto desde cero, resulta útil crear primero un archivo prd.md en el que se detallen los requisitos del proyecto.
Después, puedes pedirle a Claude Code que actualice CLAUDE.md basándose en esa información.
Por ejemplo:
refer to @.claude/prd.md and update CLAUDE.md¿Cuándo se utiliza?
No necesitas utilizar CLAUDE.md manualmente.
Claude Code incorpora su contenido automáticamente al contexto de cada nueva conversación.
2. Comandos (/commands)
¿Qué son?
En la sección anterior utilizamos nuestro primer comando: /init.
Un comando es, básicamente, un acceso directo a un prompt que utilizas con frecuencia.
Cada comando es un archivo .md que contiene instrucciones escritas en lenguaje natural.
Los comandos se encuentran en:
/.claude/commands/¿Cómo se crean?
Puedes crear comandos personalizados agregando un archivo llamado <command-name>.md dentro del directorio mencionado anteriormente.
También puedes pasar argumentos a los comandos.
Por ejemplo:
/command arg1 arg2Dentro del archivo, puedes hacer referencia a esos argumentos mediante $1 y $2.
Los comandos pueden organizarse por ámbitos, lo que permite reutilizar el mismo nombre en diferentes partes de un proyecto.
Por ejemplo, puedes tener estos dos archivos:
/.claude/commands/frontend/test.md
/.claude/commands/backend/test.mdSe ejecutarán según el directorio de trabajo en el que te encuentres.
¿Cuándo se utilizan?
Utiliza comandos cuando identifiques que estás repitiendo determinados prompts con frecuencia.
Estos son algunos de los comandos predeterminados más utilizados:
/clear
Inicia una nueva conversación con un contexto limpio. Es útil cuando estás comenzando una tarea diferente.
/compact
Resume la conversación actual y comprime el contexto.
Es especialmente útil en conversaciones prolongadas, ya que ayuda a evitar que se supere el límite de contexto y permite reducir el consumo de tokens.
/rewind
Permite regresar a un estado anterior del código y de la conversación.
3. Hooks
¿Qué son?
Los hooks son mecanismos de ejecución automática, similares a las funciones de devolución de llamada (callbacks).
Pueden ser scripts de Bash o prompts que se ejecutan automáticamente antes o después de determinados eventos de Claude Code.
Cuando se utilizan mediante scripts, permiten establecer comportamientos deterministas, es decir, acciones que se ejecutan de manera predecible cuando se cumplen ciertas condiciones.
Los hooks se configuran en:
.claude/settings.json¿Cómo se crean?
Para crear hooks, debes editar el archivo settings.json.
Veamos un caso sencillo: ejecutar automáticamente un formateador de código después de que Claude Code haya terminado de modificar archivos.
En la siguiente configuración:
PostToolUse representa el evento que activa el hook.
Write y Edit son los tipos de herramientas que activan ese evento. En la documentación se denominan matchers.
La ejecución de format.sh es la acción que se realizará.
{
"description": "Formateo automático de código",
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/scripts/format.sh",
"timeout": 30
}
]
}
]
}
}La lista de eventos disponibles y sus correspondientes matchers se encuentra definida en la documentación oficial.
¿Cuándo se utilizan?
Utiliza hooks cuando necesites establecer una regla del tipo:
«Ejecutar siempre la acción A cuando ocurra el evento B del tipo C».
4. SKILL.md
¿Qué es?
Las skills son una base de conocimientos que permite enseñarle a Claude Code cómo realizar determinadas tareas.
Cada skill utiliza un archivo .md que debe llamarse siempre SKILL.md.
Cada una se encuentra dentro de su propio directorio, siguiendo esta estructura:
/.claude/skills/<skill-name>/SKILL.md¿Cómo se crean?
Anthropic proporciona un ejemplo de una skill para trabajar con archivos PDF.
Esta skill está escrita en lenguaje natural e incluye código que explica cómo leer, extraer información y modificar archivos PDF utilizando Python.
De esta manera, cuando Claude Code necesite trabajar con documentos PDF, podrá consultar las instrucciones de esa skill y ejecutar el código correspondiente.
A continuación, veremos un ejemplo más sencillo de una skill para procesar archivos PDF.
---
name: pdf-processing
description: Extraer texto, completar formularios y combinar archivos PDF. Utilizar al trabajar con archivos PDF, formularios o extracción de información de documentos. Requiere los paquetes pypdf y pdfplumber.
allowed-tools: Read, Bash(python:*)
---
# Procesamiento de PDF
## Inicio rápido
Extraer texto:
```python
import pdfplumber
with pdfplumber.open("doc.pdf") as pdf:
text = pdf.pages[0].extract_text()
Para completar formularios, consulta `FORMS.md`.
Para obtener información detallada sobre la API, consulta `REFERENCE.md`.
### Requisitos
Los siguientes paquetes deben estar instalados en tu entorno:
```bash
pip install pypdf pdfplumberSe recomienda que el archivo SKILL.md tenga menos de 500 líneas.
Si necesitas agregar contenido adicional, lo ideal es colocarlo en otros archivos y hacer referencia a ellos desde SKILL.md.
Por ejemplo, para ampliar las capacidades de una skill de PDF y permitir la manipulación de tablas, puedes agregar la siguiente línea en lugar de sobrecargar el archivo principal:
Para trabajar con tablas en archivos PDF, consulta [tables.md](tables.md).¿Cuándo se utilizan?
Utiliza una skill cuando los conocimientos que Claude Code tiene de forma predeterminada sobre un tema sean limitados, incorrectos o no se ajusten a las convenciones de tu proyecto.
5. Conceptos opcionales
Los MCP y los subagentes son dos conceptos que todavía estoy explorando, así que haré una breve introducción a cada uno.
MCP
Los MCP son, esencialmente, interfaces que permiten a los modelos de inteligencia artificial interactuar con herramientas y programas externos mediante API.
Personalmente, no utilizo demasiado los MCP porque nunca me he encontrado con una necesidad real de implementar uno.
En muchos casos, las capacidades que ofrecen los MCP también pueden definirse mediante un archivo SKILL.md.
Subagentes
Los subagentes son nuevas instancias de Claude Code que funcionan con un contexto independiente y limpio.
Claude Code puede crear subagentes automáticamente para delegar tareas.
He observado que, con frecuencia, Claude Code genera subagentes para recopilar información y construir contexto mientras el agente principal trabaja en la elaboración de un plan.
Puedes definir y crear subagentes mediante el comando:
/agentsCreo que este artículo abarca todos los términos nuevos que necesitas conocer para comenzar a utilizar Claude Code.
En otro artículo, tengo previsto explicar cómo desarrollar e implementar una pequeña aplicación de principio a fin, sin necesidad de abrir un entorno de desarrollo integrado (IDE).
6. TL;DR — Resumen rápido
A continuación, encontrarás una síntesis de los conceptos que hemos abordado a lo largo de este artículo, basada en la documentación oficial.
Concepto | Función principal |
|---|---|
CLAUDE.md | Proporciona a Claude Code el contexto, las reglas y la documentación del proyecto. |
/commands | Permiten guardar y reutilizar prompts mediante comandos personalizados. |
Hooks | Automatizan acciones cuando ocurren determinados eventos. |
SKILL.md | Enseña a Claude Code cómo realizar tareas específicas mediante instrucciones y conocimientos adicionales. |
MCP | Permite conectar modelos de IA con herramientas y programas externos. |
Subagentes | Son instancias independientes de Claude Code que pueden encargarse de tareas delegadas con su propio contexto. |
Gracias por leer Código en Casa.
Si esto te a ayudado y te sumo algo Dale un 👏 , compártelo con tu red o dejame un comentario para saber tu opinión.