LogoSkills

debrief

Post-incident blameless analysis โ€” root cause, blast radius, gate gap analysis, action items

ํ•ญ๋ชฉ๋‚ด์šฉ
Invoke/debrief
Categorydev-cycle
Complexitymoderate

/debrief#

Post-incident blameless analysis โ€” ์ธ์‹œ๋˜ํŠธ ๋ฐœ์ƒ ํ›„ ๊ทผ๋ณธ ์›์ธ ๋ถ„์„, ์˜ํ–ฅ ๋ฒ”์œ„ ํŒŒ์•…, ๊ฒŒ์ดํŠธ ๊ฐœ์„ ์•ˆ ๋„์ถœ

Triggers#

  • Production ์ธ์‹œ๋˜ํŠธ ๋ฐœ์ƒ ํ›„
  • ์‹ฌ๊ฐํ•œ ๋ฒ„๊ทธ๊ฐ€ ๊ฒŒ์ดํŠธ๋ฅผ ํ†ต๊ณผํ•˜์—ฌ ๋ฐฐํฌ๋œ ๊ฒฝ์šฐ
  • ํŒ€ ํšŒ๊ณ  ๋˜๋Š” post-mortem์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ

Usage#

# ์ธ์‹œ๋˜ํŠธ ์„ค๋ช…์œผ๋กœ ์‹œ์ž‘
/debrief  " ๋กœ๊ทธ์ธ ์„œ๋น„์Šค ์žฅ์•  โ€” ์†Œ์…œ ๋กœ๊ทธ์ธ ํ† ํฐ ๋งŒ๋ฃŒ ๋ฏธ์ฒ˜๋ฆฌ " 

 # ์ด์Šˆ ๋ฒˆํ˜ธ ๊ธฐ๋ฐ˜
/debrief --issue 456

# ํŠน์ • ์ปค๋ฐ‹/PR ๊ธฐ๋ฐ˜
/debrief --pr 789

Parameters#

ParameterRequiredDescription
descriptionโœ…*์ธ์‹œ๋˜ํŠธ ์„ค๋ช…
--issueโœ…*๊ด€๋ จ ZenHub ์ด์Šˆ ๋ฒˆํ˜ธ
--prโœ…*๊ด€๋ จ PR ๋ฒˆํ˜ธ

*ํ•˜๋‚˜ ์ด์ƒ ํ•„์ˆ˜

Options#

OptionDefaultDescription
--depth standard ๋ถ„์„ ๊นŠ์ด (quick, standard, deep)
--outputdocs/debriefs/์‚ฐ์ถœ๋ฌผ ์ €์žฅ ๊ฒฝ๋กœ

Execution Flow#

Phase 1: Information Gathering#

  1. ์ธ์‹œ๋˜ํŠธ ์ปจํ…์ŠคํŠธ ์ˆ˜์ง‘

    • ์ด์Šˆ/PR์—์„œ ์ •๋ณด ์ถ”์ถœ (ZenHub MCP ํ™œ์šฉ)
    • ๊ด€๋ จ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์ด๋ ฅ ์กฐํšŒ (git log, git diff)
    • ์˜ํ–ฅ๋ฐ›์€ ํŒŒ์ผ/๋ชจ๋“ˆ ์‹๋ณ„
  2. ํƒ€์ž„๋ผ์ธ ๊ตฌ์„ฑ

    • ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ์ 
    • ๊ฐ์ง€ ์‹œ์  ๋ฐ ๋ฐฉ๋ฒ•
    • ๋Œ€์‘ ์‹œ์ž‘ ์‹œ์ 
    • ํ•ด๊ฒฐ ์‹œ์ 
    • ์ „์ฒด MTTR (Mean Time To Resolve) ์‚ฐ์ •

