technext-sales-proposal  · tài liệudocs

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.

15
Bước quy trìnhPipeline steps
39
Section bắt buộcRequired sections
18+4
Chart + DiagramCharts + Diagrams
3
Cổng chặn cứngHard gates

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.

1

Đư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.

2

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.

3

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 GLEIF
officers-lookupTra ban lãnh đạo từ đăng ký công khaiLooks up leadership from public registries
web-osint-scannerQuét site, tìm link, tìm đối thủ, pre-fetchScans the site, finds links, finds competitors, pre-fetches
competitor-research-worker1 worker/đối thủ, budget cứng1 worker per competitor, hard budget
checkpoint-managerQuyết định bước nào cần chạy, resume, dọn rácDecides what needs to run, resume, cleanup
research-*-agent ×44 nhóm nghiên cứu song song4 parallel research groups
front-matter-writerViết Tóm tắt điều hành & Khuyến nghịWrites Executive Summary & Recommendations
source-auditorKiểm chứng lại toàn bộ trích dẫn — cổng chặnRe-verifies every citation — a gate
chart-data-analystBuild chart-manifest sau khi audit sạchBuilds the chart manifest once audit is clean
assemblerGhép tất cả thành 1 file cuốiMerges everything into one final file
mechanical-validator13 kiểm tra máy — cổng chặn13 mechanical checks — a gate
judgment-reviewerĐọc lại như khách hàng khó tính + báo chi phíReads it back like a skeptical client + reports cost

Bê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.

Bước xử lýProcessing step
Điểm kiểm tra (có thể rẽ)Check point (can branch)
Từ chối / dừng lạiRefused / stopped
Hoàn tấtCompleted
Xảy ra ngoài bước nàyHappens outside this step
company-verifierXác thực pháp nhân qua GLEIFConfirms the legal entity via GLEIF
VàoIn: tên công tycompany nameRaOut: company-identity.json
GLEIF fulltextsearch (free, no key) Wikidata(supplement only) company-identity.json
  1. Tra GLEIF bằng filter[fulltext] — không dùng filter[entity.legalName] (cần khớp gần chính xác, hay bị miss với công ty thật).Queries GLEIF via filter[fulltext] — never filter[entity.legalName] (needs a near-exact match, silently misses real entities).
  2. 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".
  3. 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
