write-incident-runbook
について
このClaudeスキルは、診断ステップ、解決手順、コミュニケーションテンプレートを含む構造化されたインシデント実行手順書を生成します。再発するアラートに対するインシデント対応を標準化し、明確なドキュメントを通じてMTTR(平均解決時間)の短縮を支援します。開発者はこれを使用してトレーニング教材を作成し、アラート注釈を解決ワークフローに直接リンクさせることができます。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/write-incident-runbookこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
name: write-incident-runbook description: > Crea manuales de incidentes estructurados con pasos de diagnóstico, procedimientos de resolución, rutas de escalada y plantillas de comunicación para una respuesta efectiva a incidentes. Útil para documentar procedimientos de respuesta para alertas recurrentes, estandarizar la respuesta a incidentes en una rotación de guardia, reducir el MTTR con pasos de diagnóstico claros, crear materiales de formación para nuevos miembros del equipo, o vincular anotaciones de alerta directamente a procedimientos de resolución. locale: es source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: observability complexity: basic language: multi tags: runbook, incident-response, diagnostics, escalation, documentation
Escribir Manual de Incidentes
Crea manuales accionables que guíen a los equipos de respuesta a través del diagnóstico y la resolución de incidentes.
Cuándo Usar
- Documentar procedimientos de respuesta para alertas o incidentes recurrentes
- Estandarizar la respuesta a incidentes entre los miembros de la rotación de guardia
- Reducir el tiempo medio de resolución (MTTR) con pasos de diagnóstico claros
- Crear materiales de formación para nuevos miembros del equipo en el manejo de incidentes
- Establecer rutas de escalada y protocolos de comunicación
- Migrar el conocimiento tribal a documentación escrita
- Vincular alertas a procedimientos de resolución (anotaciones de alerta)
Entradas
- Requerido: Nombre/descripción del incidente o alerta
- Requerido: Datos históricos de incidentes y patrones de resolución
- Opcional: Consultas de diagnóstico (Prometheus, logs, trazas)
- Opcional: Contactos de escalada y canales de comunicación
- Opcional: Post-mortems de incidentes anteriores
Procedimiento
Paso 1: Elegir la Estructura de Plantilla del Manual
Consulta Ejemplos Extendidos para archivos de plantilla completos.
Selecciona una plantilla apropiada según el tipo y la complejidad del incidente.
Estructura básica de plantilla de manual:
# [Alert/Incident Name] Runbook
## Overview | Severity | Symptoms
## Diagnostic Steps | Resolution Steps
## Escalation | Communication | Prevention | Related
Plantilla avanzada de manual SRE (extracto):
# [Service Name] - [Incident Type] Runbook
## Metadata
- Service, Owner, Severity, On-Call, Last Updated
## Diagnostic Phase
### Quick Health Check (< 5 min): Dashboard, error rate, deployments
### Detailed Investigation (5-20 min): Metrics, logs, traces, failure patterns
# ... (see EXAMPLES.md for complete template)
Componentes clave de la plantilla:
- Metadatos: Propiedad del servicio, gravedad, rotación de guardia
- Fase de diagnóstico: Verificaciones rápidas → investigación detallada → patrones de fallo
- Fase de resolución: Mitigación inmediata → corrección de causa raíz → verificación
- Escalada: Criterios y rutas de contacto
- Comunicación: Plantillas internas/externas
- Prevención: Acciones a corto/largo plazo
Esperado: La plantilla seleccionada coincide con la complejidad del incidente, las secciones son apropiadas para el tipo de servicio.
En caso de fallo:
- Comenzar con la plantilla básica, iterar basándose en los patrones del incidente
- Revisar ejemplos de la industria (libros SRE de Google, manuales de proveedores)
- Adaptar la plantilla basándose en los comentarios del equipo después del primer uso
Paso 2: Documentar los Procedimientos de Diagnóstico
Consulta Ejemplos Extendidos para consultas de diagnóstico completas y árboles de decisión.
Crea procedimientos de investigación paso a paso con consultas específicas.
Lista de verificación de diagnóstico de seis pasos:
-
Verificar la salud del servicio: Verificaciones del endpoint de salud y métricas de tiempo de actividad
curl -I https://api.example.com/health # Expected: HTTP 200 OKup{job="api-service"} # Expected: 1 for all instances -
Verificar la tasa de errores: Porcentaje de error actual y desglose por endpoint
sum(rate(http_requests_total{status=~"5.."}[5m])) / sum(rate(http_requests_total[5m])) * 100 # Expected: < 1% -
Analizar los logs: Errores recientes y mensajes de error principales desde Loki
{job="api-service"} |= "error" | json | level="error" -
Verificar la utilización de recursos: Estado de CPU, memoria y pool de conexiones
avg(rate(container_cpu_usage_seconds_total{pod=~"api-service.*"}[5m])) * 100 # Expected: < 70% -
Revisar los cambios recientes: Despliegues, commits de git, cambios de infraestructura
-
Examinar las dependencias: Salud del servicio descendente, latencia de base de datos/API
Árbol de decisión de patrones de fallo (extracto):
- ¿Servicio caído? → Verificar todos los pods/instancias
- ¿Tasa de error elevada? → Verificar tipos de error específicos (5xx, gateway, base de datos, timeouts)
- ¿Cuándo comenzó? → Después del despliegue (rollback), gradual (fuga de recursos), repentino (tráfico/dependencia)
Esperado: Los procedimientos de diagnóstico son específicos, incluyen valores esperados vs actuales, guían al equipo de respuesta a través de la investigación.
En caso de fallo:
- Probar las consultas en el sistema de monitoreo real antes de documentarlas
- Incluir capturas de pantalla de dashboards para referencia visual
- Agregar una sección de "Errores comunes" para pasos frecuentemente omitidos
- Iterar basándose en los comentarios de los equipos de respuesta a incidentes
Paso 3: Definir los Procedimientos de Resolución
Consulta Ejemplos Extendidos para las 5 opciones de resolución con comandos completos y procedimientos de reversión.
Documenta la remediación paso a paso con opciones de reversión.
Cinco opciones de resolución (resumen breve):
-
Revertir el despliegue (más rápido): Para errores post-despliegue
kubectl rollout undo deployment/api-serviceVerificar → Monitorear → Confirmar resolución (tasa de error < 1%, latencia normal, sin alertas)
-
Escalar recursos: Para alta CPU/memoria, agotamiento del pool de conexiones
kubectl scale deployment/api-service --replicas=$((current * 3/2)) -
Reiniciar el servicio: Para fugas de memoria, conexiones bloqueadas, corrupción de caché
kubectl rollout restart deployment/api-service -
Feature Flag / Circuit Breaker: Para errores de características específicas o fallos de dependencias externas
kubectl set env deployment/api-service FEATURE_NAME=false -
Remediación de base de datos: Para conexiones de base de datos, consultas lentas, agotamiento del pool
-- Kill long-running queries, restart connection pool, increase pool size
Lista de verificación de verificación universal:
- Tasa de error < 1%
- Latencia P99 < umbral
- Rendimiento en la línea base
- Uso de recursos saludable (CPU < 70%, Memoria < 80%)
- Dependencias saludables
- Pruebas orientadas al usuario pasan
- Sin alertas activas
Procedimiento de reversión: Si la resolución empeora la situación → pausar/cancelar → revertir → reevaluar
Esperado: Los pasos de resolución son claros, incluyen verificaciones de verificación, proporcionan opciones de reversión para cada acción.
En caso de fallo:
- Agregar pasos más detallados para procedimientos complejos
- Incluir capturas de pantalla o diagramas para procesos de múltiples pasos
- Documentar las salidas de comandos (esperadas vs actuales)
- Crear un manual separado para procedimientos de resolución complejos
Paso 4: Establecer las Rutas de Escalada
Consulta Ejemplos Extendidos para niveles de escalada completos y plantilla de directorio de contactos.
Define cuándo y cómo escalar los incidentes.
Cuándo escalar inmediatamente:
- Interrupción orientada al cliente > 15 minutos
- Presupuesto de error de SLO > 10% agotado
- Pérdida/corrupción de datos o sospecha de brecha de seguridad
- No se puede identificar la causa raíz en 20 minutos
- Los intentos de mitigación fallan o empeoran la situación
Cinco niveles de escalada:
- Guardia primario (respuesta en 5 min): Desplegar correcciones, rollback, escalar (hasta 30 min solo)
- Guardia secundario (automático después de 15 min): Soporte adicional de investigación
- Líder de equipo (decisiones arquitectónicas): Cambios de base de datos, escalada de proveedor, incidentes > 1 hora
- Comandante de incidente (coordinación entre equipos): Múltiples equipos, comunicaciones con clientes, incidentes > 2 horas
- Ejecutivo (nivel C): Gran impacto (>50% usuarios), incumplimiento de SLA, medios/PR, interrupciones > 4 horas
Proceso de escalada:
- Notificar al destinatario con: estado actual, impacto, acciones tomadas, ayuda necesaria, vínculo al dashboard
- Traspaso si es necesario: compartir cronología, acciones, acceso, permanecer disponible
- No guardar silencio: actualizar cada 15 min, hacer preguntas, proporcionar retroalimentación
Directorio de contactos: Mantener una tabla con rol, Slack, teléfono, PagerDuty para:
- Equipos de Plataforma/Base de datos/Seguridad/Red
- Comandante de incidente
- Proveedores externos (AWS, proveedor de base de datos, proveedor de CDN)
Esperado: Criterios claros para la escalada, información de contacto fácilmente accesible, rutas de escalada alineadas con la estructura organizacional.
En caso de fallo:
- Validar que la información de contacto esté actualizada (probar trimestralmente)
- Agregar árbol de decisión para cuándo escalar
- Incluir ejemplos de mensajes de escalada
- Documentar las expectativas de tiempo de respuesta para cada nivel
Paso 5: Crear Plantillas de Comunicación
Consulta Ejemplos Extendidos para todas las plantillas internas y externas con formato completo.
Proporciona mensajes pre-escritos para actualizaciones de incidentes.
Plantillas internas (Slack #incident-response):
-
Declaración inicial:
🚨 INCIDENT: [Title] | Severity: [Critical/High/Medium] Impact: [users/services] | Owner: @username | Dashboard: [link] Quick Summary: [1-2 sentences] | Next update: 15 min -
Actualización de progreso (cada 15-30 min):
📊 UPDATE #N | Status: [Investigating/Mitigating/Monitoring] Actions: [what we tried and outcomes] Theory: [what we think is happening] Next: [planned actions] -
Mitigación completada:
✅ MITIGATION | Metrics: Error [before→after], Latency [before→after] Root Cause: [brief or "investigating"] | Monitoring 30min before resolved -
Resolución:
🎉 RESOLVED | Duration: [time] | Root Cause + Impact + Follow-up actions -
Falsa alarma: Sin impacto, sin seguimiento necesario
Plantillas externas (página de estado):
- Inicial: Investigando, hora de inicio, próxima actualización en 15 min
- Progreso: Causa identificada (amigable para el cliente), implementando corrección, resolución estimada
- Resolución: Hora de resolución, causa raíz (simple), duración, medidas de prevención
Plantilla de correo electrónico para clientes: Cronología, descripción del impacto, resolución, prevención, compensación (si aplica)
Esperado: Las plantillas ahorran tiempo durante los incidentes, garantizan comunicación consistente, reducen la carga cognitiva en los equipos de respuesta.
En caso de fallo:
- Personalizar las plantillas para que coincidan con el estilo de comunicación de la empresa
- Pre-completar las plantillas con tipos de incidentes comunes
- Crear un flujo de trabajo/bot de Slack para completar las plantillas automáticamente
- Revisar las plantillas durante las retrospectivas de incidentes
Paso 6: Vincular el Manual al Monitoreo
Consulta Ejemplos Extendidos para la configuración completa de alertas de Prometheus y el JSON del dashboard de Grafana.
Integra el manual con alertas y dashboards.
Agregar vínculos de manual a las alertas de Prometheus:
- alert: HighErrorRate
annotations:
runbook_url: "https://wiki.example.com/runbooks/high-error-rate"
dashboard_url: "https://grafana.example.com/d/service-overview"
incident_channel: "#incident-platform"
Incrustar vínculos de diagnóstico rápido en el manual:
- Dashboard de Resumen del Servicio
- Tasa de Error Última 1h (vínculo directo de Prometheus)
- Logs de Error Recientes (Loki/Grafana Explore)
- Despliegues Recientes (GitHub/CI)
- Incidentes de PagerDuty
Crear panel de dashboard de Grafana con vínculos de manual (panel markdown que lista todos los manuales de incidentes con información de guardia y escalada)
Esperado: Los equipos de respuesta pueden acceder a los manuales directamente desde las alertas o dashboards, las consultas de diagnóstico están pre-completadas, acceso con un clic a las herramientas relevantes.
En caso de fallo:
- Verificar que las URL de los manuales sean accesibles sin VPN/inicio de sesión
- Usar acortadores de URL para vínculos complejos de Grafana/Prometheus
- Probar los vínculos trimestralmente para asegurarse de que no se rompan
- Crear marcadores del navegador para los manuales de uso frecuente
Validación
- El manual sigue una estructura de plantilla consistente
- Los procedimientos de diagnóstico incluyen consultas específicas y valores esperados
- Los pasos de resolución son accionables con comandos claros
- Los criterios de escalada y los contactos están actualizados
- Se proporcionan plantillas de comunicación para audiencias internas y externas
- El manual está vinculado desde las alertas de monitoreo y los dashboards
- El manual se probó durante una simulación de incidente o un incidente real
- Los comentarios de los equipos de respuesta se incorporan al manual
- El historial de revisiones se rastrea con fechas y autores
- El manual es accesible sin autenticación (o en caché sin conexión)
Errores Comunes
- Demasiado genérico: Los manuales con pasos vagos como "verificar los logs" sin consultas específicas no son accionables. Ser específico.
- Información desactualizada: Los manuales que hacen referencia a sistemas o comandos antiguos se vuelven inútiles. Revisar trimestralmente.
- Sin pasos de verificación: La resolución sin verificación lleva a falsos positivos. Siempre incluir "cómo confirmar que está arreglado."
- Procedimientos de reversión faltantes: Cada acción debe tener un plan de reversión. No atrapar a los equipos de respuesta en un estado peor.
- Asumir conocimiento: Los manuales solo para expertos excluyen a los ingenieros junior. Escribir para la persona menos experimentada en rotación.
- Sin propietario: Los manuales sin propietarios se vuelven obsoletos. Asignar equipo/persona responsable de las actualizaciones.
- Oculto detrás de autenticación: Los manuales inaccesibles durante problemas de VPN/SSO son inútiles durante una crisis. Guardar copias en caché o usar una wiki pública.
Habilidades Relacionadas
configure-alerting-rules- Vincular manuales a anotaciones de alerta para acceso inmediato durante incidentesbuild-grafana-dashboards- Incrustar vínculos de manuales en dashboards y paneles de diagnósticosetup-prometheus-monitoring- Incluir consultas de diagnóstico de Prometheus en los procedimientos del manualdefine-slo-sli-sla- Referenciar el impacto en el SLO en la clasificación de gravedad del incidente
GitHub リポジトリ
関連スキル
executing-plans
デザインexecuting-plansスキルは、完全な実装計画があり、それを管理されたバッチでレビューチェックポイントを設けながら実行する場合に使用します。このスキルは計画を読み込んで批判的にレビューした後、小さなバッチ(デフォルトは3タスク)でタスクを実行し、各バッチの間に進捗状況を報告してアーキテクトのレビューを受けます。これにより、品質管理チェックポイントが組み込まれた体系的な実装が保証されます。
requesting-code-review
デザインこのスキルは、コードレビュアーサブエージェントを起動し、処理を進める前に要件に対してコード変更を分析します。タスク完了後、主要な機能の実装後、またはmainブランチへのマージ前などに使用すべきです。このレビューは、現在の実装と元の計画を比較することで、問題を早期に発見するのに役立ちます。
connect-mcp-server
デザインこのスキルは、開発者がHTTP、stdio、またはSSEトランスポートを使用してMCPサーバーをClaude Codeに接続するための包括的なガイドを提供します。GitHub、Notion、カスタムAPIなどの外部サービスを統合するためのインストール、設定、認証、セキュリティについて解説しています。MCP統合のセットアップ、外部ツールの設定、またはClaudeのModel Context Protocolを扱う際にご利用ください。
web-cli-teleport
デザインこのスキルは、タスク分析に基づいて開発者がClaude Code WebとCLIインターフェースの選択を支援し、これらの環境間でのシームレスなセッションテレポーテーションを可能にします。Web、CLI、モバイル環境を切り替える際のセッション状態とコンテキストを管理することで、ワークフローを最適化します。様々な段階で異なるツールを必要とする複雑なプロジェクトにご活用ください。
