| name | incident |
| description | Respond to and learn from AI agent incidents โ triage severity, coordinate response, contain blast radius, and write postmortems. Use when an agent produces harmful outputs, costs spike unexpectedly, accuracy drops suddenly, or users report critical failures. |
| argument-hint | [incident description or agent name] |
| allowed-tools | ["Read","Write"] |
| model | inherit |
Agent Incident Response
์์ด์ ํธ ์ฅ์ ๋์ ํ๋กํ ์ฝ โ ๋ฐ๊ฒฌ, ๋ถ๋ฅ, ๋์, ๋ณต๊ตฌ, ํ์ต
Core Goal
- ์์ด์ ํธ ์ฅ์ ๋ฅผ ์ ์ํ๊ฒ ๊ฐ์งํ๊ณ ๋์ โ ์นจ๋ฌต์ ์คํจ(Silent Failure)๋ฅผ ์กฐ๊ธฐ์ ์ฐพ์๋ด๊ณ ๊ฒฉ๋ฆฌ
- ๋ธ๋์คํธ ๋ฐ๊ฒฝ์ ์ ํํ๊ณ ์ํฅ ์ต์ํ โ ์ํฅ๋ฐ์ ์ฌ์ฉ์/๋น์ฉ ๋ฒ์๋ฅผ ์ ํํ ํ์
ํ ์ ์ ๋ณต๊ตฌ
- ์ฅ์ ๊ฒฝํ์ ์๋ฌต์ง๋ก ์ถ์ถ โ TK๋ก ๊ธฐ๋กํด์ ๋น์ทํ ์คํจ์ ์ฌ๋ฐ ๋ฐฉ์ง
Trigger Gate
Use This Skill When
- ์์ด์ ํธ ์ ํ๋๊ฐ ๊ธ๋ฝ(> 10% ํ ๋ฒ์)ํ์ ๋
- ๋น์ฉ์ด ๊ฐ์๊ธฐ ํญ์ฆ(2๋ฐฐ ์ด์)ํ์ ๋
- PII ๋๋ ๋ฏผ๊ฐ ์ ๋ณด ์ ์ถ ์ ํธ๊ฐ ์์ ๋
- ์ฌ์ฉ์ ์ ๊ณ ๋๋ SNS ๋ถ์ ์ ์ธ๊ธ์ด ๋ค์ด์์ ๋
- ๋ด๋ถ QA/๋ชจ๋ํฐ๋ง์์ ์๋ฌ์จ ๊ธ์ฆ์ ํ์งํ์ ๋
Route to Other Skills When
- reliability (Pre-mortem ์น์
) โ ์ฅ์ ์์ธ ๋ถ์ ํ ์ ์ฌ ์คํจ ์๋ฐฉ ๋ฉ์ปค๋์ฆ ์ค๊ณ
- ops-review --mode cost โ ๋น์ฉ ํญ์ฆ์ด ํ ํฐ ์ฌ์ฉ๋ ์ด์์ด๋ผ๋ฉด (๋น์ฉ ์ต์ ํ ํ์)
- reliability โ ์ฅ์ ๋ณต๊ตฌ ํ ์ ๋ขฐ์ฑ ๊ฐ์ ๊ณํ ์๋ฆฝ
- metrics-design (์ฝํธํธ ๋ถ์ ์น์
) โ ํน์ ๋ฒ์ /์ธ๊ทธ๋จผํธ๋ง ์ฅ์ ๋ฅผ ๊ฒช์๋ค๋ฉด (์ฝํธํธ ๋ถ์)
Boundary Checks
- ์ค์ ์ฅ์ vs ์ ์ ๋ณ๋ โ Accuracy 1-2% ๋ณํ๋ ์ ์ ๋ฒ์, > 5% ์ด์์ด๋ฉด ์กฐ์ฌ
- ์์ธ ํ๋จ ๊ณผ์ โ 5 Whys๋ฅผ ์ต์ 3๋จ๊ณ ์ด์ ์คํํด์ผ ๊ทผ๋ณธ ์์ธ ํ์
๊ฐ๋ฅ
- ์ํฅ๋ ์ฐ์ ์ ํ์ฑ โ ์ถ์ ์ด ์๋ ์ค์ ์ํฅ๋ฐ์ ์ฌ์ฉ์/ํธ๋์ญ์
๋ก๊ทธ ๊ธฐ๋ฐ ํ์ธ
๊ฐ๋
์์ด์ ํธ ์ฅ์ ๋ ์ผ๋ฐ ์ํํธ์จ์ด ์ฅ์ ์ ๋ค๋ฅด๋ค. "์๋ฒ๊ฐ ์ฃฝ์๋ค"๋ ๋ช
ํํ์ง๋ง, "์์ด์ ํธ๊ฐ ํ๊ฐ์ผ๋ก ์๋ชป๋ ๋ต์ ์คฌ๋ค"๋ ๋ฐ๊ฒฌ ์์ฒด๊ฐ ์ด๋ ต๋ค. ์นจ๋ฌต์ ์คํจ(Silent Failure)๊ฐ ์์ด์ ํธ ์ฅ์ ์ ๊ฐ์ฅ ์ํํ ์ ํ์ด๋ค.
Instructions
You are running incident response for: $ARGUMENTS
Step 1 โ Incident Detection & Classification
๋ฐ๊ฒฌ ์๊ฐ: [timestamp]
๋ฐ๊ฒฌ ๋ฐฉ๋ฒ:
โก ์๋ ๋ชจ๋ํฐ๋ง ์๋ฆผ
โก ์ฌ์ฉ์ ์ ๊ณ
โก ๋ด๋ถ QA ๋ฐ๊ฒฌ
โก ๋น์ฉ ์ด์ ๊ฐ์ง
โก ์ธ๋ถ ๋ณด๊ณ (SNS, ์ธ๋ก )
Severity Classification:
| SEV | ์ ์ | ์์ | ๋์ ์๊ฐ |
|---|
| SEV-1 | ์ ์ฒด ์๋น์ค ์ค๋จ ๋๋ ๋ฐ์ดํฐ ์ ์ถ | ์์ด์ ํธ๊ฐ PII๋ฅผ ์ธ๋ถ์ ๋
ธ์ถ | 15๋ถ ์ด๋ด |
| SEV-2 | ํต์ฌ ๊ธฐ๋ฅ ์ฅ์ , ๋ค์ ์ ์ ์ํฅ | ์ ํ๋ 50% ์ดํ๋ก ๊ธ๋ฝ, ๋น์ฉ 10๋ฐฐ ํญ๋ฑ | 1์๊ฐ ์ด๋ด |
| SEV-3 | ์ผ๋ถ ๊ธฐ๋ฅ ์ ํ, ์์ ์ ์ ์ํฅ | ํน์ ์
๋ ฅ์์ ํ๊ฐ ๋ฐ๋ณต | 4์๊ฐ ์ด๋ด |
| SEV-4 | ๊ฒฝ๋ฏธํ ํ์ง ์ ํ, ์ฐํ ๊ฐ๋ฅ | ์๋ต ์๋ ์ ํ, ํฌ๋งท ๊นจ์ง | 24์๊ฐ ์ด๋ด |
Step 2 โ Immediate Response
์์ด์ ํธ ์ฅ์ ์ ํ๋ณ ๊ธด๊ธ ๋์:
๐ด ํ๊ฐ/์ค์ ๋ณด ์ฅ์ :
1. ํด๋น ์์ด์ ํธ ๊ธฐ๋ฅ ์ฆ์ ๋นํ์ฑํ
2. ์ํฅ ๋ฒ์ ํ์ธ (๋ช ๋ช
์ด ์๋ชป๋ ์ ๋ณด๋ฅผ ๋ฐ์๋๊ฐ?)
3. ์ํฅ๋ฐ์ ์ ์ ์๊ฒ ์ ์ ํต๋ณด
4. ์์ธ ๋ถ์ (ํ๋กฌํํธ ๋ฌธ์ ? ๋ชจ๋ธ ๋ณ๊ฒฝ? ์
๋ ฅ ๋ฐ์ดํฐ ์ค์ผ?)
๐ด ๋น์ฉ ํญ๋ฑ ์ฅ์ :
1. API ํธ์ถ rate limit ์ฆ์ ์ค์
2. ๋น์ฉ ๋ฐ์ ์์ธ ์ถ์ (๋ฌดํ ๋ฃจํ? ํ ํฐ ํญ๋ฐ? ์๋ชป๋ ๋ชจ๋ธ ๋ผ์ฐํ
?)
3. ๋น์ฉ ์บก ์ค์
4. ์ํฅ๋ฐ์ ๊ธฐ๊ฐ์ ๋น์ฉ ์ฐ์ถ
๐ด ๋ฐ์ดํฐ ์ ์ถ ์ฅ์ :
1. ์์ด์ ํธ ์ฆ์ ์ค๋จ
2. ์ ์ถ ๋ฒ์ ํ์
(์ด๋ค ๋ฐ์ดํฐ, ๋๊ตฌ์๊ฒ, ์ด๋๋ก)
3. ๋ฒ๋ฌดํ ์ฆ์ ํต๋ณด
4. ๊ท์ ๋ณด๊ณ ํ์ ์ฌ๋ถ ํ๋จ (GDPR, ๊ฐ์ธ์ ๋ณด๋ณดํธ๋ฒ)
๐ด ์ฐ์ ์คํจ ์ฅ์ (๋ฉํฐ์์ด์ ํธ):
1. ์ค์ผ์คํธ๋ ์ดํฐ ์์ด์ ํธ ์ค๋จ
2. ํ์ ์์ด์ ํธ ์ํ ํ์ธ
3. ์คํจ ์ ํ ๊ฒฝ๋ก ์ถ์
4. ๊ฒฉ๋ฆฌ ํ ๊ฐ๋ณ ์์ด์ ํธ ์์ฐจ ์ฌ์์
Step 3 โ Blast Radius Assessment
์ํฅ ๋ฒ์:
์ ์ ์: [N]๋ช
๊ธฐ๊ฐ: [start] ~ [end]
๋ฐ์ดํฐ ์ํฅ: [none / read / write / delete]
๋น์ฉ ์ํฅ: $[amount]
ํํ ์ํฅ: [none / internal only / external / media]
์ํฅ๋ฐ์ ์์คํ
:
โก ์์ด์ ํธ ์์ฒด
โก ์ฐ๋ API/์๋น์ค
โก ๋ฐ์ดํฐ ์ ์ฅ์
โก ํ์ ์์ด์ ํธ (๋ฉํฐ์์ด์ ํธ)
โก ์ฌ์ฉ์ ๋ฐ์ดํฐ
Step 4 โ Recovery
๋จ๊ธฐ ๋ณต๊ตฌ:
โโโ Rollback: ์ด์ ์์ ๋ฒ์ ์ผ๋ก ๋ณต๊ตฌ [Y/N]
โโโ Hotfix: ๊ธด๊ธ ์์ ๋ฐฐํฌ [๋ด์ฉ]
โโโ Workaround: ์์ ์ฐํ ๋ฐฉ๋ฒ [๋ด์ฉ]
โโโ Communication: ์ ์ /์ดํด๊ด๊ณ์ ํต๋ณด [์๋ฃ ์ฌ๋ถ]
์ฅ๊ธฐ ๋ณต๊ตฌ:
โโโ Root Cause Fix: ๊ทผ๋ณธ ์์ธ ํด๊ฒฐ [๊ณํ]
โโโ Monitoring: ์ฌ๋ฐ ๊ฐ์ง ์๋ฆผ ์ถ๊ฐ [๋ด์ฉ]
โโโ Testing: ํ๊ท ํ
์คํธ ์ถ๊ฐ [๋ด์ฉ]
โโโ TK Extraction: ์ด ์ฅ์ ์์ ๋ฐฐ์ด ํ๋จ ๊ธฐ์ค โ TK๋ก ์ถ์ถ
Step 5 โ Postmortem
Postmortem: [incident title]
Date: [date]
Severity: [SEV-1/2/3/4]
Duration: [detection] ~ [recovery] = [N]์๊ฐ
Timeline:
[T+0] [๋ฐ๊ฒฌ]
[T+Nm] [1์ฐจ ๋์]
[T+Nh] [์์ธ ํ์
]
[T+Nh] [๋ณต๊ตฌ ์๋ฃ]
Root Cause:
[๊ทผ๋ณธ ์์ธ โ "5 Whys" ์ ์ฉ]
1. Why: [direct cause]
2. Why: [underlying cause]
3. Why: [systemic cause]
4. Why: [process gap]
5. Why: [cultural/structural root]
What Went Well:
- [์ ๋์ํ ๊ฒ]
What Went Wrong:
- [๊ฐ์ ํ ๊ฒ]
Action Items:
โก [action 1] โ Owner: [name] โ Due: [date]
โก [action 2] โ Owner: [name] โ Due: [date]
โก [action 3] โ Owner: [name] โ Due: [date]
TK Extracted:
TK-[NNN]: [์ด ์ฅ์ ์์ ์ถ์ถํ ์๋ฌต์ง]
Output
Incident Report: [title]
โโโโโโโโโโโโโโโโโโโโโโโโโโ
Severity: [SEV-N]
Status: [Active / Mitigated / Resolved]
Blast Radius: [N] users, $[cost], [duration]
Root Cause: [one-line]
Recovery: [rollback / hotfix / workaround]
Action Items: [N] items, [N] completed
TK Extracted: [TK-NNN title]
Failure Handling
| ์คํจ ์ํฉ | ๊ฐ์ง | ๋์ |
|---|
| ์ฌ๊ฐ๋ ๋ถ๋ฅ ์ฐฉ์ค | SEV-3๋ก ๋ถ๋ฅํ์ผ๋ ์ค์ ์ํฅ์ ๋ค์ ์ ์ (SEV-2 ์์ค) | ์ฌ๊ฐ๋ ์ฌ์กฐ์ , ๋์ ์ธ๋ ฅ ์ฆ์, ์์ค์ปฌ๋ ์ด์
|
| ์์ธ ๋ถ์ ๋ถ์์ | ์ง์ ์์ธ๋ง ํ์
(e.g., "API timeout") โ ๊ทผ๋ณธ ์์ธ๊น์ง ๋ชป ๋ฏธ์นจ | 5 Whys๋ฅผ ์ต์ 3๋จ๊ณ ์ด์ ์งํ, ์์คํ
๋ ๋ฒจ ์์ธ ์ถ์ถ |
| ๋ธ๋์คํธ ๋ฐ๊ฒฝ ๊ณผ์ ํ๊ฐ | "100๋ช
์ํฅ๋ฐ์๋ค"๊ณ ๋ณด๊ณ โ ๋์ค์ 1000๋ช
๋ฐ๊ฒฌ | ์ํฅ๋ ์ฌ์ฐ์ , ์ถ๊ฐ ๊ณต์ง, TK ์ถ์ถ ๋ด์ฉ ํ๋ |
| ๋กค๋ฐฑ ๋ถ๊ฐ๋ฅ | ์ด์ ๋ฒ์ ์ด ์๊ฑฐ๋ ๋ณต๊ตฌ ๊ฒฝ๋ก ๋ถ๋ช
ํ โ ๋ณต๊ตฌ ์๊ฐ ์ง์ฐ | ํฅํ ๋ฒ์ ๊ด๋ฆฌ ๊ฐํ, ์ฆ์ hotfix ๋์ ๊ฒํ |
| ์ปค๋ฎค๋์ผ์ด์
์ง์ฐ | ์ํฅ๋ฐ์ ์ ์ ์๊ฒ 12์๊ฐ ํ ํต๋ณด โ ์ ๋ขฐ๋ ์ถ๋ฝ | ์ด๊ธฐ ์ํฉ ์ธ์ ํ 1์๊ฐ ์ด๋ด 1์ฐจ ๊ณต์ง, ์ดํ 4์๊ฐ ์ฃผ๊ธฐ ์
๋ฐ์ดํธ |
Quality Gate
Examples
Good Example
์ฅ์ ๋์: ๊ณ ๊ฐ ์ง์ ์์ด์ ํธ "ํ๊ฐ ์ค์ ๋ณด" ์ฅ์
๋ฐ๊ฒฌ: 2026-03-05 14:23 (์๋ ๋ชจ๋ํฐ๋ง ์๋ฆผ)
์ฌ๊ฐ๋: SEV-2 (์ ํ๋ 48% โ ๊ธ๋ฝ, ๋ค์ ์ ์ ์ํฅ)
์ด๊ธฐ ๋์ (T+0 ~ T+30๋ถ):
1. ์์ด์ ํธ ๊ธฐ๋ฅ ์ฆ์ ๋นํ์ฑํ
2. ์ํฅ๋ ํ์
: 2,340๋ช
์ด ์๋ชป๋ ์ ๋ณด ์์ (2์๊ฐ ๊ธฐ๊ฐ)
3. ์ฌ์ฉ์์๊ฒ 1์ฐจ ๊ณต์ง (์ ์ ๋ฉ์์ง ๋ฐ์ก)
์์ธ ๋ถ์ (T+30๋ถ ~ T+2์๊ฐ):
- Why 1: ์ ํ๋ ๊ธ๋ฝ โ ๋ชจ๋ธ ์๋ต ํ์ ์ค๋ฅ ๊ฐ์ง
- Why 2: ํ์ ์ค๋ฅ โ ์๋ก์ด ์์คํ
ํ๋กฌํํธ ์ ์ฉ ํ ๋ฐ์
- Why 3: ํ๋กฌํํธ ๋ณ๊ฒฝ โ QA ํ
์คํธ ์์ด ๋ฐฐํฌ๋จ
- Why 4: ๋ฐฐํฌ ์ ์ฐจ ์ฐํ โ ๊ธด๊ธ ๋ฐฐํฌ ํ๋ก์ธ์ค ๋ถ์ฌ
- Why 5: ํ๋ก์ธ์ค ๋ถ์ฌ โ ์๋ํ๋ QA ๊ฒ์ดํธ ๋ฏธ์ค์
๋ณต๊ตฌ (T+2์๊ฐ):
- Rollback: ์ด์ ํ๋กฌํํธ ๋ฒ์ ๋ฐฐํฌ
- ๊ฒ์ฆ: ์ ํ๋ ๋ณต๊ตฌ ํ์ธ (94% ํ๋ณต)
- ์ฌ๋ฐฐํฌ: QA ์๋ํ ์ถ๊ฐ ํ ์ ๊ท ํ๋กฌํํธ ์ฌ๋ฐฐํฌ
TK ์ถ์ถ:
- TK-042: ํ๋กฌํํธ ๋ณ๊ฒฝ ์ QA ์๋ํ ๊ฒ์ดํธ ํ์
- TK-043: ์์คํ
ํ๋กฌํํธ ๋ณ๊ฒฝ์ A/B ํ
์คํธ ๊ฒฝ์
Bad Example
"์ ํ๋๊ฐ ๋จ์ด์ก๋๋ฐ ๋์ค์ ์์ธ์ ์ฐพ์"
โ ๋ฌธ์ ์ :
- ์ฆ์ ๋์ ์์ (์ฌ์ฉ์ ๊ณ์ ์๋ชป๋ ์ ๋ณด ๋ฐ์)
- ์ฌ๊ฐ๋ ๋ถ๋ฅ ์ ํจ
- ์ํฅ๋ ํ์
๋ฏธ๋ฃจ๊ธฐ
- "์๋ง ๋ชจ๋ธ ๋ฌธ์ ์ธ ๊ฒ ๊ฐ๋ค"๋ ์ถ์ธก (๊ทผ๋ณธ ์์ธ ๋ถ์ ์ ํจ)
- ์ด์ฉ์์๊ฒ ๊ณต์ง ์ ํจ (์ ๋ขฐ๋ ์ถ๋ฝ)
- ์ด ์ฅ์ ๋ก๋ถํฐ ๋ฐฐ์ด ๊ฒ ์์
โ ์ฌ์์
: ์ฆ์ ๋์ ์ฒดํฌ๋ฆฌ์คํธ โ ๋ธ๋์คํธ ๋ฐ๊ฒฝ ํ์
โ 5 Whys โ TK ์ถ์ถ
์ฐธ๊ณ
- ์ค๊ณ์: AI PM Skills Contributors, 2026-03
- ์์ด์ ํธ ์ฅ์ ์ ํ ๋ถ๋ฅ: production agent ์ด์ ์ฅ์ ๋์ ๊ฒฝํ ๊ธฐ๋ฐ
- Silent Failure ํจํด: ํ๊ฐ์ด "๊ทธ๋ด๋ฏํ ๋ต"์ด๋ผ ์ ์ ๊ฐ ์ฅ์ ๋ฅผ ์ธ์ง ๋ชป ํ๋ ์ผ์ด์ค
- reliability ์คํฌ์ Pre-mortem ์น์
๊ณผ ์ํธ ๋ณด์ (์ฌ์ ์๋ฐฉ vs ์ฌํ ๋์)
Further Reading
- Google SRE Book, "Managing Incidents" โ Incident response process and postmortem culture
- Anthropic, "Building Effective Agents" (2024) โ Agent error handling and recovery patterns
Test Cases
!cat references/test-cases.md 2>/dev/null || echo ""
Troubleshooting
!cat references/troubleshooting.md 2>/dev/null || echo ""
Contextual Knowledge (auto-loaded)
๋ณด์กฐ ํ์ผ์ด ์กด์ฌํ ๋๋ง ์๋ ๋ก๋๋ฉ๋๋ค. ํ์ผ์ด ์์ผ๋ฉด ๊ฑด๋๋๋๋ค.
Good Example
!cat examples/good-01.md 2>/dev/null || echo ""
Bad Example
!cat examples/bad-01.md 2>/dev/null || echo ""
Domain Context
!cat context/domain.md 2>/dev/null || echo ""