# 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ó.