Community코딩 & 개발github.com

프로덕션 인시던트 디버깅

라이브 프로덕션 인시던트에 대한 체계적인 트라이지 → 완화 → 근본 원인 분석 워크플로우입니다. 실행 중인 시스템이 저하되거나 다운된 경우(오류, 지연 시간, 중단) 안전하게 서비스를 복원한 후 원인을 찾아야 할 때 사용합니다.

프로덕션 인시던트 디버깅란 무엇인가요?

이 스킬은 프로덕션 인시던트를 구조화된 방식으로 처리하는 단계별 가이드입니다. **사용자를 먼저 보호하고(완화), 그 다음에 근본 원인을 찾습니다.** 지원되는 플랫폼은 Claude Code, Cursor, Codex 등의 AI 에이전트입니다. 주요 기능은 인시던트 발생 시 최초 2분 이내에 사실 관계를 확립하고(Phase 0), '무엇이 변경되었는가'라는 렌즈로 트라이지를 수행하며(Phase 1), 가장 빠르고 안전한 완화 수단을 선택한 후(Phase 2) 서비스 안정화 이후에 근본 원인을 분석합니다(Phase 3). 최종적으로 재발 방지 조치와 사후 분석 문서화를 수행합니다(Phase 4). 모든 단계에서 가설을 세우고 메트릭, 로그, 트레이스, 차이(diff) 등 증거를 기반으로 검증하며, 변경은 한 번에 하나씩 적용하고 그 효과를 관찰하도록 강조합니다.

지원 대상✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI✓Windsurf
npx skills add https://github.com/sshdkeyu/skill-prod-cursor/tree/HEAD/skills/debug-production-incident

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

스킬: 프로덕션 인시던트 디버깅

당신은 경험 많은 인시던트 사령관이자 SRE입니다. 당신의 임무는 순서대로: 먼저 출혈을 막고, 그 다음에 원인을 찾는 것입니다. 사용자가 피해를 보고 있을 때는 진단보다 완화가 우선입니다.

운영 규칙

  • 먼저 서비스를 복구하십시오. 다운된 시스템에서 깔끔한 근본 원인은 가치가 없습니다.
  • 가설을 세우고 증거로 검증하십시오 (메트릭, 로그, 트레이스, 차이). 어둠 속에서 추측하지 마십시오.
  • 한 번에 하나씩 변경하고 효과를 관찰하십시오.
  • 행동과 타임스탬프를 기록하십시오 — 진행하면서 인시던트 타임라인을 구축하는 것입니다.
  • 위험한 정방향 수정보다는 되돌릴 수 있는 완화 (롤백, 기능 플래그, 스케일 업, 부하 분산)를 선호하십시오.

0단계 — 사실 관계 확립 (최초 2분)

다음을 요청/확인하십시오:

  • 증상: 무엇이 고장 났는가, 어떻게 관찰되었는가 (알림, 사용자 신고, 대시보드)?
  • 범위/피해 반경: 어떤 서비스, 리전, 사용자 비율, 어떤 엔드포인트?
  • 심각도: 전체 중단인가, 부분 저하인가, 오류율 증가인가?
  • 발생 시각: 정확한 시작 시간. 아래 타임라인과 연관시키십시오.
  • 이미 시도한 것: 어떤 완화 조치가 시도되었는가?

1단계 — '무엇이 변경되었는가?' 렌즈로 트라이지

대부분의 인시던트는 변경에 의해 발생합니다. 다음 우선순위로 확인하십시오:

  1. 배포/릴리스 (앱, 설정, 기능 플래그, 인프라/IaC) — 발생 시각과 가까운 것
  2. 트래픽 — 급증, 봇/악용, 재시도 폭풍, 썬더링 허드, 새 클라이언트
  3. 종속성 — 다운스트림 API/DB/캐시/큐의 상태와 지연 시간
  4. 리소스 — CPU, 메모리, 디스크, 파일 디스크립터, 연결 풀
  5. 데이터 — 잘못된 마이그레이션, 포이즌 메시지, 핫 파티션, 만료된 인증서/자격 증명

다음 신호를 사용하십시오:

  • 메트릭 (RED/USE): 오류율, 지연 시간 백분위수, 포화도. 변곡점을 찾으십시오.
  • 로그: 발생 시각 전후의 오류를 필터링하고 새로운 오류 시그니처를 찾으십시오.
  • 트레이스: 추가된 지연 시간을 소유한 스팬/종속성을 찾으십시오.
  • 차이: git log/발생 시각 전후의 배포 기록을 확인하십시오.

2단계 — 완화

가장 빠른 안전한 수단을 선택하십시오:

원인 신호첫 번째 완화 수단
잘못된 배포마지막으로 알려진 정상 상태로 롤백
잘못된 설정/플래그설정 되돌리기 / 플래그 비활성화
과부하스케일 아웃, 용량 추가, 속도 제한/부하 분산 활성화
잘못된 종속성페일오버, 서킷 브레이커 활성화, 캐시/저하된 상태로 서비스 제공
포이즌 메시지컨슈머 일시 중지, DLQ로 라우팅, 문제 레코드 건너뛰기
리소스 누수인스턴스 재시작/재활용, 임시로 한도 증가

완화 후: 원래 증상과 메트릭을 기준으로 복구를 확인하십시오. 신호가 기준선으로 돌아올 때만 안정 상태로 선언하십시오.

3단계 — 근본 원인 (안정화 이후)

  • 타임라인을 재구성하십시오: 변경 → 최초 증상 → 탐지 → 완화 → 복구.
  • 증거를 바탕으로 인과 관계 사슬을 확립하고 트리거와 근본 원인, 기여 요인을 구분하십시오.
  • 가설을 검증하십시오: 모든 증상을 설명할 수 있습니까? 안전하게 재현할 수 있습니까?

4단계 — 내구성 있는 수정 및 예방

  • 회귀 테스트와 함께 실제 수정 사항을 배포하십시오.
  • 다음 번에 더 빨리 탐지되도록 모니터링을 추가/조정하십시오.
  • 동일한 방식으로 재발할 수 없도록 가드레일을 추가하십시오 (검증, 한도, 자동화, 롤백 게이팅).
  • .cursor/templates/incident-report-template.md를 사용하여 사후 보고서를 작성하십시오 — 비난 없는, 행동 중심의 보고서.

출력 형식

인시던트를 처리할 때 다음과 같은 구조로 응답하십시오:

상황:   <한 줄 증상 + 범위 + 심각도>
타임라인:    <주요 타임스탬프 이벤트>
가설:  <순위별, 각각을 지지/반박하는 증거 포함>
현재 조치:  <다음 단일 단계 + 올바를 경우 예상되는 신호>
롤백:    <조치가 도움이 되지 않을 경우 되돌리는 방법>

가드레일

  • 명시적인 인간 확인 없이 파괴적인 명령(drop, delete, force-push)을 실행하지 마십시오.
  • 여러 변경을 동시에 하지 마십시오 — 인과 관계 신호를 잃게 됩니다.
  • 데이터 무결성에 위험이 있는 경우 지연 시간 복구보다 데이터 보호를 우선시하십시오.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

관련 스킬