{"id":96110,"plugin_id":"plugin_asdk_app_6addaea68388819195f6ed7ab4894094","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-14T01:33:33.717Z","digest":"e3a495f6b019368cf9ef7671a2f4c26f9e2b054b8bf7cfdd0707e1a872ae90c8","against":null,"payload":{"description":"Tra cứu và kiểm chứng văn bản pháp luật Việt Nam bằng Lawgical trước khi trích dẫn. Dùng cho MỌI câu hỏi về pháp luật Việt Nam - tra cứu luật, tìm một Điều/Khoản cụ thể, hỏi một văn bản còn hiệu lực hay không, so sánh hai văn bản, tra nghĩa vụ / thời hạn / mức phạt, hoặc kiểm tra Lawgical có văn bản X hay không. Dùng cả khi câu hỏi viết bằng tiếng Anh (Vietnamese law, decree, circular). Skill này bắt buộc một quy trình xác minh bốn bước - đúng văn bản, đủ nội dung, còn hiệu lực, đúng nguồn - vì kho dữ liệu có thể trả về kết quả nghe rất thuyết phục nhưng sai. KHÔNG dùng cho pháp luật nước ngoài, và không thay thế ý kiến của luật sư có chứng chỉ.","included_files":[],"name":"tra-cuu-phap-luat","skill_md_contents":"---\nname: tra-cuu-phap-luat\ndescription: Tra cứu và kiểm chứng văn bản pháp luật Việt Nam bằng Lawgical trước khi trích dẫn. Dùng cho MỌI câu hỏi về pháp luật Việt Nam - tra cứu luật, tìm một Điều/Khoản cụ thể, hỏi một văn bản còn hiệu lực hay không, so sánh hai văn bản, tra nghĩa vụ / thời hạn / mức phạt, hoặc kiểm tra Lawgical có văn bản X hay không. Dùng cả khi câu hỏi viết bằng tiếng Anh (Vietnamese law, decree, circular). Skill này bắt buộc một quy trình xác minh bốn bước - đúng văn bản, đủ nội dung, còn hiệu lực, đúng nguồn - vì kho dữ liệu có thể trả về kết quả nghe rất thuyết phục nhưng sai. KHÔNG dùng cho pháp luật nước ngoài, và không thay thế ý kiến của luật sư có chứng chỉ.\nlicense: Proprietary\ncompatibility: Cần plugin (connector) Lawgical tại https://legal.lawgical.vn/mcp đã kết nối và được gắn vào đoạn chat đang dùng.\nmetadata:\n  author: Lawgical\n  version: \"1.1\"\n  homepage: https://lawgical.vn\n---\n\n# Tra cứu & kiểm chứng văn bản pháp luật Việt Nam\n\nLawgical lập chỉ mục hơn 150.000 văn bản pháp luật Việt Nam từ nguồn chính thức của nhà\nnước. Skill này không dạy cách gọi công cụ — nó dạy cách **không trả lời sai**.\n\nLý do cần nó: kho dữ liệu tra cứu theo cơ chế khớp mờ. Khi không tìm thấy thứ bạn hỏi, nó\nthường **không báo lỗi** mà trả về một văn bản gần giống. Kết quả trông hoàn chỉnh, có số\nký hiệu, có điều khoản — và là văn bản khác. Quy trình kiểm chứng ở dưới là thứ chặn điều đó.\n\n## Ba quy tắc không được phá\n\n1. **Không trả lời pháp luật Việt Nam bằng trí nhớ.** Luôn tra cứu. Luật Việt Nam sửa đổi\n   liên tục và số hiệu Điều rất dễ nhớ nhầm.\n2. **Không trích dẫn khi chưa chạy đủ 4 bước kiểm chứng.** Không có ngoại lệ cho văn bản\n   \"trông đúng rồi\".\n3. **Thiếu dữ liệu thì nói thiếu.** Một câu trả lời pháp lý sai gây thiệt hại lớn hơn nhiều\n   so với việc nói rõ phần nào chưa kiểm chứng được.\n\n## Công cụ\n\nCác công cụ Lawgical xuất hiện sẵn khi plugin đã được **gắn vào đoạn chat đang dùng**. Nếu\nkhông thấy công cụ nào, xem phần [Xử lý sự cố](#xử-lý-sự-cố) — gần như luôn là do chưa gắn\nplugin vào chat, không phải mất kết nối.\n\nMỗi lần gọi trả về nội dung tính **1 lượt** vào hạn mức ngày của tài khoản; hạn mức đặt lại\nlúc **00:00 giờ Việt Nam (ICT)**. `get_account_status()` cho biết hạn mức và số lượt còn lại.\n\n| Công cụ | Tính lượt? | Dùng để |\n|---|---|---|\n| `get_account_status()` | **Không tính lượt** | Xem hạn mức và số lượt đã dùng / còn lại hôm nay |\n| `search_legal_docs(keywords)` | 1 lượt | **Bước đầu tiên.** Tìm theo từ khóa trên toàn kho |\n| `get_summary(query)` | 1 lượt | Mục lục Chương / Mục / Điều. **Dùng trước `get_document` với luật dài** để định vị đúng Điều mà không phải tải 60.000 ký tự |\n| `get_document(query)` | 1 lượt | Toàn văn theo tên, doc id, hoặc số ký hiệu (ví dụ `\"20/2023/QH15\"`). Văn bản thiếu nội dung: xem phần cuối |\n| `get_laws(tinh_trang, keyword, limit, offset)` | 1 lượt | Duyệt riêng **Luật** do Quốc hội ban hành, không gồm Nghị định / Thông tư hướng dẫn và **không gồm văn bản hợp nhất**. Mặc định chỉ hiện Luật còn hiệu lực; `tinh_trang=\"tất cả\"` hiện cả Luật đã hết hiệu lực |\n| `check_compliance(question)` | 1 lượt | Cùng cơ chế tìm nhưng nhận đầu vào dạng câu hỏi. Trả về trích đoạn thô để **bạn** phân tích — công cụ không tự kết luận |\n\n**Tra không ra thì không mất lượt.** Chỉ những lần thực sự trả về nội dung mới bị tính; lần\ngọi lỗi cũng không tính. Vì vậy **cứ tra khi chưa chắc chắn** — thứ nên tránh là tiêu lượt để\ntải lại văn bản đã có sẵn trong đoạn chat.\n\nVài thói quen tiết kiệm lượt:\n\n- Gọi `get_account_status()` trước khi làm việc nhiều bước nếu tài khoản có hạn mức ngày —\n  không tốn lượt mà biết còn bao nhiêu.\n- Dùng `get_summary` để tìm đúng Điều, thay vì `get_document` cả một bộ luật.\n- Đã tải văn bản rồi thì đọc lại trong ngữ cảnh, đừng gọi lại công cụ.\n\n## Quy trình\n\n1. **`search_legal_docs`** với từ khóa tiếng Việt bao quát khái niệm, không phải một từ trơ.\n   Nên kèm cách diễn đạt của Điều / Chương, ví dụ `\"quyền hạn chế xử lý dữ liệu cá nhân Điều 10\"`.\n   Từ khóa tiếng Anh vẫn chạy nhưng khớp kém hơn nhiều — hãy dịch câu hỏi sang thuật ngữ\n   pháp lý tiếng Việt trước khi tìm.\n2. **Đọc tiêu đề từng kết quả trước khi chọn.** Kết quả khớp số ký hiệu thường **không phải**\n   văn bản đó mà là văn bản *dẫn chiếu* tới nó (xem kiểm chứng 4).\n3. **`get_summary`** nếu là văn bản dài, để định vị đúng Điều cần đọc.\n4. **`get_document`** lấy toàn văn phần cần dùng.\n5. **Chạy 4 bước kiểm chứng bên dưới** — trước khi đọc nội dung, không phải sau.\n6. Đọc đúng Điều / Khoản và trả lời từ chính văn bản.\n7. **Trích dẫn chính xác**: Điều / Khoản / Điểm, kèm số ký hiệu và tình trạng hiệu lực.\n\n**Tra cứu mỗi lần một định danh.** Thử số ký hiệu trước (`\"91/2025/QH15\"`); nếu sai thì thử\nriêng tên văn bản (`\"Luật Bảo vệ dữ liệu cá nhân\"`). **Đừng bao giờ ghép hai thứ** — chuỗi\n`\"91/2025/QH15 Bảo vệ dữ liệu cá nhân\"` không khớp chính xác với chỉ mục nào nên rơi xuống\nxếp hạng mờ và trả về một văn bản không liên quan mà không hề báo.\n\nLưu ý số ký hiệu **không duy nhất**: 34 tỉnh thành đều có thể có `01/2024/QĐ-UBND` của\nriêng mình. Luôn kiểm tra **Cơ quan ban hành**, không chỉ Số ký hiệu.\n\n## Bốn bước kiểm chứng — bắt buộc trước khi trích dẫn\n\nKho dữ liệu này sai theo bốn kiểu khác nhau, và mỗi bước dưới đây chỉ mất vài giây, không\ntốn thêm lượt nào (chỉ đọc lại thứ đã có trong ngữ cảnh).\n\n> **Checklist:** ① Đúng văn bản? ② Đủ nội dung? ③ Còn hiệu lực? ④ Đúng nguồn?\n> **Làm cả bốn.** Đừng bỏ bước nào vì văn bản \"trông đúng rồi\" — trông đúng chính là kiểu\n> lỗi ở đây.\n\n### ① Đúng văn bản — có phải văn bản tôi yêu cầu không?\n\n`get_document` đôi khi trả về một văn bản **không liên quan** thay vì báo không tìm thấy.\nĐọc dòng `Số ký hiệu` trong bảng thông tin và xác nhận nó khớp đúng thứ đã yêu cầu.\n\nChỉ riêng bước này là khác biệt giữa một câu trả lời đúng và một câu trả lời sai nhưng được\ntrích dẫn đầy tự tin. Đây là kiểu lỗi phổ biến nhất của hệ thống.\n\n### ② Đủ nội dung — đã có toàn văn chưa?\n\nHai kiểu thiếu:\n\n- **Chỉ có metadata**: đúng bảng thông tin, vài trăm ký tự, không có điều nào.\n- **Bị cắt giữa chừng**: có nội dung thật nhưng dừng đột ngột.\n\nKiểm tra hai dấu hiệu: số hiệu Điều có **liên tục** không, và văn bản có **kết thúc đúng chỗ**\nkhông — với một Luật là phần ký của Quốc hội (`Luật này được Quốc hội … thông qua ngày …`\nrồi tới dòng CHỦ TỊCH QUỐC HỘI). Nếu dãy Điều nhảy số, hoặc kết thúc giữa câu, **đừng trích dẫn**.\n\nNếu có công cụ chạy code, kiểm tra bằng máy thay vì bằng mắt — dán toàn văn vào biến `d`:\n\n```python\nimport re\narts = sorted({int(m) for m in re.findall(r'Điều (\\d+)\\.', d)})\nprint('số Điều:', len(arts), '| từ', arts[0], 'đến', arts[-1])\nprint('thiếu:', [n for n in range(arts[0], arts[-1] + 1) if n not in arts] or 'không')\nprint('kết thúc:', repr(d[-160:]))\n```\n\nDanh sách `thiếu` phải rỗng và phần `kết thúc` phải là khối ký. Không chạy được code thì\nkiểm tra bằng mắt: đọc số hiệu Điều cuối cùng rồi cuộn xuống cuối văn bản.\n\n**Nếu văn bản thiếu nội dung** (chỉ có bảng thông tin, hoặc thiếu điều ở giữa): đừng trích\nphần không có. Nói rõ phần nào của văn bản chưa kiểm chứng được, chỉ trích phần đã kiểm\nchứng, không suy diễn phần thiếu, và chỉ người dùng tới bản chính thức do cơ quan ban hành\ncông bố.\n\n### ③ Còn hiệu lực — đây có còn là luật hiện hành không?\n\nĐọc `Tình trạng hiệu lực` trên chính văn bản, rồi kiểm tra xem đã có **bản hợp nhất** mới hơn chưa.\n\n**Văn bản hợp nhất (số ký hiệu dạng `…/VBHN-VPQH`) đã gộp mọi sửa đổi, bổ sung sau này và là\nbản thể hiện luật hiện hành.** `get_laws` chỉ liệt kê **Luật**, nên **không bao giờ** trả về\nvăn bản hợp nhất. Tìm nó bằng `search_legal_docs`, và nhớ rằng một luật có thể có **nhiều**\nbản hợp nhất qua các năm (ví dụ tại thời điểm tháng 10/2026):\n\n```\nsearch_legal_docs(\"văn bản hợp nhất Luật Giao dịch điện tử\")\n  → 154/2026/VBHN-LQ-VPQH   (xác thực 28/09/2026)   ← bản mới nhất\n  → 42/VBHN-VPQH            (xác thực 27/02/2025)\n  → 20/2023/QH15            (luật gốc)\n```\n\nTrích dẫn luật gốc 2023, hay một bản hợp nhất cũ, khi đã có bản hợp nhất mới hơn là **sai\nvề luật hiện hành**. Ưu tiên bản hợp nhất có **ngày xác thực mới nhất**, và nói rõ đang dùng\nbản nào.\n\n> **Suy ra:** đừng kết luận Lawgical không có một văn bản chỉ vì `get_laws` không trả về gì.\n> `get_laws` chỉ có Luật, và mặc định chỉ hiện Luật còn hiệu lực. Chạy lại với\n> `tinh_trang=\"tất cả\"`, rồi tìm bằng `search_legal_docs` hoặc `get_document` theo số ký hiệu.\n\n### ④ Đúng nguồn — đây là văn bản đó, hay văn bản trích nó?\n\nTìm theo số ký hiệu phần lớn trả về những văn bản **dẫn chiếu** nó ở phần `Căn cứ`.\n\nVí dụ thật: tìm `20/2023/QH15` trả về 8 kết quả và **không kết quả nào là Luật Giao dịch\nđiện tử** — toàn bộ là Quyết định của các tỉnh và quy chuẩn kỹ thuật QCVN có trích dẫn luật\nnày. Nếu tiêu đề là văn bản địa phương hoặc quy chuẩn kỹ thuật trong khi bạn đang hỏi về\nmột Luật, thì bạn đang đọc phần dẫn chiếu, không phải luật.\n\n### Dấu hiệu phải dừng lại và kiểm chứng lại\n\n| Ý nghĩ | Thực tế |\n|---|---|\n| \"Tìm thấy rồi — nó trả về một văn bản rất dài\" | Độ dài không chứng minh gì. Kiểm tra `Số ký hiệu`. |\n| \"8 kết quả, kho dữ liệu tốt đấy\" | Có thể **tất cả** chỉ là văn bản dẫn chiếu, không cái nào là văn bản cần tìm. |\n| \"`get_laws` không trả về gì, vậy là không có\" | `get_laws` chỉ có Luật, mặc định chỉ Luật còn hiệu lực. Chạy lại với `tinh_trang=\"tất cả\"` và tìm bằng `search_legal_docs`. |\n| \"Tình trạng ghi Còn hiệu lực, vậy đây là bản hiện hành\" | Có thể đã có bản hợp nhất thay thế. Tìm `VBHN`. |\n| \"Nội dung trông đủ mà, dài thế còn gì\" | Kiểm tra tính liên tục của Điều và phần ký cuối văn bản. |\n| \"Tôi tóm tắt nghĩa vụ này theo hiểu biết chung\" | Phải trích nguyên văn Điều. Kho dữ liệu là nguồn đúng, không phải trí nhớ. |\n\n## Ví dụ một lượt tra cứu đầy đủ\n\n**Người dùng hỏi:** \"Luật Giao dịch điện tử quy định thế nào về chữ ký điện tử?\"\n\n1. `search_legal_docs(\"chữ ký điện tử giao dịch điện tử\")` → nhiều kết quả, đọc tiêu đề từng cái.\n   Phần lớn là Quyết định cấp tỉnh trích dẫn luật → **kiểm chứng ④ loại chúng ra**.\n2. `search_legal_docs(\"văn bản hợp nhất Luật Giao dịch điện tử\")` → thấy luật gốc\n   `20/2023/QH15` và **hai** bản hợp nhất: `42/VBHN-VPQH` (xác thực 27/02/2025) và\n   `154/2026/VBHN-LQ-VPQH` (xác thực 28/09/2026) → **kiểm chứng ③: dùng bản mới nhất**.\n3. `get_summary(\"154/2026/VBHN-LQ-VPQH\")` → mục lục cho thấy chữ ký điện tử nằm ở Chương III\n   (Điều 22).\n4. `get_document(\"154/2026/VBHN-LQ-VPQH\")` → kiểm tra `Số ký hiệu` và `Cơ quan ban hành`\n   khớp (**①**), dãy Điều liên tục và có phần cuối văn bản (**②**).\n5. Đọc đúng Điều trong Chương III, trích nguyên văn.\n\n**Trả lời:** nêu nội dung theo đúng Điều / Khoản, ghi rõ nguồn là *Văn bản hợp nhất\n154/2026/VBHN-LQ-VPQH, xác thực ngày 28/09/2026* (hợp nhất Luật Giao dịch điện tử\n20/2023/QH15), và nói rõ đây là bản hợp nhất mới nhất chứ không phải luật gốc 2023.\n\n## Khi văn bản thiếu hoặc chỉ có metadata\n\n**Dấu hiệu:** `get_document` chỉ trả về bảng thông tin (Số ký hiệu / Loại văn bản / Ngày ban\nhành …) mà không có điều nào, hoặc không tìm thấy gì.\n\n1. **Gọi lại `get_document` với đúng số ký hiệu**, hoặc riêng tên đầy đủ của văn bản (ví dụ\n   `\"Luật Bảo vệ dữ liệu cá nhân\"`). Hai dạng này đều khớp chính xác; một chuỗi ghép cả hai\n   hay từ khóa chung chung mới rơi vào xếp hạng mờ.\n2. **Kiểm tra lại chính định danh.** Số ký hiệu có nhiều biến thể — thực tế có cả\n   `40 /2026/TT-BCT` với một dấu cách lạc trước dấu gạch chéo. Sai một ký tự là không khớp\n   được ở bước 1.\n3. **Nếu là Luật, chạy lại `get_laws` với `tinh_trang=\"tất cả\"`** để loại khả năng bị bộ lọc\n   mặc định (chỉ Luật còn hiệu lực) che.\n4. **Chạy lại `search_legal_docs`** với một cụm từ đặc trưng trong nội dung của văn bản,\n   rồi kiểm chứng lại từ đầu.\n5. **Vẫn không có thì nói rõ là chưa kiểm chứng được văn bản đó**, và chỉ người dùng tới\n   bản chính thức do cơ quan ban hành công bố.\n\n## Cách trả lời\n\n- **Không đưa ra ý kiến pháp lý như thể của chính mình.** Thuật lại văn bản nói gì, trích\n  điều luật, và nêu rõ khi nào cần luật sư có chứng chỉ.\n- **Trích nguyên văn với nghĩa vụ / thời hạn / mức phạt — không diễn giải.** Cách soạn luật\n  Việt Nam rất chặt về số ngày, mức phạt và ngưỡng áp dụng; một câu diễn giải làm rơi chữ\n  \"làm việc\" khỏi \"15 ngày làm việc\" là đã đổi mất câu trả lời.\n- **Nêu ngày có hiệu lực.** Một luật có hiệu lực từ 01/07/2024 trả lời khác cho câu hỏi về\n  tình huống năm 2023.\n- **Luôn dẫn tên văn bản kèm số ký hiệu**, và ghi rõ đang dùng bản gốc hay bản hợp nhất.\n- **Trả lời bằng ngôn ngữ của người dùng** (mặc định tiếng Việt), nhưng giữ nguyên thuật ngữ\n  pháp lý tiếng Việt kể cả khi trả lời bằng tiếng Anh.\n- Nếu kho dữ liệu và giả định của người dùng khác nhau, hãy cho họ xem chính văn bản.\n\n## Xử lý sự cố\n\n**Không thấy công cụ Lawgical nào, hoặc ChatGPT nói đại ý \"tôi thấy có connector Lawgical\nnhưng không gọi được\".**\nĐây là tình huống hay gặp nhất và **không phải lỗi kết nối**: ChatGPT không tự bật plugin cho\nmọi đoạn chat. Bấm biểu tượng plugin ở ô nhập tin nhắn và gắn Lawgical vào đoạn chat này.\n\n**\"Authorization with Lawgical failed\", hoặc kết nối xong nhưng không có công cụ nào.**\nNếu plugin được tạo bằng một URL Lawgical cũ, hoặc lần đăng nhập trước bị gián đoạn, hãy\n**xóa hẳn plugin và thêm lại** rồi đăng nhập lại; kết nối lại cái cũ sẽ không chạy, vì client\ngiữ token gắn với URL và cấu hình ban đầu.\n\n**\"Your session has expired. You can reconnect to re-authorize.\"**\nKết nối lại plugin Lawgical. Nếu lặp lại, hãy báo cho Lawgical qua https://lawgical.vn/support.\n\n**\"Không thể tra cứu: đã dùng hết … lượt tra cứu hôm nay.\"**\nTài khoản đã dùng hết hạn mức ngày; hạn mức đặt lại lúc 00:00 giờ Việt Nam.\n`get_account_status()` không tính lượt và cho biết con số chính xác. Các lần tra không ra kết\nquả **không** bị tính, nên con số này chỉ gồm những lần thành công.\n\n**Chưa cài Lawgical.**\nCài Lawgical từ mục **Plugins** của ChatGPT hoặc Codex, rồi đăng nhập tài khoản Lawgical khi\nđược hỏi. Hướng dẫn kèm ảnh: https://lawgical.vn/cai-dat\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}