Dùng khi implement feature/thay đổi nhiều file hoặc task khó verify trong một bước. Bỏ qua edit local đã rõ và config không có logic.
Install
npx skillscat add toanmobile/agent-workbench/incremental-implementation Install via the SkillsCat registry.
SKILL.md
Incremental Implementation (Chia Nhỏ Để Triển Khai)
Vòng Lặp Increment
Implement → Test → Verify → Checkpoint cục bộ → Lát cắt kế tiếp — Mang kết quả tiến lên từng bước, không bắt đầu lại từ đầu mỗi lát cắt. Checkpoint là diff đã verify an toàn trong working tree, không phải Git commit.
3 Chiến Lược Cắt Lát (Slicing Strategies)
| Chiến lược | Khi dùng | Mô tả |
|---|---|---|
| Vertical Slice (Mặc định) | Mỗi lát = 1 đường xuyên full-stack chạy end-to-end | Xử lý trọn vẹn 1 luồng nhỏ từ Model -> Controller/VM -> UI trước khi mở rộng |
| Contract-First | Nhiều module làm việc song song | Chốt chặt Interface/Contract và mock tests trước, sau đó mới implement chi tiết |
| Risk-First | Có phần bất định hoặc rủi ro kỹ thuật cao | Giải quyết và chứng minh phần rủi ro/thuật toán khó nhất trước khi làm UI |
6 Quy Tắc Kỷ Luật
- Simplicity-First: Tránh tạo abstraction quá sớm khi mới chỉ có 1 call-site.
- Scope-Discipline: Thấy chỗ khác có vấn đề -> Ghi nhận
"NOTICED BUT NOT TOUCHING: <x>", tuyệt đối không drive-by refactoring sửa lan. Ghi vào backlog/evidence; không hỏi User trừ khi nó block acceptance hiện tại hoặc cần authority mới. - One-Thing-Per-Checkpoint: 1 lát cắt = 1 thay đổi logic độc lập. Tách biệt hoàn toàn thao tác xóa (delete) và thao tác thêm (add).
- Luôn Biên Dịch Được: Sau mỗi lát cắt, toàn bộ test suite và build phải giữ trạng thái GREEN. Feature chưa xong → sau feature-flag.
- Rollback-Friendly: Thiết kế code theo hướng có thể hoàn tác ngay lập tức nếu phát sinh sự cố.
- Safe-Defaults: Code mới off/an toàn mặc định.
Red Flag
- Một slice đã chứa nhiều behavior/failure mechanism mà chưa có checkpoint evidence → dừng, cắt nhỏ hơn.
- Nhưng ĐỪNG chạy lại build/test không đổi "cho chắc" — lãng phí (xem [[verification-before-completion]] để biết khi nào verify là cần thật).