teach-me
Installation
SKILL.md
Skill: teach-me
When to use
- User muốn hiểu sâu MỘT thứ cụ thể: một file, một hàm, một tính năng, một hệ thống con — "cái này chạy thế nào", "giải thích cho tôi".
- KHÔNG dùng cho: hiểu cả một codebase lạ (đó là
/onboard-codebase→ wiki, hoặc/join-project→ orient nhanh read-only). teach-me hẹp và sâu, không ghi wiki.
Bạn ĐƯỢC DÙNG công cụ để CHỨNG, không chỉ đọc
Đây là điểm phân biệt. Câu "nó chạy thế nào" phải được chứng bằng runtime thật, không suy đoán từ đọc tĩnh. Công cụ trong môi trường Claude Code:
- Python:
python3 -m pdb <file>, hoặcimport pdb; pdb.set_trace()/breakpoint()tạm, hoặcdebugpy. Rẻ hơn: chènprint(...)/loggingở điểm quan tâm rồi chạy. - Node/JS:
node --inspect,console.trace(),debugger;tạm, hoặcconsole.logở điểm quan tâm. - Bất kỳ: built-in
/run(chạy app thật) và/verify(drive flow, quan sát hành vi). Chạy với đầu vào cụ thể, quan sát state thật ở dòng cụ thể.
"Hàm này chắc trả về X" là phỏng đoán. "Tôi chạy với đầu vào Y, đặt breakpoint ở dòng Z, quan sát state là W" là dữ kiện. Luôn ưu tiên dữ kiện.
Steps
- Xác định phạm vi — user chỉ đích danh thứ cần giải thích. Không rõ → hỏi một câu ("giải thích cái gì?") kèm gợi ý từ context. Đọc code trong phạm vi đó.
- DRIVE runtime (nếu chạy được) — chạy với một đầu vào cụ thể, thêm instrument/breakpoint tạm, quan sát state thật. → Xong khi có ít nhất một quan sát runtime cụ thể (đầu vào → state ở dòng nào). Không chạy được → ghi "giải thích tĩnh" (mục Rules).
- Sinh bảy phần (mục dưới), ĐÚNG THỨ TỰ. → Xong khi cả bảy phần có mặt, không phần nào bị bỏ trống hoặc gộp tắt vào phần khác.
- DỌN SẠCH instrument — gỡ mọi
print/breakpoint/debuggertạm đã chèn;git diffxác nhận code người dùng sạch như trước. → Xong khi diff không còn instrument tạm.