production-incident-responder

par kotlin

Guidez la réponse aux incidents de production pour les services Kotlin et Spring, de la première alerte jusqu'à l'atténuation, le diagnostic et le suivi. À utiliser lorsque les taux d'erreur augmentent,…

npx skills add https://github.com/kotlin/kotlin-backend-agent-skills --skill production-incident-responder

Production Incident Responder

Source mapping: Tier 2 high-value skill derived from Kotlin_Spring_Developer_Pipeline.md (SK-24).

Mission

Restore service safely before chasing perfect explanations. Keep mitigation, diagnosis, communication, and evidence preservation disciplined and explicit.

First Principles

  • Mitigate first.
  • Prefer reversible actions over heroic code changes.
  • Preserve evidence while the system is still exhibiting the problem.
  • Separate confirmed facts from working hypotheses.

Inputs To Gather

  • Current alert state, user impact, and blast radius.
  • Recent deploys, config changes, feature-flag changes, and dependency incidents.
  • Key dashboards: latency, error rate, saturation, dependency health, queue depth, pool usage.
  • Correlated traces and logs for the failing path.
  • Known runbooks, rollback mechanisms, and feature flags.

Response Sequence

  1. State impact and likely severity.
  2. Stop unsafe changes and identify the fastest reversible mitigation:
    • rollback
    • disable feature
    • reduce concurrency
    • shed load
    • rate-limit callers
    • isolate or degrade a dependency
  3. Preserve high-signal evidence while the symptom still exists.
  4. Compare timeline of incident onset with recent changes.
  5. Localize the failing layer: application, database, downstream dependency, queue, infrastructure, or configuration.
  6. Propose long-term corrective actions only after the service is stable.

Advanced Incident Heuristics

  • Restarting everything can destroy the best evidence and amplify a connection storm. Use restarts deliberately, not reflexively.
  • Scaling the app tier does not help when the database or a downstream service is the bottleneck.
  • Rate-limiting or queue pausing may protect core flows better than full rollback when only one feature path is toxic.
  • A config-only incident can look like a code regression; compare effective runtime values before patching application code.
  • A healthy dependency at low volume can still fail under retry storms from your own fleet.
  • If the system uses caches, verify whether bad cache fill, stampede, or stale data amplified the incident.
  • If the incident is intermittent, preserve timing and hypothesis logs. Races and saturation patterns are easy to lose after mitigation.
  • Post-incident work must include detection and prevention, not only the code fix.

Incident Command Nuances

  • One person should own technical command during a serious incident. Parallel debugging without a decision owner often slows mitigation.
  • Communication cadence matters. Operators and stakeholders need regular updates even when the technical picture is incomplete.
  • Rollback is not always safe if data shape or side effects have already changed. Assess rollback safety before pressing the button.
  • Canary comparison, feature-flag cohort analysis, and effective-config diffing often localize incidents faster than code inspection.
  • Preserve version, commit, config, and infrastructure fingerprints in the incident notes while they are still recoverable.

Expert Heuristics

  • Choose the first mitigation that reduces blast radius and buys time, not the one that feels most technically satisfying.
  • Prefer mitigations that also test a hypothesis when that can be done safely.
  • If the incident spans several layers, identify the current bottlenecked layer first. Solving secondary symptoms wastes the window of action.
  • A good postmortem action item changes detection, defaults, rollout strategy, or operational safety nets, not just one line of code.

Output Contract

Return these sections:

  • Impact: who or what is affected and how badly.
  • Immediate mitigation: the safest reversible action to reduce pain now.
  • Evidence: the strongest signals collected so far.
  • Working hypothesis: the leading explanation plus uncertainty.
  • Next diagnostic step: the most informative next action once stable.
  • Follow-up: long-term fix, monitoring change, and postmortem actions.

Guardrails

  • Do not recommend code changes as the very first incident action when a reversible mitigation exists.
  • Do not claim root cause certainty without evidence.
  • Do not optimize for elegance over containment during an outage.
  • Do not forget operator communication and blast-radius tracking while debugging.

Quality Bar

A good run of this skill reduces user pain quickly and leaves the team with a cleaner path to root cause. A bad run jumps to speculative code fixes while the service remains unstable and evidence disappears.

Plus de skills de kotlin

kotlin-backend-jpa-entity-mapping
kotlin
La classe de données de Kotlin est naturelle pour les DTOs mais dangereuse pour les entités JPA. Hibernate repose sur une sémantique d'identité que la classe de données brise : equals / hashCode sur tous les champs corrompt l'appartenance à Set / Map après des changements d'état, et copy() généré automatiquement crée des doublons détachés d'entités gérées.
kotlin-tooling-agp9-migration
kotlin
Le plugin Android Gradle 9.0 rend les plugins d'application et de bibliothèque Android incompatibles avec le plugin Kotlin Multiplatform dans le même module. Cette compétence vous guide tout au long de la migration.
kotlin-tooling-cocoapods-spm-migration
kotlin
Migrer les projets KMP de CocoaPods (kotlin("native.cocoapods")) vers Swift Package Manager (DSL swiftPMDependencies) — remplace pod() par swiftPackage(),…
kotlin-tooling-immutable-collections-0-5-x-migration
kotlin
Migrer du code Kotlin (et Java) de kotlinx.collections.immutable 0.3.x / 0.4.x vers la dernière version 0.5.x. La branche 0.5.x renomme chaque méthode retournant une copie sur…
kotlin-tooling-java-to-kotlin
kotlin
Convertir des fichiers source Java en Kotlin idiomatique en utilisant une méthodologie de conversion disciplinée en 4 étapes avec 5 invariants vérifiés à chaque étape. Prend en charge la conversion tenant compte du framework, qui gère les cibles de sites d'annotations, les idiomes de bibliothèque et la préservation des API.
kotlin-tooling-native-build-performance
kotlin
Diagnostique et corrige les compilations et liaisons Kotlin/Native lentes dans les projets Kotlin Multiplatform ciblant iOS. À utiliser lorsque l’utilisateur signale des lenteurs sur iOS ou…
kotlin-spring-proxy-compatibility
kotlin
Diagnose and prevent Kotlin plus Spring proxy failures around `@Transactional`, `@Cacheable`, `@Async`, method security, retry, configuration proxies, and JPA…
ci-cd-containerization-advisor
kotlin
Concevoir des pipelines de construction, d'image et de déploiement reproductibles pour les applications Kotlin et Spring, incluant la vérification CI, les conteneurs en couches, la sécurité de déploiement,…