improve BA skill

This commit is contained in:
Leonard-ThindPad-P50
2026-09-09 06:34:57 +07:00
parent 119792967c
commit 2c7bcde741
42 changed files with 5429 additions and 54 deletions

View File

@@ -45,14 +45,15 @@ viết và đề xuất khung dựa trên biến thể gần nhất — không i
## Cú pháp
```
/ba-3-specification <US-id...> [--product <loại>] [--only srs|ac|nfr|api] [--lang vi,en,ko] [--out <path>] [go]
/ba-3-specification <US-id...> [--product <loại>] [--only srs|ac|nfr|api|uiconv|wf] [--proto <path|url>] [--lang vi,en,ko] [--out <path>] [go]
```
| Tham số | Ý nghĩa |
|---|---|
| `<US-id...>` | Một hoặc vài US. **Quá 3 US một lần thì chất lượng giảm rõ rệt** |
| `--product` | Ghi đè `PRODUCT` của profile cho lần chạy này. Nhiều loại: `--product screen,api-service` |
| `--only` | Chỉ sinh một loại tài liệu |
| `--only` | Chỉ sinh một loại tài liệu. `uiconv` và `wf` chỉ có với `screen` |
| `--proto` | Prototype tham chiếu: thư mục ảnh, file HTML, link Figma, hoặc mục SAD (`docs/sections/07-giao-dien.md`). Không có ⇒ skill tự tìm; vẫn không có ⇒ WF là đề xuất của BA |
| `--lang` | Ngôn ngữ text hiển thị. Bỏ qua nếu `PRODUCT` không có giao diện |
| `go` | Bỏ bước dừng xác nhận input |
@@ -71,15 +72,38 @@ Ví dụ:
- `BR` — quy tắc nghiệp vụ đã chốt
- `RBAC` — ma trận phân quyền
**Rất nên có:**
- Quy ước UI của dự án (nếu có) — để khỏi tự phát minh lại
**Rất nên có (với `screen`):**
- **Prototype tham chiếu** — Figma, HTML, ảnh, hoặc mục *Thiết kế giao diện* của SAD. Có nó,
WF của BA là bản ghi lại + đối chiếu, và **đội design không phải làm lại phần bố cục**
- Design system dự án dùng (tên + version) — để `UICONV` §11 map thành phần
- Quy ước UI sẵn có của dự án — `UICONV` chỉ bổ khuyết, không chép lại
- Danh sách mã lỗi đã dùng — để tiếp số, không mở dãy mới
- Glossary — để dùng đúng thuật ngữ
- Wireframe/prototype nếu đã có
**Nếu dự án có sẵn guideline** (như `GLOBAL_UI_CONVENTION.md`, `GLOBAL_NFR.md` của Berriz),
nói rõ đường dẫn khi gọi. Skill sẽ tuân thủ thay vì tự định nghĩa.
## `UICONV` và `WF` — phần "thay design" của bộ skill
Hai artifact chỉ sinh khi `PRODUCT = screen`:
| Artifact | Ở đâu | Sinh khi nào | Trả lời câu gì |
|---|---|---|---|
| `UICONV_<PROJECT>.md` | `00-index/` | **Một lần** ở lần chạy ba-3 đầu tiên; các lần sau bổ sung | Toàn project phân trang, toast, định dạng, trạng thái rỗng, từ vựng thành phần… thế nào |
| `WF_<US>.md` + `.html` | `03-specification/` | Mỗi US, sau bảng thành phần và bảng text | Từng màn hình: vùng nào chứa thành phần nào, trông ra sao ở từng trạng thái, khác prototype ở đâu |
Mức độ "thay design" tuỳ đầu vào:
| Đầu vào | WF là gì | Đội design còn làm gì |
|---|---|---|
| Prototype đã duyệt + design system | Bản ghi lại và đối chiếu — dev dựng UI từ WF + SRS + design system | Chỉ xử lý dòng lệch ở WF §5 |
| Prototype đã duyệt, chưa có design system | Như trên, nhưng `UICONV` §11 chưa map được component | Chọn/dựng design system, visual |
| Chỉ có mô tả UI dạng văn bản (SAD §7) | Bản ghi lại ở mức vùng; kích thước, thứ tự là đề xuất BA | Duyệt WF, làm visual |
| Không có gì | **Đề xuất của BA**, đánh dấu ✏️ | Thiết kế bố cục thật, hoặc duyệt đề xuất BA rồi làm visual |
WF **không bao giờ** thay phần visual (màu, font, icon, motion). Mục §6 của WF ghi rõ phần
Designer còn phải làm — để không ai tưởng "có WF là xong design".
## Quy trình 7 bước — bạn tham gia ở đâu
| Bước | Skill làm | Bạn làm |
@@ -91,6 +115,8 @@ nói rõ đường dẫn khi gọi. Skill sẽ tuân thủ thay vì tự định
| 5. Mã lỗi & text | Sinh bảng, đòi nguyên văn từng chuỗi | Chốt giọng văn với PO/thiết kế |
| 6. NFR | Rà 7 nhóm, đòi số đo + cách verify | Hỏi người dùng ngưỡng chấp nhận được |
| 7. API contract | Đề xuất contract, đánh dấu điểm cần BE chốt | Gửi BE xác nhận |
| 8. `UICONV` *(screen, lần đầu)* | Điền quy ước từ design system / prototype, đánh dấu ô chưa chọn | Chốt với Designer, ký |
| 9. `WF` *(screen)* | Bản đồ prototype ↔ màn hình, bảng vùng, HTML low-fi, **bảng lệch §5** | Đưa Designer duyệt (✏️) hoặc PO xác nhận bảng lệch (🎨) |
🔴 **Bước 3 và Bước 5 là hai bước cần bạn đi hỏi nhiều nhất.** Skill sẽ liệt kê chính xác
những gì còn thiếu dưới dạng `OQ` — đó là danh sách việc của bạn.
@@ -98,11 +124,15 @@ những gì còn thiếu dưới dạng `OQ` — đó là danh sách việc củ
## Bạn sẽ nhận được gì
```
ba-output/<PROJECT>/00-index/
└── UICONV_<PROJECT>_v1.0.md ← quy ước giao diện, một lần cho cả project (screen)
ba-output/<PROJECT>/03-specification/
├── SRS_<US-id>_v1.0.md ← tài liệu chính
├── AC_<US-id>_v1.0.md ← nếu tách riêng
├── NFR_<US-id>_v1.0.md
└── API_<US-id>_v1.0.md
├── API_<US-id>_v1.0.md
├── WF_<US-id>_v1.0.md ← bố cục từng màn hình + bảng lệch prototype ↔ SRS (screen)
└── WF_<US-id>_v1.0.html ← render low-fi, mở bằng trình duyệt, đổi khung nhìn/trạng thái (screen)
```
Cộng năm bảng in ra màn hình: truy vết US→AC→BR→field→mã lỗi · tự chấm G3 · checklist
@@ -184,6 +214,8 @@ Contract BA đề xuất là **giả định**, không phải sự thật.
4. **QA xác nhận mọi AC đều test được** — chữ ký hay bị bỏ qua nhất *(bỏ được ở `RIGOR = light`)*
5. Đã ký đủ theo `RIGOR`: `light` chỉ PO · `standard` PO + Tech Lead + QA · `strict` thêm
Bảo mật/Pháp chế, và API **phải do BE xác nhận**
6. *(screen)* `WF` §5 không còn lệch Tồn tại/Hành vi chưa quyết; tập `C-id` khớp hai chiều với
SRS; `UICONV` và `WF` (chế độ ✏️) có chữ ký Designer
Rồi bàn giao cho dev và chuyển sang `/ba-4-delivery-support`.