Skill AI điều phối phân tích và viết tài liệu nghiệp vụ cho BA, PO
Ở các bài viết trước mình có chia sẻ những repo về như khám phá sản phẩm, viết use story, use case…Nhưng vấn đề gặp phải là Các Skill này vẫn đang chạy riêng lẻ. Vì vậy mình bổ sung thêm con skill “điều phối” (orchestrator) để tự động điều phối dùng các Skill theo nhu cầu. Đây là skill “điều phối” (orchestrator) bản thân nó không tự tài liệu, mà điều khiển Claude đọc và chạy tuần tự 3 skill khác theo đúng thứ tự, dùng output bước trước làm input cho bước sau, giống một agent đơn giản có state.
Khi pipeline này trigger, view từng file trên đúng lúc cần (không load hết 1 lần), rồi làm theo instruction bên trong file đó cho bước tương ứng.
Nguyên tắc vận hành (agent loop đơn giản)
State object: Duy trì trong context một “state” gồm: rawrequest (input gốc của user), discoverybrief (output bước 1), prd (output bước 2), user_stories (output bước 3 — danh sách US + AC). Mỗi bước đọc state hiện có, không hỏi lại thông tin đã có.
Một bước = một skill = một lần view SKILL.md tương ứng ngay trước khi thực hiện bước đó.
Checkpoint bắt buộc sau mỗi bước: trình bày output ngắn gọn, hỏi user 1 trong 3: (a) đồng ý → sang bước tiếp theo, (b) chỉnh sửa → sửa rồi hỏi lại, (c) dừng pipeline tại đây. Không tự ý chạy tiếp bước sau khi chưa có xác nhận, trừ khi user đã chọn chế độ auto-continue (xem bên dưới).
Không lặp lại câu hỏi discovery ở bước PRD: Nếu product-discovery đã hỏi và có câu trả lời cho một gap, prd-writer dùng luôn, không hỏi lại.
Nếu ở bất kỳ bước nào user cung cấp thông tin làm thay đổi bước trước (ví dụ sửa scope khi đang viết PRD), quay lại cập nhật discovery_brief tương ứng trong state trước khi tiếp tục, để tài liệu cuối nhất quán.
Chế độ chạy
Khi skill này trigger lần đầu trong một pipeline, hỏi nhanh user (1 câu, dùng tappable options nếu có sẵn công cụ hỏi trắc nghiệm):
Checkpoint từng bước (mặc định, khuyến nghị): dừng sau mỗi bước để user duyệt.
Auto-continue: chạy hết 3 bước liên tục, chỉ dừng lại nếu thiếu thông tin bắt buộc (ví dụ product-discovery phát hiện gap chưa rõ mà không thể tự suy ra), rồi trình bày toàn bộ 3 tài liệu ở cuối để user review một lần.
Nếu user không trả lời câu hỏi này (ví dụ input đã rất chi tiết, rõ ràng ngay từ đầu), mặc định dùng Checkpoint từng bước.
BƯỚC 1 — Product Discovery
view /mnt/skills/user/product-discovery/SKILL.md
Chạy đúng theo hướng dẫn của skill đó trên raw_request của user: đào sâu “why”, phát hiện solution-bias, phân lớp requirement, hỏi gap/edge-case còn thiếu.
Kết thúc bước bằng cách chốt lại một Business Requirement Brief dạng có cấu trúc (vấn đề, mục tiêu/KPI, đối tượng, phạm vi trong/ngoài, các câu hỏi đã làm rõ, ràng buộc/business rule sơ bộ) — đây là discovery_brief lưu vào state.
Checkpoint: trình bày brief, hỏi user xác nhận trước khi sang PRD.
BƯỚC 2 — PRD Writer
view /mnt/skills/user/prd-writer/SKILL.md
Dùng discovery_brief đã chốt làm input chính — KHÔNG yêu cầu user nhập lại ý tưởng từ đầu.
Sinh PRD theo đúng cấu trúc skill quy định (PRD Overview 12 phần + PRD Detail per-feature nếu phù hợp với phạm vi đã chốt ở bước 1).
Lưu kết quả vào prd trong state.
Checkpoint: trình bày tóm tắt PRD (không cần dán full nếu dài), hỏi user xác nhận hoặc yêu cầu sửa trước khi sang bước 3.
BƯỚC 3 — User Story + Acceptance Criteria
view /mnt/skills/user/user-story-ac-writer/SKILL.md
Input là các feature/section liên quan trong prd đã chốt ở bước 2 — không tự bịa thêm scope ngoài PRD. Mỗi feature trong PRD nên tách thành một hoặc nhiều User Story theo nguyên tắc INVEST (đặc biệt chú ý “Small” — story quá to phải split).
Sinh User Story + AC theo chuẩn Gherkin (Given-When-Then) đúng theo hướng dẫn của skill.
Lưu danh sách vào user_stories.
Checkpoint cuối: trình bày, hỏi user có cần chỉnh gì không (đủ AC chưa, cần split thêm story nào không).
Sau khi userstories được xác nhận, hỏi thêm (không bắt buộc): “Có cần sinh Stitch prompt để dựng nhanh UI/flow cho các màn hình trong story này không?” Nếu có, view /mnt/skills/user/user-story-to-stitch-prompt/SKILL.md và chạy skill đó với userstories hiện có làm input — không hỏi lại thông tin đã có.
Sau khi Stitch prompt đã được đưa ra và user xác nhận đã vẽ xong UI trong Stitch (Stitch MCP đã connect), hỏi thêm (không bắt buộc): “Viết luôn tài liệu SRS đặc tả màn hình cho các màn này không?” Nếu có, view /mnt/skills/user/stitch-to-srs-screen-spec/SKILL.md và chạy skill đó với user_stories hiện có làm input. Nếu không, kết thúc pipeline như bình thường ở bước bàn giao.
Bàn giao cuối pipeline
Sau khi cả 3 bước được xác nhận (hoặc pipeline dừng giữa chừng theo yêu cầu user), tổng hợp:
Brief discovery (ngắn gọn, làm phụ lục)
PRD đầy đủ
Danh sách User Story + AC đầy đủ, sẵn sàng đưa vào backlog/sprint planning
Nếu user muốn file tải về (.docx/.md/.xlsx), dùng skill tương ứng hoặc tạo file .md cho từng tài liệu, đặt tên rõ ràng (ví dụ 01-discovery-brief.md, 02-prd.md, 03-user-stories.md), rồi present_files.
Khi user muốn dừng hoặc quay lại bạn chỉ cần gõ
“dừng ở đây” / “chỉ cần đến PRD thôi” → dừng, không ép chạy bước 3.
“quay lại sửa discovery” → cập nhật discovery_brief, hỏi lại có cần regenerate PRD/UC theo thay đổi mới không (vì thay đổi ngược dòng có thể làm tài liệu sau không còn nhất quán).
“chạy lại từ đầu với ý tưởng khác” → reset toàn bộ state, bắt đầu lại từ Bước 1.
Đây là một dạng flow khá ổn để bớt thủ công khi dùng các skill.