VàoIn: company-identity.jsonRaOut: web-scan.json, captures/*.md
read site viaJina Reader extract links+ find competitors pre-fetch allurls (parallel) web-scan.json+ captures/*.md
  1. Đọ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.
  2. 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 one WebSearch.
  3. 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 into captures/*.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
VàoIn: tên 1 đối thủone competitor's nameRaOut: competitor-research/<slug>.json
≤8 fetch≤8 minutes structured facts+ excerpt only 1 JSON per competitor
  1. 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.
  2. 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.
  3. 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
VàoIn: findings-group{A,B,C,D}.jsonRaOut: audited-findings.json + blocking_issues[]
merge 4 groupfindings files re-gradeconfidence bind_check.pyexcerpt really on source? audited-findings.json blocking_issues → back to owning agent
  1. 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 4 findings-group{A,B,C,D}.json files — each group writes its own, never a shared one (avoids a race condition).
  2. 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.
  3. 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 (via captures/ cache or live) to confirm the quote is really there — an unreachable page blocks too, not just a wrong quote.
  4. 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.Any blocking_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
VàoIn: <slug>-proposal.htmlRaOut: PASS/FAIL + lý doreasons
  1. 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.
  2. Đú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).
  3. 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
VàoIn: <slug>-proposal.html, checkpoint.jsonRaOut: <slug>-cost-report.csv
  1. Đọ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.
  2. 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_id mỗ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 recorded session_id exactly.

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.

0 → 0.9Chuẩn bị trước khi nghiên cứuSetup before research
0 Intake 0.5 company-verifier 0.6 officers-lookup 0.7-0.8 web-osint-scanner 0.9 competitor-research Phase 1
2 ô viền đứt (gate) có thể dừng ngay tại đây nếu xác thực thất bại — trước khi tốn bất kỳ chi phí nghiên cứu nào.The 2 dashed-outline boxes (gates) can stop right here if verification fails — before any research cost is spent.
14 nhóm nghiên cứu song song4 parallel research groups
Phase 0.9 done Group A due-diligence Group B operations Group C tăng trưởnggrowth Phase 2 (front matter)
Group D (tools/documents) cũng chạy song song cùng lúc, không vẽ riêng ở đây để đỡ rối — xem đầy đủ 4 nhóm ở mục Danh sách skill.Group D (tools/documents) also runs in the same parallel batch, omitted here to keep the diagram readable — see all 4 groups in List of skills.
2.5 → 4Kiểm chứng → Ghép → Kiểm tra cuốiAudit → Assemble → Final checks
2.5 source-auditor 2.6 chart-data-analyst 3 assembler 4a mechanical-validator 4b judgment-reviewer → file back to owning agent fix & re-validate
2 gate ở đây (viền cam đứt) đều có thể đẩy công việc quay lại — không có bước nào "cho qua vì đang trễ".Both gates here (dashed orange outline) can send work backward — nothing gets waved through just because it's running late.

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

Bạn gõYou type"Làm sales proposal cho Client Delta Sdn Bhd, website client-delta.example""Build a sales proposal for Client Delta Sdn Bhd, website client-delta.example"
Agent tự làmAgent doesHỏi có ghi chú họp không → 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 phase
Kết quảResultclient-delta-proposal.html client-delta-findings.json client-delta-cost-report.csv

2Chỉ muốn chạy lại 1 phầnOnly re-run one part

Bạn gõYou type"Chỉ chạy lại nhóm B (vận hành) cho Client Delta thôi, phần khác giữ nguyên""Just re-run Group B (operations) for Client Delta, keep everything else as-is"
Agent tự làmAgent doescheckpoint-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 B
Kết quảResultphase1_groupB: done (re-run) phase1_groupA/C/D: unchanged

3Có ghi chú họp thậtHave real meeting notes

Bạn gõYou typeDán transcript buổi họp vào chat cùng lúc với tên công tyPaste the meeting transcript into chat along with the company name
Agent tự làmAgent doesĐánh dấu mọi thông tin từ ghi chú này là 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 web
Kết quảResultMọi fact từ họp có badge riêng, không bị hạ xuống .assessEvery meeting fact carries its own badge, never downgraded to .assess

4Muốn biết chi phí thậtWant the real cost

Bạn gõYou type"Chạy xong Phase 1 Group A tốn bao nhiêu?""How much did Phase 1 Group A cost?"
Agent tự làmAgent doesChạy 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 guessing
Kết quảResult=== phase1_groupA (25m00s) === : $0.44 TỔNG: $0.44

File bạn nhận đượcFiles you get

FileFileDùng để làm gìWhat it's for
<slug>-proposal.htmlBả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.jsonMọ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.csvChi phí thật, tách theo từng task.Real cost, broken down per task.
cost-dashboard.htmlMở 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.jsonLị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

Nguyên nhânCause Khách hàng thật sự ít hiện diện công khai — không phải lỗiThe client genuinely has little public footprint — not a bug
Xử lýFix Đây là thông tin thật, cứ để nguyên và giao hàng kèm ghi chú đóThis is real information — keep it and deliver with that note intact

2. Chi phí "$40" bất thường xuất hiện2. A surprising "$40" cost appears

Nguyên nhânCause Model không phải Claude (vd deepseek/gpt) xuất hiện trong 1 session gắn "claude"A non-Claude model (e.g. deepseek/gpt) shows up inside a session tagged "claude"
Xử lýFix Đây là bug trộn provider thật — kiểm tra thủ công trước khi báo giá cho kháchThis is a real provider-mixing bug — verify manually before quoting the client

3. Pipeline dừng ở "blocking_issues"3. Pipeline stops at "blocking_issues"

Nguyên nhânCause source-auditor tìm thấy trích dẫn sai/không xác thực đượcsource-auditor found a wrong/unverifiable citation
Xử lýFix Đây là gate hoạt động đúng — đợi agent liên quan sửa lại, không tự ép cho quaThis is the gate working correctly — wait for the owning agent to fix it, don't force it through

4. File giao ra vẫn dùng CDN/Mermaid cũ4. Delivered file still uses old CDN/Mermaid

Nguyên nhânCause File được dựng từ bản template cũ, trước khi template được sửaThe file was built from an old template copy, before the template was fixed
Xử lýFix Chạy lại Phase 3 (assembler) để dựng lại từ template mới nhấtRe-run Phase 3 (assembler) to rebuild from the latest template

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.