La mayoría de las mejores prácticas se basan en una restricción: la ventana de contexto de Claude se llena rápidamente y el rendimiento se degrada a medida que se llena. La ventana de contexto de Claude contiene toda su conversación, incluido cada mensaje, cada archivo que Claude lee y cada salida de comando. Sin embargo, esto puede llenarse rápidamente. Una única sesión de depuración o exploración de código base podría generar y consumir decenas de miles de tokens. Esto importa porque el rendimiento del LLM se degrada a medida que se llena el contexto. Cuando la ventana de contexto se está llenando, Claude puede comenzar a “olvidar” instrucciones anteriores o cometer más errores. La ventana de contexto es el recurso más importante a gestionar. Rastree el uso de contexto continuamente con una línea de estado personalizada, y consulte Reducir el uso de tokens para estrategias sobre cómo reducir el uso de tokens.
Dé a Claude una forma de verificar su trabajo
Claude funciona dramáticamente mejor cuando puede verificar su propio trabajo, como ejecutar pruebas, comparar capturas de pantalla y validar salidas. Sin criterios de éxito claros, podría producir algo que se vea bien pero que en realidad no funcione. Usted se convierte en el único bucle de retroalimentación, y cada error requiere su atención.| Estrategia | Antes | Después |
|---|---|---|
| Proporcionar criterios de verificación | ”implementar una función que valide direcciones de correo electrónico" | "escribir una función validateEmail. casos de prueba de ejemplo: [email protected] es verdadero, inválido es falso, [email protected] es falso. ejecutar las pruebas después de implementar” |
| Verificar cambios de UI visualmente | ”hacer que el panel de control se vea mejor" | "[pegar captura de pantalla] implementar este diseño. tomar una captura de pantalla del resultado y compararla con la original. listar diferencias y corregirlas” |
| Abordar causas raíz, no síntomas | ”la compilación está fallando" | "la compilación falla con este error: [pegar error]. corregirlo y verificar que la compilación tenga éxito. abordar la causa raíz, no suprimir el error” |
Explore primero, luego planifique, luego codifique
Dejar que Claude salte directamente a la codificación puede producir código que resuelve el problema incorrecto. Use Plan Mode para separar la exploración de la ejecución. El flujo de trabajo recomendado tiene cuatro fases:Explorar
Ingrese Plan Mode. Claude lee archivos y responde preguntas sin hacer cambios.
claude (Plan Mode)
Planificar
Pida a Claude que cree un plan de implementación detallado.Presione
claude (Plan Mode)
Ctrl+G para abrir el plan en su editor de texto para edición directa antes de que Claude continúe.Implementar
Vuelva al Modo Normal y deje que Claude codifique, verificando contra su plan.
claude (Normal Mode)
Plan Mode es útil, pero también agrega sobrecarga.Para tareas donde el alcance es claro y la corrección es pequeña (como corregir un error tipográfico, agregar una línea de registro o renombrar una variable) pida a Claude que lo haga directamente.La planificación es más útil cuando no está seguro del enfoque, cuando el cambio modifica múltiples archivos o cuando no está familiarizado con el código que se está modificando. Si pudiera describir el diff en una oración, omita el plan.
Proporcione contexto específico en sus indicaciones
Claude puede inferir intención, pero no puede leer su mente. Haga referencia a archivos específicos, mencione restricciones y señale patrones de ejemplo.| Estrategia | Antes | Después |
|---|---|---|
| Delimitar la tarea. Especifique qué archivo, qué escenario y preferencias de prueba. | ”agregar pruebas para foo.py" | "escribir una prueba para foo.py cubriendo el caso extremo donde el usuario ha cerrado sesión. evitar mocks.” |
| Señalar fuentes. Dirija a Claude a la fuente que puede responder una pregunta. | ”¿por qué ExecutionFactory tiene una API tan extraña?" | "revisar el historial de git de ExecutionFactory y resumir cómo su API llegó a ser así” |
| Hacer referencia a patrones existentes. Señale a Claude los patrones en su código base. | ”agregar un widget de calendario" | "ver cómo se implementan los widgets existentes en la página de inicio para entender los patrones. HotDogWidget.php es un buen ejemplo. seguir el patrón para implementar un nuevo widget de calendario que permita al usuario seleccionar un mes y paginar hacia adelante/atrás para elegir un año. construir desde cero sin bibliotecas que no sean las ya utilizadas en el código base.” |
| Describir el síntoma. Proporcione el síntoma, la ubicación probable y qué significa “corregido”. | “corregir el error de inicio de sesión" | "los usuarios informan que el inicio de sesión falla después del agotamiento de la sesión. verificar el flujo de autenticación en src/auth/, especialmente la actualización de tokens. escribir una prueba fallida que reproduzca el problema, luego corregirlo” |
"¿qué mejoraría en este archivo?" puede revelar cosas en las que no habría pensado en preguntar.
Proporcionar contenido enriquecido
Puede proporcionar datos enriquecidos a Claude de varias maneras:- Haga referencia a archivos con
@en lugar de describir dónde vive el código. Claude lee el archivo antes de responder. - Pegue imágenes directamente. Copie/pegue o arrastre y suelte imágenes en la indicación.
- Proporcione URLs para documentación y referencias de API. Use
/permissionspara permitir dominios de uso frecuente. - Canalice datos ejecutando
cat error.log | claudepara enviar contenidos de archivo directamente. - Deje que Claude obtenga lo que necesita. Diga a Claude que extraiga contexto por sí mismo usando comandos Bash, herramientas MCP o leyendo archivos.
Configure su entorno
Algunos pasos de configuración hacen que Claude Code sea significativamente más efectivo en todas sus sesiones. Para una descripción general completa de las características de extensión y cuándo usar cada una, consulte Extender Claude Code.Escriba un CLAUDE.md efectivo
CLAUDE.md es un archivo especial que Claude lee al inicio de cada conversación. Incluya comandos Bash, estilo de código y reglas de flujo de trabajo. Esto le da a Claude contexto persistente que no puede inferir solo del código. El comando/init analiza su código base para detectar sistemas de compilación, marcos de prueba y patrones de código, dándole una base sólida para refinar.
No hay un formato requerido para archivos CLAUDE.md, pero manténgalo corto y legible por humanos. Por ejemplo:
CLAUDE.md
| ✅ Incluir | ❌ Excluir |
|---|---|
| Comandos Bash que Claude no puede adivinar | Cualquier cosa que Claude pueda descubrir leyendo código |
| Reglas de estilo de código que difieren de los valores predeterminados | Convenciones de lenguaje estándar que Claude ya conoce |
| Instrucciones de prueba y ejecutores de prueba preferidos | Documentación detallada de API (enlace a documentos en su lugar) |
| Etiqueta del repositorio (nomenclatura de rama, convenciones de PR) | Información que cambia frecuentemente |
| Decisiones arquitectónicas específicas de su proyecto | Explicaciones largas o tutoriales |
| Peculiaridades del entorno de desarrollo (variables de entorno requeridas) | Prácticas evidentes por sí solas como “escribir código limpio” |
| Errores comunes o comportamientos no obvios |
@path/to/import:
CLAUDE.md
- Carpeta de inicio (
~/.claude/CLAUDE.md): se aplica a todas las sesiones de Claude - Raíz del proyecto (
./CLAUDE.md): verificar en git para compartir con su equipo - Directorios principales: útil para monorepos donde tanto
root/CLAUDE.mdcomoroot/foo/CLAUDE.mdse extraen automáticamente - Directorios secundarios: Claude extrae archivos CLAUDE.md secundarios bajo demanda cuando trabaja con archivos en esos directorios
Configurar permisos
De forma predeterminada, Claude Code solicita permiso para acciones que podrían modificar su sistema: escrituras de archivo, comandos Bash, herramientas MCP, etc. Esto es seguro pero tedioso. Después de la décima aprobación, realmente no está revisando, solo está haciendo clic. Hay tres formas de reducir estas interrupciones:- Modo automático: un modelo clasificador separado revisa comandos y bloquea solo lo que se ve arriesgado: escalada de alcance, infraestructura desconocida o acciones impulsadas por contenido hostil. Mejor cuando confía en la dirección general de una tarea pero no desea hacer clic en cada paso
- Listas de permisos: permitir herramientas específicas que sabe que son seguras, como
npm run lintogit commit - Sandboxing: habilitar aislamiento a nivel del SO que restrinja el acceso al sistema de archivos y red, permitiendo que Claude trabaje más libremente dentro de límites definidos
Usar herramientas CLI
Las herramientas CLI son la forma más eficiente en contexto de interactuar con servicios externos. Si usa GitHub, instale la CLIgh. Claude sabe cómo usarla para crear problemas, abrir solicitudes de extracción y leer comentarios. Sin gh, Claude aún puede usar la API de GitHub, pero las solicitudes no autenticadas a menudo alcanzan límites de velocidad.
Claude también es efectivo en aprender herramientas CLI que no conoce. Intente indicaciones como Use 'foo-cli-tool --help' to learn about foo tool, then use it to solve A, B, C.
Conectar servidores MCP
Con servidores MCP, puede pedir a Claude que implemente características desde rastreadores de problemas, consulte bases de datos, analice datos de monitoreo, integre diseños de Figma y automatice flujos de trabajo.Configurar hooks
Hooks ejecutan scripts automáticamente en puntos específicos del flujo de trabajo de Claude. A diferencia de las instrucciones CLAUDE.md que son consultivas, los hooks son deterministas y garantizan que la acción suceda. Claude puede escribir hooks para usted. Intente indicaciones como “Write a hook that runs eslint after every file edit” o “Write a hook that blocks writes to the migrations folder.” Edite.claude/settings.json directamente para configurar hooks a mano, y ejecute /hooks para explorar lo que está configurado.
Crear skills
Skills extienden el conocimiento de Claude con información específica de su proyecto, equipo o dominio. Claude los aplica automáticamente cuando son relevantes, o puede invocarlos directamente con/skill-name.
Cree una skill agregando un directorio con un SKILL.md a .claude/skills/:
.claude/skills/api-conventions/SKILL.md
.claude/skills/fix-issue/SKILL.md
/fix-issue 1234 para invocarlo. Use disable-model-invocation: true para flujos de trabajo con efectos secundarios que desea activar manualmente.
Crear subagents personalizados
Subagents se ejecutan en su propio contexto con su propio conjunto de herramientas permitidas. Son útiles para tareas que leen muchos archivos o necesitan enfoque especializado sin saturar su conversación principal..claude/agents/security-reviewer.md
Instalar plugins
Plugins agrupan skills, hooks, subagents y servidores MCP en una única unidad instalable de la comunidad y Anthropic. Si trabaja con un lenguaje tipado, instale un plugin de inteligencia de código para dar a Claude navegación de símbolos precisa y detección automática de errores después de ediciones. Para orientación sobre cómo elegir entre skills, subagents, hooks y MCP, consulte Extender Claude Code.Comuníquese efectivamente
La forma en que se comunica con Claude Code impacta significativamente la calidad de los resultados.Haga preguntas sobre el código base
Al incorporarse a un nuevo código base, use Claude Code para aprender y explorar. Puede hacer a Claude el mismo tipo de preguntas que haría a otro ingeniero:- ¿Cómo funciona el registro?
- ¿Cómo hago un nuevo punto final de API?
- ¿Qué hace
async move { ... }en la línea 134 defoo.rs? - ¿Qué casos extremos maneja
CustomerOnboardingFlowImpl? - ¿Por qué este código llama a
foo()en lugar debar()en la línea 333?
Deje que Claude lo entreviste
Claude hace preguntas sobre cosas que podría no haber considerado, incluyendo implementación técnica, UI/UX, casos extremos y compensaciones.Gestione su sesión
Las conversaciones son persistentes y reversibles. ¡Úselo a su favor!Corrija el curso temprano y a menudo
Los mejores resultados provienen de bucles de retroalimentación ajustados. Aunque Claude ocasionalmente resuelve problemas perfectamente en el primer intento, corregirlo rápidamente generalmente produce mejores soluciones más rápido.Esc: detener a Claude a mitad de acción con la teclaEsc. El contexto se preserva, para que pueda redirigir.Esc + Esco/rewind: presioneEscdos veces o ejecute/rewindpara abrir el menú de rebobinado y restaurar la conversación anterior y el estado del código, o resumir desde un mensaje seleccionado."Undo that": haga que Claude revierta sus cambios./clear: restablecer contexto entre tareas no relacionadas. Las sesiones largas con contexto irrelevante pueden reducir el rendimiento.
/clear e inicie de nuevo con una indicación más específica que incorpore lo que aprendió. Una sesión limpia con una indicación mejor casi siempre supera una sesión larga con correcciones acumuladas.
Gestione el contexto agresivamente
Claude Code compacta automáticamente el historial de conversación cuando se acerca a los límites de contexto, lo que preserva código importante y decisiones mientras libera espacio. Durante sesiones largas, la ventana de contexto de Claude puede llenarse con conversación irrelevante, contenidos de archivo y comandos. Esto puede reducir el rendimiento y a veces distraer a Claude.- Use
/clearfrecuentemente entre tareas para restablecer completamente la ventana de contexto - Cuando se activa la compactación automática, Claude resume lo que más importa, incluyendo patrones de código, estados de archivo y decisiones clave
- Para más control, ejecute
/compact <instructions>, como/compact Focus on the API changes - Para compactar solo parte de la conversación, use
Esc + Esco/rewind, seleccione un punto de control de mensaje y elija Summarize from here. Esto condensa mensajes desde ese punto hacia adelante mientras mantiene el contexto anterior intacto. - Personalice el comportamiento de compactación en CLAUDE.md con instrucciones como
"When compacting, always preserve the full list of modified files and any test commands"para asegurar que el contexto crítico sobreviva a la resumición - Para preguntas rápidas que no necesitan permanecer en contexto, use
/btw. La respuesta aparece en una superposición descaritable y nunca entra en el historial de conversación, para que pueda verificar un detalle sin aumentar el contexto.
Use subagents para investigación
Dado que el contexto es su restricción fundamental, los subagents son una de las herramientas más poderosas disponibles. Cuando Claude investiga un código base, lee muchos archivos, todos los cuales consumen su contexto. Los subagents se ejecutan en ventanas de contexto separadas e informan resúmenes:Rebobine con puntos de control
Claude automáticamente crea puntos de control antes de cambios. Presione Escape dos veces o ejecute/rewind para abrir el menú de rebobinado. Puede restaurar solo conversación, restaurar solo código, restaurar ambos o resumir desde un mensaje seleccionado. Consulte Checkpointing para detalles.
En lugar de planificar cuidadosamente cada movimiento, puede decirle a Claude que intente algo arriesgado. Si no funciona, rebobine e intente un enfoque diferente. Los puntos de control persisten entre sesiones, para que pueda cerrar su terminal y aún rebobinar más tarde.
Reanudar conversaciones
Claude Code guarda conversaciones localmente. Cuando una tarea abarca múltiples sesiones, no tiene que re-explicar el contexto:/rename para dar a las sesiones nombres descriptivos como "oauth-migration" o "debugging-memory-leak" para que pueda encontrarlas más tarde. Trate las sesiones como ramas: diferentes flujos de trabajo pueden tener contextos separados y persistentes.
Automatice y escale
Una vez que sea efectivo con un Claude, multiplique su salida con sesiones paralelas, modo no interactivo y patrones de abanico. Todo hasta ahora asume un humano, un Claude y una conversación. Pero Claude Code escala horizontalmente. Las técnicas en esta sección muestran cómo puede hacer más.Ejecutar modo no interactivo
Conclaude -p "your prompt", puede ejecutar Claude de forma no interactiva, sin una sesión. El modo no interactivo es cómo integra Claude en canalizaciones de CI, hooks previos a la confirmación o cualquier flujo de trabajo automatizado. Los formatos de salida le permiten analizar resultados mediante programación: texto sin formato, JSON o JSON de transmisión.
Ejecutar múltiples sesiones de Claude
Hay tres formas principales de ejecutar sesiones paralelas:- Aplicación de escritorio Claude Code: Gestione múltiples sesiones locales visualmente. Cada sesión obtiene su propio worktree aislado.
- Claude Code en la web: Ejecutar en la infraestructura en la nube segura de Anthropic en máquinas virtuales aisladas.
- Equipos de agentes: Coordinación automatizada de múltiples sesiones con tareas compartidas, mensajería y un líder de equipo.
| Sesión A (Escritor) | Sesión B (Revisor) |
|---|---|
Implement a rate limiter for our API endpoints | |
Review the rate limiter implementation in @src/middleware/rateLimiter.ts. Look for edge cases, race conditions, and consistency with our existing middleware patterns. | |
Here's the review feedback: [Session B output]. Address these issues. |
Abanico a través de archivos
Para migraciones o análisis grandes, puede distribuir trabajo entre muchas invocaciones paralelas de Claude:Generar una lista de tareas
Haga que Claude enumere todos los archivos que necesitan migración (por ejemplo,
list all 2,000 Python files that need migrating)--verbose para depuración durante el desarrollo, y apáguelo en producción.
Ejecutar autónomamente con modo automático
Para ejecución ininterrumpida con verificaciones de seguridad en segundo plano, use modo automático. Un modelo clasificador revisa comandos antes de que se ejecuten, bloqueando escalada de alcance, infraestructura desconocida y acciones impulsadas por contenido hostil mientras permite que el trabajo rutinario continúe sin indicaciones.-p, el modo automático se cancela si el clasificador bloquea repetidamente acciones, ya que no hay usuario al que recurrir. Consulte cuándo el modo automático se cancela para umbrales.
Evite patrones de falla comunes
Estos son errores comunes. Reconocerlos temprano ahorra tiempo:- La sesión de todo incluido. Comienza con una tarea, luego pregunta a Claude algo no relacionado, luego vuelve a la primera tarea. El contexto está lleno de información irrelevante.
Solución:
/clearentre tareas no relacionadas. - Corrección una y otra vez. Claude hace algo mal, lo corrige, sigue siendo incorrecto, lo corrige de nuevo. El contexto está contaminado con enfoques fallidos.
Solución: Después de dos correcciones fallidas,
/cleary escriba una indicación inicial mejor incorporando lo que aprendió. - El CLAUDE.md sobre especificado. Si su CLAUDE.md es demasiado largo, Claude ignora la mitad porque las reglas importantes se pierden en el ruido.
Solución: Elimine sin piedad. Si Claude ya hace algo correctamente sin la instrucción, elimínelo o conviértalo en un hook.
- La brecha de confianza-luego-verificación. Claude produce una implementación que se ve plausible pero no maneja casos extremos.
Solución: Siempre proporcione verificación (pruebas, scripts, capturas de pantalla). Si no puede verificarlo, no lo envíe.
- La exploración infinita. Pide a Claude que “investigue” algo sin delimitarlo. Claude lee cientos de archivos, llenando el contexto.
Solución: Delimite investigaciones estrechamente o use subagents para que la exploración no consuma su contexto principal.
Desarrolle su intuición
Los patrones en esta guía no están grabados en piedra. Son puntos de partida que funcionan bien en general, pero podrían no ser óptimos para cada situación. A veces debería dejar que el contexto se acumule porque está profundo en un problema complejo y el historial es valioso. A veces debería omitir la planificación y dejar que Claude lo descubra porque la tarea es exploratoria. A veces una indicación vaga es exactamente lo correcto porque desea ver cómo Claude interpreta el problema antes de limitarlo. Preste atención a lo que funciona. Cuando Claude produce una salida excelente, note lo que hizo: la estructura de la indicación, el contexto que proporcionó, el modo en que estaba. Cuando Claude lucha, pregúntese por qué. ¿Fue el contexto demasiado ruidoso? ¿La indicación demasiado vaga? ¿La tarea demasiado grande para un pase? Con el tiempo, desarrollará intuición que ninguna guía puede capturar. Sabrá cuándo ser específico y cuándo ser abierto, cuándo planificar y cuándo explorar, cuándo limpiar contexto y cuándo dejarlo acumular.Recursos relacionados
- Cómo funciona Claude Code: el bucle agencial, herramientas y gestión de contexto
- Extender Claude Code: skills, hooks, MCP, subagents y plugins
- Flujos de trabajo comunes: recetas paso a paso para depuración, pruebas, PRs y más
- CLAUDE.md: almacenar convenciones de proyecto y contexto persistente