# Runbook Demo — 5 phút

## Chuẩn bị trước (KHÔNG làm live)
- Mở sẵn: `PROMPTS.md`, `CLAUDE.md`, `PR-diff.md`, `orderService.js`.
- Chạy thử 1 lần trước buổi nói, **quay màn hình** làm backup (AI live đôi khi chậm/khác).
- Diff đã đủ nhỏ (~10 dòng) để khán giả đọc hết trong 10 giây.

## Kịch bản
| Thời gian | Làm gì | Thông điệp |
|-----------|--------|-----------|
| 0:00–0:30 | Chiếu PR-diff, đọc to "feature hủy đơn, ~10 dòng". Đừng nói có lỗi. | Bối cảnh |
| 0:30–2:00 | Chạy prompt **① BEFORE** | Góp ý linh tinh, **bỏ lọt** lỗi nguy hiểm |
| 2:00–3:30 | Chạy prompt **② AFTER** | Bắt đúng lỗi cancel-shipped + trích rule, bỏ nitpick |
| 3:30–4:30 | Chạy **③ persona** (maintainability) | Tóm `toMoney` trùng `formatCurrency` |
| 4:30–5:00 | Slide so sánh + chốt | "Cùng một model, khác ở cách đưa context" |

## Mẹo chống "chết" trên sân khấu
- Tuyệt đối không gõ tay — copy từ PROMPTS.md.
- Nếu "before" lỡ bắt được lỗi: nhấn mạnh nó vẫn báo kèm nhiều nitpick vô nghĩa, còn "after" thì gọn & trúng.
- Có thể chia màn hình chạy song song before/after cho tương phản tức thì.

## Đáp án 2 lỗi cài sẵn (cho người trình bày)
1. cancelOrder không check `status === 'shipped'` → vi phạm business rule.
2. `toMoney()` trùng `formatCurrency()` đã có.
