| name | krypton-diff |
| description | Manual, on-demand review (NOT scheduled) that detects "platform drift" — where new native Copilot CLI features have made bespoke kopi-cli scaffolding (skills/agents/custom logic) redundant or simplifiable. Inventories the scaffolding, compares each against current native capabilities, classifies KEEP / REMOVE-CANDIDATE / WATCH, and emits a report. Goal: cut scaffolding (Article VII). Every removal needs human approval. Run after a notable Copilot CLI release or before a tech-debt cleanup. |
| license | MIT |
| allowed-tools | ["file-search","bash","web-search"] |
Krypton-Diff Skill
Review thủ công, chạy on-demand (1 lần khi cần — KHÔNG định kỳ, KHÔNG tự động) để phát hiện platform drift: những chỗ tính năng native mới của Copilot CLI đã làm scaffolding bespoke của kopi-cli (skill/agent/logic tự chế) trở nên thừa hoặc có thể đơn giản hóa.
Mục tiêu: giảm scaffolding, tránh rot âm thầm — nhưng mọi quyết định gỡ/sửa đều cần human duyệt trước khi thực thi (Article VII: Simplicity Gate).
Không engine. Không daemon. Không scheduler. Chạy bằng file-search + bash + lý luận. Kết quả là một báo cáo tĩnh cho human quyết định.
Trigger
- "chạy krypton-diff"
- "kiểm tra platform drift"
- "Copilot CLI vừa ra bản mới — review scaffolding"
- "cái nào có thể gỡ sau update Copilot CLI?"
- Sau khi Copilot CLI phát hành tính năng / API mới đáng kể
- Trước sprint dọn dẹp tech-debt định kỳ
Khi KHÔNG dùng
- Chưa có bản Copilot CLI mới nào ra → không có drift mới để phát hiện.
- Muốn review chất lượng code thông thường → dùng skill
code-review.
- Muốn kiểm tra bảo mật → dùng
kopi-guard.
Quy trình
Bước 1 LIỆT KÊ SCAFFOLDING → Bước 2 ĐỐI CHIẾU NATIVE → Bước 3 PHÂN LOẠI
→ Bước 4 XUẤT BÁO CÁO → Bước 5 TRÌNH HUMAN DUYỆT
Bước 1 — Liệt kê scaffolding bespoke hiện có
Quét toàn bộ scaffolding tự chế của kopi-cli:
ls -1 .github/skills/*/SKILL.md 2>/dev/null
ls -1 .github/agents/*.agent.md 2>/dev/null
find .kopi/hooks/ .github/hooks/ .githooks/ -type f 2>/dev/null || echo "(no hooks dir)"
find . -maxdepth 3 \( -name '*.sh' -o -name '*.mjs' -o -name '*.py' \) \
| grep -v node_modules | grep -v .git | head -30
Với mỗi item, ghi nhận:
- Tên / đường dẫn
- Chức năng cốt lõi (đọc 5–10 dòng đầu frontmatter/description)
- Lý do tồn tại ban đầu (lúc viết, native còn thiếu gì?)
Bước 2 — Đối chiếu với năng lực native Copilot CLI hiện tại
Với mỗi item trong danh sách Bước 1, đặt câu hỏi:
"Tính năng native nào của Copilot CLI (built-in tool, MCP, agent capability, slash command, skill, v.v.) có thể thay thế toàn phần hoặc một phần chức năng này?"
Nguồn đối chiếu (đọc theo thứ tự):
knowledge/ — grep platform hoặc copilot-cli để tìm fact đã harvest từ lần trước.
- Tài liệu / changelog Copilot CLI mới nhất — dùng web-search để nắm bản mới nhất (built-in tools, slash commands, MCP, agent features). Nếu môi trường offline → ghi rõ "không truy cập được docs" và hạ confidence.
- Lý luận dựa trên những gì bạn đã biết — ghi rõ mức độ chắc chắn.
Ghi kết quả đối chiếu từng item theo cấu trúc:
item: <tên>
native_candidate: <tính năng native / "không có">
coverage: full | partial | none
confidence: high | medium | low
note: <lý do ngắn gọn>
Bước 3 — Phân loại
Phân loại mỗi item vào một trong ba nhóm:
| Nhóm | Điều kiện | Hành động tiếp theo |
|---|
| GIỮ | Native không phủ; hoặc bespoke bổ sung logic đặc thù kopi-cli (nghiệp vụ, chuẩn artifact, v.v.) | Không làm gì |
| ỨNG VIÊN GỠ | Native đã phủ full (confidence ≥ medium) và bespoke không thêm giá trị rõ ràng | Đề xuất gỡ/thay thế — chờ human duyệt |
| THEO DÕI | Native phủ partial; hoặc confidence low; hoặc bespoke còn 1 tính năng nhỏ native chưa có | Review lại lần sau |
Nguyên tắc bảo thủ: Khi nghi ngờ giữa GIỮ và ỨNG VIÊN GỠ → chọn THEO DÕI. Chỉ flag ỨNG VIÊN GỠ khi bằng chứng native đủ rõ.
Bước 4 — Xuất báo cáo
Tạo báo cáo theo định dạng chuẩn sau:
# Krypton-Diff Report
generated_at: <ISO timestamp>
triggered_by: <lý do chạy — vd "Copilot CLI release vX.Y">
reviewed_by: krypton-diff skill
## Tóm tắt
| Nhóm | Số lượng |
|---|---|
| GIỮ | N |
| ỨNG VIÊN GỠ | N |
| THEO DÕI | N |
Kết luận 1–2 câu: mức độ drift tổng thể cao/thấp; cần hành động gì ngay.
---
## ỨNG VIÊN GỠ (cần human duyệt)
### <tên item>
- **Vị trí:** `<đường dẫn file>`
- **Chức năng hiện tại:** <mô tả ngắn>
- **Native thay thế:** <tên tính năng / tool / lệnh cụ thể>
- **Coverage:** full / partial
- **Confidence:** high / medium
- **Khuyến nghị:** Gỡ / Thay thế bằng X / Đơn giản hoá bằng cách Y
- **Rủi ro nếu gỡ:** <thấp/trung/cao + lý do>
- **Bước thực thi (sau khi human duyệt):**
1. ...
2. ...
---
## THEO DÕI
### <tên item>
- **Vị trí:** `<đường dẫn>`
- **Lý do theo dõi:** <native phủ partial vì X; sẽ review lại khi Y>
---
## GIỮ
Liệt kê tên + lý do giữ ngắn (1 dòng mỗi item).
---
## Ghi chú
<!-- Bất kỳ quan sát nào không fit nhóm trên; pattern drift chung; đề xuất cho sprint dọn dẹp -->
Bước 5 — Trình human duyệt
Sau khi xuất báo cáo:
- Lưu vào
artifacts/krypton-diff-<YYYY-MM-DD>.md.
- Trình bày tóm tắt cho human: bao nhiêu ứng viên gỡ, rủi ro tổng thể.
- DỪNG và chờ. Không tự thực thi bất kỳ thay đổi nào.
- Chỉ sau khi human duyệt từng item cụ thể → thực thi theo "Bước thực thi" trong báo cáo, từng item một, có review sau mỗi bước.
Gỡ scaffolding là thay đổi cấu trúc framework — luôn cần human gate, kể cả khi rủi ro thấp.
Nguyên tắc (Article IV / VII)
| Nguyên tắc | Áp dụng |
|---|
| Không engine/daemon | Skill chạy 1 lần khi được gọi; không lặp, không watch |
| Simplicity Gate | Mục tiêu chính là GIẢM scaffolding — bản thân skill phải ngắn gọn; không thêm phức tạp |
| Human gate | Mọi hành động gỡ/sửa đều chờ human approve từng item |
| Bảo thủ khi nghi ngờ | Khi confidence thấp → THEO DÕI, không GỠ |
Output
artifacts/krypton-diff-<YYYY-MM-DD>.md — báo cáo đầy đủ
- Tóm tắt trình bày cho human kèm danh sách ứng viên gỡ ưu tiên nhất