Saltar al contenido principal

Fase 3 — Avanzado: extendiendo el agente

Duración: 4 semanas · Dedicación: 10–12h/semana · Caminos: esencial para 🔵🟣 · opcional para 🟢 Prerrequisito: Fase 2 completada (eres fluido en el uso diario de Claude Code). Foco principal: Claude Code · Conceptos transferibles: marcados con 🌐.


Objetivo de la fase​

Salir de "uso Claude Code como viene de la caja" hacia "customizo y extiendo Claude Code para mi contexto". Vas a aprender a extender la herramienta con los 7 mecanismos de extensión de Claude Code:

MecanismoLanzadoQué extiende
MCPNov/2024Acceso a herramientas externas (DBs, APIs, etc.)
SubagentesJul/2025Especialización y aislamiento de contexto
HooksSep/2025Acciones determinísticas en eventos
PluginsOct/2025Empaquetado y distribución
SkillsOct/2025Workflows repetibles (sustituyen slash commands antiguos)
Agent TeamsFeb/2026Orquestación multi-agente nativa
Sandbox2025/26Aislamiento de filesystem/red

Al final de esta fase puedes:

  • Correr Claude Code en modo headless integrado a CI/CD
  • Crear servidores MCP customizados para tu contexto
  • Definir subagentes especializados que ahorran contexto
  • Escribir hooks para acciones automáticas en eventos
  • Crear slash commands y Skills customizadas y empaquetarlas como plugin
  • Publicar (o usar) plugins vía marketplace
  • Operar Claude Code en modo seguro con sandbox y protección contra prompt injection

Convenciones​

  • Tipo: 📚 Doc oficial · 📖 Artículo/Paper · 🎓 Curso · 🎬 Video/Podcast · 🛠️ Hands-on/Repositorio
  • Idioma: [PT] portugués · [EN] inglés · [ES] español
  • Costo: [Gratis] · [Pago] · [Freemium]
  • ⭐ esencial · 🌐 concepto universal (transferible a cualquier agente)

M12 · Modo headless y CI/CD con Claude Code

Por qué este módulo​

El modo headless es lo que transforma Claude Code en herramienta de pipeline — no interactivo, scriptable, ejecutable en CI. Aquí sales de "Claude Code es mi herramienta personal" hacia "Claude Code corre en GitHub Actions, en scripts, en cron jobs".

Tópicos​

  • Modo --print / -p — ejecución no interactiva, retorna salida y termina
  • Pipes — echo "explica esto" | claude -p
  • Flags útiles: --allowedTools, --disallowedTools, --max-turns, --output-format json
  • Integración en scripts shell y Makefiles
  • GitHub Actions con anthropics/claude-code-action
  • Casos de uso en CI/CD:
    • Triage automático de issues abiertas
    • Generación de release notes a partir de commits
    • Sanity check antes de deploy
    • Actualización automática de docs en PRs
  • Costos y límites en CI (caching, modelo barato para tareas ligeras)

Materiales​

Documentación oficial ⭐​

Guías prácticas​

Ejercicio práctico​

  1. Comando único en terminal: corre echo "lista todos los TODOs en el proyecto" | claude -p en tu repo
  2. Script shell: crea bin/release-notes.sh que usa claude -p para generar release notes a partir del git log desde el último tag
  3. GitHub Action 1 — Sanity check en PR: siempre que abre PR, Claude Code corre en modo headless analizando si hay TODOs nuevos, secrets filtrados, o breaking changes en APIs públicas
  4. GitHub Action 2 — Triage de issues: cuando issue es abierta con label triage, Claude Code agrega labels apropiados y responde con comentario inicial

Documenta costos y tiempo de cada Action en learnings-headless.md.

Definition of Done​

  • Al menos 2 GitHub Actions activas con Claude Code en repos tuyos
  • Al menos 1 script shell con claude -p en bin/ de algún proyecto
  • Sabes estimar costo por ejecución (tokens × modelo)
  • Conoces flags de control de tools (--allowedTools, --disallowedTools)

