skills/Comparator-AI-Context/SKILL.md
# SKILL: uml-comparator ## Purpose So sánh 2 UMLGraph đã được Match chẻ sát với nhau. Tìm ra sự khác lạ cục bộ (sai thuộc tính, thiếu class, sai chiều mũi tên kế thừa). Trả ra `*DiffReport` chứa các con trỏ trực tiếp đến đối tượng bị lỗi. ## Execution Approach 1. **TypeMap Registration**: Dựa vào `MappingTable`, tạo `TypeMap[SolutionNodeName] = StudentNodeName` để phục vụ dịch đổi ngữ nghĩa các kiểu tham số hoặc thuộc tính tự định nghĩa. 2. **Missing Node Check**: Duyệt List Nodes của Mẫu. Nếu
npx skillsauth add nguyen-agn/uml_comparator skills/Comparator-AI-ContextInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
So sánh 2 UMLGraph đã được Match chẻ sát với nhau. Tìm ra sự khác lạ cục bộ (sai thuộc tính, thiếu class, sai chiều mũi tên kế thừa). Trả ra *DiffReport chứa các con trỏ trực tiếp đến đối tượng bị lỗi.
MappingTable, tạo TypeMap[SolutionNodeName] = StudentNodeName để phục vụ dịch đổi ngữ nghĩa các kiểu tham số hoặc thuộc tính tự định nghĩa.MappingTable -> Báo MissingDetail.Class (Stu = nil).MappedNode:
WrongDetail/CorrectDetail.WrongDetail/CorrectDetail. Getter/Setter chỉ đếm số lượng.MappingTable. Dò: Khớp hoàn toàn -> CorrectDetail; Sai loại (wrong type) -> WrongDetail; Mũi tên ngược (Reverse Arrow) -> WrongDetail; Không tìm thấy -> MissingDetail. Student có thừa -> ExtraDetail.*domain.DiffReport gồm các danh sách: NodeDiff, AttributeDiff, MethodDiff, EdgeDiff.
Sol (con trỏ đến đối tượng mẫu), Stu (con trỏ đến đối tượng sinh viên), và Description.development
# SKILL: drawio-visualizer ## Purpose Render kết quả chấm UML ra 2 loại file HTML self-contained: 1. **Grader Report** (`report_*.html`): Full side-by-side Student vs Solution, summary, deduction feedbacks — dành cho người chấm. 2. **Student Feedback** (`feedback_*.html`): Chỉ hiển thị bài làm SV với color-coded status (đúng/sai/thừa). Không lộ đáp án, không hiện deduction details — gửi cho sinh viên xem lại. ## Execution 1. Pipeline: Parse → Build → Validate → PreMatch → Match → Compare → Grad
development
Chạy test case trên các file UML draw.io để kiểm tra xem Builder + ValidateGraph có phát hiện đúng lỗi. Dùng để verify rằng pipeline xử lý UML bắt được các loại lỗi sai trong file .drawio.
development
# SKILL: batch-grader-reporter ## Purpose Cung cấp chức năng chấm điểm đồng loạt (Batch Grading) cho nhiều file bài làm UML (`.drawio`) của sinh viên đối chiếu với 1 file đáp án mẫu. Kết quả của tất cả các bài nộp được tổng hợp lại thành `BatchGradeResult` và chuyển đền interface `IReporter` để sinh report. ## Execution 1. Cấu trúc: - Load file solution `solution.drawio`. - Quét thư mục `student_dir` tìm các file `.drawio`. - Với mỗi file: Parse → Build → PreMatch → Match → Compare →
development
Skill để tái cấu trúc (refactor) một module bất kỳ theo chuẩn SOLID, áp dụng Interface-first và bổ sung Unit Test hoàn chỉnh.