Tóm tắt nhanh:
ak-scenariosoi một file code hoặc một mô tả tính năng qua 12 chiều và liệt kê các tình huống dễ hỏng, kèm mức nghiêm trọng. Bảng kết quả đi tiếp sangak-testđể viết test,ak-planđể đưa rủi ro vào plan, hoặcak-predictđể tranh luận rủi ro lớn. Nó không viết test, không sửa code.
Công khai: mình là maintainer của AgentKit và có quan hệ affiliate: link AgentKit trong bài là link affiliate, mua qua link này bạn được giảm 30%.
Tóm tắt
Dùng khi bạn sắp làm một tính năng có trạng thái hoặc nhiều nhánh, hoặc code đã có và bạn sắp viết test. Không cần cho thay đổi rất nhỏ: sửa một dòng, chỉnh giao diện, đổi config không có nhánh logic.
flowchart LR
A["File code hoặc mô tả tính năng"] --> B["ak-scenario"]
B --> C["Bảng tình huống + mức nghiêm trọng"]
C --> D["ak-test: viết test"]
C --> E["ak-plan: đưa rủi ro vào plan"]
C --> F["ak-predict: tranh luận rủi ro lớn"]Bốn ý cốt lõi của skill:
| Ý chính | Câu hỏi | Ví dụ |
|---|---|---|
| 12 chiều phân tích | Nhìn tính năng từ những góc nào thì lộ ra chỗ hỏng? | API thanh toán: số tiền để trống, bấm thanh toán hai lần liền, token hết hạn |
| Bỏ chiều phải có lý do | Chiều nào không áp dụng, dựa vào giả định nào? | Bỏ Compliance vì không lưu dữ liệu cá nhân; giả định có thể sai thì thành một tình huống |
| Mức nghiêm trọng | Tình huống nào phải xử lý trước? | Critical là mất dữ liệu, lộ bảo mật; Low là lỗi hiển thị nhỏ |
| Một lượt hay lặp | Một lượt đủ chưa, hay cần đào tới khi không còn gì mới? | Không cờ: một lượt; --iterations 25: đúng 25 vòng; --saturation: dừng khi 2 vòng liền không có New |
Mỗi tình huống gắn với một bất biến hoặc một chuyển trạng thái và một mục tiêu test, không độn cho đủ số. Ở chế độ lặp, "hết cái mới" chỉ là tín hiệu dừng, không chứng minh đã đủ mọi trường hợp; báo cáo cuối nêu giới hạn đã dùng và khoảng trống còn lại.
Prompt mẫu cho tính năng sắp làm:
/ak-scenario "Đăng ký bằng Google và GitHub cho app <tên app>.
Người dùng đã có tài khoản email có thể nối thêm OAuth."| Cờ | Để làm gì | Từ ak |
|---|---|---|
--iterations N | Lặp đúng N vòng rồi dừng | 1.0.0 |
--saturation | Lặp tới khi hết tình huống mới | 1.0.0 |
--domain <type> | Gợi ý lĩnh vực để xếp thứ tự các chiều | 1.0.0 |
--focus <dim> | Ưu tiên một loại rủi ro | 1.0.0 |
--format <type> | Đổi dạng kết quả | 1.0.0 |
Phần dưới đây là bản chi tiết: luồng chạy, 5 tình huống kèm prompt, giải thích từng cờ (dùng khi, không cần khi, nhận lại gì), lịch sử thay đổi theo bản ak và các lỗi hay vấp. Bản chi tiết và trang trực quan dành cho subscriber. Agent của bạn cũng tìm được trong đó qua MCP của portal.
Mở khi tài khoản có quyền subscriber
Bài này dành cho subscriber
Khi tài khoản có quyền, toàn bộ bài, bản visual tương tác và lệnh gọi từ agent đều mở.
- Đăng nhập hoặc tạo tài khoản modernEngineerQuyền đọc gắn với email tài khoản.
- Chọn gói trên trang Bảng giáGói 1, 3 hoặc 12 tháng, trả bằng chuyển khoản VietQR. Quyền đọc mở khoảng một phút sau khi tiền về.
- Hoặc nhập mã Facebook subscriberNgười ủng hộ trang qua Facebook nhận mã kích hoạt qua tin nhắn mỗi tháng.
Đã là subscriber? Đăng nhập để đọc.
Dùng bài này trong agent của bạn
Lấy API keyChép đoạn dưới, dán vào Claude Code, Codex hay agent bạn đang dùng. Agent đọc bài rồi đối chiếu với repo đang mở.
Đọc bài "ak-scenario: tìm edge case và tình huống test trước khi code" trên modernEngineer rồi áp dụng vào repo này.
1. Gọi tool content_get của MCP server modernengineer với locale "vi", slug "ak-scenario". Nếu chưa nối MCP server modernengineer, dừng lại và hướng dẫn tôi nối theo https://modernengineer.dev/vi/mcp.
2. Tóm tắt các bước chính của bài, chỉ ra bước nào áp dụng được cho repo này.
3. Đề xuất thay đổi cụ thể và hỏi tôi trước khi sửa file.Nối MCP cho Claude Code (một lần)
claude mcp add --transport http modernengineer \
https://api.modernengineer.dev/mcp \
--header "Authorization: Bearer <API key>"Đọc trọn bài qua MCP cần API key của tài khoản subscriber hoặc đã mua guide này. Không có quyền, agent sẽ chỉ đọc được phần mở đầu.
- Phiên bản
- v1.0.0
- Cập nhật
- 22/10/2026
- Giấy phép
- Bảo lưu mọi quyền
- Slug
- ak-scenario


