PTENES
MÓDULO 2.6 · Ruta 2 · Creación práctica

🧙 Creación con /agents + cómo elige Claude

De cero a invocar al agente: usa el wizard /agents para crear, ajustar y controlar qué agente activa Claude — y cuándo.

7
Temas
~45 min
Duración
Práctico
Nivel
Práctico
Tipo

Ya entiendes qué es un subagente y sabes escribir su .md y conoce la diferencia entre el proyecto y el ámbito global. Ahora viene la pregunta práctica: ¿cómo creo un agente de verdad, desde cero? El comando /agents es el asistente nativo de Claude Code: muestra lo que existe, abre el creador guiado y te permite ajustar el resultado. En este módulo crearás un agente completo (plan-roaster) y aprender exactamente cómo Claude decide a qué agente llamar.

/agents asistente nativo create · list · edit plan-roaster.md name: plan-roaster description: «Use proativamente...» tools: [Read, Bash] model: sonnet Claude lee description → enruta ✓ ① abrir wizard ② completar / generar con Claude ③ agente activo recreación ilustrativa — no es una captura de pantalla real

Flujo del asistente /agents: del comando al agente activo en 3 pasos

Contenido detallado

1

🔍 El comando /agents — ver y crear

Tu panel de control de subagentes

O /agents es el punto de entrada para todo lo relacionado con agentes personalizados en Claude Code. Muestra la lista completa de agentes disponibles en el proyecto y a nivel global, y abre el asistente guiado de creación.

✓ Qué hace /agents
  • • Enumera todos los agentes disponibles (del proyecto + globales)
  • • Muestra dónde está guardado cada archivo .md
  • • Abre el asistente interactivo de creación
  • • Permite editar agentes existentes
  • • Muestra la description, las tools y el modelo configurados
✗ Qué no hace /agents
  • • No crea el archivo manualmente (el wizard lo crea)
  • • No ejecuta el agente directamente
  • • No muestra los elementos built-in de Claude Code
  • • No se sincroniza con otros proyectos
  • • No define cuándo se activa Claude (eso lo define la description)
Qué es:

Al ejecutar /agents sin parámetros, Claude Code recorre los directorios .claude/agents/ del proyecto y del ámbito global, lee el frontmatter de cada uno .md y arma una lista con el nombre, la descripción truncada y la ubicación.

Por qué aprender:

Antes de crear un agente nuevo, siempre lista los existentes: puede que ya tengas uno que cubra el caso de uso o que descubras nombres que coincidan con el que planeabas crear.

Conceptos clave:

El proyecto prevalece sobre el global cuando hay un conflicto de nombres. El wizard de creación ya avisa si el nombre existe. La lista incluye los built-ins de Claude Code, separados de tus customs.

2

⚡ Generate-with-Claude × manual

Dos formas de completar el .md: cuándo usar cada una

⚡ El atajo "Generar con Claude"

Dentro del wizard, la opción Generate with Claude usa el modelo actual para redactar el archivo .md a partir de una descripción de alto nivel que escribes. Es el punto de partida más rápido, pero el output generado casi siempre necesita recortar la description.

G
Generar con Claude

Claude redacta el cuerpo, elige las herramientas y sugiere un modelo. Tú describes el objetivo en lenguaje natural. Resultado en segundos. Exige recortar la description para evitar que el texto sea demasiado largo.

M
Manual (editar directamente)

Tú escribes el .md desde cero en un editor. Control total, sin sorpresas. Ideal cuando ya tienes una plantilla lista o estás iterando sobre un agente existente.

Qué es:

La elección entre los dos modos define la velocidad de creación vs. el control del resultado. Generar es ideal para el primer borrador; el modo manual es mejor para las iteraciones finas.

Por qué aprender:

Los agentes generados automáticamente suelen tener descripciones verbosas que se activan en el momento equivocado. Saber cuándo recortarlas evita activaciones erróneas costosas.

Conceptos clave:

Regla práctica — genera el borrador, abre el .md y reduce la descripción a un máximo de 2-3 frases con un activador explícito. El cuerpo puede ser detallado; la descripción debe ser precisa.

3

🧩 Opciones en el asistente de configuración: tools, model, color, memory

Las cuatro decisiones que definen el comportamiento del agente

💡 Consejo práctico