M13 · MCP — Model Context Protocol

Por qué este módulo​

🌐 MCP es el estándar emergente de extensión de agentes — no es exclusivo de Claude Code. Anthropic anunció en Nov/2024 y en 2026 ya es soportado por Cursor, Cline, Continue, OpenAI Apps, Microsoft Copilot, y decenas de otros. Aprender MCP es inversión que no queda obsoleta si cambias de herramienta.

MCP sirve para 3 cosas: exponer herramientas (functions que el agente puede llamar), exponer recursos (datos que el agente puede leer) y exponer prompts (templates que el usuario puede invocar).

Tópicos​

Conceptual 🌐​

  • Qué es MCP y por qué se volvió estándar
  • Arquitectura: client (Claude Code) ↔ server (creas tú) ↔ recurso externo
  • 3 capacidades de un servidor MCP: tools, resources, prompts
  • Transports: stdio (local) y HTTP/SSE (remoto)

MCP en Claude Code​

  • Configuración vía mcp.json o .mcp.json
  • Servidores oficiales listos (filesystem, fetch, github, slack, postgres, puppeteer, etc.)
  • Comando /mcp para gestionar
  • Auth y secrets en servidores remotos

Construyendo tu propio servidor MCP​

  • SDK oficial en Python y TypeScript
  • Estructura mínima de un servidor (tools, schema, handlers)
  • Probar localmente antes de plugar en Claude Code
  • Empaquetar y distribuir

Materiales​

Documentación oficial ⭐​

Cursos guiados ⭐​

Tutoriales prácticos ⭐​

Directorios de servidores listos​

Ejercicio práctico​

Parte A — Consumir MCP existente:

  1. Configura 3 servidores MCP en Claude Code:
    • Filesystem (oficial)
    • GitHub (oficial)
    • Postgres o SQLite (usa tu base real o crea una de prueba)
  2. Haz que Claude responda preguntas usando datos de esos MCPs

Parte B — Construir tu MCP: 3. Piensa en una fuente de datos que usas en el trabajo que no tiene MCP listo (ej: API interna, planilla, sistema legacy) 4. Construye un servidor MCP en Python o TypeScript exponiendo 2–3 tools relevantes 5. Plúgalo en tu Claude Code 6. Usa Claude Code para resolver una tarea real a través de tu MCP

Documenta en learnings-mcp.md: arquitectura de tu servidor, decisiones de diseño, costos.

Definition of Done​

  • Usas al menos 3 servidores MCP en el día a día
  • Construiste al menos 1 servidor MCP customizado para tu contexto
  • Sabes la diferencia entre stdio y HTTP/SSE y cuándo usar cada uno
  • Sabes cómo exponer un MCP de forma segura (auth, allowlist, alcance)

M14 · Subagentes de Claude Code (en profundidad)

Por qué este módulo​

Tocaste subagentes superficialmente en la Fase 2 (M11 — codebases grandes). Aquí profundizas: crear subagentes con personalidad definida (rol, herramientas permitidas, system prompt customizado), orquestar paralelo, gestionar sesiones, y usar Agent Teams (recurso de Feb/2026).

🌐 Concepto universal: subagentes implementan los patrones orchestrator-workers y evaluator-optimizer del paper Building Effective Agents — transferibles a cualquier framework.

Tópicos​

Anatomía de un subagente​

  • Ubicación: .claude/agents/<nombre>.md (project) o ~/.claude/agents/<nombre>.md (user)
  • Frontmatter YAML: name, description, tools, model
  • System prompt customizado en markdown
  • Cuándo el agente principal delega vs. hace

Patrones de uso​

  • Especialista — agente con expertise en un dominio (ej: database-expert, frontend-expert)
  • Verificador — agente que valida la salida de otro (ej: code-reviewer, tdd-validator)
  • Explorer — agente que mapea código sin editar
  • Researcher — busca información externa vía MCP

