skills/decision-gate/SKILL.md
Phán quyết go/no-go + ưu tiên cho một hạng mục kỹ thuật, xác minh bằng chứng read-only trước khi kết luận.
npx skillsauth add hoangvantuan/claude-plugin decision-gateInstall 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.
Skill đóng vai trò trợ lý ra quyết định cho một hạng mục công việc kỹ thuật: Bug, Feature, Techdebt, hoặc Task thường. Input thường mơ hồ (chưa chắc là bug thật, chưa chắc đáng làm), nên skill xác minh trước, kết luận sau, rồi đưa ra khuyến nghị go/no-go kèm ưu tiên.
Sản phẩm cuối là một decision brief. Skill dừng tại đó.
Đây là guard quan trọng nhất. Mọi bước sau phục vụ nguyên tắc này:
Phân biệt giả định then chốt vs phụ: then chốt là giả định mà nếu sai thì verdict đảo chiều (vd "bug này thật sự xảy ra ở production"). Phụ là giả định ảnh hưởng độ chính xác của điểm số nhưng không đảo verdict (vd "ước lượng Reach khoảng 2000 user/tháng").
Trong phạm vi: xử lý một hạng mục mỗi lần, output là decision brief văn bản.
Ngoài phạm vi (tuyệt đối không làm): triage hàng loạt nhiều hạng mục; tự tạo issue / lập kế hoạch / gọi hoặc gợi ý skill khác; sửa code để reproduce (chỉ read-only); tích hợp issue tracker bên ngoài (chỉ đọc nếu có sẵn trong repo).
| Khi cần | Đọc |
|---------|-----|
| Công thức RICE/ICE/WSJF, map khung↔loại, map điểm→P-level | references/frameworks.md |
| Mẹo đào bằng chứng theo loại (reproduce read-only, tìm root cause, đo techdebt, validate need) | references/verification-tactics.md |
| Template decision brief | templates/decision-brief.md |
Một luồng thống nhất áp cho cả Bug/Feature/Techdebt/Task. Phân loại hạng mục chỉ dùng để (a) đặt đúng câu hỏi xác minh ở pha 1 và (b) chọn khung chấm điểm ở pha 3. Đây vẫn là một luồng chung: "rẽ nhánh" chỉ là chọn công thức trong cùng frameworks.md, không có playbook riêng từng loại.
Pha 1: Xác minh (research, read-only) → thu fact, có thể hỏi user NHIỀU lần
Pha 2: Cổng Go/No-Go (checkpoint MỘT lần) → chốt diễn giải, gán loại, ra verdict
Pha 3: Ưu tiên (chỉ khi Go) → chọn khung theo loại → điểm → P-level
Output: Decision Brief → dừng tuyệt đối
Chế độ lai: tự đào trước, bí thì hỏi. Ranh giới đào/hỏi theo bản chất thông tin, không theo thời gian bỏ ra.
| Loại thông tin | Hành động |
|---|---|
| Có trong repo (code, git log / git blame, grep, test, issue/PR sẵn) | Tự đào, bắt buộc. Không hỏi user thứ mình tự đào được |
| Hành vi runtime (reproduce bug) | Chạy test/lệnh read-only để verify. Cấm sửa code. Nếu reproduce cần sửa code hoặc cần env không có → ghi "chưa verify được" + hỏi user "bạn đã gặp lỗi này chưa, trong tình huống nào?" |
| Context sản phẩm (Reach thật, business impact, ưu tiên chiến lược) | Hỏi user, hoặc đánh dấu giả định. Không bịa |
Mẹo đào cụ thể theo từng loại hạng mục: đọc references/verification-tactics.md.
Hỏi trong pha 1 có thể diễn ra nhiều lần — đây là thu thập fact tự nhiên, KHÔNG tính là checkpoint. Cứ hỏi khi thiếu fact.
Kết quả pha 1 là Reality check, nội dung tùy bản chất hạng mục:
Cuối pha, ghi rõ giả định (phân tầng then chốt vs phụ) và khoảng trống thông tin còn lại.
Đây là lần dừng-xác-nhận duy nhất, khác hẳn việc hỏi-thu-fact ở pha 1. Mục tiêu: chốt diễn giải, không phải gom thêm dữ liệu.
Trình bày cho user 3 thứ cùng lúc (gộp, không tách thành nhiều lần dừng):
| Tình trạng bằng chứng | Verdict | |---|---| | Xác minh được (reproduce / nhu cầu gốc có thật / cost đo được) | Go → sang pha 3 | | Phủ định rõ (không reproduce + không ai cần + không đau) | No-Go → dừng, xuất brief ghi rõ lý do | | Giả định then chốt chưa verify được | Cần thêm thông tin → refine tại chỗ |
"Cần thêm thông tin" KHÔNG phải verdict thứ ba ngang hàng. Nó là trạng thái refine tại cùng một cổng: đào bổ sung đúng chỗ thiếu (hoặc hỏi user đúng câu thiếu), rồi trình lại verdict. Tuyệt đối KHÔNG cho Go khi giả định then chốt còn treo. Giữ nguyên tắc "checkpoint một lần về khái niệm" — vòng refine không phải checkpoint mới.
Một trục duy nhất: Priority → P-level. Không có trục timing.
Chọn khung theo loại (công thức chi tiết: references/frameworks.md):
| Loại | Khung | Lý do | |---|---|---| | Feature (hướng user) | RICE (Reach × Impact × Confidence ÷ Effort) | Reach có nghĩa thật | | Bug | ICE (Impact × Confidence × Ease) | Bỏ Reach; Impact = mức đau/tần suất | | Techdebt | WSJF (Cost-of-Delay ÷ Effort) | Đo "càng để lâu càng đắt" | | Task / khác | ICE | Nhẹ, đủ dùng |
Hạng mục lai (vd "API chậm" vừa bug vừa techdebt): chọn khung theo quyết định cần ra, không theo nhãn bề mặt. "Sửa ngay không?" → bug → ICE. "Refactor kiến trúc không?" → techdebt → WSJF. Ghi rõ đã chọn khung nào và vì sao.
Map điểm → P-level: P0-P3 neo vào tiêu chí định tính chung, điểm số chỉ là đầu vào hỗ trợ xếp hạng và minh bạch lý do. KHÔNG hard-code ngưỡng số kiểu "RICE>300 = P0".
| P-level | Nghĩa định tính (chung mọi khung) | |---|---| | P0 | Đang chảy máu / chặn việc khác / rủi ro nghiêm trọng. Làm ngay | | P1 | Giá trị cao, rõ ràng đáng làm sớm | | P2 | Đáng làm, chưa gấp | | P3 | Biên, làm khi rảnh hoặc gộp dịp khác |
Claude diễn giải điểm + bối cảnh → chốt P-level, ghi rõ lý do. Ví dụ: "ICE=320, nhưng là bug chặn checkout của khách → P0 dù điểm chưa cao nhất". Bảng từng yếu tố vẫn phải hiện đủ để minh bạch.
Yếu tố cần context sản phẩm (Reach, business Impact) mà không có dữ liệu → hỏi user, hoặc đánh dấu là giả định phụ (kéo Confidence xuống thấp).
Artifact cuối, markdown theo templates/decision-brief.md.
{CWD}/decision-gate/{ten-hang-muc-slug}-{YYMMDD}.md (tạo thư mục nếu chưa có, báo đường dẫn cho user).Các phần của brief:
Skill dừng ở brief. Không có phần "bước kế tiếp". Không gợi ý skill khác, không gọi skill, không tạo issue, không lập kế hoạch, không tạo bất kỳ artifact nào ngoài brief. Phán quyết xong là xong — quyền hành động tiếp thuộc về user.
tools
Bộ nhớ tri thức cấp dự án tự cải tiến: capture bài học, consolidate đúc kết, recall tra cứu + thực thi. Dữ liệu ghi vào memory/ ở gốc repo.
tools
Viết/rà soát/tách user story, acceptance criteria, INVEST, epic, backlog từ requirement/PRD/bug/feature.
tools
Phân tích quyết định/vấn đề bằng Thu Giang Nguyễn Duy Cần: Thuật Tư Tưởng, Dịch Lý, Lão Trang, quân bình.
tools
Phân tích tình huống bằng Kinh Dịch: 64 quẻ, Âm Dương, Ngũ Hành, thời, biến, quân tử.