kry-systemlisted
Install: claude install-skill dangpm/kry-build-pipeline
# /kry-system — Act 3: Dữ liệu + Kiến trúc
Dựng **nền** mà mọi thứ phía sau bám vào. Đây là **cửa 1 chiều** — schema sai sau khi có data thật phải migration + backfill + downtime, đắt gấp 10-100x sửa UI. Nên làm kỹ, 1 lần, với agent phản biện gác cửa.
> Vị trí: `/kry-debrief → /kry-ux → ` **`/kry-system`** ` → /kry-ui → /kry-plan→cook→qc → /kry-done`
> Define **TƯƠI** cho app này, KHÔNG bê khuôn. Stack mặc định bạn (Next 16 + Supabase + Tailwind) chỉ là điểm xuất phát — chốt theo nhu cầu thật.
## Nguyên tắc
- **Data model sinh từ business rule + entity trong Brief**, không bịa. Mỗi rule "không huỷ → trừ buổi" → 1 state transition. Mỗi entity → 1 bảng.
- **Best part is no part** — bảng/field nào không phục vụ rule nào → xoá.
- Mọi quyết định cửa-1-chiều phải qua `challenger-system` trước khi chốt.
## Workflow
### Bước 1 — Đọc input
Đọc Business Brief (act 1) + UX spec (act 2): lấy entities, business rules, integrations, vai. Trong project có code → công cụ đọc codebase để hiểu hệ sẵn.
### Bước 2 — Draft nền (define tươi)
1. **Data model:** entity → bảng → field → kiểu → ràng buộc (unique/FK/check/not-null). Vẽ **ERD Mermaid**.
2. **State machine:** mỗi entity có vòng đời (vd order: pending→paid→expired) → Mermaid stateDiagram.
3. **Boundary/contract:** mỗi integration (payment/email/chữ ký số/hoá đơn/webhook) — input/output, fail/retry/idempotency.
4. **Auth/role:** vai nào đọc/ghi row nào → bảng RLS policy. Secret để đâu.
5. **Stack + host:** chốt (default Next16 + Sup