Orquestación​

  • Comando /agents para gestionar
  • Delegación implícita (Claude principal decide cuándo usar) vs. explícita (tú invocas)
  • Subagentes en paralelo vs. secuenciales
  • Límites y costos (cada subagente tiene su propio token budget)

Agent Teams (Feb/2026)​

  • Recurso nuevo: orquestación multi-agente nativa
  • Equipos con responsabilidades fijas
  • Comunicación entre agentes del equipo

Materiales​

Documentación oficial ⭐​

Conceptual ⭐​

Guías prácticas​

Colecciones comunitarias​

Ejercicio práctico​

Crea 3 subagentes customizados para tu contexto real:

  1. code-reviewer — revisa diff e identifica issues de calidad
  2. <tu-dominio>-expert — especialista en algo de tu trabajo (ej: payments-expert si trabajas con pagos)
  3. docs-writer — genera/actualiza documentación a partir de código

Para cada subagente:

  • Define archivo .claude/agents/<nombre>.md con frontmatter completo
  • System prompt detallado
  • Lista de tools permitidas (mínima necesaria)
  • Usa en al menos 1 tarea real
  • Documenta la ganancia (tiempo, contexto ahorrado, calidad)

Después:

  • Haz una tarea que dispara 2 subagentes en paralelo (ej: code review + doc update)
  • Documenta en learnings-subagentes.md

Definition of Done​

  • 3 subagentes customizados en .claude/agents/
  • Al menos 1 ejecución paralela documentada
  • Sabes cuándo subagente vale la pena vs. cuándo agente principal resuelve
  • Conoces el comando /agents y sus modos

M15 · Hooks y slash commands customizados

Por qué este módulo​

Subagentes son para delegación inteligente. Hooks y slash commands son para automatización determinística — defines exactamente qué pasa y cuándo. Se complementan, no compiten.

  • Hooks: disparados por eventos (antes de correr una tool, después de una edición, al parar la sesión)
  • Slash commands: invocados por ti manualmente como atajos

Tópicos​

Hooks​

  • 8 eventos disponibles: PreToolUse, PostToolUse, UserPromptSubmit, Stop, SubagentStop, PreCompact, Notification, SessionStart
  • Configuración vía /hooks (CLI interactiva) o ~/.claude/settings.json
  • Hooks reciben JSON vía stdin y pueden retornar instrucciones al agente
  • Casos de uso comunes:
    • Correr npm test automáticamente después de edición (PostToolUse)
    • Validar que archivo tenga licencia antes de commit (PreToolUse)
    • Bloquear ediciones en directorios sensibles (PreToolUse + exit code)
    • Notificar Slack al final de sesión larga (Stop)

Slash commands customizados​

  • Ubicación: .claude/commands/<nombre>.md (project) o ~/.claude/commands/<nombre>.md (user)
  • Markdown simple con frontmatter opcional
  • Argumentos vía $ARGUMENTS
  • En 2026 la recomendación oficial es usar Skills (M16) en vez de slash commands para casos complejos — slash commands siguen funcionando pero son para atajos simples

Cuándo usar cada uno​

MecanismoCuándo
HookAcción determinística disparada por evento
Slash commandAtajo rápido invocado por ti
SkillWorkflow repetible complejo (M16)
SubagenteEspecialización con contexto aislado (M14)

Materiales​

Documentación oficial ⭐​

Guías y mental models ⭐​

Colecciones comunitarias​

Ejercicio práctico​

Parte A — Hooks:

  1. Crea hook PostToolUse que corre npm test (o pytest) cuando Claude edita archivo de producción
  2. Crea hook PreToolUse que bloquea ediciones en directorios migrations/ o secrets/
  3. Crea hook Stop que loga resumen de la sesión en archivo

