Volver a Learning
📊
Skill 18 min lectura Claude Code

Performance Testing Skills
performance-report-analysis

Un skill de Claude Code que toma los resultados de tu test de carga y produce dos reportes: uno técnico con hallazgos, severidades y acciones concretas, y uno de negocio que traduce cada métrica a impacto de usuario sin percentiles ni jerga.

k6GatlingLocustJMeterArtilleryClaude CodePerformance AnalysisReporting
Por Rodrigo Campos · 2026-03-15
Tabla de contenidos

rcampos09/performance-testing-skills

Repositorio público · MIT License · Compatible con Claude Code, Cursor y Windsurf

¿Qué es un Claude Code Skill?

Los skills de Claude Code son instrucciones especializadas que se instalan localmente y se activan cuando el contexto de la conversación lo requiere. No son plugins ni extensiones; Claude los aplica sin que tengas que pedirlo.

Una vez instalado performance-report-analysis, si pegas los resultados de un test de carga y pides análisis, Claude aplica el skill: sigue el orden de triage, identifica bottlenecks y produce los dos reportes. No necesitas decirle cómo hacerlo.

🔍

Triage estructurado

Errores primero, throughput, p95 vs SLA, tendencia temporal, desglose por endpoint

📄

Dos reportes

Técnico para el equipo de ingeniería, negocio para stakeholders sin jerga

🛠️

Multi-herramienta

k6 · Gatling · Locust · JMeter · Artillery — interpreta el output nativo de cada una

Instalación

Un solo comando. Compatible con Claude Code, Cursor y Windsurf.

Instalar todos los skills del repositorio

Terminal ~ $ npx skills add rcampos09/performance-testing-skills Installed: performance-report-analysis, performance-testing-strategy, gatling-best-practices... Skills active in Claude Code, Cursor, Windsurf

Instalar solo este skill

Terminal ~ $ npx skills add rcampos09/performance-testing-skills --skill performance-report-analysis Skill performance-report-analysis installed successfully

Skills disponibles

El repositorio incluye varios skills. Se agregan nuevos con cada actualización.

RA

performance-report-analysis

Recibe los resultados de un test de carga en cualquier formato y produce dos reportes: uno técnico con SLA compliance, regresiones con deltas calculados, hallazgos con severidad y acciones; y uno de negocio que traduce cada métrica a impacto de usuario. Cubre 13 evaluaciones de calidad.

Se activa cuando mencionas:

analiza resultadosreporte de performanceinterpreta outputk6 resultsGatling reportLocust statsJMeter summarySLA compliancebottleneckp95error ratethroughput analysisperformance summary
k6GatlingLocustJMeterArtillery

Diferencia con performance-testing-strategy

Son skills complementarios que actúan en momentos distintos del ciclo de vida. Si no tienes performance-testing-strategy instalado, puedes encontrarlo aquí.

🎯

performance-testing-strategy

Antes del test

  • Pregunta por tipo de tráfico, SLAs, tiempo disponible
  • Define qué tipos de prueba ejecutar y en qué orden
  • Genera el plan estratégico adaptado a tu contexto
  • Tool-agnostic: la estrategia no depende de la herramienta
📊

performance-report-analysis

Después del test

  • Recibe los resultados y aplica el orden de triage
  • Identifica bottlenecks entre 9 patrones conocidos
  • Produce reporte técnico y reporte de negocio
  • Conoce el output nativo de cada herramienta

La diferencia práctica: strategy te dice qué ejecutar y por qué. report-analysis toma lo que ejecutaste y te dice qué encontró, qué rompió, y cómo comunicarlo. Uno planifica, el otro interpreta.

El orden de triage

El skill no empieza por las métricas más llamativas ni por el p95. Sigue un orden fijo de triage que garantiza que los problemas críticos aparezcan primero, sin que queden enterrados en métricas globales.

1

Errores primero

Tasa de error total y desglose por tipo. Si hay más de un 1% de errores, el resto del análisis es secundario hasta entender qué falló y por qué.

2

Throughput alcanzado

RPS real vs RPS objetivo. Si el sistema no alcanzó la carga planificada, los percentiles de latencia no son representativos del escenario que querías probar.

3

p95 vs SLA

Comparación directa de cada endpoint contra el SLA definido. No reporta solo la media global — la media puede ocultar que el 5% de los usuarios tiene una experiencia inaceptable.

4

Tendencia temporal

Detecta si la latencia creció durante el test. Un sistema que responde bien los primeros 5 minutos pero degrada a los 20 tiene un problema diferente al que falla desde el inicio.

5

Desglose por endpoint

Identifica qué endpoints específicos concentran errores o latencia alta. Los promedios globales enmascaran que un solo endpoint crítico puede estar tirando el sistema.

Ejemplo de conversación con el skill activo

Claude Code — k6 You: k6 results: http_req_failed=3.2%, checks=78.4%, p95=1240ms, rps=180 (target 320) Claude: → Skill performance-report-analysis activado · k6 detectado Nota: checks=78.4% son validaciones, no errores reales. http_req_failed=3.2% es el error rate. ⚠ [1] Errores: 3.2% http_req_failed. Supera umbral (1%). Prioridad crítica. ⚠ [2] Throughput: 180/320 rps (56%). Sistema no alcanzó carga objetivo. ⚠ [3] p95: 1240ms vs SLA 500ms. Violación de SLA confirmada. Generando reporte técnico + reporte de negocio... → Diagnóstico: thread pool exhaustion o DB connection saturation