Phase 2: Root Cause Analysis#

  1. 5 Whys ๋ถ„์„

    • Why 1: ์ง์ ‘์  ์›์ธ
    • Why 2: ์™œ ๊ทธ ์›์ธ์ด ๋ฐœ์ƒํ–ˆ๋Š”๊ฐ€
    • Why 3-5: ๊ทผ๋ณธ ์›์ธ๊นŒ์ง€ ์žฌ๊ท€์  ์ถ”์ 
    • ๊ฐ ๋‹จ๊ณ„์—์„œ ์ฆ๊ฑฐ(์ฝ”๋“œ, ์ปค๋ฐ‹, ์„ค์ •) ์ฒจ๋ถ€
  2. Blast Radius ๋ถ„์„

    • ์˜ํ–ฅ๋ฐ›์€ ์‚ฌ์šฉ์ž/์„œ๋น„์Šค ๋ฒ”์œ„
    • ์˜ํ–ฅ๋ฐ›์€ ์ฝ”๋“œ ๋ชจ๋“ˆ (Grep ๊ธฐ๋ฐ˜ ์˜์กด์„ฑ ์ถ”์ )
    • ๋ฐ์ดํ„ฐ ์˜ํ–ฅ (์†์‹ค, ๋ถˆ์ผ์น˜ ์—ฌ๋ถ€)

Phase 3: Gate Gap Analysis#

  1. ๊ฒŒ์ดํŠธ์—์„œ ๋†“์นœ ๊ฒƒ ๋ถ„์„

    • Specification Gate: ์ด ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ์ŠคํŽ™์— ํฌํ•จ๋˜์–ด ์žˆ์—ˆ๋Š”๊ฐ€?
    • Analysis Gate: Acceptance Criteria์— ์ด ์ผ€์ด์Šค๊ฐ€ ์žˆ์—ˆ๋Š”๊ฐ€?
    • Implementation Gate: ํ…Œ์ŠคํŠธ๊ฐ€ ์ด ์ผ€์ด์Šค๋ฅผ ์ปค๋ฒ„ํ–ˆ๋Š”๊ฐ€?
    • Code Review: ๋ฆฌ๋ทฐ์–ด๊ฐ€ ์ด ํŒจํ„ด์„ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์—ˆ๋Š”๊ฐ€?
  2. ๊ธฐ์—ฌ ์š”์ธ ์‹๋ณ„

    • ์‹œ์Šคํ…œ์  ์š”์ธ (์•„ํ‚คํ…์ฒ˜, ์ธํ”„๋ผ)
    • ํ”„๋กœ์„ธ์Šค์  ์š”์ธ (๋ฆฌ๋ทฐ, ํ…Œ์ŠคํŠธ)
    • ๋„๊ตฌ์  ์š”์ธ (๋ชจ๋‹ˆํ„ฐ๋ง, ์•Œ๋ฆผ)

Phase 4: Action Items#

  1. ๊ฐœ์„  ์กฐ์น˜ ๋„์ถœ (๊ฐ ํ•ญ๋ชฉ์— ์šฐ์„ ์ˆœ์œ„ ๋ถ€์—ฌ)

    Prevent (์žฌ๋ฐœ ๋ฐฉ์ง€):

    • ์ฝ”๋“œ ๋ณ€๊ฒฝ ์ œ์•ˆ (๊ตฌ์ฒด์  ํŒŒ์ผ/๋ผ์ธ)
    • ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€ ์ œ์•ˆ (๊ตฌ์ฒด์  ์‹œ๋‚˜๋ฆฌ์˜ค)
    • ๊ฒŒ์ดํŠธ ๊ธฐ์ค€ ๊ฐ•ํ™” ์ œ์•ˆ

    Detect (์กฐ๊ธฐ ํƒ์ง€):

    • ๋ชจ๋‹ˆํ„ฐ๋ง/์•Œ๋ฆผ ์ถ”๊ฐ€
    • ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ ํ™•๋Œ€
    • ๋ฆฐํŠธ ๊ทœ์น™ ์ถ”๊ฐ€

    Respond (๋Œ€์‘ ๊ฐœ์„ ):

    • ๋Ÿฐ๋ถ ์—…๋ฐ์ดํŠธ
    • ์—์Šค์ปฌ๋ ˆ์ด์…˜ ๊ฒฝ๋กœ ๊ฐœ์„ 
    • ๋กค๋ฐฑ ์ ˆ์ฐจ ํ™•์ธ