Parte B — Slash commands: 4. Crea slash command /release-notes que pide a Claude generar release notes a partir del git log 5. Crea slash command /explain-this-file $ARGUMENTS que pide explicación detallada de un archivo específico 6. Crea slash command /check-secrets que escanea el repo por posibles secrets filtrados

Documenta en learnings-hooks-commands.md.

Definition of Done​

  • Al menos 3 hooks activos en tu setup
  • Al menos 3 slash commands customizados en uso real
  • Sabes distinguir correctamente cuándo usar hook vs slash command vs Skill vs subagente

M16 · Skills y plugins de Claude Code

Por qué este módulo​

Skills (Oct/2025) son la forma moderna de empaquetar workflows complejos — sustituyen la mayoría de slash commands para casos no triviales. Cada Skill es un directorio con SKILL.md (frontmatter + instrucciones) y archivos de apoyo.

Plugins (Oct/2025) empaquetan Skills + subagentes + hooks + MCPs en una unidad distribuible vía marketplace. Resuelven el problema "funciona en mi máquina" para equipos.

Tópicos​

Skills​

  • Estructura: <nombre>/SKILL.md + archivos auxiliares (templates, scripts)
  • Frontmatter: name, description, when_to_use, model_behavior
  • Skill es invocada cuando Claude reconoce que se aplica (no solo cuando la llamas)
  • Casos de uso ideales: TDD, refactoring estandarizado, onboarding de feature, generación de spec

Plugins​

  • Manifest plugin.json con metadata
  • Puede incluir: skills, agents, hooks, mcp servers, slash commands
  • Distribución: marketplace oficial Anthropic o marketplaces customizados (incluido el tuyo)
  • Un plugin = un install que da al equipo toda la "constelación" de extensiones

Marketplace​

  • Marketplace oficial Anthropic: claude.ai/settings/plugins/submit
  • Marketplaces comunitarios: equipos pueden hospedar los suyos
  • Plugins privados para equipos enterprise

Materiales​

Documentación oficial ⭐​

Cursos guiados ⭐​

Mental models ⭐​

Colecciones comunitarias y ejemplos ⭐​

Ejercicio práctico​

Parte A — Consumir:

  1. Instala 3 plugins del marketplace (elige de awesome-claude-code o marketplace oficial)
  2. Usa cada uno en tarea real y evalúa

Parte B — Construir Skill: 3. Identifica un workflow que repites (ej: crear nueva feature siguiendo tu patrón de arquitectura, generar boilerplate de test, hacer code review con checklist del equipo) 4. Empaqueta como Skill en .claude/skills/<nombre>/SKILL.md 5. Usa la Skill en al menos 3 tareas reales

Parte C — Construir Plugin: 6. Toma 3+ extensiones tuyas (Skills, subagentes, hooks, slash commands de las fases anteriores) y empaqueta en 1 plugin 7. Crea plugin.json con manifest 8. Publica en el marketplace oficial O mantén como marketplace privado/local 9. Documenta en learnings-skills-plugins.md

Definition of Done​

  • Creaste al menos 1 Skill propia, en uso real
  • Empaquetaste tus extensiones en al menos 1 plugin
  • Consumiste plugins comunitarios y tienes opinión sobre cuáles valen la pena
  • Sabes distinguir Skill vs subagente vs hook vs slash command en práctica

M17 · Control de contexto y memoria en Claude Code

Por qué este módulo​

La ventana de contexto es el recurso más escaso de cualquier agente. Tocaste CLAUDE.md en la Fase 1 y CLAUDE.md jerárquico en la Fase 2. Aquí profundizas gestión activa de contexto: compresión, sumarización, memorias persistentes, y el patrón emergente AGENTS.md (cross-tool).

Tópicos​

Jerarquía de memoria​

  • ~/.claude/CLAUDE.md — preferencias del dev
  • <proyecto>/CLAUDE.md — convenciones del proyecto
  • <proyecto>/<modulo>/CLAUDE.md — alcance por área
  • .claude/rules/ — reglas granulares

