Create Tech Lecture Skill
Skill hỗ trợ giảng viên CNTT tạo bài viết kỹ thuật chuyên sâu nhưng dễ hiểu.
Quy trình tư duy sư phạm (Pedagogical Flow)
mermaid
flowchart LR
A[🎣 Hook] --> B[🔄 Analogy]
B --> C[🔬 Deep Dive]
C --> D[📊 Visual]
D --> E[💻 Practice]
E --> F[⚠️ Pitfalls]
- •Hook (Thu hút): Bắt đầu bằng vấn đề thực tế hoặc câu hỏi gợi mở
- •Analogy (Ẩn dụ): Giải thích concept bằng hình ảnh đời thường TRƯỚC KHI đi vào kỹ thuật
- •Technical Deep Dive: Phân tích kiến trúc, code, luồng dữ liệu
- •Visual (Trực quan): Sơ đồ hóa bằng Mermaid
- •Practice (Thực hành): Code mẫu với chú thích
- •Pitfalls (Cảnh báo): Lỗi thường gặp + Best Practices
Phân loại bài viết
| Loại | Mục tiêu | Template | Khi nào dùng |
|---|---|---|---|
| Concept Explained | Giải thích khái niệm | concept.md | "Docker là gì?", "OAuth hoạt động thế nào?" |
| Tutorial / Guide | Hướng dẫn làm | tutorial.md | "Build API với Go", "Setup CI/CD" |
| Architecture Review | So sánh/Phân tích | architecture.md | "Microservices vs Monolith", "Chọn database" |
Quy tắc trình bày Code
File Naming
javascript
// ✅ filename: src/services/auth.service.ts
export class AuthService { ... }
Comment WHY, not WHAT
python
# ❌ Sai: Khai báo biến x x = 10 # ✅ Đúng: Giới hạn retry để tránh vòng lặp vô tận khi API không phản hồi MAX_RETRIES = 10
Snippet thay vì Full Code
go
// ... (các import statements)
func main() {
// 👇 Đây là phần quan trọng cần giải thích
router := gin.Default()
router.GET("/ping", pingHandler)
// ... (phần còn lại)
}
Văn phong bắt buộc
- •Analogy First: Mọi concept mới PHẢI có ẩn dụ đời sống
- •Giải thích thuật ngữ ngay lần đầu xuất hiện
- •Paragraph ngắn: Tối đa 4-5 dòng/đoạn
- •Sử dụng emoji để đánh dấu mục quan trọng (⚠️, ✅, ❌, 💡)
- •Trade-off rõ ràng: Luôn chỉ ra đánh đổi của giải pháp
Mermaid Diagram Types
| Loại nội dung | Mermaid Type |
|---|---|
| Quy trình, luồng | flowchart |
| Tương tác runtime | sequenceDiagram |
| Cấu trúc class/module | classDiagram |
| Entity relationships | erDiagram |
| Timeline/Roadmap | gantt |