El wizard te guía por cada campo, pero puedes dejarlo en blanco y editarlo después directamente en el .md. El campo tools es lo más crítico: los agentes con acceso irrestricto pueden realizar acciones inesperadas.

🔧 tools

Lista de herramientas permitidas. Prefiere listas explícitas (ej.: ["Read","Bash","WebSearch"]). Omitirlo = hereda todas las herramientas del contexto principal.

🧠 model

Modelo que usar: haiku para tareas rápidas/baratas, sonnet para el equilibrio, opus para razonamiento complejo.

🎨 color

Color de la insignia del agente en la interfaz de Claude Code. Es puramente estético; sirve para distinguir agentes rápidamente en la lista de /agents.

💾 memory

Controla si el agente puede leer y escribir en la memoria persistente (allow / deny). En la mayoría de los casos, deny es más seguro: los agentes especialistas no necesitan memoria.

Qué es:

El wizard usa valores predeterminados conservadores: sin tools explícitas, sin modelo definido. En producción casi siempre querrás declarar tools e model para un comportamiento predecible.

Por qué aprender:

Agente sin model el modelo definido hereda el modelo de Claude principal — puede cambiar de una sesión a otra según tu plan. Fijar el modelo garantiza costos y latencia predecibles.

Conceptos clave:

Mínimo recomendado para producción: name, description (quirúrgica), tools (lista explícita), model. Color y memory son opcionales.

4

🔥 Caso plan-roaster: crear y recortar

De la idea al agente en funcionamiento: walkthrough completo

⚠️ El error más común después de generar

Cuando usas "Generate with Claude", el modelo genera una descripción larga y detallada. Parece buena, pero una descripción así activa el agente en contextos demasiado genéricos. El recorte es obligatorio.

1
Escribe /agents → Create → nombre: plan-roaster

El wizard pide el nombre. Usa kebab-case. Este agente revisará los planes de forma crítica.

2
Elige "Generate with Claude" y describe el objetivo

Ej.: "agente que revisa planes de implementación, señala puntos ciegos, riesgos y mejores alternativas, como un ingeniero sénior escéptico"

3
Abre el .claude/agents/plan-roaster.md y recorta la descripción

Reduce a 2 o 3 frases: el cuándo activa + el que hace. Elimina cualquier párrafo de contexto: eso va en el cuerpo.

4
Prueba invocando por nombre: @plan-roaster revise este plano

Si se activa correctamente, comprueba que el output sea detallado. Si es genérico, amplía el cuerpo del .md.

Qué es:

Progressive disclosure aplicado a la description: Claude solo lee los primeros tokens de la description para decidir si activa el agente. Todo lo que viene después del activador principal rara vez influye en la activación.

Por qué aprender:

Una description de 5 líneas con muchos contextos heterogéneos genera ambigüedad: Claude puede activar el agente incluso cuando no es lo ideal. 2-3 frases con un disparador claro son más precisas.

Conceptos clave:

Fórmula para una description concisa: "Úsalo [cuándo exactamente]. [Qué hace en 1 frase]. [Opcional: ejemplos de activación]." El resto va en el cuerpo del .md, que el agente lee después de activarse.

5

🎯 Cuatro formas de invocar a un agente

Automático, proactivo, @nombre y --agent

🎯 Cómo decide Claude qué agente llamar

Claude lee la description de todos los agentes disponibles en cada turno. Si tu prompt coincide con la description de un agente, se activa automáticamente, sin que tengas que pedirlo. Esto es modo automático. Pero puedes forzar otros modos.

AUTO Automático

Claude lee la descripción y activa el agente si el contexto coincide. Tú no haces nada: él decide. Depende de una descripción precisa.

PROACTIVO Activador de frase

La description incluye "Use proativamente quando..." — Claude verifica si debe activarlo aunque no lo pidas explícitamente, por ejemplo, después de hacer commits o al abrir un PR.

@NOME Invocación directa

Escribes @plan-roaster revise isto. Activación garantizada, independientemente de la descripción. Más explícito, menos sorpresas. Ideal para probar un agente nuevo.

--AGENT Flag de CLI

En la línea de comandos: claude --agent plan-roaster "revise o plano". Es útil en scripts y automatizaciones cuando no estás en modo interactivo.

Qué es:

Cuando dos agentes tienen descriptions que coinciden con el mismo prompt, Claude usa todo el contexto de la conversación para decidir cuál es más específico. Los agentes del proyecto tienen precedencia sobre los globales con el mismo nombre.