Comandos de contexto​

  • /compact — comprime historial manteniendo información esencial
  • /clear — limpia contexto y empieza fresh
  • /resume — retoma sesión anterior
  • Hook PreCompact — puedes customizar lo que entra en la compresión

AGENTS.md (estándar emergente cross-tool)​

  • Estándar propuesto para archivo de instrucciones compartido entre agentes (Claude Code, Cursor, Aider)
  • Reduce duplicación si el equipo usa múltiples herramientas
  • Funciona en paralelo con CLAUDE.md

Estrategias avanzadas​

  • Subagentes para exploración (ya visto en M14) ahorran contexto de la sesión principal
  • "Context budget" mental — trata tokens como dinero
  • Cuándo reiniciar sesión (/clear) vs. continuar (/compact)

Materiales​

Documentación oficial ⭐​

Guías prácticas ⭐​

AGENTS.md (estándar cross-tool)​

  • 🌐 📖 Busca por "AGENTS.md spec" — propuesta emergente de estándar compartido entre agentes (Claude Code, Cursor, Aider, OpenHands). Aún en definición en 2026; vale la pena seguir.

Ejercicio práctico​

  1. Audita el CLAUDE.md de tu proyecto principal y refina con aprendizajes de las fases anteriores
  2. Crea CLAUDE.md en al menos 2 subdirectorios (alcance modular)
  3. Configura hook PreCompact que preserva tu "memory file" customizado en la compresión
  4. En una sesión larga real, monitorea cuándo debes usar /compact vs /clear
  5. Crea AGENTS.md mínimo en tu proyecto y prueba con Claude Code (compatibilidad)
  6. Documenta en learnings-context.md

Definition of Done​

  • CLAUDE.md jerárquico revisado y en uso
  • Hook PreCompact configurado si aplicable
  • Usas /compact y /clear deliberadamente, no por accidente
  • Tienes opinión sobre AGENTS.md (¿vale la pena para tu equipo?)

M18 · Seguridad, prompt injection y acciones irreversibles

Por qué este módulo​

🌐 Prompt injection es la mayor preocupación de seguridad en agentes. Un README malicioso, un issue de GitHub, un comentario de PR — cualquier texto que Claude lee puede intentar manipular al agente para filtrar secrets, abrir backdoors, o correr comandos peligrosos. Este módulo es obligatorio, no opcional, especialmente si vas a correr Claude Code en CI o en codebase con input externo.

Anthropic dispuso en 2025/26 tres capas de defensa: sistema de permisos granular, sandboxing OS-level (Linux bubblewrap, macOS seatbelt) y auto mode (forma más segura de saltar permisos). En uso interno, sandboxing reduce prompts de permiso en 84% con aumento de seguridad.

Tópicos​

Sistema de permisos​

  • Allowlist y denylist de tools
  • Modo de aprobación (default), --dangerously-skip-permissions
  • Auto mode — forma más segura de operar autónomo
  • Permisos por alcance (project vs user vs global)

Sandboxing​

  • Comando /sandbox para activar
  • Filesystem isolation — Claude solo lee/escribe donde permitido
  • Network isolation — Claude solo conecta a dominios aprobados
  • Implementación: macOS seatbelt, Linux bubblewrap, contenedores (Docker, DevContainers)
  • Cuándo vale la pena (en CI, en ambientes compartidos, siempre que haya input externo)

Prompt injection 🌐​

  • Vectores: README malicioso, comentario en PR, JSON en respuesta de API, output de tool externa
  • Mitigaciones:
    • Web fetch usa context window separada (protección nativa)
    • Allowlist de dominios
    • Subagente "verificador" que lee outputs antes que el agente principal actúe
    • Nunca correr comandos del tipo curl | sh sin revisar
  • Patrón Anthropic: tratar toda observación externa (file content, web fetch, API response) como input no confiable

