PTENES
RUTA 2

🔷 Anatomía de Claude Code

Todo lo que está en CLAUDE.md e .claude/ — archivos, settings, hooks, slash commands, sub-agents, skills y MCP.

2
Módulos
14
Temas
~70min
Duración
Inter.
Nivel

Mapa de la ruta

Contenido detallado

2.1~35 min

📘 CLAUDE.md y la carpeta .claude/

El núcleo de la configuración de Claude Code en un proyecto.

Qué es:

Markdown que Claude Code inyecta en el system prompt. Existe en tres niveles: ~/.claude/CLAUDE.md (global), ./CLAUDE.md (raíz del proyecto) y subdir/CLAUDE.md (alcance de carpeta). Todo se concatena en orden.

Por qué aprender:

Equivocarte en la jerarquía hace que una instrucción del proyecto sobrescriba una global sin que te des cuenta. O peor: que una instrucción global ahogue una preferencia específica del proyecto.

Conceptos clave:

CLAUDE.md de usuario vs. CLAUDE.md del proyecto, precedencia, "las instrucciones directas tienen precedencia sobre todo", tamaño ideal (<2KB), comandos de build/test al principio.

Qué es:

Carpeta con convención fija: agents/ (sub-agents .md), skills/ (carpetas con SKILL.md), commands/ (slash commands), settings.json, settings.local.json, hooks/.

Por qué aprender:

Quien no conoce la estructura coloca el archivo en el lugar equivocado y Claude simplemente no lo ve. La convención es estricta: nombre correcto, carpeta correcta, o no funciona.

Conceptos clave:

Convención sobre configuración, gitignore parcial, separación entre usuario y proyecto (misma estructura en ~/.claude/ e ./.claude/).

Qué es:

Archivo JSON con configuración de comportamiento: permisos (permitir/denegar por herramienta), modelo predeterminado, variables de entorno, hooks, includeCoAuthoredBy, theme, statusLine.

Por qué aprender:

Es donde reduces la fricción de permisos (auto-allow para comandos comunes), cambias de modelo (Haiku para tareas rápidas) e inyectas hooks de eventos.

Conceptos clave:

Permisos mediante regex/glob, settings.local.json (no va al git), variables de entorno con el prefijo CLAUDE_, override en cascada user → project → local.

Qué es:

Comandos de shell activados por el harness en eventos del agente: antes/después del uso de una herramienta, al detenerse, al recibir un prompt, al iniciar la sesión. Se EJECUTAN, no dependen de que Claude los recuerde.

Por qué aprender:

Es la única forma de garantizar un comportamiento determinista ("ejecutar siempre lint antes de hacer commit"). Memory/prompt no bastan: Claude puede olvidarlo. Un hook no lo olvida.

Conceptos clave:

Eventos compatibles (PreToolUse, PostToolUse, Stop, SessionStart, UserPromptSubmit), matchers por nombre de tool, exit code 0/no 0, fail-open vs fail-close.

Qué es:

Archivos markdown en .claude/commands/ que se convierten en comandos slash. El nombre del archivo se convierte en el comando (review.md → /review). Reciben argumentos opcionales ($ARGUMENTS).

Por qué aprender:

Las tareas que repites se convierten en un solo comando. Hacer commit con un mensaje estandarizado, abrir un PR, generar un changelog: todo se convirtió en un slash.

Conceptos clave:

Frontmatter con description y allowed-tools, namespace global vs. proyecto, $ARGUMENTS e $1/$2, encadenamiento con bash backtick-bang.

Qué es:

Reglas en settings.json que controlan qué tools/comandos puede ejecutar Claude sin preguntar. Tres niveles: allow (permite), deny (bloquea), ask (pregunta cada vez).

Por qué aprender:

Los permisos mal configurados generan fricción (preguntar por todo) o riesgo (dar demasiados permisos). El equilibrio es permitir la lectura y el análisis, y pedir confirmación para escribir o realizar acciones destructivas.

Conceptos clave:

Estándar glob (Bash(ls:*), Bash(git status:*)), modos de permiso (default, acceptEdits, plan, bypassPermissions), lista permitida de MCP (mcp__servidor).

Qué es:

Plan mode es un modo en el que Claude planifica sin editar, ideal para un refactor grande. Output styles cambian el tono de la respuesta (verbose, concise, explanatory). Ambos ajustan el comportamiento sin cambiar el prompt.

Por qué aprender:

¿Empiezas una tarea compleja? Primero Plan mode y luego la ejecución. ¿Quieres respuestas cortas? Output style concise. ¿Detalles? explanatory. Cambiar el tono no genera ninguna fricción.