Por qué aprender:

Si tienes un code-reviewer global y uno del proyecto; el del proyecto siempre prevalece. Esto permite personalizaciones por proyecto sin eliminar el global.

Conceptos clave:

Orden de prioridad: 1) invocación @nome (forzado), 2) agente del proyecto (automático), 3) agente global (automático), 4) integrado. Los nombres únicos eliminan el problema de concurrencia.

6

🔧 Misfire y solución

Cuándo el agente se activa por error y cómo corregirlo

🚨 Síntomas de misfire
  • • El agente se activa con prompts que no tienen nada que ver
  • • Dos agentes se activan al mismo tiempo
  • • El agente nunca se activa, incluso si lo pides
  • • Se activa el agente equivocado (conflicto de descripciones)
  • • Output genérico: no se leyó el contenido del .md
✅ Correcciones correspondientes
  • • Ajusta la description: elimina el contexto innecesario
  • • Renombra o separa las descriptions con distintos activadores
  • • Agrega «Úsalo proactivamente cuando [frase exacta]»
  • • Usa un prefijo en el nombre: proj-code-reviewer
  • • Enriquece el cuerpo del .md con instrucciones detalladas
💡 Diagnóstico rápido

Pregúntale a Claude: "¿Por qué el agente plan-roaster ¿no se activó con mi último prompt?" — explicará qué description leyó y por qué no encajaba. Usa esa información para ajustar.

Qué es:

La description rara vez queda perfecta a la primera. El ciclo es: escribir → probar con más de 5 prompts variados → observar cuándo se activa y cuándo no → ajustar la description → repetir.

Por qué aprender:

Los agentes de producción que se activan por error pueden consumir tokens innecesariamente o interferir en el flujo de trabajo. Iterar la descripción es el principal costo de mantenimiento de un agente.

Conceptos clave:

Prueba con 5 prompts: 2 que deberían activar, 2 que no deberían y 1 caso límite. Si la tasa de aciertos es de 4/5 o más, la description está bien. Si es inferior, itera.

7

✂️ Recortando la description generada

El arte del corte preciso — progressive disclosure

📊 Por qué Claude recorta en la description

Claude usa las descriptions de todos los agentes disponibles como parte del contexto de decisión en cada turno. Las descriptions largas consumen más tokens en esta ventana de selección, y la ambigüedad semántica en ellas provoca activaciones erróneas. La description óptima es la que supera la prueba de 5 prompts con el menor número de palabras.

✗ Antes del trim (generado por Claude)

"Este agente especializado en la revisión crítica de planes de implementación fue diseñado para analizar documentos de planificación técnica y estratégica, identificando vacíos, puntos ciegos, riesgos no considerados, dependencias ocultas y alternativas más eficientes. Actúa como un ingeniero sénior escéptico..."

✓ Después del recorte (quirúrgica)

"Úsalo de forma proactiva cuando el usuario presente un plan, una especificación o un documento de implementación para revisión. Revísalo críticamente como un ingeniero sénior escéptico: señala puntos ciegos, riesgos y alternativas."

Qué es:

La fórmula de 3 partes: (1) activador explícito con "Usa [cuando/proactivamente cuando]...", (2) qué hace en 1 frase activa, (3) opcionalmente, ejemplos de activadores como pista semántica.

Por qué aprender:

Las descriptions que siguen esta fórmula tienen una tasa de misfire cercana a cero en pruebas empíricas. «Úsalo cuando» orienta a Claude hacia la intención correcta antes de cualquier ambigüedad semántica.

Conceptos clave:

Plantilla: "Use proativamente quando [trigger]. [O que faz]. [Hint adicional opcional]." — 2-3 frases como máximo. Todo el contexto operativo va en el cuerpo de .md.

📄 Ejemplo real: plan-roaster.md

Archivo completo — descripción recortada, contenido enriquecido, herramientas mínimas

---
name: plan-roaster
description: "Úsalo de forma proactiva cuando el usuario
  presente un plan, una especificación o un documento de
  implementación. Revísalo críticamente: señala
  puntos ciegos, riesgos y mejores alternativas."
tools: [Read]
model: claude-sonnet-4-5
color: red
---

# Revisor de Planes (plan-roaster)

