Communitygithub.com

aws-samples/sample-code-for-devops-agent-skills

Habilidades de código abierto para AWS DevOps Agent: extiende DevOps Agent con habilidades listas para usar para respuesta a incidentes, análisis de causa raíz y solución de problemas operativos. Úsalas tal cual o como referencia para crear tus propias habilidades.

¿Qué es sample-code-for-devops-agent-skills?

Esta habilidad, 'Support Case Review', permite a un agente de DevOps revisar casos de soporte técnico de AWS durante la investigación de incidentes. Es útil porque acelera la respuesta a incidentes al correlacionar incidentes activos con casos históricos de soporte que contienen síntomas similares, causas raíz y pasos de remediación probados. La habilidad está diseñada para agentes que interactúan con la API de Soporte de AWS, requiriendo permisos específicos (`support:DescribeCases` y `support:DescribeCommunications`) y un plan de soporte Business, Enterprise o Unified Operations. El flujo de trabajo guía al agente a través de cinco pasos: identificar el contexto del incidente, buscar casos relacionados usando filtros como servicio, ventana de tiempo o palabras clave, revisar las comunicaciones del caso para encontrar causas raíz y resoluciones, correlacionar estos hallazgos con el incidente actual mediante un checklist y un sistema de puntuación de relevancia, y finalmente resumir los hallazgos con recomendaciones. La habilidad también incluye un árbol de decisiones para elegir la estrategia de búsqueda más efectiva y consejos para optimizar la revisión.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add aws-samples/sample-code-for-devops-agent-skills

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Revisión de Casos de Soporte

Usa esta habilidad cuando investigues un incidente y necesites revisar casos de Soporte de AWS — ya sea el caso actual asociado al incidente o casos históricos que puedan contener contexto relevante, síntomas similares o pasos de remediación probados.

Cuándo Usar Esta Habilidad

  • Un incidente activo comparte síntomas con problemas resueltos anteriormente.
  • Necesitas verificar si se presentó un caso de soporte similar en los últimos 24 meses.
  • Quieres correlacionar el incidente actual con eventos conocidos del servicio de AWS.
  • Necesitas recuperar comunicaciones y detalles de resolución de un caso anterior.
  • Quieres identificar patrones recurrentes en múltiples casos de soporte.

Requisitos Previos

  • La cuenta de AWS debe tener un plan de Soporte Business+, Soporte Enterprise o Unified Operations (necesario para la API de Soporte de AWS).
  • El agente debe tener permisos para llamar a support:DescribeCases y support:DescribeCommunications en la cuenta de destino.
  • Los datos de los casos de soporte están disponibles durante 24 meses después de su creación. No se pueden recuperar casos con más de 24 meses mediante la API.

Paso 1: Identificar el Contexto del Incidente Actual

Antes de buscar casos de soporte, recopila detalles clave del incidente actual:

  1. Servicios de AWS afectados (por ejemplo, EC2, RDS, Lambda, ELB).
  2. Mensajes de error o códigos de error observados en registros o alarmas.
  3. Período de tiempo del incidente (hora de inicio, duración).
  4. Recursos afectados (IDs de instancia, ARNs, nombres de endpoint).
  5. Síntomas (picos de latencia, errores 5xx, tiempos de espera de conexión, throttling).

Usa estos detalles como criterios de búsqueda al filtrar casos de soporte.


Paso 2: Buscar Casos de Soporte Relacionados

Usa la API de Soporte de AWS para recuperar casos que puedan ser relevantes.

Recuperar todos los casos recientes (abiertos y resueltos)

aws support describe-cases \
  --include-resolved-cases \
  --include-communications \
  --after-time "<ISO-8601-start>" \
  --before-time "<ISO-8601-end>" \
  --language "en"

Filtrar por IDs de caso específicos (si se conocen)

aws support describe-cases \
  --case-id-list "case-123456789010-muen-2024" \
  --include-communications

Estrategias clave de filtrado

EstrategiaCómo Aplicarla
Por ventana de tiempoUsa --after-time y --before-time para limitar los casos al período relevante (por ejemplo, últimos 30 días, o alrededor de una fecha de incidente anterior), porque los casos recientes reflejan mejor el estado actual de la infraestructura.
Por servicioRevisa el campo serviceCode en los casos devueltos para coincidir con el servicio afectado (por ejemplo, amazon-elastic-compute-cloud, amazon-rds), porque el mismo servicio suele mostrar patrones de fallo recurrentes.
Por severidadVerifica el campo severityCode — concéntrate en los casos urgent y critical para incidentes mayores, porque los casos de mayor severidad suelen tener un análisis de causa raíz más detallado por parte del Soporte de AWS.
Por estadoUsa --include-resolved-cases para incluir casos cerrados, porque los casos resueltos contienen la causa raíz y los pasos de remediación que son más valiosos para correlacionar con el incidente actual.
Por palabras clave en el asuntoEscanea el campo subject de los casos devueltos en busca de palabras clave que coincidan con los síntomas del incidente actual, porque síntomas similares suelen compartir causas subyacentes.