Conceptos clave:

/plan, /output-style, personalización mediante .claude/output-styles/*.md, aislamiento del modo por sesión.

Ver completo
2.2~35 min

🧩 Skills, sub-agents y MCP en Claude Code

Dónde reside realmente la inteligencia personalizada de tu agente.

Qué es:

Carpeta en .claude/skills/<nome>/ que contiene SKILL.md (con frontmatter YAML: name, description, allowed-tools opcional), y subcarpetas convencionales scripts/, references/, assets/.

Por qué aprender:

Es la forma moderna de empaquetar comportamiento. Más limpio que inflar CLAUDE.md, más reutilizable que un slash command y se activa mediante una descripción en lugar de una invocación manual.

Conceptos clave:

Frontmatter mínimo (name + description), tamaño ideal del body, references como deep-dive de carga diferida, scripts para acciones deterministas.

Qué es:

El campo description del frontmatter es lo que el agente usa para decidir si invoca la skill. Una descripción vaga = skill ignorada. Una descripción con los activadores correctos = skill activada en el momento oportuno.

Por qué aprender:

La causa más común de que una skill "no funcione" es una description deficiente. No es un bug, es un fallo de coincidencia semántica. Hay patrones claros que funcionan (use when..., trigger phrases, examples).

Conceptos clave:

Patrón "Use when X": enumera frases reales que usa el usuario como disparadores, ejemplos directos; evita redundancias con el nombre.

Qué es:

Archivos en .claude/agents/<nome>.md: frontmatter (name, description, tools, model) + cuerpo con el system prompt de la persona. Claude principal delega tareas mediante la herramienta Task; el sub-agent se ejecuta de forma aislada.

Por qué aprender:

El sub-agent aísla el contexto (no contamina el del agente principal), puede ejecutarse en paralelo y es la forma de contar con especialistas (code-reviewer, security-auditor, etc.) sin un prompt enorme.

Conceptos clave:

Auto-dispatch mediante descripción, paralelismo (varios sub-agents simultáneos), restricción de tools por sub-agent, modelo dedicado (Haiku para búsquedas, Opus para análisis).

Qué es:

Conectar Claude a servicios externos mediante Model Context Protocol. Server declarado en .mcp.json (proyecto) o ~/.claude.json (global). Las herramientas se convierten en mcp__server__tool.

Por qué aprender:

MCP es la forma de darle superpoderes a Claude: acceso a Slack, Gmail, GitHub y bases de datos, sin necesidad de implementar herramientas personalizadas.

Conceptos clave:

transporte stdio vs HTTP, allowlist ("enabledMcpjsonServers": [...]), descubrimiento de herramientas, variables de entorno y secretos mediante variables.

Qué es:

Sintaxis específica de Claude Code: dentro de SKILL.md o commands, código entre crase-bang (`!cmd`) se ejecuta en el shell y el resultado se incorpora al prompt. Codex no es compatible.

Por qué aprender:

Es la forma de crear una skill dinámica: "leer el último log", "listar branches", "obtener la versión actual" — sin necesitar una tool call adicional. Pero es una feature exclusiva: ten cuidado al portar.

Conceptos clave:

Ejecución en build-time de la skill, security implications (no interpolar input no confiable), polyskill convierte en prosa de fallback en Codex.

Qué es:

Campos en el frontmatter de la skill: disable-model-invocation impide la activación automática (solo se ejecuta cuando se invoca explícitamente); allowed-tools restringe qué herramientas puede usar la skill.

Por qué aprender:

Las Skills peligrosas (que ejecutan acciones destructivas) necesitan invocación explícita. Las Skills enfocadas deben tener una superficie de herramientas restringida para evitar sorpresas.

Conceptos clave:

Principio de privilegio mínimo, invocación opt-in, allowlist de tools, model override (ejecutar una skill con Haiku para ahorrar).

Qué es:

Claude Code admite plugins (paquete con skills + agents + commands + hooks) que se instalan desde un marketplace. Cada plugin puede tener su propio namespace (plugin:skill-name).

Por qué aprender:

Es cómo aprovechas el trabajo de otros (claude-mem, context-mode, superpowers, etc.) y cómo publicas el tuyo. Distribución estandarizada.

Conceptos clave:

manifiesto plugin.json, marketplace.json, namespace plugin:skill, versionado (estilo npm), actualización mediante /plugins.

Ver completo
← Ruta 1: Fundamentos Ruta 3: Codex →