Casos Prácticos
Ejemplos Prácticos
Ejemplo 1: Sistema de Commit Messages (Escalada Completa)
Contexto: Equipo que quiere estandarizar mensajes de commit siguiendo Conventional Commits.
Fase 1: Prompt conversacional (día 1)
Usuario: "Genera un commit message para estos cambios"
Claude: [Lee git diff, genera mensaje]
Fase 2: Slash Command (semana 1, se repite diariamente)
{
"name": "commit",
"description": "Genera mensaje de commit siguiendo Conventional Commits",
"prompt": "Lee git diff, analiza cambios, genera mensaje de commit siguiendo Conventional Commits (feat/fix/docs/etc). Incluye scope si aplica. Descripción concisa en imperativo."
}
Uso:
Usuario: /commit
Claude: [Analiza cambios, genera]
Fase 3: Skill (mes 1, es parte del workflow estándar)
---
description: Genera mensajes de commit automáticamente siguiendo Conventional Commits cuando el usuario mencione crear un commit
---
# Commit Message Skill
Cuando el usuario solicite crear un commit o mencione "commit these changes":
1. Lee `git diff --staged` para ver cambios preparados
2. Analiza la naturaleza de los cambios:
- feat: nueva funcionalidad
- fix: corrección de bug
- docs: cambios en documentación
- style: formateo, sin cambios de lógica
- refactor: reestructuración de código
- test: añadir o corregir tests
3. Genera mensaje con formato:
tipo(scope): descripción breve
[cuerpo opcional explicando el "por qué"]
4. Usa imperativo ("add" no "added"), primera línea ≤50 caracteres
Reasoning de la escalada:
- Prompt → Slash Command: Se usa diariamente, merece un comando rápido
- Slash Command → Skill: Es parte del workflow de todos los commits, la automatización elimina fricción
Ejemplo 2: Procesamiento de Documentos (Skill + MCP)
Contexto: Startup que necesita procesar facturas PDF subidas a Google Drive.
Solución: Skill + MCP Google Drive + MCP PDF Parser
💡 Requisito: Este ejemplo asume que tienes configurados los servidores MCP correspondientes en tu
claude_desktop_config.jsono en los settings de Claude Code.
MCP Setup (en settings):
{
"mcpServers": {
"google-drive": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-gdrive"]
},
"pdf-parser": {
"command": "python",
"args": ["/path/to/pdf_parser_mcp.py"]
}
}
}
Skill:
---
description: Procesa facturas PDF de Google Drive y extrae datos estructurados
---
# Invoice Processor Skill
Cuando el usuario pida "procesar facturas" o "extraer datos de facturas":
1. **Listar archivos**:
- Usa MCP Google Drive para listar archivos en carpeta "Facturas/Pendientes"
- Filtra solo PDFs del mes actual
2. **Extraer datos**:
- Para cada PDF, usa MCP PDF Parser para extraer texto
- Identifica campos clave:
* Número de factura
* Fecha
* Proveedor
* Monto total
* Items y cantidades
3. **Estructurar datos**:
- Genera JSON con datos extraídos
- Valida que todos los campos requeridos estén presentes
4. **Guardar resultados**:
- Escribe JSON a `data/invoices/YYYY-MM.json`
- Mueve PDFs procesados a carpeta "Facturas/Procesadas" en Drive
5. **Reportar**:
- Resume cantidad de facturas procesadas
- Lista cualquier PDF con datos incompletos
Flujo de uso:
Usuario: "Procesa las facturas de este mes"
Claude: [Skill se activa]
→ Llama a MCP Google Drive (listar archivos)
→ Llama a MCP PDF Parser (extraer texto)
→ Genera JSON estructurado
→ Mueve archivos en Drive
→ Reporta resultados
Siguiente paso: Mejores Prácticas y Recursos
Por qué esta arquitectura:
- Skill: Procedimiento recurrente (cada mes), debe ser automático
- MCP Google Drive: Conectividad externa a Drive
- MCP PDF Parser: Funcionalidad especializada no nativa en Claude Code
- No sub-agents: No hay necesidad de paralelización (pocas facturas) ni especialización de contexto
★ Insight ───────────────────────────────────── Observa cómo Skill + MCP permite a Claude "razonar" sobre tareas complejas sin escribir código. El skill describe el flujo conceptualmente, los MCPs manejan la conectividad técnica. Sin this pattern, terminarías escribiendo scripts bash complejos o aplicaciones personalizadas. ─────────────────────────────────────────────────
Ejemplo 3: Análisis Paralelo de Codebase (Sub-agents)
Contexto: Analizar codebase de 500 archivos para generar documentación de API.
Solución: Sub-agents para paralelizar procesamiento
Sub-agent api-doc-generator:
---
name: api-doc-generator
description: Analiza archivos de código y genera documentación de API
---
# System Prompt
Eres un especialista en documentación de APIs. Analiza los archivos proporcionados y genera documentación en formato markdown.
## Para cada endpoint/función:
- Nombre y signatura
- Descripción de qué hace
- Parámetros (tipo, requerido/opcional, descripción)
- Retorno (tipo, descripción)
- Ejemplos de uso
- Errores posibles
## Formato:
Usa markdown con headers apropiados. Incluye ejemplos de código.
## Tools permitidas:
- Read: para leer archivos de código
Script de invocación (desde agente principal o slash command):
// Desde prompt del agente principal o slash command
// 1. Encontrar todos los archivos de API
const apiFiles = await glob("src/api/**/*.js");
// 2. Dividir en batches de 10 archivos
const batches = [];
for (let i = 0; i < apiFiles.length; i += 10) {
batches.push(apiFiles.slice(i, i + 10));
}
// 3. Procesar en paralelo con sub-agents
console.log(`Procesando ${apiFiles.length} archivos en ${batches.length} batches...`);
const results = await Promise.all(
batches.map((batch, idx) => {
return invokeSubAgent("api-doc-generator", {
files: batch,
outputFile: `docs/api/batch-${idx}.md`
});
})
);
// 4. Agregar resultados en un índice
const indexContent = `# API Documentation\n\n` +
results.map((r, i) => `- [Batch ${i}](./batch-${i}.md)`).join('\n');
await writeFile('docs/api/index.md', indexContent);
console.log(`✅ Documentación generada en docs/api/`);
Por qué sub-agents:
- Paralelización: 500 archivos secuencialmente tomaría horas, con 10 sub-agents procesando 50 archivos cada uno es mucho más rápido
- Contexto aislado: Cada sub-agent solo ve su batch, evita contaminar contexto
- Restricción de herramientas: El sub-agent solo necesita Read, no puede modificar código accidentalmente
Por qué NO alternatives:
- Skill solo: No puede paralelizar, sería secuencial
- Prompt simple: Contexto explotaría con 500 archivos
- MCP: No hay integración externa, solo procesamiento