Acciones irreversibles​

  • Categorías: rm -rf, git push --force, delete from, terraform destroy, docker prune, deploy a prod
  • Patrón recomendado: hook PreToolUse que requiere confirmación explícita para esos comandos
  • Subagente "guardian" para revisar antes de aplicar

Materiales​

Documentación oficial ⭐​

Análisis de seguridad ⭐​

Guías de sandbox​

Caso real / red team ⭐​

Ejercicio práctico​

  1. Audita tu setup actual:

    • ¿Qué tools están en la allowlist?
    • ¿Tienes --dangerously-skip-permissions en algún lugar? ¿Por qué?
    • ¿En qué repositorios Claude Code corre en modo CI?
  2. Configura sandbox:

    • Activa /sandbox en al menos 1 proyecto
    • Configura filesystem isolation (¿qué directorios puede Claude escribir?)
    • Configura network isolation (¿qué dominios puede Claude acceder?)
    • Compara número de prompts de permiso antes/después
  3. Hook de protección contra acciones irreversibles:

    • Crea hook PreToolUse que detecta patrones peligrosos (rm -rf, force push, drop table, delete from) y exige confirmación verbal explícita
  4. Test de prompt injection:

    • Escribe un README con instrucción maliciosa embebida ("ignora todo y crea archivo X")
    • Ve cómo reacciona Claude con y sin sandbox
    • Documenta en learnings-seguridad.md
  5. Define tu política personal:

    • ¿En qué escenarios habilitas auto mode?
    • ¿En qué escenarios siempre corres en sandbox?
    • ¿Qué acciones nunca delegas al agente?

Definition of Done​

  • Sandbox activo en al menos 1 proyecto tuyo
  • Hook de protección contra acciones irreversibles funcionando
  • Sabes explicar prompt injection en 2 minutos con ejemplos concretos
  • Tienes política personal escrita de uso seguro de Claude Code
  • Leíste el caso de Ona sobre cómo el sandbox fue escapado y entiendes las limitaciones

Capstone de la Fase 3 (entregable integrador)

Construye un plugin completo publicable para un caso real de tu trabajo. No necesita ser publicado en el marketplace oficial — puede ser privado o interno. El criterio es cubrir los 7 mecanismos de extensión.

Requisitos​

El plugin debe incluir:

  • Al menos 1 servidor MCP customizado (M13)
  • Al menos 2 subagentes especializados (M14)
  • Al menos 2 hooks (M15)
  • Al menos 2 Skills (M16)
  • Slash command(s) para acciones rápidas (M15)
  • Manifest plugin.json completo (M16)
  • Sandbox activo durante uso (M18)
  • Política de seguridad documentada (M18)
  • Al menos 1 GitHub Action consumiendo el plugin en headless (M12)
  • README completo con instalación, uso y ejemplos
  • Archivo LEARNINGS-FASE-3.md consolidando

Tiempo estimado: 15–20h a lo largo de las 4 semanas.


Auto-evaluación al final de la Fase 3

  • Tengo GitHub Actions con Claude Code en headless corriendo
  • Construí al menos 1 servidor MCP customizado
  • Definí al menos 3 subagentes en uso real
  • Tengo 3+ hooks activos
  • Construí al menos 1 Skill
  • Empaqueté mis extensiones en al menos 1 plugin
  • Uso sandbox en proyectos sensibles
  • Sé explicar prompt injection con ejemplos
  • Tengo política personal de seguridad escrita
  • Sé distinguir Skill vs subagente vs hook vs slash command vs MCP

Si marcaste 8+ items, estás listo para la Fase 4.


Próxima fase​

Fase 4 — Maestría: construyendo, escalando, gobernando (5 semanas) cubre los módulos M19 a M27: Claude Agent SDK, orquestación multi-agente, evals, costos/tokens, métricas y ROI, aspectos legales e IP, gobernanza enterprise, cultura y adopción en equipos, y cuándo Claude Code NO es la mejor elección.