← Volver al listado de tecnologías
Capítulo 2: Flujos de Trabajo Avanzados y Subagentes
Capítulo 2: Flujos de Trabajo Avanzados y Subagentes
En este capítulo exploraremos las características más poderosas de Claude Code: los subagentes especializados y los flujos de trabajo avanzados que te permitirán automatizar tareas complejas.
🎯 Objetivos del Capítulo
Al finalizar este capítulo serás capaz de:
- ✅ Utilizar subagentes especializados para tareas específicas
- ✅ Implementar flujos de trabajo complejos
- ✅ Trabajar con Model Context Protocol (MCP)
- ✅ Automatizar procesos de desarrollo completos
Subagentes Especializados
Claude Code puede delegar automáticamente tareas a subagentes especializados, cada uno optimizado para un tipo específico de trabajo.
¿Qué son los Subagentes?
Los subagentes son instancias especializadas de Claude que:
- Tienen acceso limitado a herramientas específicas
- Están optimizados para tareas particulares
- Pueden trabajar de forma autónoma
- Se comunican con el agente principal
Tipos de Subagentes
# Ver subagentes disponibles
claude agents list
# Subagente para análisis de código
claude --agent analyzer "Encuentra problemas de seguridad en el código"
# Subagente para generación de tests
claude --agent tester "Crea tests para el módulo de autenticación"
# Subagente para documentación
claude --agent docs "Documenta todas las funciones públicas"
Crear Subagentes Personalizados
# Definir un subagente personalizado
cat > .claude/agents/reviewer.json << EOF
{
"name": "code-reviewer",
"description": "Especializado en code reviews",
"tools": ["read", "comment"],
"prompt": "Eres un revisor de código experto. Busca problemas de seguridad, rendimiento y mantenibilidad.",
"temperature": 0.3
}
EOF
# Usar el subagente personalizado
claude --agent reviewer "Revisa los cambios en el último commit"
Model Context Protocol (MCP)
MCP permite a Claude Code acceder a fuentes de datos externas y herramientas personalizadas.
Configuración de MCP
// .claude/mcp.json
{
"servers": {
"database": {
"command": "mcp-server-postgres",
"args": ["--connection-string", "postgresql://localhost/mydb"]
},
"jira": {
"command": "mcp-server-jira",
"args": ["--api-key", "${JIRA_API_KEY}"]
}
}
}
Uso de MCP
# Consultar base de datos a través de MCP
claude "¿Cuántos usuarios activos tenemos en la base de datos?"
# Integración con Jira
claude "Crea un resumen de los bugs abiertos en el sprint actual"
# Acceso a APIs externas
claude "Obtén el estado actual de los servicios desde nuestra API de monitoreo"
Crear tu propio servidor MCP
// mcp-server-custom.js
import { Server } from '@anthropic/mcp';
const server = new Server({
name: 'custom-tools',
version: '1.0.0',
tools: [
{
name: 'get_metrics',
description: 'Obtiene métricas del sistema',
inputSchema: {
type: 'object',
properties: {
metric: { type: 'string' }
}
},
handler: async ({ metric }) => {
// Tu lógica aquí
return { value: 42 };
}
}
]
});
server.start();
Flujos de Trabajo Complejos
1. Feature Development Completo
#!/bin/bash
# feature-development.sh
FEATURE_NAME="user-notifications"
# Paso 1: Análisis y diseño
claude "Analiza los requisitos para un sistema de notificaciones de usuario"
# Paso 2: Crear estructura
claude "Crea la estructura de archivos para el módulo de notificaciones"
# Paso 3: Implementación del backend
claude --agent backend "Implementa el servicio de notificaciones con WebSockets"
# Paso 4: Frontend
claude --agent frontend "Crea los componentes React para mostrar notificaciones"
# Paso 5: Tests
claude --agent tester "Genera tests unitarios y de integración"
# Paso 6: Documentación
claude --agent docs "Documenta la API de notificaciones"
# Paso 7: Review final
claude "Revisa la implementación completa y sugiere mejoras"
2. Refactoring Automatizado
# Identificar código que necesita refactoring
claude "Encuentra código duplicado en src/"
# Crear plan de refactoring
claude "Crea un plan detallado para eliminar la duplicación"
# Implementar refactoring paso a paso
claude --step-by-step "Ejecuta el plan de refactoring"
# Verificar que todo funciona
claude "Ejecuta los tests y verifica que no hay regresiones"
# Actualizar documentación
claude "Actualiza la documentación afectada por el refactoring"
3. Migración de Dependencias
# Script para migración completa
cat > migrate-deps.sh << 'EOF'
#!/bin/bash
# Analizar dependencias actuales
claude "Analiza package.json y encuentra dependencias desactualizadas"
# Crear branch de migración
git checkout -b dependency-migration
# Actualizar dependencias una por una
claude --careful "Actualiza React a la versión 18, ejecutando tests después de cada cambio"
# Resolver breaking changes
claude "Identifica y corrige todos los breaking changes"
# Generar reporte
claude "Genera un reporte de migración con todos los cambios realizados"
EOF
chmod +x migrate-deps.sh
./migrate-deps.sh
Extended Thinking
Para problemas complejos que requieren análisis profundo:
Activación de Extended Thinking
# Problema complejo de arquitectura
claude --think "Diseña una arquitectura de microservicios para migrar nuestro monolito"
# Optimización de rendimiento
claude --think "Analiza y optimiza el rendimiento de la aplicación"
# Debugging complejo
claude --think "El sistema falla intermitentemente en producción. Analiza los logs y encuentra la causa"
Configuración de Thinking
// .claude/thinking.json
{
"enabled": true,
"maxThinkingTime": 30,
"showThoughts": true,
"triggers": [
"arquitectura",
"optimización",
"diseño de sistema",
"debugging complejo"
]
}
Automatización con Scripts
Integración con Shell Scripts
#!/bin/bash
# daily-tasks.sh
# Morning routine
echo "🌅 Iniciando tareas matutinas..."
# Check de seguridad
claude "Revisa vulnerabilidades en las dependencias" > security-report.md
# Análisis de código
claude "Encuentra code smells en los cambios de ayer" > code-analysis.md
# Generar TODOs
claude "Lista las tareas pendientes basadas en los comentarios TODO" > todos.md
# Resumen
claude "Genera un resumen ejecutivo de los reportes" > daily-summary.md
echo "✅ Tareas completadas. Ver daily-summary.md"
GitHub Actions Integration
name: Claude Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
code-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup Claude Code
run: |
curl -fsSL https://console.anthropic.com/claude-code/install.sh | sh
echo "${{ secrets.ANTHROPIC_API_KEY }}" > ~/.claude/api-key
- name: Analyze Changes
run: |
claude "Analiza los cambios en este PR" > analysis.md
- name: Security Check
run: |
claude --agent security "Busca vulnerabilidades de seguridad" > security.md
- name: Performance Review
run: |
claude "Evalúa el impacto en rendimiento" > performance.md
- name: Post Comment
uses: actions/github-script@v6
with:
script: |
const fs = require('fs');
const analysis = fs.readFileSync('analysis.md', 'utf8');
const security = fs.readFileSync('security.md', 'utf8');
const performance = fs.readFileSync('performance.md', 'utf8');
const body = `
## 🤖 Claude Code Review
### 📊 Análisis General
${analysis}
### 🔒 Seguridad
${security}
### ⚡ Rendimiento
${performance}
`;
github.rest.issues.createComment({
...context.repo,
issue_number: context.issue.number,
body
});
Pipelines de Datos
Procesamiento con Pipes
# Análisis de logs en tiempo real
tail -f app.log | claude --stream "Detecta errores y anomalías"
# Procesamiento de CSV
cat data.csv | claude "Convierte a JSON y valida los datos"
# Chain de comandos
find . -name "*.js" | \
claude "Lista archivos que necesitan refactoring" | \
xargs -I {} claude "Refactoriza {}"
Transformación de Datos
# JSON a SQL
cat users.json | claude "Genera INSERT statements SQL"
# API response a Markdown
curl https://api.example.com/stats | \
claude "Convierte a tabla Markdown"
# Logs a métricas
grep ERROR app.log | \
claude "Genera estadísticas de errores por categoría"
Control de Output
Formatos de Salida
# JSON output
claude --output json "Lista los archivos del proyecto con su propósito"
# Markdown
claude --output markdown "Documenta la API"
# Plain text
claude --output text "Resume el proyecto"
# Código
claude --output code "Genera una función para validar emails"
Templates de Output
# Crear template
cat > .claude/templates/pr-description.md << 'EOF'
## Summary
{{summary}}
## Changes
{{changes}}
## Testing
{{testing}}
## Screenshots
{{screenshots}}
EOF
# Usar template
claude --template pr-description "Genera descripción para el PR de la feature de login"
Optimización de Prompts
Prompts Efectivos
# ❌ Prompt vago
claude "mejora el código"
# ✅ Prompt específico con contexto
claude "Optimiza src/api/users.js para reducir el tiempo de respuesta,
manteniendo compatibilidad con la API v2 y añadiendo cache Redis"
Context Injection
# Añadir contexto del proyecto
cat PROJECT.md | claude "Con este contexto, implementa la feature de exportación"
# Múltiples archivos de contexto
claude --context README.md,ARCHITECTURE.md,API.md \
"Crea un servicio que se integre con la arquitectura existente"
Mejores Prácticas Avanzadas
1. Chunking de Tareas
# Dividir tarea grande en chunks
claude "Divide la migración de la base de datos en 5 pasos incrementales"
# Ejecutar paso a paso
for i in {1..5}; do
claude "Ejecuta el paso $i de la migración"
claude "Verifica que el paso $i se completó correctamente"
done
2. Validación Continua
# Validar cada cambio
claude "Implementa la feature X" && \
claude "Ejecuta tests" && \
claude "Verifica que no hay regresiones" || \
echo "Error: Revierte los cambios"
3. Documentación Automática
# Hook post-commit
cat > .git/hooks/post-commit << 'EOF'
#!/bin/bash
claude "Actualiza la documentación basada en los cambios del último commit"
EOF
chmod +x .git/hooks/post-commit
Ejercicios Prácticos
Ejercicio 1: Crear un Subagente
- Define un subagente para análisis de seguridad
- Configúralo con herramientas limitadas
- Úsalo para revisar tu código
Ejercicio 2: Pipeline Completo
- Crea un script que:
- Analice el código
- Genere tests
- Actualice documentación
- Ejecútalo en tu proyecto
Ejercicio 3: Integración MCP
- Configura un servidor MCP
- Conecta Claude Code a una fuente de datos externa
- Realiza consultas a través de Claude
Resumen
En este capítulo aprendiste:
- ✅ Cómo usar subagentes especializados
- ✅ Configuración y uso de Model Context Protocol
- ✅ Implementación de flujos de trabajo complejos
- ✅ Automatización con scripts y CI/CD
- ✅ Optimización de prompts y control de output
Próximo Capítulo
En el siguiente capítulo exploraremos Testing y Debugging con Claude Code:
- Generación automática de tests
- Debugging asistido por AI
- Coverage analysis
- Test-driven development con Claude