Paso 3: Revisar las Comunicaciones del Caso

La respuesta de describe-cases con includeCommunications: true devuelve las comunicaciones más recientes de cada caso en el campo recentCommunications (hasta 5 mensajes). Dado que el análisis de causa raíz y los pasos de resolución suelen estar en los mensajes finales de un caso resuelto, esto suele ser suficiente.

Si el campo recentCommunications incluye un nextToken, el caso tiene mensajes antiguos adicionales. Solo pagina usando describe-communications si los mensajes recientes no contienen una causa raíz o resolución clara — por ejemplo, si los últimos mensajes son preguntas de seguimiento en lugar de una respuesta final.

aws support describe-communications \
  --case-id "case-123456789010-muen-2024" \
  --max-results 10 \
  --next-token "<nextToken-from-recentCommunications>"

Al revisar las comunicaciones, busca:

  1. Declaraciones de causa raíz — Los ingenieros de Soporte de AWS suelen resumir la causa raíz en su respuesta final.
  2. Pasos de remediación — Acciones específicas tomadas para resolver el problema (por ejemplo, "aumentó max_connections", "aplicó regla de grupo de seguridad", "escaló tipo de instancia").
  3. Recomendaciones de configuración — Mejores prácticas o sugerencias de ajuste proporcionadas por AWS.
  4. Notas de escalamiento — Si el caso fue escalado, verifica si hay un análisis técnico más profundo de equipos especializados.

Paso 4: Correlacionar los Hallazgos con el Incidente Actual

Después de revisar los casos relevantes, correlaciona los hallazgos:

Lista de verificación de coincidencia de patrones

  • ¿Los casos pasados comparten el mismo servicio y tipo de recurso afectado?
  • ¿Los mensajes o códigos de error son idénticos o similares?
  • ¿Los incidentes pasados ocurrieron a una hora similar del día o día de la semana (indicando patrones de carga)?
  • ¿La causa raíz fue un problema de configuración que aún puede estar presente?
  • ¿La resolución fue una solución temporal que desde entonces ha expirado o se ha revertido?
  • ¿AWS identificó un problema del lado del servicio que podría estar repitiéndose?

Puntuación de relevancia

Clasifica cada caso histórico según su relevancia para el incidente actual:

PuntuaciónCriterio
AltaMismo servicio, mismo error, mismo tipo de recurso, período de tiempo similar
MediaMismo servicio, error diferente pero síntomas relacionados
BajaServicio diferente pero patrón arquitectónico o modo de fallo similar

Paso 5: Resumir los Hallazgos

Proporciona un resumen estructurado que incluya:

  1. Número de casos relacionados encontrados — Cuántos casos pasados coincidieron con los criterios de búsqueda.
  2. Caso(s) más relevante(s) — ID del caso, asunto, estado y fecha de creación de las mejores coincidencias.
  3. Causas raíz históricas — Qué causó problemas similares en el pasado.
  4. Resoluciones pasadas — Qué pasos de remediación se aplicaron y si fueron soluciones permanentes o temporales.
  5. Recomendaciones — Basadas en patrones históricos, sugiere rutas de investigación o pasos de remediación para el incidente actual.
  6. Alerta de patrón recurrente — Si el mismo problema ha ocurrido varias veces, márcalo como un problema recurrente que requiere una solución permanente o un cambio arquitectónico.

Árbol de Decisión: Estrategia de Búsqueda de Casos

¿Existe un ID de caso conocido asociado al incidente actual?
├── SÍ → Recupera ese caso específico y sus comunicaciones (Paso 2, filtrar por ID de caso)
└── NO → Continúa abajo

¿Se conoce el servicio de AWS afectado?
├── SÍ → Busca casos en los últimos 90 días para ese servicio, luego expande a 12 meses si es necesario
└── NO → Busca todos los casos en los últimos 30 días y filtra por palabras clave de error

¿Se encontraron casos históricos relevantes?
├── SÍ → Revisa las comunicaciones (Paso 3), correlaciona los hallazgos (Paso 4), resume (Paso 5)
└── NO → Amplía los criterios de búsqueda:
         - Expande la ventana de tiempo
         - Busca por servicios relacionados (por ejemplo, si ELB está afectado, también verifica casos de EC2 y Target Group)
         - Busca por código de error o palabras clave de síntoma en los asuntos de los casos

Consejos para una Revisión Efectiva de Casos

  • Empieza con filtros estrictos, luego amplía: Comienza con filtros específicos (servicio + ventana de tiempo) y expande solo si no se encuentran casos relevantes.
  • Revisa casos resueltos: La información más valiosa suele provenir de casos resueltos donde se documentan la causa raíz y la solución.
  • Observa los patrones de severidad de los casos: Si los casos pasados para el mismo problema se presentaron con severidad critical, el incidente actual puede requerir una urgencia similar.
  • Cruza referencias con despliegues: Si un caso pasado fue causado por un despliegue, verifica si ocurrió un despliegue similar antes del incidente actual.

Skills relacionados