El skill aplica el triage en orden aunque los datos estén incompletos, y lo indica explícitamente cuando faltan datos para algún paso.

Los 2 reportes

El mismo test produce dos documentos para dos audiencias distintas. El problema habitual es que los ingenieros escriben el reporte técnico y se lo mandan directamente al negocio, que no sabe qué hacer con un p95.

Reporte técnico

Para el equipo de ingeniería y QA

SLA compliance por endpoint con valores exactos y % de cumplimiento

Regresiones con deltas calculados respecto al baseline anterior (cuando existe)

Hallazgos con severidad (Critical / High / Medium) y acciones concretas para cada uno

Diagnóstico de bottleneck con el patrón identificado y cómo confirmarlo

Reporte de negocio

Para stakeholders y product managers

Sin percentiles crudos: "el 5% de los usuarios esperó más de 2 segundos", no "p95=2000ms"

Impacto de usuario estimado en usuarios afectados o transacciones fallidas por minuto

Semáforo de estado: apto para producción / apto con condiciones / no apto

Próximos pasos en lenguaje de negocio, sin tecnicismos ni referencias a herramientas

El skill nunca mezcla las audiencias. Si el equipo necesita el reporte técnico primero para revisar antes de compartir con negocio, puedes pedirle explícitamente que genere solo uno de los dos.

Multi-herramienta: conoce el output nativo

No basta con leer números — cada herramienta tiene su propio vocabulario y sus propias trampas. El skill conoce las diferencias específicas que importan al interpretar resultados.

k6

Distingue entre checks (validaciones que nunca fallan el test) y http_req_failed (errores de red reales). Un check al 80% no es lo mismo que un error rate del 80%.

Gatling

Diferencia entre KO (request fallida por assertion) y errores HTTP (respuestas 4xx/5xx). El reporte HTML puede mostrar 0 errores aunque haya requests con status 500 si no configuraste assertions.

Locust

Separa failures (excepciones Python) de requests con status de error. También identifica si el throughput real se limitó por el wait_time configurado, no por el sistema bajo prueba.

JMeter

Distingue elapsed (tiempo total del sampler, incluyendo DNS y conexión) de latency (tiempo hasta el primer byte). Un elapsed alto con latency baja indica problema de red, no de la aplicación.

Artillery

Interpreta los escenarios de vusers.completed vs vusers.failed y los p999 que Artillery reporta por defecto. Sabe que un engine.http.request_rate bajo puede indicar throttling del cliente, no del servidor.

Diagnóstico de bottlenecks: 9 patrones

El skill identifica el tipo de bottleneck a partir de la firma de métricas. Cada patrón tiene síntomas distintos en los datos: no es lo mismo un memory leak que un thread pool agotado, aunque ambos produzcan latencia alta.

01

CPU saturation

Latencia crece linealmente con la carga. Sin memory leak. Throughput se estanca en un techo fijo.

02

Memory leak

Latencia crece con el tiempo aunque la carga sea constante. Los Endurance tests lo revelan; el Smoke test no.

03

DB connection pool

Errores de timeout concentrados en endpoints que usan base de datos. Latencia bimodal: rápido o muy lento, sin término medio.

04

Thread pool exhaustion

Throughput cae en pico. Los requests se encolan pero no se procesan. El servidor responde pero tarde.

05

Red / I/O

Latency alta pero elapsed normal en JMeter. En k6, http_req_connecting y http_req_tls_handshaking consumen la mayoría del tiempo.

06

Dependencias externas

Latencia alta en endpoints que llaman a terceros. El sistema responde bien en aislamiento pero falla con carga real.

07

Cold start

Las primeras iteraciones del test son lentas y luego se normalizan. Frecuente en servicios serverless o con JVM sin warm-up.

08

Event loop (async)

Latencia p99 muy alta pero p50 normal. El event loop procesa bien la mayoría pero bloquea en operaciones síncronas.

09

Cache stampede

Picos de latencia periódicos y breves. El sistema se recupera solo. Correlaciona con TTL de caché expirado.

El skill no confirma el diagnóstico: lo propone como hipótesis con los síntomas observados en los datos y sugiere cómo confirmarlo. La diferencia importa porque un mal diagnóstico lleva a optimizar el lugar equivocado.

Workflow completo con los dos skills

Los dos skills cubren el ciclo completo de un test de performance: desde el diseño hasta la comunicación de resultados. Si no tienes instalado performance-testing-strategy, puedes instalarlo por separado.

strategy diseña el plan qué pruebas · qué orden ejecutar tests k6 · Gatling · Locust JMeter · Artillery report-analysis triage · bottleneck · SLA compliance reporte técnico + reporte de negocio 13 evaluaciones de calidad

Con ambos skills

Diseñas con criterio, ejecutas con la herramienta que prefieras y comunicas resultados a dos audiencias sin tener que reformatear nada a mano.

📌

Solo report-analysis

También funciona de forma independiente. Si ya tienes una estrategia definida, puedes instalar únicamente este skill para el análisis.

📊

Del resultado al reporte en un paso

El repositorio es público y libre de usar. MIT License. Si encuentras un bug o quieres proponer mejoras, abre un issue en GitHub.