7.3 KiB
name, description
| name | description |
|---|---|
| sad-bid | Lập bộ hồ sơ dự thầu dự án CNTT hoàn chỉnh từ tài liệu SAD — ma trận đáp ứng HSMT, danh mục chức năng/tính năng, sơ đồ hoạt động, tech stack, ước lượng MM (WBS bottom-up + Use Case Points, tính bằng code), chi phí, kế hoạch/timeline/staffing, đề xuất tài chính, checklist hồ sơ pháp lý — qua workflow generate-bid.js với cổng phê duyệt từng stage và reviewer độc lập. Dùng khi người dùng nói "làm hồ sơ thầu", "hồ sơ dự thầu", "đề xuất kỹ thuật/tài chính", "ước lượng MM", "báo giá dự án", "kế hoạch triển khai cho thầu". |
Hồ sơ thầu từ SAD — quy trình có cổng phê duyệt
Bạn (main assistant) điều phối & làm gatekeeper. Agent viết, code tính, con người duyệt từng stage và điền số liệu thương mại. Cấu trúc chuẩn & quy tắc: references/dossier-structure.md. Engine: Workflow({ scriptPath: "<abs>/.claude/workflows/generate-bid.js", args }) — một stage mỗi lần gọi.
args
| Tham số | Ý nghĩa |
|---|---|
stage |
intake → technical → estimate → plan → financial → assemble → deck → export → review |
targets |
(export, tuỳ chọn) [{html, pdf, kind, optional}] — mặc định index.html → HO-SO-THAU.pdf và deck.html → deck.pdf (optional) |
date |
ngày hôm nay YYYY-MM-DD (bắt buộc) |
pricing |
object lấy từ frontmatter bid/bid-config.md (roles, mdPerMM, hoursPerDay, hoursPerUCP, overheadMode/Pct/Role, contingencyPct, vatPct, currency, rateCard, nonLabor, teamSize, targetMonths, parallelEfficiency, projectStartDate, projectDeadline, ucpVarianceThresholdPct) — bắt buộc ở stage estimate |
notes |
ghi chú người duyệt khi chạy lại một stage |
bidDir, sadFile, sectionsDir, briefFile |
đường dẫn (mặc định bid/, docs/SAD.md, docs/sections, docs/00-project-brief.md) |
Bước 0 — Điều kiện & thông tin thương mại
docs/SAD.mdphải có (không ⇒ đề nghị chạysad-pipelineconsolidate; chạy từ sections được nhưng cảnh báo). Section chưaapproved⇒ hồ sơ là bản nháp nội bộ, nói rõ.- Tạo
bid/inputs/và hỏi người dùng có HSMT/RFP không → đặt file vào đó, ghirfpFiles. Không có ⇒ pipeline dùng cấu trúc mặc định + tự đối chiếu theo FR. - Chưa có
bid/bid-config.md⇒ copybid-config.template.md. Hỏi (≤4 câu/lượt, ≤3 lượt, không hỏi lại điều đã có): bên dự thầu/bên mời thầu/gói thầu/nguồn vốn; deadline nộp & ngày bắt đầu & deadline thực hiện; rate card theo vai trò & VAT & currency (không có ⇒ để 0 → placeholder, giá sẽ "tạm tính"); chi phí phi nhân công đã biết; teamSize/targetMonths; hồ sơ năng lực sẵn có (companyDocs); nhân sự chủ chốt. Ghi vào config bằng Edit.
Vòng lặp stage — luôn: chạy → trình bày trung thực → hỏi Duyệt / Sửa (ghi chú) / Dừng → Duyệt mới sang stage kế
- intake (
bid-analyst) → trình: tiêu chí chấm & trọng số, yêu cầu bắt buộc & mức đáp ứng,gaps(yêu cầu SAD không đáp ứng — quyết định của người dùng: bổ sung giải pháp, chấp nhận "một phần", hay không dự thầu), checklist tài liệu Phần A với trạng thái, cấu trúc HSMT quy định (nếu có). - technical (
bid-technical-writer) → trình: mục đã viết, sơ đồ, tech stack,uncoveredMandatory(phải rỗng), placeholders, keyFacts. - estimate (
bid-estimator+ code tính) → truyềnpricing. Trình: số hạng mục,uncoveredFR, bảng MM theo vai trò, dự phòng, overhead, grandMM, đối chiếu UCP &variancePct(vượt ngưỡng ⇒ khuyến nghị xem lại hạng mục), chi phí (missingRates/missingAmounts⇒ giá tạm tính), timeline (số tháng, teamSize suy ra hay cấu hình,deadlineFit),warnings. Đây là gate quan trọng nhất: người dùng xác nhận đơn giá, giả định năng suất, mức dự phòng, teamSize trước khi đi tiếp; sửa config ⇒ chạy lại estimate (số liệu mới ghi vàobid/estimate.computed.json). - plan (
bid-planner) → trình: giai đoạn/mốc/ngày, peak headcount,deadlineFits& phương án tăng tốc, placeholders. Nếu người dùng muốn đổi teamSize/ngày bắt đầu ⇒ sửa config, chạy lại estimate rồi plan (số phải đồng bộ). - financial (
bid-financial-writer) → trình: tổng trước/sau VAT,missingRates/missingAmounts, mốc thanh toán ↔ mốc B7, placeholders. - assemble (
bid-builder) → trình:sectionsMissing(phải rỗng),checks,priceConsistentA1C5, placeholdersCount; có thể publishbid/artifact.html(Artifact, favicon 📁) để người duyệt xem trực quan trước khi xuất PDF. - deck (
bid-deck-builder) → trình:slideCount(15–25), danh sách slide & nguồn,numbersUsed,checks, placeholdersCount; có thể publishbid/deck-artifact.htmlđể xem. Duyệt kịch bản/nhấn mạnh theo tiêu chí chấm trước khi export. - export (
bid-exporter) → trình:browserđã dùng, từng PDF (pages,sizeKB,mermaidRendered/mermaidExpected,outline),warnings.blocked=true(không có Edge/Chrome) ⇒ đưamanualInstructionscho người dùng. Mermaid chưa render đủ ⇒ chạy lại export; lỗi thuộc HTML ⇒ quay lạiassemble/deckvớinotes. - review (
bid-reviewer) → trình:verdict,canSubmit,uncoveredMandatory,numberMismatches,leaks,placeholders,exportChecks, findings theotarget. Định tuyến sửa theotarget(chạy lại stage đó vớinotes, rồi các stage sau phụ thuộc: sửa estimate ⇒ plan, financial, assemble, deck, export; sửa technical ⇒ assemble, deck, export; sửa plan ⇒ financial (C6), assemble, deck, export; sửa assemble/deck ⇒ export) vàreviewlại; tối đa 2 vòng, sau đó báo người dùng.
Bàn giao
Bộ nộp: bid/HO-SO-THAU.pdf (hồ sơ in hoàn chỉnh A4, có bookmark theo mục, số trang) và bid/deck.pdf (slide thuyết trình 16:9); bản nguồn: bid/HO-SO-THAU.md, bid/index.html, bid/deck.html; checklist Phần A với việc còn phải đính kèm (giấy tờ công ty do người dùng chuẩn bị). PDF được xuất tự động bằng Edge/Chrome headless có sẵn trên máy; nếu máy khác không có trình duyệt Chromium, exporter trả hướng dẫn in thủ công. Chỉ nói "nộp được" khi canSubmit = true; còn placeholder/missingRates ⇒ "bản nháp chờ điền". Nhắc: SAD và estimate.json (lý giải nội bộ) không nộp — chỉ nộp hồ sơ đã ráp; kiểm tra hiệu lực văn bản pháp lý tại thời điểm nộp.
Không được
Bỏ gate · tự điền đơn giá/thuế/tên/ngày · để agent cộng số (chỉ code) · sửa nội dung thay agent (trừ frontmatter trạng thái) · nộp/publish khi còn leaks hoặc yêu cầu bắt buộc chưa đáp ứng.