Fundamentos
Qué es Claude Code
No es un chat que genera fragmentos sueltos. Es un agente capaz de leer tu proyecto real, entender su arquitectura y trabajar contigo como copiloto técnico.
Capacidades principales
Lectura de archivos
Lee el proyecto entero, entiende la estructura de carpetas y analiza dependencias.
Análisis de arquitectura
Detecta capas, patrones de diseño, convenciones y relaciones entre módulos.
Edición de código
Implementa cambios controlados siguiendo las convenciones del proyecto.
Tests y validaciones
Lanza tests, linters, builds y scripts. Interpreta errores y propone correcciones.
Asistencia Git
Revisa diffs, propone mensajes de commit y prepara descripciones de PR.
Documentación técnica
Genera READMEs, ADRs, guías de módulos y diagramas Mermaid.
Para qué sirve
- Investigar codebases desconocidas rápidamente
- Implementar features completas de forma controlada
- Arreglar bugs identificando la causa raíz
- Refactorizar sin romper comportamiento
- Escribir tests con cobertura real
- Revisar pull requests como reviewer técnico
- Generar documentación a partir del código
- Preparar migraciones y releases
- Crear planes de trabajo antes de tocar código
- Entender errores de build o runtime complejos
Problemas que resuelve
Proyectos grandes e intimidantes
Localiza archivos relevantes, explica flujos y resume cómo funciona cualquier parte del sistema.
Cambios que afectan múltiples capas
Sigue el recorrido completo: frontend → backend → service → repository → entidad.
Falta de documentación
Genera documentación real a partir del código: ADRs, módulos, APIs, flujos.
Refactors peligrosos
Propone planes incrementales y valida con tests que no se rompe nada.
Testing insuficiente
Identifica rutas críticas sin cubrir y crea tests unitarios, integración o E2E.
Por qué merece la pena aprenderlo bien
Usar Claude Code de forma superficial ahorra tiempo. Dominarlo cambia el flujo de trabajo completo.
- → Reduce el coste mental de entrar en una codebase compleja
- → Permite delegar tareas mecánicas pero revisar decisiones importantes
- → Se convierte en un sistema repetible, no en una conversación improvisada
- → Funciona mejor combinado con Git, tests, documentación y automatización
- → La IA acelera, pero el criterio sigue siendo humano.
Mentalidad
Cómo piensa un experto
La diferencia entre un uso superficial y un uso experto está en la mentalidad: Claude como colaborador técnico con instrucciones concretas, no como mago.
❌ Mentalidad equivocada
Claude, hazme todo. ✓ Mentalidad experta
Claude, analiza, planifica, implementa en pequeño, valida y explícame el resultado. Qué delegar en Claude
- Exploración inicial de archivos y carpetas
- Localización de funciones, rutas y servicios
- Generación de planes de implementación
- Implementación de cambios acotados
- Refactors mecánicos y repetitivos
- Creación de tests y cobertura
- Documentación técnica y ADRs
- Revisión de diffs antes del commit
- Detección de edge cases
- Preparación de mensajes de commit
- Generación de scripts repetitivos
- Revisión de consistencia entre archivos
Qué revisar siempre
- Cambios en autenticación y autorización
- Cambios en permisos
- Migraciones de base de datos
- Cambios en .env, secretos o despliegue
- Instalación de dependencias nuevas
- Eliminación de archivos
- Refactors masivos
- Cambios en lógica de negocio crítica
- Facturación, pagos, datos de usuarios
- Comandos destructivos
- Scripts que modifican datos reales
Cómo dividir tareas
❌ Mal
Hazme todo el backend.
✓ Mejor
Implementa el endpoint de registro con validación, caso de uso, repositorio y tests. No toques login todavía.
División práctica de una tarea
Cómo evitar depender ciegamente de la IA
- → Pide planes antes de cambios importantes
- → Revisa siempre el
git diffantes de aceptar - → Ejecuta tests y builds; no confíes en "parece correcto"
- → Usa
CLAUDE.mdcon reglas claras del proyecto - → Exige justificación cuando cambie arquitectura
- → No aceptes dependencias nuevas sin explicación
- → Pide que enumere riesgos y alternativas
Antes de implementar, dame dos alternativas razonables, sus ventajas, sus riesgos y cuál recomiendas para este proyecto. No modifiques archivos todavía.
Configuración
Setup e instalación
Cómo preparar el entorno, los primeros pasos y las mejores prácticas de configuración inicial.
Requisitos
Terminal funcional
bash, zsh, fish...
Git instalado
Control de versiones obligatorio
Node.js si trabajas JS/TS
npm, pnpm, yarn o bun
Gestor de paquetes del proyecto
pip, poetry, cargo, etc.
Editor compatible
VS Code, Cursor, Zed, Neovim...
Cuenta compatible con Claude Code
Suscripción Anthropic
Repositorio local configurado
Con permisos controlados
Tests o comandos de validación
Esenciales para trabajo seguro
Primeros pasos al entrar en un proyecto
Abre una rama nueva
git checkout -b mi-tarea Entra en la raíz del proyecto
cd mi-proyecto Abre Claude Code
claude Ejecuta /init si no existe CLAUDE.md
/init Pide resumen de arquitectura
(prompt análisis) Define comandos de validación
(actualizar CLAUDE.md) Guarda reglas del proyecto
(CLAUDE.md) Analiza este proyecto sin modificar archivos. Quiero que identifiques: 1. Stack principal. 2. Estructura de carpetas. 3. Comandos de instalación, desarrollo, test, lint y build. 4. Arquitectura aparente. 5. Riesgos o partes delicadas. 6. Qué debería incluir el archivo CLAUDE.md. No cambies nada todavía.
Plantilla de CLAUDE.md
El documento base de instrucciones para Claude dentro del proyecto. Cuanto más claro, mejor trabaja.
# Proyecto [Nombre] es [descripción breve]. Stack: [frontend + backend + DB + testing]. # Comandos - Instalar: pnpm install - Desarrollo: pnpm dev - Tests: pnpm test - Lint: pnpm lint - Typecheck: pnpm typecheck - Build: pnpm build # Arquitectura [Describe las capas, carpetas principales y reglas de dependencia.] Ejemplo: Clean Architecture. No mezclar lógica de dominio con infraestructura. # Reglas de trabajo - No añadir dependencias sin pedir confirmación. - No modificar migraciones antiguas salvo indicación explícita. - Antes de cambios grandes, proponer plan incremental. - Después de implementar, ejecutar validaciones relacionadas. - Explicar qué archivos se han tocado y por qué. - Si hay duda arquitectónica, proponer plan antes de escribir código. # Seguridad - No exponer secretos ni API keys. - No usar datos de producción para pruebas. - Revisar cambios de auth/permisos manualmente. # Git - Trabajar siempre en ramas. - Commits pequeños con Conventional Commits en español. - Revisar git diff antes de commit. # Validación obligatoria Si se toca frontend: lint + test + build. Si se toca backend: pytest/vitest + lint + typecheck. Si se toca base de datos: revisar migración manualmente.
AGENTS.md (para Codex)
# AGENTS.md ## Setup commands - Install: pnpm install - Dev: pnpm dev - Tests: pnpm test ## Code style - TypeScript strict mode. - Cambios pequeños y revisables. - No añadir dependencias innecesarias. ## Validation Before finishing: - Run related tests. - Run lint/typecheck/build when relevant. - Summarize modified files.
Configurar Git desde el inicio
# Nunca trabajes en main directamente git checkout -b feature/nombre-de-la-tarea # Después de cambios git status git diff git add . git commit -m "feat: añade validación de registro"
Nunca trabajes en main
Gestión de contexto
El contexto lo es todo
El contexto es la información que Claude usa para razonar. Un buen contexto mejora el resultado. Un contexto saturado lo empeora. El objetivo no es darle todo, sino darle lo necesario.
✓ Buen contexto
✕ Mal contexto
Regla práctica
Contexto útil = objetivo claro + archivos relevantes + restricciones + criterios de éxito
Qué archivos incluir
Para una tarea normal, no incluyas todo el proyecto. Pide a Claude que localice los archivos relevantes.
README.md Visión general del proyecto CLAUDE.md / AGENTS.md Reglas e instrucciones del proyecto package.json / pyproject.toml Stack, scripts y dependencias Configuración de tests Framework y convenciones de validación Módulo afectado Código directamente involucrado Tests relacionados Comportamiento esperado y regresiones ADRs / docs técnicas Decisiones arquitectónicas previas Cómo pasar el contexto
CLAUDE.md
Para reglas estables del proyecto. Claude lo lee en cada sesión.
Prompt inicial
Para el objetivo y restricciones de la tarea actual.
Claude lee archivos concretos
Pídele que localice y lea los archivos relevantes.
MCP para fuentes externas
GitHub, bases de datos de desarrollo, Figma, etc.
Documentación interna del repo
docs/, ADRs, issues, decisiones técnicas.
Cómo evitar saturar el contexto
Reglas prácticas
- No alargar conversaciones indefinidamente
- Usar /clear o nueva sesión al cambiar de tema
- Cerrar sesión después de una tarea completa
- Evitar pegar logs gigantes (resúmelos)
- Guardar decisiones en archivos, no en el chat
- Usar subagentes para análisis grandes
- Mantener documentación persistente
Señales de contexto saturado
- ! Claude olvida restricciones recientes
- ! Repite soluciones que ya fallaron
- ! Mezcla tareas antiguas con nuevas
- ! Toca archivos no relacionados con la tarea
- ! Empieza a justificar decisiones raras
- ! Se vuelve demasiado genérico en las respuestas
Flujo de gestión de contexto
Cómo construir contexto útil para cada tarea
Cómo trabajar en proyectos grandes
Regla para proyectos grandes
docs/.
Este proyecto es grande. No intentes analizarlo entero. Céntrate solo en el flujo de autenticación. Identifica entrada, validaciones, servicios, persistencia, tokens, tests y riesgos. No modifiques archivos.
Prompting
Biblioteca de prompts
12 plantillas listas para los casos más comunes. Cópialas, adáptalas a tu proyecto y úsalas directamente en Claude Code.
Plantilla base universal
Quiero [objetivo]. Contexto: - [stack] - [parte del proyecto] - [restricciones] Antes de modificar archivos: 1. Analiza el código relevante. 2. Resume cómo funciona actualmente. 3. Propón un plan. 4. Indica archivos que tocarías. 5. Espera confirmación. Validación: - Ejecuta [comando]. - Resume cambios y riesgos.
Analiza esta codebase sin modificar archivos. Objetivo: entender cómo está organizado el proyecto y cómo trabajar con él de forma segura. Revisa: 1. Stack principal. 2. Estructura de carpetas. 3. Arquitectura aparente. 4. Módulos principales. 5. Comandos de instalación, desarrollo, test, lint y build. 6. Flujo de datos principal. 7. Configuración relevante. 8. Riesgos técnicos o deuda aparente. 9. Qué debería contener CLAUDE.md. Devuelve: resumen ejecutivo, mapa de carpetas, comandos detectados, riesgos, recomendaciones. No modifiques archivos.
Quiero implementar la feature: [describe la feature]. Antes de modificar archivos: 1. Localiza el código relevante. 2. Resume cómo funciona actualmente. 3. Propón un plan incremental. 4. Indica qué archivos tocarías. 5. Indica qué tests crearías o modificarías. 6. Espera mi confirmación. Restricciones: - No añadas dependencias sin pedir permiso. - No refactorices partes no relacionadas. - Mantén el estilo existente. - Mantén la arquitectura actual. Validación final: - Ejecuta tests relacionados. - Ejecuta lint/typecheck/build si aplica. - Resume cambios, riesgos y archivos modificados.
Hay un bug en [describe el comportamiento]. Información disponible: - Comportamiento esperado: [describe] - Comportamiento actual: [describe] - Error/log/test fallido: [pega lo relevante] Tarea: 1. Investiga la causa probable. 2. Localiza los archivos relevantes. 3. No modifiques nada hasta explicar la causa raíz. 4. Propón la corrección mínima. 5. Añade o ajusta tests para evitar regresión. 6. Ejecuta validaciones relacionadas. Evita refactors no relacionados.
Quiero refactorizar [zona concreta] sin cambiar comportamiento. Antes de tocar código: 1. Analiza el estado actual. 2. Identifica problemas concretos. 3. Propón un plan por pasos pequeños. 4. Indica cómo validaremos que no cambia el comportamiento. 5. Espera confirmación. Durante el refactor: - No cambies comportamiento funcional. - No mezcles feature nueva. - Mantén commits pequeños si procede. - Añade tests si no existen y son necesarios. Al terminar: - Ejecuta tests relacionados. - Resume qué cambió y qué no cambió.
Quiero añadir tests para [módulo/funcionalidad]. Primero: 1. Analiza los tests existentes. 2. Detecta framework, estilo, helpers, fixtures y convenciones. 3. Propón una lista de casos a cubrir. 4. Espera confirmación si hay dudas importantes. Después: - Crea tests siguiendo el estilo existente. - Prioriza casos críticos y edge cases. - No cambies código productivo salvo que detectes un bug claro y me lo expliques. - Ejecuta los tests relacionados. Devuelve: - Casos cubiertos. - Casos no cubiertos y por qué. - Comando usado para validar.
Quiero investigar un problema de rendimiento en [zona]. No optimices todavía. Primero: 1. Identifica posibles cuellos de botella. 2. Distingue evidencia real de suposiciones. 3. Propón cómo medir el problema. 4. Propón mejoras ordenadas por impacto/riesgo. Después de mi confirmación: - Implementa solo la mejora de menor riesgo y mayor impacto. - Añade medición o prueba si es posible. - Ejecuta validaciones. Evita microoptimizaciones sin evidencia.
Revisa esta parte del proyecto desde seguridad. No modifiques archivos. Busca: 1. Problemas de autenticación. 2. Problemas de autorización. 3. Validación de entrada insuficiente. 4. Exposición de datos sensibles. 5. Manejo incorrecto de secretos. 6. Errores que filtran información. 7. Dependencias sospechosas. 8. Riesgos de inyección. 9. Configuración insegura. Devuelve: - Hallazgos críticos. - Hallazgos medios. - Mejoras recomendadas. - Plan de corrección incremental.
Documenta el módulo [nombre]. Analiza el código existente y genera documentación en Markdown con: 1. Propósito del módulo. 2. Flujo principal. 3. Archivos importantes. 4. Decisiones técnicas. 5. Cómo ejecutar o probar. 6. Casos de uso. 7. Riesgos conocidos. 8. Posibles mejoras futuras. No inventes comportamiento. Si algo es inferencia, márcalo como inferencia.
Prepara una descripción de pull request basada en el diff actual. Incluye: 1. Resumen. 2. Cambios principales. 3. Motivación. 4. Cómo se ha validado. 5. Riesgos. 6. Capturas o notas manuales si aplica. 7. Checklist de revisión. No modifiques archivos.
Explícame cómo funciona [archivo/módulo/flujo]. Quiero una explicación técnica pero clara: 1. Qué problema resuelve. 2. Cómo entra la información. 3. Qué transformaciones ocurren. 4. Qué dependencias usa. 5. Qué devuelve o modifica. 6. Qué edge cases contempla. 7. Qué riesgos tiene. 8. Qué cambiarías si hubiera que mejorarlo. No modifiques archivos.
Quiero migrar código legacy de [origen] a [destino]. No modifiques todavía. Primero: 1. Analiza el comportamiento actual. 2. Identifica dependencias y efectos secundarios. 3. Propón tests de caracterización para proteger el comportamiento. 4. Diseña una migración incremental. 5. Señala riesgos. Después de confirmar: - Migra por partes pequeñas. - Mantén compatibilidad si es necesario. - Ejecuta tests tras cada paso importante. - Documenta decisiones.
Quiero diseñar la arquitectura para [sistema/módulo/feature]. No escribas código todavía. Dame: 1. Objetivo del diseño. 2. Restricciones. 3. Alternativas posibles. 4. Comparación de alternativas. 5. Arquitectura recomendada. 6. Estructura de carpetas propuesta. 7. Interfaces principales. 8. Flujo de datos. 9. Riesgos. 10. Plan incremental de implementación. 11. ADR en Markdown. Prioriza simplicidad, mantenibilidad y testabilidad.
Workflows
11 workflows prácticos
Cada flujo incluye objetivo, pasos, prompt listo para copiar, validaciones, errores comunes y checklist final.
Flujo general de trabajo
Este patrón se repite en todos los workflows: analizar primero, implementar después, validar siempre
Crear una feature completa
Implementar funcionalidad nueva sin romper arquitectura ni comportamiento existente.
Pasos
- 1 Crear rama nueva para la tarea
- 2 Pedir análisis del código relevante
- 3 Pedir plan sin modificar archivos
- 4 Revisar y aprobar el plan
- 5 Implementar la primera versión mínima
- 6 Añadir tests para la nueva funcionalidad
- 7 Ejecutar validaciones completas
- 8 Revisar el diff manualmente
- 9 Actualizar documentación si procede
- 10 Crear commit pequeño y claro
✓ Validaciones
- → Tests unitarios pasan
- → Tests de integración si hay API/DB
- → Linter sin errores
- → Typecheck limpio
- → Build correcto
- → Prueba manual del flujo
! Errores comunes
- × Meter refactor y feature en el mismo cambio
- × No crear tests
- × Cambiar contratos públicos sin documentar
- × No revisar el diff
- × Aceptar dependencias innecesarias
✓ Checklist
- Rama creada
- Plan revisado
- Cambios limitados al alcance
- Tests añadidos
- Validaciones ejecutadas
- Diff revisado
- Commit pequeño y claro
Quiero implementar la feature [nombre]. Antes de modificar archivos: 1. Localiza archivos relevantes. 2. Resume el comportamiento actual. 3. Propón un plan incremental. 4. Indica tests necesarios. 5. Espera confirmación. Restricciones: - No añadir dependencias sin permiso. - No refactorizar partes no relacionadas. - Mantener arquitectura existente. Validación: - Ejecuta tests relacionados. - Ejecuta lint/typecheck/build si aplica. - Resume diff y riesgos.
Arreglar un bug
Corregir un comportamiento incorrecto identificando causa raíz y evitando regresiones.
Pasos
- 1 Reproducir el bug de forma consistente
- 2 Guardar el error, log o test fallido
- 3 Pedir investigación sin modificar archivos
- 4 Confirmar la causa raíz antes de tocar nada
- 5 Implementar el fix mínimo necesario
- 6 Añadir test de regresión
- 7 Ejecutar validaciones relacionadas
- 8 Revisar el diff para confirmar el alcance
✓ Validaciones
- → El test que fallaba ahora pasa
- → Test nuevo de regresión añadido
- → Tests relacionados siguen pasando
- → Validación manual si es visual
! Errores comunes
- × Arreglar solo el síntoma ignorando la causa
- × Borrar validaciones para que pase el test
- × Crear un fix demasiado amplio
- × No añadir test de regresión
✓ Checklist
- Bug reproducido
- Causa raíz explicada
- Fix mínimo aplicado
- Test de regresión añadido
- Validación ejecutada
- Diff revisado
Hay un bug en [zona]. Comportamiento esperado: [describe] Comportamiento actual: [describe] Error/log/test: [pega lo relevante] Investiga la causa raíz sin modificar archivos. Después propón el fix mínimo y los tests necesarios para evitar regresión.
Refactorizar sin romper comportamiento
Mejorar estructura interna manteniendo exactamente el mismo comportamiento externo.
Pasos
- 1 Identificar zona concreta a refactorizar
- 2 Revisar tests existentes para esa zona
- 3 Añadir tests de caracterización si falta cobertura
- 4 Pedir plan incremental sin tocar código
- 5 Refactorizar por pasos pequeños y verificables
- 6 Ejecutar tests tras cada fase importante
- 7 Revisar el diff para confirmar sin regresiones
- 8 Documentar si cambia la arquitectura interna
✓ Validaciones
- → Tests existentes siguen pasando
- → Tests de caracterización añadidos
- → Typecheck limpio
- → Linter sin errores
- → Comportamiento antes/después idéntico
! Errores comunes
- × Refactor masivo sin tests de protección
- × Cambiar nombres públicos sin actualizar consumidores
- × Mezclar refactor con feature nueva
- × No ejecutar tests entre fases
✓ Checklist
- Alcance limitado
- Tests protegen comportamiento
- Plan incremental seguido
- Sin cambios funcionales no deseados
- Validación completa pasada
- Diff comprensible
Quiero refactorizar [zona] sin cambiar comportamiento. Primero analiza: 1. Problemas actuales. 2. Cobertura de tests existente. 3. Riesgos. 4. Plan incremental. No modifiques archivos hasta explicar cómo validaremos que el comportamiento no cambia.
Escribir tests
Aumentar confianza en una funcionalidad y proteger futuros cambios.
Pasos
- 1 Pedir análisis del estilo de tests existente
- 2 Listar casos a cubrir con prioridad
- 3 Priorizar casos críticos y edge cases
- 4 Crear tests siguiendo el estilo del proyecto
- 5 Ejecutar la suite completa
- 6 Ajustar si los tests son frágiles
- 7 Documentar el comando usado
✓ Validaciones
- → Tests nuevos pasan
- → Tests antiguos siguen pasando
- → Casos críticos cubiertos
- → Edge cases contemplados
! Errores comunes
- × Mockear demasiado
- × Testear implementación en vez de comportamiento
- × Crear tests que siempre pasan
- × No cubrir casos de error
✓ Checklist
- Estilo existente respetado
- Casos críticos cubiertos
- Edge cases incluidos
- Tests ejecutados y pasan
- No se modificó código productivo innecesariamente
Añade tests para [funcionalidad]. Antes: 1. Analiza tests existentes. 2. Detecta estilo, helpers y convenciones. 3. Propón casos de prueba con prioridad. Después: - Implementa tests centrados en comportamiento. - Evita acoplarlos demasiado a implementación. - Ejecuta tests relacionados.
Revisar una pull request
Detectar problemas antes de fusionar cambios al repositorio principal.
Pasos
- 1 Obtener el diff actual o del PR
- 2 Pedir resumen de los cambios
- 3 Pedir revisión por categorías (bugs, seguridad, arquitectura)
- 4 Separar problemas críticos de mejoras opcionales
- 5 Corregir los problemas detectados
- 6 Volver a validar tras las correcciones
- 7 Preparar descripción clara del PR
✓ Validaciones
- → Tests pasan
- → Lint limpio
- → Build correcto
- → Revisión manual de cambios críticos
- → Checklist de PR completo
! Errores comunes
- × Aceptar todo porque "compila"
- × No revisar cambios de permisos
- × No comprobar tests
- × Mezclar varios objetivos en una PR
✓ Checklist
- Diff entendido
- Riesgos críticos revisados
- Tests adecuados
- Descripción de PR clara
- Validaciones documentadas
Revisa el diff actual como reviewer senior. No modifiques archivos. Busca: 1. Bugs. 2. Edge cases. 3. Problemas de seguridad. 4. Problemas de arquitectura. 5. Tests faltantes. 6. Código innecesario. 7. Naming inconsistente. 8. Riesgos de regresión. Devuelve comentarios concretos por archivo y prioridad.
Documentar un módulo
Crear documentación útil para mantenimiento y onboarding de nuevos desarrolladores.
Pasos
- 1 Pedir análisis del módulo sin modificar nada
- 2 Identificar propósito y flujo principal
- 3 Generar documentación en Markdown
- 4 Revisar que no inventa comportamiento
- 5 Añadir ejemplos o diagramas Mermaid si ayuda
- 6 Guardar en docs/ o README del módulo
✓ Validaciones
- → Documentación coincide con el código real
- → Comandos mencionados son reales
- → Los ejemplos funcionan
- → No hay información obsoleta
! Errores comunes
- × Documentación demasiado genérica
- × Inventar comportamiento no existente
- × No actualizar docs tras cambios
✓ Checklist
- Propósito claro
- Flujo principal explicado
- Archivos importantes listados
- Comandos validados
- Inferencias marcadas
Documenta el módulo [nombre] en Markdown. Incluye: 1. Propósito. 2. Flujo principal. 3. Archivos importantes. 4. Cómo probar. 5. Decisiones técnicas. 6. Riesgos conocidos. 7. Ejemplos de uso. 8. Diagrama Mermaid si ayuda. Marca claramente cualquier inferencia.
Mejorar rendimiento
Mejorar rendimiento basándose en evidencia real, no en suposiciones.
Pasos
- 1 Definir el síntoma específico
- 2 Medir o localizar evidencia del problema
- 3 Pedir análisis de posibles cuellos de botella
- 4 Elegir una optimización concreta
- 5 Implementar el cambio mínimo
- 6 Medir de nuevo para comparar
- 7 Documentar el resultado
✓ Validaciones
- → Métrica antes/después comparada
- → Tests siguen pasando
- → Build correcto
- → Complejidad no aumentada innecesariamente
! Errores comunes
- × Optimizar sin medir
- × Añadir caché sin invalidación clara
- × Añadir complejidad excesiva
- × Romper comportamiento por ganar velocidad
✓ Checklist
- Problema medido
- Optimización justificada por evidencia
- Cambio mínimo
- Resultado comparado
- Sin complejidad innecesaria
Investiga rendimiento en [zona]. No optimices todavía. Primero: 1. Identifica posibles cuellos de botella. 2. Distingue evidencia de hipótesis. 3. Propón mediciones concretas. 4. Ordena mejoras por impacto y riesgo.
Investigar una codebase desconocida
Entender un proyecto nuevo rápidamente sin romper nada.
Pasos
- 1 Pedir análisis sin cambios
- 2 Leer README y configuraciones
- 3 Identificar el stack principal
- 4 Mapear la estructura de carpetas
- 5 Identificar comandos de desarrollo
- 6 Mapear módulos críticos
- 7 Crear resumen persistente en docs/
✓ Validaciones
- → Comandos detectados existen y funcionan
- → Mapa de carpetas coincide con realidad
- → No hay inferencias vendidas como hechos
! Errores comunes
- × Intentar entender todo de golpe
- × Saltar a implementar sin orientación
- × No guardar el resumen en documentación
✓ Checklist
- Stack entendido
- Comandos identificados
- Módulos críticos localizados
- Riesgos anotados
- Resumen guardado en docs/
Estoy entrando en esta codebase por primera vez. No modifiques nada. Dame: 1. Resumen del proyecto. 2. Stack. 3. Estructura de carpetas. 4. Comandos de desarrollo. 5. Módulos principales. 6. Flujo de datos. 7. Riesgos. 8. Próximos pasos recomendados.
Preparar release
Preparar una versión con cambios documentados, validados y seguros.
Pasos
- 1 Revisar commits desde la última release
- 2 Generar changelog con features y fixes
- 3 Ejecutar suite completa de tests
- 4 Revisar migraciones de base de datos
- 5 Revisar variables de entorno nuevas
- 6 Revisar breaking changes y compatibilidad
- 7 Crear tag/release documentado
✓ Validaciones
- → Tests completos pasan
- → Build correcto
- → Lint limpio
- → Typecheck sin errores
- → Migraciones revisadas
- → Changelog revisado y preciso
! Errores comunes
- × No revisar breaking changes
- × Olvidar variables de entorno nuevas
- × No probar migraciones
- × Generar changelog inventado
✓ Checklist
- Tests completos pasan
- Build correcto
- Migraciones revisadas
- Changelog preparado
- Variables de entorno documentadas
- Tag/release listo
Ayúdame a preparar una release. No ejecutes comandos destructivos. Revisa: 1. Cambios desde la última release/tag. 2. Features añadidas. 3. Bugs corregidos. 4. Breaking changes. 5. Migraciones. 6. Variables de entorno nuevas. 7. Tests recomendados. 8. Changelog. 9. Checklist de despliegue.
Trabajar con Git
Mantener cambios controlados, reversibles y revisables en todo momento.
Pasos
- 1 Crear rama desde main actualizado
- 2 Trabajar por tarea con alcance claro
- 3 Revisar git status periódicamente
- 4 Revisar git diff antes de cualquier commit
- 5 Pedir resumen de cambios a Claude
- 6 Crear commits pequeños con intención clara
- 7 Preparar PR descriptiva si procede
✓ Validaciones
- → git status limpio tras commit
- → Diff revisado manualmente
- → Commit con alcance claro
- → Sin archivos temporales ni generados
! Errores comunes
- × Commits gigantes con muchas cosas mezcladas
- × Incluir archivos generados accidentalmente
- × Mezclar cambios no relacionados
- × Commit sin ejecutar tests
✓ Checklist
- Rama correcta
- Diff revisado
- Cambios agrupados por intención
- Tests ejecutados
- Commit claro y pequeño
Revisa el estado Git actual. Quiero que: 1. Resumas archivos modificados. 2. Agrupes cambios por intención. 3. Detectes cambios sospechosos. 4. Propongas commits pequeños. 5. Propongas mensajes de commit en español. No hagas commit todavía.
Automatizar tareas repetitivas
Convertir prompts o acciones frecuentes en slash commands, skills o hooks.
Pasos
- 1 Identificar la tarea que se repite
- 2 Escribir un prompt estable para ella
- 3 Convertirlo en slash command o skill
- 4 Añadir validaciones al flujo
- 5 Probar en un caso real
- 6 Ajustar y documentar
✓ Validaciones
- → La automatización no hace cambios destructivos
- → Es fácil de entender y mantener
- → Tiene límites claros de acción
- → Se puede desactivar fácilmente
! Errores comunes
- × Automatizar antes de entender el proceso
- × Crear hooks demasiado lentos o pesados
- × Dar permisos excesivos
- × Acumular plugins innecesarios
✓ Checklist
- Tarea repetitiva identificada
- Automatización simple y clara
- Límites definidos
- Validación probada
- Documentada en el proyecto
Quiero automatizar esta tarea repetitiva: [describe]. Diseña una solución usando: 1. Slash command si es un prompt frecuente. 2. Skill si es un workflow especializado. 3. Hook si debe ejecutarse automáticamente. 4. MCP si necesita acceder a una herramienta externa. Dame estructura de archivos, contenido sugerido y riesgos.
Control de versiones
Git + Claude Code
Git es el cinturón de seguridad al trabajar con agentes IA. Cada tarea, una rama. Cada intención, un commit.
Flujo Git recomendado
Una rama por tarea, commits pequeños, diff revisado siempre antes de fusionar
Flujo recomendado con ramas
git checkout main && git pull Actualizar rama principal
git checkout -b feature/nueva Crear rama de tarea
claude Abrir Claude Code en esa rama
prompt de plan Pedir plan antes de implementar
implementar Cambios graduales
pnpm test && pnpm lint Validar tests y linter
git diff Revisar diff manualmente
git commit -m "feat: ..." Commit pequeño y claro
Commits pequeños
-
feat(auth): añade validación de registroIntención + zona + cambio concreto
-
test(users): cubre email duplicadoTest separado del cambio funcional
-
docs(api): documenta autenticaciónDocumentación con alcance claro
-
fix(login): corrige expiración de tokenBug específico y verificable
cambios varioscosasarregloswip.final final No dicen intención, alcance ni riesgo. Si no puedes explicar el commit en una frase, todavía es demasiado grande.
Naming de ramas
feature/ Funcionalidad nueva
fix/ Corrección de bug
refactor/ Mejora interna
docs/ Documentación
Revisar diff con Claude
Revisa el diff actual como reviewer senior. Busca cambios no relacionados, riesgos, bugs, deuda técnica y tests faltantes. No modifiques nada.
Generar mensajes de commit
Analiza el diff actual y divide los cambios en commits lógicos. Propón mensajes en español usando Conventional Commits. No hagas commit todavía.
Preparar una Pull Request
Prepara una descripción de pull request basada en el diff actual. Formato: ## Resumen ## Cambios principales ## Validación ## Riesgos ## Checklist
Checklist de PR
- Cambios limitados al alcance
- Tests añadidos o actualizados
- Validaciones ejecutadas
- Sin secretos en el código
- Sin dependencias innecesarias
- Documentación actualizada si procede
Resolver conflictos con Claude
Prompt: "Ayúdame a resolver conflictos de merge. Primero explica qué archivos están en conflicto, resume las dos versiones y propón resolución preservando la intención de ambas ramas. No modifiques hasta que confirme."
Git Worktrees para trabajo paralelo
Permite tener varias carpetas del mismo repositorio con ramas distintas. Útil para usar Claude y Codex en paralelo sin mezclar cambios.
git worktree add ../proyecto-claude feature/claude-task git worktree add ../proyecto-codex feature/codex-review # Resultado: # mi-proyecto/ ← rama principal # mi-proyecto-claude/ ← Claude Code trabaja aquí # mi-proyecto-codex/ ← Codex revisa aquí
Riesgo en worktrees
Validación
Testing y validación
La validación convierte una respuesta bonita en trabajo útil. No existe tarea bien terminada sin sus tests ejecutados.
Unit tests
Validan piezas pequeñas: funciones, servicios, casos de uso, componentes aislados.
- → Lógica de negocio pura
- → Validaciones
- → Transformaciones
- → Edge cases
Funciones, servicios, casos de uso Integration tests
Validan varias piezas trabajando juntas con infraestructura real.
- → API + servicio + repositorio
- → Backend + base de datos de test
- → Flujo de autenticación
- → Componentes con estado
API, DB, servicios conectados E2E tests
Validan el flujo completo desde la perspectiva del usuario.
- → Playwright / Cypress
- → Selenium / TestCafe
- → Flujos críticos de usuario
- → Happy path + errores
Flujos críticos del usuario Comandos de validación
Detecta problemas de estilo y patrones no deseados
pnpm linteslint .ruff check . Ejecuta el linter. Si falla, corrige solo los errores relacionados con esta tarea.
Detecta errores de tipos en TypeScript o Python
tsc --noEmitpnpm typecheckmypy . Ejecuta typecheck. Si falla, explica cada error y corrige solo los relacionados con los cambios actuales.
Valida que el proyecto compila o empaqueta correctamente
pnpm buildnpm run builduv run python -m build Ejecuta el build. Si falla, investiga si el fallo está relacionado con nuestros cambios antes de modificar nada.
Prompt completo para crear tests
Quiero que añadas cobertura de tests para [feature/módulo]. Antes de crear tests: 1. Analiza los tests existentes. 2. Identifica framework y convenciones. 3. Lista casos críticos. 4. Señala edge cases. 5. Indica si falta infraestructura de test. Después: - Implementa tests siguiendo el estilo existente. - Prioriza comportamiento sobre implementación. - Ejecuta tests relacionados. - Resume qué se cubrió y qué queda fuera.
Matriz de pruebas de ejemplo
| Área | Caso | Tipo | Prioridad |
|---|---|---|---|
| Registro | Email válido | Unit/Integration | Alta |
| Registro | Email duplicado | Integration | Alta |
| Login | Credenciales inválidas | Integration | Alta |
| Login | Token expirado | Integration | Alta |
| UI | Formulario responsive | Manual/E2E | Media |
| Seguridad | Acceso sin autenticar | Integration | Alta |
| Performance | Listado con 1000 items | Manual/E2E | Baja |
Validación manual
No todo se valida con tests automatizados. Algunas cosas requieren revisión manual:
- → UI y experiencia visual
- → Accesibilidad
- → Flujos de usuario complejos
- → Emails y notificaciones
- → Exportaciones y descargas
- → Rendimiento percibido
- → Que no haya datos sensibles visibles
Seguridad
Seguridad y control
Seguridad no significa solo 'que no haya hacks'. También significa no exponer secretos, no ejecutar comandos destructivos y no perder el control de qué toca la IA.
Lo que nunca debes hacer con Claude Code
- ✕ Ejecutar comandos destructivos sin revisar
- ✕ Permitir cambios en producción sin control
- ✕ Pegar API keys, tokens o secretos en prompts
- ✕ Dejar que modifique
.envsin permiso explícito - ✕ Aceptar dependencias nuevas automáticamente
- ✕ Dar acceso MCP a bases de datos de producción sin límites
- ✕ Permitir borrado masivo de archivos
- ✕ Fusionar cambios sin revisar el diff
- ✕ Usar Claude para relajar validaciones de seguridad porque "molestan"
- ✕ Trabajar en
maindirectamente
Comandos que requieren especial cuidado
# Requieren revisión SIEMPRE antes de ejecutar rm -rf sudo chmod -R chown -R DROP DATABASE TRUNCATE TABLE migration apply en producción npm install paquete-desconocido curl | bash docker system prune
Antes de ejecutar cualquier comando que modifique archivos, dependencias, base de datos o configuración, explícame qué hace, por qué es necesario y qué riesgo tiene. Espera mi confirmación.
Manejo de secretos
Revisa el diff actual buscando secretos, tokens, claves, credenciales, URLs sensibles o configuración que no debería versionarse. No modifiques archivos; primero informa.
Principios de permisos
Permisos mínimos
Claude solo accede a lo estrictamente necesario.
Solo carpetas necesarias
No acceso al sistema completo, solo al proyecto.
Bases de datos de desarrollo
Nunca producción, nunca datos reales en MCP.
Tokens con alcance limitado
Read-only cuando sea posible.
MCPs separados por entorno
Dev, staging y prod con configuraciones distintas.
Confirmación para acciones sensibles
Especialmente cambios de auth, permisos o BD.
Validar dependencias nuevas
Antes de aceptar cualquier dependencia que Claude proponga, responde estas preguntas:
Antes de añadir esta dependencia, evalúa si realmente es necesaria. Compara con alternativas existentes en el proyecto, revisa impacto, riesgos, mantenimiento y una opción sin dependencia nueva.
Checklist de seguridad completo
Antes de cada tarea
- Nueva rama creada
- CLAUDE.md con permisos claros
- Modo conservador activado
Durante la implementación
- No pegar secretos en prompts
- Revisar comandos antes de ejecutar
- Confirmar cambios de auth/permisos
Antes del commit
- Revisar git diff manualmente
- Buscar secretos en el diff
- Tests ejecutados
Dependencias nuevas
- Justificación clara
- Licencia compatible
- npm audit pasado
Base de datos
- Solo entorno de desarrollo
- Migración revisada manualmente
- Rollback planificado
Pull request
- Cambios de auth revisados
- Permisos verificados
- Descripción honesta de validaciones
Arquitectura
Arquitectura y refactors grandes
Los cambios arquitectónicos son los más arriesgados. El secreto: primero analizar sin tocar, luego planificar en pequeño, luego ejecutar con tests.
Análisis previo sin modificar
Analiza la arquitectura actual de [zona]. No modifiques archivos. Quiero entender: 1. Responsabilidades actuales. 2. Acoplamientos problemáticos. 3. Dependencias entre capas. 4. Problemas de mantenibilidad. 5. Riesgos del estado actual. 6. Alternativas de mejora. 7. Plan incremental recomendado.
Plan incremental de bajo riesgo
Diseña un plan incremental para refactorizar [zona] con bajo riesgo. Cada paso debe incluir: - Objetivo. - Archivos afectados. - Validación. - Riesgo. - Posibilidad de rollback. No implementes todavía.
Reglas para refactors seguros
No refactorizar sin tests
Sin tests, no hay forma de saber si algo se rompe
No cambiar comportamiento externo
Los consumidores no deben notar el cambio
No tocar módulos no relacionados
El alcance se dispara y el diff se vuelve incontrolable
No cambiar nombres públicos sin actualizar consumidores
Romper contratos sin notificar
No mezclar limpieza con feature
Imposible revisar qué hace qué en el diff
Hacer commits pequeños
Sin commits pequeños, el rollback es mucho más difícil
Este refactor debe ser seguro. Si detectas que requiere tocar demasiados archivos, detente y propón una división en fases más pequeñas.
Architecture Decision Records (ADRs)
Un ADR documenta el porqué de una decisión técnica. Es quizá la documentación más valiosa que puedes generar con Claude.
# ADR-0001: [Título] ## Estado Propuesto | Aceptado | Rechazado | Sustituido ## Contexto Qué problema tenemos y por qué importa. ## Decisión Qué decidimos hacer. ## Alternativas consideradas - Alternativa A: pros y contras. - Alternativa B: pros y contras. ## Consecuencias positivas - ... ## Consecuencias negativas - ... ## Validación Cómo comprobaremos que la decisión funciona.
Genera un ADR para la decisión [nombre]. Incluye: 1. Contexto del problema. 2. Decisión tomada. 3. Alternativas consideradas. 4. Consecuencias positivas y negativas. 5. Riesgos. 6. Validación. Usa Markdown. No inventes datos no confirmados.
Estructura recomendada
docs/
decisions/
0001-auth-strategy.md
0002-database-migrations.md
0003-frontend-state-management.md Documentar decisiones técnicas
Documenta el PORQUÉ, no el QUÉ
El código ya muestra qué hace. Lo que se pierde sin documentar es el razonamiento.
Incluye alternativas descartadas
Evita que futuros devs "redescubran" soluciones que ya se descartaron con razón.
Marca el estado
Propuesto, Aceptado, Rechazado o Sustituido. Los ADRs obsoletos también tienen valor.
Enlaza PRs o issues
La trazabilidad entre decisión, conversación y código es invaluable.
Crea un project-map.md vivo
Crea un documento docs/project-map.md que se actualice cada vez que se investigue un módulo importante. Incluye resumen del módulo, rutas de archivos clave y comandos relacionados. Claude puede ayudarte a mantenerlo.
Nivel avanzado
Automatización avanzada
MCP, hooks, slash commands, memoria, subagentes y skills. La capa que convierte Claude Code en un sistema de trabajo repetible.
Sistema de automatización de Claude Code
Cada pieza tiene un papel específico. Combinarlas crea un sistema de trabajo robusto.
MCP — Model Context Protocol
Protocolo para conectar Claude Code con herramientas externas de forma estructurada. Potente, pero requiere configuración cuidadosa.
Casos de uso
| Herramienta | Uso |
|---|---|
| GitHub | Issues, PRs, comentarios, ramas |
| Figma | Interpretar diseños y crear componentes |
| PostgreSQL | Esquemas y datos de desarrollo |
| Obsidian / Notion | Notas técnicas y documentación |
| Playwright | Validación visual y E2E |
| Sentry | Investigar errores reales |
| Filesystem | Acceso a carpetas controladas |
Riesgos de MCP
Diseña una configuración MCP segura para este proyecto. Quiero conectar solo herramientas necesarias. Indica propósito, permisos mínimos, riesgos y alternativa sin MCP.
Buenas prácticas con MCP
Hooks
Acciones automáticas que se ejecutan en momentos concretos. Convierten recomendaciones en reglas automáticas.
Trigger: Editar frontend
→ Ejecutar lint automáticamente
Trigger: Modificar backend
→ Lanzar tests relacionados
Trigger: Tocar .env
→ Bloquear y avisar
Trigger: Cambiar package.json
→ Avisar de nueva dependencia
Trigger: Guardar archivo
→ Formatear con prettier
Trigger: Pre-commit
→ Validar que no hay secretos
Buenas prácticas con Hooks
Slash Commands
Comandos reutilizables para los prompts que usas con más frecuencia. Un comando = una intención.
Slash commands recomendados
/review-diff Revisar el diff actual como reviewer senior /security-audit Revisar auth, permisos, secretos y validación /write-tests Crear tests siguiendo el estilo del proyecto /write-adr Generar un ADR para una decisión técnica /prepare-pr Preparar descripción de pull request /explain-module Explicar cómo funciona un módulo /refactor-plan Diseñar plan de refactor seguro Ejemplo de slash command
# /review-diff Revisa el diff actual como reviewer senior. No modifiques archivos. Busca: - Bugs y edge cases. - Problemas de seguridad. - Problemas de arquitectura. - Tests faltantes. - Cambios no relacionados. Devuelve hallazgos por prioridad.
Buenas prácticas
Memoria
✓ Usar para
- ✓ Preferencias globales de estilo
- ✓ Estilo de commits preferido
- ✓ Herramientas favoritas
- ✓ Nivel de explicación deseado
✕ No usar para
- ✕ Decisiones técnicas temporales
- ✕ Logs o errores puntuales
- ✕ Documentación completa del proyecto
- ✕ Información sensible o credenciales
Subagentes
Especialistas con un enfoque concreto para tareas aisladas sin contaminar el contexto principal.
| Subagente | Uso principal |
|---|---|
security-reviewer | Revisar auth, permisos, secretos y validaciones |
architecture-reviewer | Revisar capas, acoplamiento y diseño |
test-writer | Crear cobertura coherente con el proyecto |
frontend-ui-reviewer | Revisar UI, responsive y accesibilidad |
database-reviewer | Revisar queries, migraciones e índices |
docs-writer | Crear documentación técnica |
refactor-planner | Diseñar refactors seguros con plan incremental |
Usa un subagente especializado en arquitectura para revisar esta propuesta. No debe modificar archivos. Debe devolver riesgos, alternativas y recomendación final.
Skills
Un workflow especializado empaquetado como instrucciones reutilizables. Vive en .claude/skills/.
Estructura
.claude/skills/
backend-clean-architecture/
SKILL.md
frontend-ui-review/
SKILL.md
test-generation/
SKILL.md Skills recomendadas
backend-clean-architecturefrontend-clean-uireact-component-reviewfastapi-endpointdatabase-migration-reviewauth-security-reviewtest-generationgit-commit-spanishproject-audit Ejemplo de SKILL.md
--- name: backend-clean-architecture description: Usar al implementar o revisar backend con arquitectura limpia. --- Antes de tocar código: 1. Identifica la capa afectada. 2. Explica si el cambio pertenece a domain, application, infrastructure o presentation. 3. Propón un plan corto. 4. Implementa cambios pequeños. 5. Ejecuta tests relacionados. 6. Resume archivos modificados. Reglas: - No meter lógica de negocio en controllers. - No acoplar domain a frameworks. - No añadir dependencias sin justificar.
Base de conocimiento
Obsidian + Claude Code
Obsidian como cerebro externo para Claude: decisiones vigentes, convenciones y contexto de proyecto sin repetir nada en cada sesión.
En lugar de repetirle a Claude las decisiones de arquitectura, convenciones y contexto del proyecto en cada sesión, lo documentas una vez en Obsidian y Claude lo consulta a través del MCP de Obsidian o acceso directo a carpetas.
La trampa habitual
Estructura recomendada
Obsidian/
Proyectos/
MiProyecto/
arquitectura.md
decisiones.md
prompts-utiles.md
errores-frecuentes.md
OtroProyecto/
identidad-visual.md
estructura-docs.md
decisiones.md
Programacion/
clean-architecture.md
fastapi.md
react.md
testing.md Qué documentar en Obsidian
- ✓ Decisiones técnicas importantes y por qué se tomaron
- ✓ Convenciones del proyecto acordadas
- ✓ Arquitectura actual y sus capas
- ✓ Errores que ya resolviste y cómo
- ✓ Prompts que han funcionado bien
- ✓ Explicaciones tuyas de partes complejas
Qué NO meter
- ✕ Conversaciones enteras copiadas sin limpiar
- ✕ Logs gigantes de terminal
- ✕ Cosas temporales o borradores sin estado
- ✕ "Quizá algún día…" sin criterio (× 800)
- ✕ Información que ya está en el código
- ✕ Duplicados de lo que ya está en CLAUDE.md
Cuándo usar cada herramienta
| Herramienta | Para qué | Duración |
|---|---|---|
| CLAUDE.md | Reglas del proyecto para esta sesión | Estable por proyecto |
| Memory | Preferencias globales tuyas | Muy estable, poca cosa |
| Skills | Workflows reutilizables | Estable por tipo de tarea |
| Obsidian | Conocimiento profundo y decisiones documentadas | Crece con el proyecto |
| Docs/ADRs | Historial de decisiones formales del repo | Permanente |
Regla: no metas todo en memory. Si todo es importante, nada es importante.
Cómo decirle a Claude que use Obsidian
Consulta mis notas de Obsidian sobre este proyecto y usa solo las decisiones marcadas como vigentes. No contradigas ninguna decisión vigente sin justificarlo primero.
Antes de proponer un plan, revisa la nota de arquitectura de este proyecto en Obsidian. Si detectas conflicto con decisiones vigentes, indícalo antes de continuar.
Riesgos
- ! Notas desactualizadas que Claude toma como verdad
- ! Demasiada información sin marcar prioridad
- ! MCP mal configurado con acceso excesivo
- ! Claude mezclando notas de proyectos distintos
Buenas prácticas
- ✓ Marcar decisiones como vigente / obsoleto / en revisión
- ✓ Separar proyectos con carpetas claras
- ✓ Notas cortas y accionables, no ensayos
- ✓ Revisar periódicamente qué está obsoleto
- ✓ Usar Obsidian para el "por qué", el código para el "cómo"
Voy a usar Obsidian como base de conocimiento para este proyecto. Ayúdame a diseñar la estructura de notas: qué documentar, en qué formato y cómo diferenciarlo de CLAUDE.md y de la documentación del repo.
Frontend y diseño
Claude para UI y diseño frontend
Revisor de diseño, conversor de Figma a componentes, auditor de design systems. La clave es separar las fases y no pedirle todo de golpe.
Claude puede revisar jerarquía visual, espaciado, contraste, responsive y accesibilidad. Puede convertir diseños Figma en componentes React/Astro y ayudar a crear o extender design systems.
Funciona mucho mejor con contexto visual real: capturas pegadas directamente, Figma vía MCP, o acceso a la app en local con Playwright.
Sin criterio, resultado genérico
Para qué sirve Claude en frontend
- → Revisar jerarquía visual, espaciado y contraste
- → Detectar inconsistencias entre componentes
- → Convertir diseños Figma a React/Astro
- → Crear o extender design systems
- → Revisar responsive y accesibilidad
- → Proponer mejoras de UX sin romper identidad
- → Generar variantes de componentes
- → Auditar densidad visual y sensación profesional
El flujo correcto: 4 fases separadas
No mezcles análisis, propuesta e implementación en un solo prompt. Cada fase tiene su objetivo.
Crítica visual
Claude analiza sin escribir código. Detecta problemas de jerarquía, espaciado, contraste y consistencia.
Propuesta
Propone mejoras concretas manteniendo la identidad del producto. Justifica cada cambio.
Implementación
Implementa solo cambios visuales. No toca lógica ni comportamiento.
Revisión
Verifica que no hay regresiones ni inconsistencias con el resto de la pantalla.
Analiza esta pantalla como diseñador senior de producto. No escribas código todavía. Detecta problemas de: - Jerarquía visual y foco del usuario - Espaciado y densidad de información - Contraste y legibilidad - Consistencia entre elementos - Sensación general (profesional, sobrecargada, amateur...) Devuelve diagnóstico priorizado.
Con base en el diagnóstico anterior, propón mejoras concretas. Mantén la identidad visual del producto. No propongas cambios de paleta completos salvo que sea necesario. Justifica cada propuesta.
Implementa solo los cambios visuales en estos componentes. No toques lógica ni comportamiento. Valida que el resultado es responsive y no rompe otros estados del componente.
Revisa el resultado visual. ¿Hay regresiones respecto al resto de la pantalla? ¿Algo quedó inconsistente con los demás componentes?
Cómo darle contexto visual
Captura directa
Pega la pantalla en el chat. Claude la analiza visualmente.
Figma + MCP
Conecta Figma vía MCP para acceso directo al diseño fuente.
Playwright
Claude accede a la app en local y la ve como un usuario real.
Código del componente
Pasa el código actual como referencia para mantener convenciones.
Sin contexto visual, sin resultado fiable
Prompts de referencia
Revisa esta pantalla como diseñador de producto. Evalúa: - Jerarquía visual - Espaciado y tamaños - Contraste y accesibilidad - Consistencia de estilos - Responsive - Sensación profesional No escribas código todavía. Dame diagnóstico y propuesta.
Tengo este diseño de Figma [pegar imagen o descripción]. El proyecto usa React + Tailwind + shadcn/ui. Crea el componente siguiendo estas convenciones: [describir]. Primero dame el plan (props, estados, estructura), luego implementa.
Riesgos
- ! Propone estilos genéricos sin identidad de producto
- ! Sin contexto visual, las suposiciones pueden fallar
- ! Puede romper responsive al enfocarse solo en desktop
- ! Puede sobrescribir tokens del design system
- ! Sin separar fases, mezcla análisis y código de golpe
Buenas prácticas
- ✓ Siempre dar contexto visual antes de pedir código
- ✓ Separar: crítica → propuesta → implementación → revisión
- ✓ Especificar librerías y convenciones del proyecto
- ✓ Pedir que no toque lógica cuando solo quieres cambios visuales
- ✓ Revisar visualmente antes de hacer commit (no confiar solo en código)
- ✓ Usar subagente frontend-ui-reviewer para no saturar contexto
Referencia rápida
Cheatsheets
Tablas de referencia para tener siempre a mano. Acciones, prompts, flujos, señales de riesgo y validaciones.
Acciones rápidas
| Qué quieres hacer | Qué pedir |
|---|---|
| Entender un proyecto | "Analiza esta codebase sin modificar archivos" |
| Crear una feature | "Propón plan incremental antes de implementar" |
| Arreglar un bug | "Investiga causa raíz antes de tocar código" |
| Refactorizar | "No cambies comportamiento; protege con tests" |
| Escribir tests | "Sigue estilo existente y cubre edge cases" |
| Revisar seguridad | "Revisa auth, permisos, secretos y validación" |
| Preparar PR | "Resume diff, validación, riesgos y checklist" |
| Crear commit | "Propón mensajes en español con Conventional Commits" |
| Documentar | "Documenta propósito, flujo, archivos y riesgos" |
| Optimizar rendimiento | "Mide antes de optimizar, identifica evidencia" |
Prompts cortos útiles
| Situación | Prompt |
|---|---|
| No tocar archivos | No modifiques archivos. Primero analiza y propón plan. |
| Validar cambios | Ejecuta tests relacionados y resume resultados. |
| Revisar diff | Busca bugs, riesgos y cambios no relacionados. |
| Evitar scope creep | No refactorices nada fuera del alcance. |
| Seguridad | Evalúa autenticación, autorización y secretos. |
| Arquitectura | Distingue entre domain, application, infrastructure y presentation. |
| Dependencias | No añadas dependencias sin justificar y pedir permiso. |
| Contexto grande | Céntrate solo en este módulo. |
| Bug | Explica causa raíz antes del fix. |
| Tests | Prioriza comportamiento sobre implementación. |
Flujos de trabajo resumidos
Feature
Bug
Refactor
Pull Request
Release
Proyecto grande
Señales de riesgo y qué hacer
| Señal de alerta | Qué hacer |
|---|---|
| ! Claude toca muchos archivos sin pedirlo | Detener y pedir plan por fases más pequeñas |
| ! Propone dependencia nueva | Exigir justificación y comparar con alternativas |
| ! Cambia auth o permisos | Revisión manual obligatoria antes de aceptar |
| ! Elimina archivos | Revisar cada archivo antes de aceptar |
| ! Conversación larguísima | Resumir, guardar en docs y abrir sesión nueva |
| ! Repite errores ya cometidos | Limpiar contexto y replantear el prompt |
| ! No ejecuta tests por sí solo | Pedir validación explícita en el prompt |
| ! Mezcla tareas distintas | Separar en ramas y prompts distintos |
| ! Dice "todo correcto" sin pruebas | Pedir comandos ejecutados y resultados |
| ! Cambia migraciones antiguas | Revisar manualmente el SQL antes de aplicar |
Validaciones por tipo de cambio
| Tipo de cambio | Validaciones recomendadas |
|---|---|
| Frontend UI | Lint, typecheck, build, revisión visual, responsive |
| Backend API | Unit tests, integration tests, lint, typecheck, prueba del endpoint |
| Auth / Permisos | Tests, revisión de seguridad, permisos, tokens, errores |
| BD / Migraciones | Tests integración, revisión SQL manual, backup, rollback |
| Refactor | Tests antes/después, diff revisado, comportamiento preservado |
| Docs | Enlaces válidos, comandos reales, coherencia con el código |
| Performance | Medición antes/después, tests, build, complejidad añadida |
| Dependencias | Auditoría, licencia, mantenimiento, impacto bundle |
Comandos Git esenciales
git status Ver estado actual del repo git diff Revisar cambios no preparados git diff --staged Revisar cambios preparados git checkout -b feature/x Crear rama nueva git add . Preparar todos los cambios git commit -m "feat: ..." Crear commit git log --oneline Historial corto git restore archivo Descartar cambios en archivo git worktree add ../repo rama Crear worktree Progresión
Roadmap de principiante a experto
7 niveles con lo que aprender, lo que practicar, un mini proyecto y los errores a evitar en cada etapa.
Mensaje central de esta guía
Claude Code no se domina escribiendo prompts más largos.
Se domina creando un sistema de trabajo: contexto limpio, tareas pequeñas, Git, tests, revisión, documentación y automatización segura.
Fundamentos
Qué aprender
- Qué es Claude Code y para qué sirve
- Cómo abrirlo en un proyecto real
- Cómo pedir análisis sin modificar archivos
- Cómo revisar cambios generados
- Git básico con ramas
Qué practicar
- → Pedir resúmenes de proyectos pequeños
- → Pedir explicación de archivos individuales
- → Pedir planes sin implementación
- → Revisar git diff manualmente
Mini proyecto
Crear una pequeña app TODO y pedir a Claude: analizar estructura, añadir una feature simple, crear tests y documentar el módulo.
Evitar
- × Pedir "haz todo" sin contexto
- × Trabajar directamente en main
- × No revisar los cambios generados
- × No ejecutar tests tras cambios
Uso diario
Qué aprender
- Prompts por fases: análisis → plan → implementar
- Crear y mantener CLAUDE.md
- Validaciones básicas (lint, test, build)
- Commits pequeños con Conventional Commits
- Separar análisis de implementación
Qué practicar
- → Crear CLAUDE.md real en un proyecto propio
- → Implementar features pequeñas con plan previo
- → Arreglar bugs buscando causa raíz
- → Pedir revisión del diff antes de commit
Mini proyecto
Añadir autenticación básica a una app de prueba, con tests, CLAUDE.md configurado y documentación del módulo.
Evitar
- × Alargar conversaciones eternamente
- × Mezclar feature con refactor en el mismo cambio
- × Aceptar dependencias sin justificación
Workflows reales
Qué aprender
- Workflows de feature, bug y PR completos
- Documentación técnica de módulos
- Matrices de pruebas
- Revisión de PRs con Claude
- Detección de edge cases
Qué practicar
- → Crear PR completa con descripción técnica
- → Pedir revisión de seguridad antes de fusionar
- → Documentar un módulo existente
- → Crear tests de integración
Mini proyecto
Crear un módulo users completo: CRUD, validaciones, tests, documentación y PR simulada con descripción completa.
Evitar
- × No definir criterios de éxito al empezar
- × Validar solo manualmente (sin tests automatizados)
- × Hacer commits gigantes con mucho mezclado
Testing y validación
Qué aprender
- Unit tests, integration tests y E2E
- Linters, typecheck y build en cada cambio
- Tests de regresión para bugs
- Tests de caracterización antes de refactorizar
- Suite completa antes de release
Qué practicar
- → Pedir tests de caracterización antes de refactorizar
- → Crear matriz de pruebas para una feature
- → Configurar comandos de validación en CLAUDE.md
- → Probar que todo pasa antes de cada commit
Mini proyecto
Tomar un módulo sin tests, protegerlo con tests de caracterización y hacer un refactor seguro validado.
Evitar
- × Tests demasiado acoplados a implementación
- × Usar mocks en exceso
- × No cubrir casos de error
- × No ejecutar suite completa antes de release
Automatización
Qué aprender
- Slash commands para prompts frecuentes
- Skills para workflows especializados
- Hooks para validaciones automáticas
- MCP para herramientas externas (con límites)
- Memoria para preferencias globales
Qué practicar
- → Crear una skill de revisión de arquitectura
- → Crear una skill de generación de tests
- → Crear slash command para revisar diff
- → Diseñar hooks no destructivos
Mini proyecto
Crear .claude/skills/project-audit/SKILL.md y usarlo en dos proyectos distintos para auditar arquitectura.
Evitar
- × Instalar MCPs o plugins sin necesidad real
- × Automatizar procesos que no entiendes aún
- × Dar permisos excesivos a automatizaciones
- × Crear hooks lentos que bloquean el flujo
Arquitectura
Qué aprender
- Refactors incrementales con plan documentado
- Architecture Decision Records (ADRs)
- Separación clara por capas
- Análisis de acoplamientos
- Decisiones técnicas documentadas
Qué practicar
- → Pedir análisis arquitectónico completo
- → Generar ADRs para decisiones importantes
- → Diseñar migraciones incrementales seguras
- → Revisar y documentar acoplamientos
Mini proyecto
Migrar un módulo legacy desordenado a arquitectura limpia: con tests de caracterización, plan incremental y ADR final.
Evitar
- × Sobrediseñar por instinto sin necesidad real
- × Cambiar arquitectura sin tests de protección
- × Refactorizar sin plan ni tests
- × No documentar las decisiones tomadas
Experto
Qué aprender
- Sistemas de trabajo multiagente
- Git worktrees para trabajo paralelo
- Claude + Codex complementarios
- MCP seguro con permisos mínimos
- Automatización controlada y auditable
Qué practicar
- → Usar Claude como arquitecto / constructor
- → Usar Codex como reviewer o segunda opinión
- → Trabajar en worktrees separados
- → Crear documentación viva del proyecto
Mini proyecto
Feature completa: Claude analiza y planifica → Claude implementa → Codex revisa el diff → Claude corrige → Tests completos → PR documentada → ADR si procede.
Evitar
- × Dejar que agentes trabajen sin supervisión
- × Dos agentes tocando la misma zona sin coordinación
- × No revisar conflictos de merge
- × Confiar en automatización sin validación manual
Recursos
Recursos externos
Documentación oficial, herramientas y referencias para profundizar en cada área.
Claude Code y Anthropic
Claude Code Docs
Documentación oficial completa de Claude Code
docs.anthropic.com/en/docs/claude-code
Claude Code Best Practices
Guía oficial de buenas prácticas del equipo de Anthropic
www.anthropic.com/engineering/claude-code-best-practices
Anthropic Docs
Documentación completa de la plataforma Anthropic
docs.anthropic.com/
Anthropic Console
Panel de control para APIs y configuración
console.anthropic.com/
Agentes, MCP y Codex
Claude Code: Extend
Visión general oficial de CLAUDE.md, skills, subagents, hooks, MCP y plugins
code.claude.com/docs/en/features-overview
Claude Code Subagents
Crear subagentes especializados con contexto y herramientas propias
code.claude.com/docs/en/sub-agents
Model Context Protocol
Arquitectura oficial de MCP: tools, resources, prompts y transports
modelcontextprotocol.io/docs/learn/architecture
OpenAI Codex CLI
Repositorio oficial del agente Codex para terminal
github.com/openai/codex
Codex AGENTS.md
Guía oficial de instrucciones persistentes para Codex
github.com/openai/codex/blob/main/docs/agents_md.md
AGENTS.md
Referencia del formato AGENTS.md para agentes de código
agents.md/
Git
Testing
Vitest
Framework de tests ultrarrápido para proyectos Vite/TS
vitest.dev/
Jest
Framework de tests popular para JavaScript y TypeScript
jestjs.io/
Testing Library
Tests centrados en el comportamiento del usuario
testing-library.com/
Playwright
Tests E2E modernos para aplicaciones web
playwright.dev/
Cypress
Tests E2E con excelente experiencia de desarrollo
docs.cypress.io/
Pytest
Framework de tests para Python
docs.pytest.org/
Seguridad
OWASP Top 10
Las 10 vulnerabilidades web más críticas
owasp.org/www-project-top-ten/
OWASP Cheat Sheet Series
Guías prácticas de seguridad por tipo de problema
cheatsheetseries.owasp.org/
npm audit
Auditoría de seguridad de dependencias npm
docs.npmjs.com/cli/commands/npm-audit
GitHub Dependabot
Alertas y actualizaciones automáticas de seguridad
docs.github.com/en/code-security/dependabot
Documentación y Arquitectura
Stack de esta guía
Las 10 reglas de oro
- 1. No uses Claude Code como chat infinito.
- 2. Una tarea, una rama, un objetivo.
- 3. Primero análisis, luego plan, luego implementación.
- 4. No permitas cambios críticos sin revisión manual.
- 5. Tests antes de refactors grandes.
- 6.
git diffsiempre antes de commit. - 7. Documenta decisiones importantes en ADRs.
- 8. Automatiza solo lo que ya entiendes.
- 9. Usa MCP con permisos mínimos.
- 10. Claude acelera; tú decides.