Tổng quanOverview
technext-sales-proposal biến 1 cái tên công ty thành 1 bản đề xuất bán hàng đầy đủ, song ngữ (VI/EN), pitch 3 dịch vụ của TechNext (Odoo ERP, AI, Social Media). Bạn không gọi tool nào trực tiếp — chỉ cần nói với agent bằng lời thường, nó tự chạy đúng 15 bước phía dưới.technext-sales-proposal turns one company name into a complete, bilingual (VI/EN) sales proposal pitching TechNext's 3 service lines (Odoo ERP, AI, Social Media). You never call a tool directly — just tell the agent in plain language, and it runs the 15 steps below itself.
Khái niệm chínhKey concepts
- OrchestratorOrchestrator — 1 skill "điều phối" đọc bản đồ 15 bước, quyết định bước nào chạy khi nào, không tự chứa toàn bộ chi tiết.the coordinating skill that reads the 15-step map and decides what runs when — it doesn't hold every detail itself.
- SubagentSubagent — 1 "nhân viên ảo" riêng biệt, được giao 1 phần nghiên cứu cụ thể, chạy song song với các nhân viên khác.a separate virtual worker assigned one specific research slice, running in parallel with the others.
checkpoint.json— file nhớ đã chạy tới đâu — cho phép chạy lại từ giữa thay vì làm lại từ đầu.the file that remembers how far a run got — lets you resume mid-way instead of starting over.- Citation (trích dẫn)Citation — mỗi số liệu/câu trích trong bản đề xuất phải kèm link nguồn thật — không bịa, không ngoại lệ.every number/quote in the proposal must carry a real source link — nothing invented, no exceptions.
- Gate (cổng chặn)Gate — 1 bước có quyền dừng cả pipeline nếu dữ liệu chưa đạt, khác với 1 bước chỉ "auto" chạy xong là qua.a step that can stop the whole pipeline if the data isn't good enough — unlike an "auto" step that just runs through.
Trước khi dùngBefore you start
1. Có gì đưa hết1. Give it what you have
- Tên công ty, website nếu có, ghi chú họp nếu có — không cần chuẩn bị gì thêm.Company name, website if known, meeting notes if any — nothing else to prepare.
2. Không cần biết code2. No coding needed
- Toàn bộ tương tác là hội thoại bằng lời thường với Claude Code.The whole interaction is plain-language chat with Claude Code.
3. Chờ vài phút thật3. Expect real minutes, not seconds
- Pipeline làm nghiên cứu thật, không phải điền mẫu — nên mất nhiều phút, không phải giây.The pipeline does real research, not template-filling — so it takes minutes, not seconds.
4 tình huống thường gặp4 common situations
- Chạy toàn bộ pipeline cho khách mới — xem case 1Run the full pipeline for a new client — see case 1
- Chỉ muốn chạy lại 1 phần — case 2Only want to re-run one part — case 2
- Có ghi chú họp thật, muốn ưu tiên nó — case 3Have real meeting notes, want them prioritized — case 3
- Muốn biết chi phí thật của lần chạy — case 4Want to know the run's real cost — case 4
Số liệu thật của pipelineReal pipeline numbers
2 số liệu đo được thật từ các fix gần đây, không phải ước lượng.2 real measured numbers from recent fixes, not estimates.
Thời gian fetch citation, trước/sau Phase 0.8Citation fetch time, before/after Phase 0.8
Pre-fetch 1 lần + cache giúp bind-check giảm từ ~17.5 phút xuống vài giâyA one-time pre-fetch + cache cuts the bind-check from ~17.5 minutes to a few seconds
Chart/diagram sở hữu theo nhóm nghiên cứuCharts/diagrams owned per research group
Nhóm A sở hữu 12/18 chart — nặng nhất trong 4 nhómGroup A owns 12 of 18 charts — the heaviest of the 4 groups
Cách chạy — 3 bướcHow to run it — 3 steps
Không có nút bấm, không cần cài gì — chỉ cần đưa thông tin và trả lời 1-2 câu hỏi.No button, nothing to install — just give it the info and answer 1-2 questions.
Đưa thông tin khách hàngGive it the client info
Tên công ty + website/social nếu có + ghi chú họp nếu có, dán thẳng vào chat.Company name + website/socials if known + meeting notes if any — paste it straight into chat.
Trả lời 1-2 câu hỏiAnswer 1-2 questions
Xác nhận đúng pháp nhân, và có muốn chạy toàn bộ hay chỉ resume 1 phần đã lỡ dừng.Confirm the right legal entity, and whether to run everything or just resume one part that stopped early.
Nhận file & chi phíGet the file & cost
1 file .html mở trực tiếp bằng browser + báo cáo chi phí thật của lần chạy.One .html file that opens directly in a browser + a real cost report for this run.
Các skill/agent đứng sau (bạn không cần gọi tay)The skills/agents behind it (you never call these by hand)
company-verifierXác thực đúng pháp nhân qua GLEIFConfirms the exact legal entity via GLEIFofficers-lookupTra ban lãnh đạo từ đăng ký công khaiLooks up leadership from public registriesweb-osint-scannerQuét site, tìm link, tìm đối thủ, pre-fetchScans the site, finds links, finds competitors, pre-fetchescompetitor-research-worker1 worker/đối thủ, budget cứng1 worker per competitor, hard budgetcheckpoint-managerQuyết định bước nào cần chạy, resume, dọn rácDecides what needs to run, resume, cleanupresearch-*-agent ×44 nhóm nghiên cứu song song4 parallel research groupsfront-matter-writerViết Tóm tắt điều hành & Khuyến nghịWrites Executive Summary & Recommendationssource-auditorKiểm chứng lại toàn bộ trích dẫn — cổng chặnRe-verifies every citation — a gatechart-data-analystBuild chart-manifest sau khi audit sạchBuilds the chart manifest once audit is cleanassemblerGhép tất cả thành 1 file cuốiMerges everything into one final filemechanical-validator13 kiểm tra máy — cổng chặn13 mechanical checks — a gatejudgment-reviewerĐọc lại như khách hàng khó tính + báo chi phíReads it back like a skeptical client + reports costBên trong từng bước hoạt động ra saoWhat happens inside each step
Không phải hộp đen — dưới đây là đúng các bước mỗi skill làm thật bên trong. Bấm vào tên để xổ ra.Not a black box — below is exactly what each skill does internally. Click a name to expand.
company-verifierXác thực pháp nhân qua GLEIFConfirms the legal entity via GLEIF
- Tra GLEIF bằng
filter[fulltext]— không dùngfilter[entity.legalName](cần khớp gần chính xác, hay bị miss với công ty thật).Queries GLEIF viafilter[fulltext]— neverfilter[entity.legalName](needs a near-exact match, silently misses real entities). - Nếu kết quả mơ hồ, thử nhiều biến thể từ (ghép/tách, số ít/nhiều) trước khi báo "không tìm thấy".If results are ambiguous, tries several word-shape variants (compound/split, singular/plural) before concluding "not found".
- Wikidata chỉ bổ sung (ngày thành lập, người sáng lập) — không bao giờ thay GLEIF để xác nhận danh tính.Wikidata only supplements (founding date, founder) — never replaces GLEIF for identity confirmation.
web-osint-scannerQuét site, tìm link, tìm đối thủScans the site, finds links, finds competitors
- Đọc site qua Jina Reader (free, không cần key) — không dùng Firecrawl/Crawl4AI.Reads the site via Jina Reader (free, no key) — not Firecrawl/Crawl4AI.
- Trích mọi link social/review/press, và tìm 2-4 đối thủ thật qua 1 lần
WebSearch.Extracts every social/review/press link, and finds 2-4 real competitors via oneWebSearch. - Pre-fetch 1 lần cho cả pipeline: tải song song ~39 trang liên quan vào
captures/*.md— cắt ~29 phút fetch live của các bước sau xuống ~1-2 phút.Pre-fetches once for the whole pipeline: ~39 related pages fetched in parallel intocaptures/*.md— cuts later steps' ~29-minute live-fetch fan-out down to ~1-2 minutes.
competitor-research-worker1 worker/đối thủ, budget cứng1 worker per competitor, hard budget
- 1 worker riêng cho mỗi đối thủ, chạy song song với nhau — dừng ngay ở 8 phút dù chưa xong, không cố "hoàn thiện".One dedicated worker per competitor, running in parallel — stops at 8 minutes regardless, doesn't chase completeness.
- Chỉ trả về JSON có cấu trúc (claim + source_url + excerpt), không viết văn xuôi.Returns only structured JSON (claim + source_url + excerpt), never prose.
- File này là nguồn chung — cả nhóm A và nhóm C đọc cùng file này, không nghiên cứu đối thủ 2 lần.This file is the shared source — both Group A and Group C read the same file, no duplicate competitor research.
source-auditorKiểm chứng lại toàn bộ trích dẫnRe-verifies every citationCổng chặnGate
- Gộp 4 file
findings-group{A,B,C,D}.json— mỗi nhóm ghi file riêng, không ghi chung (tránh race condition).Merges the 4findings-group{A,B,C,D}.jsonfiles — each group writes its own, never a shared one (avoids a race condition). - Chấm lại độ tin cậy độc lập — không tin điểm agent tự chấm.Independently re-grades confidence — doesn't trust the writing agent's own score.
- Tải lại từng trang nguồn (qua cache
captures/hoặc live) để xác nhận trích dẫn thật có trên trang — trang không tải được cũng chặn, không chỉ trích dẫn sai.Re-fetches every source page (viacaptures/cache or live) to confirm the quote is really there — an unreachable page blocks too, not just a wrong quote. - Có
blocking_issues→ dừng, trả đúng agent đã viết để sửa — không cho phép bước sau chạy với data chưa audit.Anyblocking_issues→ stops, routes back to the agent that wrote it — later steps are not allowed to run on un-audited data.
mechanical-validator13 kiểm tra máy13 mechanical checksCổng chặnGate
- Không thiếu section nào trong 39 section bắt buộc, không citation trỏ về anchor nội bộ, không placeholder còn sót.No missing section among the required 39, no citation pointing at an internal anchor, no leftover placeholder.
- Đúng 18 chart + 4 diagram, không có Mermaid, không có script/stylesheet CDN ngoài (phải tự chứa để mở offline).Exactly 18 charts + 4 diagrams, no Mermaid, no external CDN script/stylesheet (must be self-contained to open offline).
- HTML hợp lệ về cấu trúc (không id trùng, không section rỗng do lỗi đóng tag) — kiểm bằng parser thật, không chỉ regex.Structurally valid HTML (no duplicate ids, no section empty from a tag-closing bug) — checked with a real parser, not just regex.
judgment-reviewerĐọc lại + báo chi phí thậtReads it back + reports real cost
- Đọc như 1 khách hàng khó tính thật — spot-check trích dẫn, phản biện phần Khuyến nghị.Reads it as a genuinely skeptical client would — spot-checks citations, argues against the Recommendations section.
- Báo chi phí theo từng task (không phải cả session gộp), hoạt động với mọi agent (Claude Code, Codex...) chứ không chỉ Claude — bằng cách khớp đúng
session_idmỗi task đã ghi lại.Reports cost per task (not one lumped session), works for any agent (Claude Code, Codex...), not just Claude — by matching each task's recordedsession_idexactly.
Sơ đồ toàn bộ quy trìnhThe full pipeline diagram
15 bước không đứng riêng lẻ — chúng nối vào nhau theo đúng 1 luồng cố định dưới đây, với 1 điểm rẽ 4 nhánh song song ở Phase 1.The 15 steps don't stand alone — they chain into exactly the one fixed flow below, with a 4-way parallel fork at Phase 1.
Cách dùng thật — gõ y vậy là đượcReal usage — type this as-is
4 tình huống hay gặp nhất, kèm câu bạn gõ, việc agent tự làm, và kết quả trả về.The 4 most common situations, with what you type, what the agent does, and what comes back.
1Chạy toàn bộ pipeline cho khách mớiRun the full pipeline for a new client
company-verifier → toàn bộ 15 bước tự chạy, báo lại sau mỗi phaseAsks for meeting notes → company-verifier → all 15 steps run themselves, reporting back after each phase2Chỉ muốn chạy lại 1 phầnOnly re-run one part
checkpoint-manager đọc checkpoint.json, thấy A/C/D đã done → chỉ dispatch lại nhóm Bcheckpoint-manager reads checkpoint.json, sees A/C/D already done → only re-dispatches Group B3Có ghi chú họp thậtHave real meeting notes
Confirmed — cao hơn bất kỳ thông tin tự tìm trên mạngTags everything from these notes as Confirmed — trusted higher than anything found on the web4Muốn biết chi phí thậtWant the real cost
ccusage_to_csv.py --task "phase1_groupA" — khớp đúng session_id đã ghi, không đoán theo giờRuns ccusage_to_csv.py --task "phase1_groupA" — matches the exact recorded session_id, no timestamp guessingFile bạn nhận đượcFiles you get
| FileFile | Dùng để làm gìWhat it's for |
|---|---|
<slug>-proposal.html | Bản đề xuất hoàn chỉnh — gửi trực tiếp cho khách.The finished proposal — send straight to the client. |
<slug>-findings.json | Mọi nguồn trích dẫn — dùng khi cần trả lời "số này lấy từ đâu?"Every citation's source — for "where did this come from?" |
<slug>-cost-report.csv | Chi phí thật, tách theo từng task.Real cost, broken down per task. |
cost-dashboard.html | Mở một lần, nạp CSV của mọi lần chạy vào để xem gộp — không sinh lại mỗi lần chạy.Opened once; load every run's CSVs into it for a merged view — never regenerated per run. |
<slug>-checkpoint.json | Lịch sử đã chạy tới đâu — resume được nếu bị ngắt.History of how far it got — resumable if interrupted. |
Lưu ý & sự cố có thể xảy raNotes & possible issues
1. 1 section báo "mỏng/không xác thực"1. A section is flagged thin/unverifiable
2. Chi phí "$40" bất thường xuất hiện2. A surprising "$40" cost appears
3. Pipeline dừng ở "blocking_issues"3. Pipeline stops at "blocking_issues"
source-auditor tìm thấy trích dẫn sai/không xác thực đượcsource-auditor found a wrong/unverifiable citation4. File giao ra vẫn dùng CDN/Mermaid cũ4. Delivered file still uses old CDN/Mermaid
Không cần nhớ hết 15 bước,You don't need to memorize all 15 steps —
chỉ cần đưa tên công ty + bất kỳ thông tin gì bạn có.just give it the company name + whatever you have.
Skill tự nghiên cứu, tự kiểm chứng, tự viết —
và tự dừng lại nếu dữ liệu chưa đủ tin, chứ không bao giờ "cho qua vì đang trễ".
The skill researches, verifies, and writes itself —
and stops itself if the data isn't trustworthy enough, never waving it through just because it's running late.