Phase 5: Document & Learn#

  1. Debrief ๋ฌธ์„œ ์ž‘์„ฑ

    • docs/debriefs/YYYY-MM-DD-{topic}-debrief.md ์ €์žฅ
  2. ํ•™์Šต ์—ฐ๋™

    • /session:wrap ํ˜ธ์ถœํ•˜์—ฌ ํ•™์Šต ์‚ฌํ•ญ ์ž๋™ ์ถ”์ถœ
    • ๊ฒŒ์ดํŠธ ๊ฐœ์„ ์•ˆ์ด ์žˆ์œผ๋ฉด ๊ด€๋ จ ๊ฒŒ์ดํŠธ ํŒŒ์ผ์— TODO ์ฝ”๋ฉ˜ํŠธ ์ถ”๊ฐ€

Artifact Structure#

# Debrief: {incident_title}

**Date**: YYYY-MM-DD
**Severity**: Critical | Major | Minor
**MTTR**: Xh Ym

## Summary
{1-2 paragraph incident summary}

## Timeline
| Time | Event |
|------|-------|
| HH:MM | {event} |

## Impact
- **Users affected**: {scope}
- **Services affected**: {list}
- **Data impact**: {description}

## Root Cause (5 Whys)
1. **Why**: {direct cause}
2. **Why**: {underlying cause}
3. **Why**: {systemic cause}
...

## Gate Gap Analysis
| Gate | Should Have Caught? | Why Missed |
|------|---------------------|------------|
| Specification | Yes/No | {reason} |
| Analysis | Yes/No | {reason} |
| Implementation | Yes/No | {reason} |
| Code Review | Yes/No | {reason} |

## Contributing Factors
- {factor 1}
- {factor 2}

## Action Items

### Prevent (์žฌ๋ฐœ ๋ฐฉ์ง€)
- [ ] {action} โ€” Owner: {who} โ€” Due: {when}

### Detect (์กฐ๊ธฐ ํƒ์ง€)
- [ ] {action} โ€” Owner: {who} โ€” Due: {when}

### Respond (๋Œ€์‘ ๊ฐœ์„ )
- [ ] {action} โ€” Owner: {who} โ€” Due: {when}

## Lessons Learned
{blameless insights}

## References
- Issue: #{number}
- PR: #{number}
- Related commits: {hashes}

Key Rules#

  1. Blameless: ๊ฐœ์ธ์ด ์•„๋‹Œ ์‹œ์Šคํ…œ/ํ”„๋กœ์„ธ์Šค์— ์ดˆ์ . "๋ˆ„๊ฐ€"๊ฐ€ ์•„๋‹ˆ๋ผ "์™œ"๋ฅผ ์ถ”์ 
  2. Evidence-based: ๋ชจ๋“  ๋ถ„์„์— ์ฝ”๋“œ/์ปค๋ฐ‹/๋กœ๊ทธ ์ฆ๊ฑฐ ์ฒจ๋ถ€
  3. Actionable: Action Items๋Š” ๊ตฌ์ฒด์ ์ด๊ณ  ๋‹ด๋‹น์ž/๊ธฐํ•œ์ด ๋ช…ํ™•ํ•ด์•ผ ํ•จ
  4. Gate-aware: ํŒŒ์ดํ”„๋ผ์ธ ๊ฒŒ์ดํŠธ ๊ด€์ ์—์„œ ๋ถ„์„ํ•˜์—ฌ ์‹œ์Šคํ…œ ๊ฐœ์„ ์œผ๋กœ ์—ฐ๊ฒฐ
  5. Time-sensitive: ์ธ์‹œ๋˜ํŠธ ํ›„ 48์‹œ๊ฐ„ ์ด๋‚ด ์ˆ˜ํ–‰ ๊ถŒ์žฅ (BMAD ์ •์ฑ…)

  • /dev:bugfix โ€” ๋ฒ„๊ทธ ์ˆ˜์ • ์‚ฌ์ดํด
  • /session:wrap โ€” ์„ธ์…˜ ํ•™์Šต ์ถ”์ถœ
  • /project โ€” ํŒŒ์ดํ”„๋ผ์ธ ๊ฒŒ์ดํŠธ ์ฐธ์กฐ