| name | review-code |
| description | Review code trên branch hiện tại hoặc branch chỉ định. Trigger khi user nói: "review code", "review this branch", "review pull request", "review my code", "kiểm tra code", "phản hồi code", "code review branch X" |
Code Review Skill
Overview
Thực hiện code review chuyên nghiệp trên các file thay đổi trong branch hiện tại (hoặc branch được chỉ định). Luôn tuân thủ coding standards của dự án được định nghĩa trong specs/rules/*.md.
Quick Reference
- Đọc tất cả quy tắc từ: specs/rules/*.md (nếu có)
- Ưu tiên review theo thứ tự: security > correctness > performance > readability > maintainability > style
- Severity levels: Critical, High, Medium, Low, Suggestion
- Không tự động sửa code trừ khi user yêu cầu rõ ràng ("fix theo review", "apply suggestions")
Steps (thực hiện tuần tự)
-
Xác định scope review
- Nếu user nói "this branch" hoặc không chỉ định → dùng branch hiện tại (git branch --show-current)
- Nếu user nói "branch X" → checkout tạm git diff origin/develop...X
- Lấy danh sách file thay đổi: git diff --name-only origin/develop...HEAD (hoặc tương ứng với base branch)
-
Thu thập coding rules
- Tìm tất cả file: find specs/rules -type f -name "*.md"
- Đọc nội dung: cat từng file → tổng hợp thành context (ưu tiên rules liên quan đến ngôn ngữ/framework hiện tại)
- Nếu không tìm thấy specs/rules → fallback: "Không tìm thấy coding rules, review dựa trên best practices chung"
-
Review từng file thay đổi
- Đối với mỗi file trong danh sách thay đổi:
- Đọc nội dung file (Read tool)
- So sánh với rules → tìm violation
- Đánh giá: correctness, security, performance, readability, naming, comments, type safety, error handling...
- Ghi chú cụ thể: line number, đoạn code vi phạm, giải thích tại sao sai, severity, gợi ý fix
-
Tổng hợp review
-
Kết thúc
- Nếu có issue nghiêm trọng → khuyến nghị không merge trước khi fix
- Hỏi user: "Bạn muốn mình apply một số suggestion không?" (nếu có Write/Edit permission)
Lưu ý quan trọng
- Luôn dùng tool Bash để chạy git/gh commands (ví dụ: git diff --name-only)
- Nếu cần diff chi tiết: git diff origin/develop...HEAD -- file/path.js
- Không tự Write/Edit trừ khi user confirm rõ ràng
- Nếu branch không clean (có uncommitted changes) → nhắc user commit/stash trước