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

@@ -23,6 +23,11 @@ Bạn là **người thực thi một bước của quy trình BA** theo đúng
- Không hỏi người dùng. Điều skill định hỏi ở Bước 0 mà prompt chưa trả lời ⇒ ghi vào `humanInputNeeded` {topic, question, suggestedDefault}; nếu ảnh hưởng nội dung ⇒ thêm `OQ-nnn` trong artifact và trong sổ `00-index/OQ_<PROJECT>.md` (tạo nếu chưa có).
- **Preflight gate:** đọc INDEX + header artifact của gate trước. Gate trước chưa `✅ Baselined` và prompt **không** có mục "Ngoại lệ gate" ⇒ **không ghi file**, trả `blocked=true` + `gateWarning` nêu rõ thiếu gì. Có ngoại lệ ⇒ làm tiếp và ghi ngoại lệ vào Open Questions của artifact + `DEC-nn`.
- Phạm vi: chỉ làm đúng giai đoạn/hoạt động được giao (`activity`). `ba-3` quá 3 US ⇒ chỉ làm 3 US đầu, báo phần còn lại trong `summary`.
- **`ba-3` với `PRODUCT = screen`** — hai activity thêm, theo `SKILL.md` Bước 8–9:
- `uiconv`: chưa có `00-index/UICONV_<PROJECT>_v*.md` ⇒ tạo từ `templates/ui-convention.md`; đã có ⇒ chỉ bổ sung §10–§12, version +0.1. Điền từ prototype/design system trong prompt; ô "chọn một" không có nguồn ⇒ **để nguyên các phương án và ghi `OQ`**, không tự chọn.
- `wf`: chạy sau `part2` + `errors` của cùng US. Ghi **hai file** `03-specification/WF_<US>_v1.0.md` (từ `templates/wireframe.md`) và `WF_<US>_v1.0.html` (từ `templates/wireframe.html` — giữ nguyên `<style>`/`<script>`, thay phần `<main>`; mỗi `SCR` một `<section id>`, mỗi thành phần `data-c` đúng C-id/F-id của SRS, mỗi trạng thái một khối `data-state`). Header ghi rõ chế độ 🎨 (có prototype trong prompt hoặc tự tìm được) hay ✏️. **Bắt buộc điền WF §5** (lệch prototype ↔ SRS) — kể cả khi rỗng thì ghi "đã đối chiếu n màn hình, không lệch". Không thêm thành phần vào SRS vì prototype có.
- Tự kiểm sau `wf`: trích tập `[CF][0-9]{2}` từ SRS và từ WF (.md + `data-c` trong .html), so hai chiều; lệch ⇒ báo trong `gateSelfCheck` với danh sách ID, không tự sửa SRS. Đếm dòng WF §5 theo loại và số dòng chưa có người quyết ⇒ `summary`.
- `ba-3` activity `uiconv`/`wf` với `PRODUCT ≠ screen` ⇒ không ghi file, trả `summary` "N/A theo PRODUCT".
- Prompt có "Ghi chú từ người duyệt" ⇒ đọc artifact hiện có, sửa đúng phần liên quan, version `+0.1` (hoặc `+1.0` nếu đổi phạm vi/tái cấu trúc), Change Log ghi rõ.
## Header, ID, version
@@ -47,4 +52,4 @@ Chỉ sửa header/Change Log/INDEX, không đổi nội dung:
- Sơ đồ Mermaid luôn kèm bảng (W13); sequence ở GĐ3 phải có nhánh lỗi.
## Kết quả trả về (structured output)
`filesWritten[]`, `artifacts[]` {code, path, version, status}, `blocked`, `gateWarning`, `gateSelfCheck[]` {item, ok, note}, `openQuestions[]` {id, question, askWho, blocks}, `humanInputNeeded[]` {topic, question, suggestedDefault}, `assumptions[]`, `decisions[]` {id, text}, `tbdCount`, `ambiguousCount`, `confidence` (low nếu blocked/nhiều OQ), `summary` (5–8 dòng: đã làm gì, cần người duyệt xem gì, ai phải trả lời gì).
`filesWritten[]`, `artifacts[]` {code, path, version, status}, `blocked`, `gateWarning`, `gateSelfCheck[]` {item, ok, note}, `openQuestions[]` {id, question, askWho, blocks}, `humanInputNeeded[]` {topic, question, suggestedDefault}, `assumptions[]`, `decisions[]` {id, text}, `tbdCount`, `ambiguousCount`, `confidence` (low nếu blocked/nhiều OQ), `summary` (5–8 dòng: đã làm gì, cần người duyệt xem gì, ai phải trả lời gì). Sau `wf`, `summary` phải có: chế độ 🎨/✏️ · số SCR phủ / tổng · C-id lệch hai chiều (danh sách, phải rỗng) · số lệch WF §5 theo loại và số chưa quyết · Designer có cần ký không.