Eres un ingeniero sénior escéptico. Tu función es
revisar planes de implementación con escepticismo
constructivo. Nunca los valides sin cuestionarlos.

## Protocolo de revisión

1. Lee el plan completo antes de comentar
2. Identifica las 3 principales brechas o riesgos
3. Para cada riesgo, sugiere una mitigación concreta
4. Señala las dependencias implícitas no declaradas
5. Cuestiona los supuestos de tiempo/costo
6. Concluye con un veredicto: Aprobar / Revisar / Rechazar

## Tono

Directo, sin rodeos. Sin elogios innecesarios.
Usa listas numeradas. Máximo 400 palabras en el output.
💡 Qué demuestra este ejemplo
  • • Description recortada a 3 frases con un disparador explícito
  • • tools: [Read] — mínimo necesario (solo lee, no escribe)
  • • Un cuerpo completo con un protocolo de 6 pasos: esto sí se lee después de activado
  • • Tono definido explícitamente: evita respuestas genéricas

💬 Prompts listos

Copia y pega, y úsalo ahora

Crear mediante /agents
/agents → Create → nome: plan-roaster → Generate with Claude → "revisor crítico de planos como engenheiro sênior cético"
Invocar por nombre
@plan-roaster revise o plano em docs/plan.md e me dê os 3 maiores riscos
Diagnosticar misfire
Por que o agente plan-roaster não disparou quando eu disse "revise meu plano de migração"? O que estava na description que não combinou?

🖥️ Pantalla simulada: wizard /agents

Recreación ilustrativa — no es una captura de pantalla real

claude-code — /agents wizard
$ /agents
Agentes disponibles (3 de proyecto · 1 global):
plan-roaster proyecto · sonnet · [Read]
code-reviewer proyecto · sonnet · [Read,Bash]
doc-writer global · haiku · [Read,Write]
Acciones:
[c] Crear un agente nuevo
[e] Editar agente existente
[d] Ver detalles
[q] Salir
› c █
── Crear nuevo agente ──
Nombre: plan-roaster
¿Generar con Claude? [y] Sí [n] Manual
Describe el objetivo: revisor crítico de planes como ingeniero sénior...
✓ Archivo creado: .claude/agents/plan-roaster.md
⚠ Consejo: recorta la description antes de usarla en producción

🏋️ Ejercicio: crea e invoca un agente por nombre

📋 Tarea
  1. 1.Abre Claude Code en tu proyecto y ejecuta /agents — anota cuántos agentes ya existen.
  2. 2.Crea un agente llamado bug-hunter usando "Generate with Claude" con el objetivo: "agente que analiza código y encuentra posibles errores antes de un PR".
  3. 3.Abre el .md generado y reduce la descripción a un máximo de 3 frases usando la fórmula del tema 7.
  4. 4.Invoca por nombre: @bug-hunter analise o arquivo main.py e me dê os 3 maiores riscos.
  5. 5.Prueba 3 prompts que NO deberían activar al agente y confirma que no se active.
✅ Criterio de verificación — cómo saber si acertaste
✓ El archivo .claude/agents/bug-hunter.md existe en el proyecto
✓ La description tiene como máximo 3 frases que empiezan con «Use cuando»
✓ @bug-hunter devuelve un análisis estructurado con bugs enumerados
✓ Los prompts no relacionados (p. ej., «escribe un README») no activan al agente automáticamente
✓ Puedes identificar la diferencia entre el output generado con y sin el cuerpo del .md completado

📚 Resumen del módulo

✓ /agents es el panel completo: lista, crea y edita agentes
✓ Generate-with-Claude crea rápido, pero exige acortar la descripción
✓ Las 4 decisiones del asistente de configuración: herramientas, modelo, color, memoria
✓ plan-roaster: descripción quirúrgica + cuerpo rico + tools mínimas
✓ 4 modos: auto / proactivo / @nombre / --agent
✓ Misfire = descripción larga o ambigua → recórtala y vuelve a probar
✓ Fórmula: "Úsalo cuando [trigger]. [Qué hace]. [Hint]." — máximo 3 frases
🎯 Siguiente paso: Trilha 3

Completaste la Ruta 2: ahora sabes crear agentes en la práctica. La Ruta 3 profundiza modelo, costo y orquestación: qué modelo elegir para cada tarea, cómo encadenar subagentes y medir el costo real de un sistema multiagente.