Communitygithub.com

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Nâng cấp copy sales page tiếng Việt — biến copy có sẵn (từ `offer.json` + `conversion-copy.md` của `/biz-offer-alex-hormozi`, HOẶC từ Next.js project đã build qua `ui-ux-pro-max`, HOẶC user paste block copy bất kỳ) thành **copy chất lượng cao chốt đơn**: headline punchy hơn, pain agitation đau hơn, mechanism rõ hơn, benefit cụ thể hơn, FAQ xử lý đúng objection của thị trường VN, CTA mạnh hơn. Skill này có 3 INTENSITY LEVEL: (1) **Polish** — light edit + power word + sửa nhịp; (2) **Conversion-optimized** — rewrite 5 block critical + tạo A/B variants cho hero/CTA; (3) **Sales-letter** — long-form story-driven full rewrite kèm P.S.. Mỗi section áp dụng đúng formula thuyết phục (PAR cho pain, BAB cho solution, FEP cho benefit, PVEN cho final CTA, Star-Chain-Hook cho testimonial). Output gồm 4 file: `copy-upgraded.md`, `copy-variants.md` (A/B test bank — 3 hero + 3 CTA + 3 final-CTA), `copy-changes.md` (diff Trước/Sau + lý do), `copy.json` (structured downstream). Giọng văn tiếng Việt thuầ

MKT.LANDINGPAGE.SKILLS 是什么?

MKT.LANDINGPAGE.SKILLS is a Claude Code agent skill that nâng cấp copy sales page tiếng Việt — biến copy có sẵn (từ `offer.json` + `conversion-copy.md` của `/biz-offer-alex-hormozi`, HOẶC từ Next.js project đã build qua `ui-ux-pro-max`, HOẶC user paste block copy bất kỳ) thành **copy chất lượng cao chốt đơn**: headline punchy hơn, pain agitation đau hơn, mechanism rõ hơn, benefit cụ thể hơn, FAQ xử lý đúng objection của thị trường VN, CTA mạnh hơn. Skill này có 3 INTENSITY LEVEL: (1) **Polish** — light edit + power word + sửa nhịp; (2) **Conversion-optimized** — rewrite 5 block critical + tạo A/B variants cho hero/CTA; (3) **Sales-letter** — long-form story-driven full rewrite kèm P.S.. Mỗi section áp dụng đúng formula thuyết phục (PAR cho pain, BAB cho solution, FEP cho benefit, PVEN cho final CTA, Star-Chain-Hook cho testimonial). Output gồm 4 file: `copy-upgraded.md`, `copy-variants.md` (A/B test bank — 3 hero + 3 CTA + 3 final-CTA), `copy-changes.md` (diff Trước/Sau + lý do), `copy.json` (structured downstream). Giọng văn tiếng Việt thuầ.

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lexuanthanhhy/MKT.LANDINGPAGE.SKILLS/tree/main/.claude/skills/biz-sales-page-copy

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Biz Sales Page Copy — Vietnamese Conversion Copywriter

Update 2026-05-14: Pipeline mới đã skip biz-sales-page-layout (deprecated). Skill này nhận input từ một trong:

  • Mode A — offer.json + conversion-copy.md từ /biz-offer-alex-hormozi (path: output/cases/<slug>/)
  • Mode B — Next.js project đã build qua ui-ux-pro-max — đọc app/page.tsx extract copy hiện tại
  • Mode C — User paste copy block bất kỳ (hero, pain, CTA, FAQ...)

Nếu Mode B (Next.js project), output copy-upgraded.md thêm hint diff để user apply vào app/page.tsx từng block.

Skill này biến copy hiện có thành copy chất lượng chốt đơn, tối ưu cho người đọc Việt Nam.

Triết lý: Layout skill làm xong khung + draft copy. Skill này làm polish layer — nơi một headline trung bình biến thành headline punchy, một pain bullet flat biến thành câu đâm vào tim, một CTA generic biến thành CTA buộc người ta phải click. Đây không phải là viết lại từ đầu — là nâng cấp có chiến lược.

Không phải mọi câu đều cần upgrade. 80% conversion đến từ 5 block: Headline, Subheading, 1 dòng pain mạnh nhất, Mechanism name, CTA button text. Skill này dồn lực vào đó.

Đầu ra là 4 file trong output/sales-pages/<slug>/:

FileMục đích
copy-upgraded.mdOverlay refined trên layout.md gốc — paste-ready
copy-variants.mdA/B test bank — 3 hero variant + 3 CTA variant + 3 final-CTA variant + lý do
copy-changes.mdDiff Trước/Sau từng block + lý do để user audit
copy.jsonStructured cho downstream (ui-ux-pro-max, biz-deploy-vercel)

Khi nào dùng skill này

  • ✅ User vừa chạy /biz-sales-page-layout xong, có layout.md + layout.json, muốn polish copy
  • ✅ User có copy sales page sẵn (đã viết tay hoặc skill khác sinh ra) và xin viết lại
  • ✅ User paste 1 block copy (hero, pain, CTA) và xin nâng cấp
  • ✅ User cần A/B variants cho 1 element cụ thể

KHÔNG dùng skill này khi:

  • ❌ Chưa có layout — chạy /biz-sales-page-layout trước
  • ❌ Cần email sequence / social post / quảng cáo Facebook → skill khác (/biz-content)
  • ❌ Cần dịch sales page từ tiếng Anh sang Việt — skill này viết lại tiếng Việt thuần, không dịch
  • ❌ Offer chưa đóng gói → chạy /biz-offer-alex-hormozi trước, layout sau, rồi mới đến đây

Workflow tổng quan (4 phase)

Phase 0: DETECT INPUT + CONFIRM INTENSITY LEVEL
       ↓
Phase 1: ANCHOR REVIEW (đọc Anchor, lock segment + pain language)
       ↓
Phase 2: SECTION-BY-SECTION UPGRADE (áp dụng đúng formula cho từng section)
       ↓
Phase 3: A/B VARIANTS BANK (3 variant cho hero + CTA chính)
       ↓
Phase 4: OUTPUT 4 FILE

Phase 0 — Detect Input + Confirm Intensity

0.1 Detect input mode

Mode A — Layout-aware (chính): User reference path tới layout.md hoặc layout.json từ output/sales-pages/<slug>/. Đọc cả 2 file, biết được:

  • Anchor (segment, dream outcome, pain, gain)
  • Hero hook type (frustration | readiness | bold_promise)
  • 10 section đã có copy draft
  • Offer stack + pricing + guarantee

Mode B — Block paste: User paste 1 block copy bất kỳ, không có context layout. Hỏi ngắn:

  • "Đây là sales page cho sản phẩm gì?"
  • "Đối tượng cụ thể là ai?"
  • "Block này nằm ở section nào? (hero / pain / benefit / CTA / FAQ...)"

Mode C — From-scratch: User chưa có layout nhưng yêu cầu viết copy. → Suggest chạy /biz-sales-page-layout trước. Nếu user nhất quyết không → tiếp tục Mode B với mini-anchor (3 câu hỏi).

0.2 Confirm INTENSITY LEVEL

Quan trọng: hỏi user chọn level trước khi viết, vì 3 level cho output khác nhau hoàn toàn.

🎚️ Anh/chị muốn em làm tới đâu?

【1】 POLISH — Light edit, giữ nguyên 80% copy gốc
     ↳ Sửa nhịp câu, thêm 1-2 power word/section, fix dấu câu, fix dịch máy
     ↳ Phù hợp: copy đã decent, chỉ cần đánh bóng
     ↳ Thời gian: nhanh, ~10-15 phút
     ↳ Risk: thấp — không thay đổi tone/voice user

【2】 CONVERSION-OPTIMIZED ⭐ (mặc định)
     ↳ Rewrite 5 block critical: Headline + Subheading + Pain bullets + Mechanism + CTA
     ↳ Generate A/B variants (3 hero + 3 CTA)
     ↳ Polish các section còn lại
     ↳ Phù hợp: launch mới, muốn squeeze conversion từ copy
     ↳ Thời gian: trung bình, ~20-30 phút

【3】 SALES-LETTER — Full rewrite long-form story-driven
     ↳ Rewrite toàn bộ kiểu sales letter (founder story, P.S., P.P.S.)
     ↳ Add 2-3 mini-story trong body, deeper emotional layering
     ↳ Page dài ra 30-50%
     ↳ Phù hợp: ticket > 5M, audience cold, cần long-form persuasion
     ↳ Thời gian: lâu, ~40-60 phút
     ↳ Risk: thay đổi nhiều — tone có thể đậm hơn user expect

Mặc định em chọn Level 2. Anh/chị muốn khác không?

User confirm → lock level → Phase 1.


Phase 1 — Anchor Review

Đọc Anchor từ layout.md (segment, dream outcome, 3 pain, 3 gain). KHÔNG được skip step này — copy không hiểu anchor = copy generic = không convert.

Lock 4 thứ trước khi viết

  1. Pain language exact — câu nói thật của khách hàng (không phải mô tả pain bằng từ marketing). VD:

    • ❌ Marketing-speak: "Khó khăn trong việc scale doanh thu"
    • ✅ Customer voice: "Cả tháng cày 80 tiếng mà tài khoản không nhúc nhích"
  2. Dream outcome cụ thể + đếm được — phải có số, timeframe, và "không cần X" clause:

    • ❌ "Tăng doanh thu nhanh chóng"
    • ✅ "30 triệu/tháng trong 90 ngày, 10h/tuần, không cần bỏ việc"
  3. Mechanism name — tên hệ thống/phương pháp. Nếu layout chưa có hoặc generic, đề xuất 3 tên cho user chọn. VD:

    • "Hệ thống 4P Side Income"
    • "Lộ trình 90 Ngày Bứt Phá"
    • "Phương pháp Funnel Tự Chạy"
  4. CTA button text — 1 câu duy nhất, repeat 4-5 lần xuyên page. Lock nó ngay.

⚠️ Nếu thiếu pain language exact → hỏi user: "Anh/chị có note nào về câu nói thật của khách không? Ví dụ từ tin nhắn Inbox, comment, hoặc DM?" Customer voice copy beats marketing-speak copy 3-5x trong A/B test.


Phase 2 — Section-by-Section Upgrade

Đọc references/section-copy-recipes.md để biết chi tiết. Mỗi section áp dụng 1 formula chính + power word ladder + voice rules.

Mapping section → formula

SectionFormula chínhTại sao
Hero HeadlineHook Pattern (Frustration / Readiness / Bold Promise)3s capture — phải fit awareness level
Hero SubheadingPVEN-mini (Promise + Evidence trong 1 câu)Reassure ngay sau hook
Pain AgitationPAR (Problem → Amplify → Resolve-tease)Audience pain-aware — đào đau cho đến khi muốn thoát
Solution BridgeBAB (Before → After → Bridge)Transition từ pain → giải pháp
MechanismFEP (Feature → Edge → Payoff)Explain hệ thống bằng vì-sao-khác-biệt
Benefits CascadeFEP-stack (6-8 dòng FEP ngắn)Paint after-state cụ thể
Social ProofStar-Chain-Hook (testimonial restructure)Mỗi testimonial = mini story arc
Offer StackValue-anchor + reciprocityBuild perceived value 10x giá
GuaranteeRisk-reversal patternShift rủi ro sang seller
UrgencyHonest scarcity (cohort/spot/price-deadline)Push decision mà không fake
FAQObjection-Acknowledge-Reframe-Evidence (OARE)Mỗi câu trả lời là 1 micro-sales
Final CTAPVEN (Promise + Vision + Evidence + Nudge)Last layer thuyết phục — đầy đủ

Workflow viết 1 section

Cho mỗi section, làm 4 bước:

  1. Đọc copy draft từ layout.md — hiểu intent
  2. Áp dụng formula từ recipe (đọc references/section-copy-recipes.md)
  3. Power word pass — thêm 1-2 power word từ references/power-words-vn.md, ladder phù hợp:
    • Section info (intro, mechanism): Level 1-2 (subtle/moderate)
    • Section emotional (pain, urgency): Level 2-3 (moderate/strong)
    • Headline + CTA: Level 3 (strong), Level 4 chỉ sparingly
  4. Voice check — đọc lại theo rule references/voice-rules-vn.md:
    • Xưng "anh/chị" (B2B/coaching/course tier 1M+) hay "bạn" (consumer < 500K)?
    • Câu pain ngắn (5-12 từ), câu solution dài hơn (15-25 từ)?
    • Số liệu cụ thể (1.247 không phải "nhiều")?
    • Không sáo (tránh "đột phá", "bước ngoặt" nếu chưa có proof)?
    • Đọc lên có quê không? Nếu có → simplify.

Critical: 5 block dồn lực

Theo Level 2 (mặc định), dồn 80% effort vào 5 block:

  1. Hero Headline — 3 variant đủ kiểu (frustration / readiness / bold promise)
  2. Hero Subheading — phải bao gồm "Khác biệt + Proof point" trong 1 câu
  3. Pain bullet số 1 (đau nhất) — câu này quyết định 30% người scroll tiếp hay bounce
  4. Mechanism name + 1 dòng explainer — phải sticky, dễ nhớ, signal "đây là phương pháp riêng"
  5. CTA button text — short, action-driven, ngụ ý immediate value

Các section khác (Social Proof, Offer Stack, Guarantee, Urgency, FAQ, Final CTA) cũng upgrade nhưng theo recipe, không cần multiple variants.


Phase 3 — A/B Variants Bank

(Chỉ chạy ở Level 2 và Level 3.)

3.1 Hero variants — 3 variant đầy đủ

Mỗi variant bao gồm: headline + subheading + value-prop 3 thứ + credibility + CTA. Mỗi variant đại diện 1 awareness level:

VariantKhi dùngHook type
A — FrustrationAudience pain-aware mạnh — đang khổ, biết mình khổ"Cảm thấy [pain] dù đã [effort]?"
B — ReadinessAudience desire-aware — biết muốn gì, đang tìm cách"Đã sẵn sàng [dream outcome] chưa?"
C — Bold PromiseAudience solution-aware — biết có giải pháp tồn tại, đang so sánh"[Outcome cụ thể] trong [time] không cần [pain]"

Mỗi variant đi kèm:

  • Khi nào nên dùng (cold/warm/hot traffic, FB ad vs SEO vs email...)
  • Tone signal (urgent vs aspirational vs measured)
  • Expected resistance (objection variant này dễ trigger)

3.2 CTA variants — 3 variant

VariantPatternVD
A — Action-direct"[Verb action] ngay""Đăng ký ngay — còn 12 suất"
B — Benefit-first"[Outcome] [time-frame]""Bắt đầu 30M/tháng từ hôm nay"
C — Curiosity-loop"[Tease + invite]""Xem em làm được trong 90 ngày"

3.3 Final-CTA variants — 3 variant

VariantToneKhi dùng
A — Urgent recapPush, deadline-drivenCohort sắp đóng, ticket cao
B — Emotional closeStory-driven, P.S. heavyAudience cold, cần emotional layer
C — Logical closeRisk-reversal + ROI mathAudience analytical, B2B

Mỗi variant đầy đủ: headline final + recap bullets + P.S. + P.P.S.

Đọc references/ab-variants-playbook.md để biết format chi tiết và rule mỗi variant.


Phase 4 — Output 4 file

Sinh 4 file vào output/sales-pages/<slug>/ (cùng folder với layout). KHÔNG ghi đè layout.md / layout.json — copy upgrade là layer riêng để user audit và revert nếu muốn.

4.1 copy-upgraded.md

Cấu trúc giống layout.md nhưng copy đã refined. Header có meta:

# Sales Page Copy (UPGRADED) — {{PRODUCT_NAME}}
> Source layout: `layout.md` (generated {{LAYOUT_DATE}})
> Copy intensity: {{LEVEL}} (1=Polish | 2=Conversion-optimized | 3=Sales-letter)
> Formulas applied: PAR (Pain), BAB (Solution), FEP (Benefit), PVEN (Final), SCH (Testimonial)
> Voice: Anh/chị | Charm pricing VND | Customer-voice prioritized

[Section 1 đến 10 refined copy...]

→ Template: templates/copy-upgraded.md.tpl

4.2 copy-variants.md

A/B test bank. Cấu trúc:

# A/B Variants Bank — {{PRODUCT_NAME}}

## HERO — 3 variants

### Variant A: Frustration hook
[full block: headline + subheading + value-prop + credibility + CTA]
**Khi dùng**: ...
**Tone signal**: ...
**Expected resistance**: ...

### Variant B: Readiness hook
[...]

### Variant C: Bold Promise hook
[...]

## CTA BUTTON — 3 variants
[...]

## FINAL CTA — 3 variants
[...]

→ Template: templates/copy-variants.md.tpl

4.3 copy-changes.md

Diff Trước/Sau cho audit. Cấu trúc:

# Copy Changes — {{PRODUCT_NAME}}
> So sánh: `layout.md` → `copy-upgraded.md`
> Lý do: tại sao mỗi thay đổi

## Section 1: Hero Headline
**TRƯỚC** (layout.md):
> [original copy]

**SAU** (copy-upgraded.md):
> [new copy]

**LÝ DO**:
- Formula áp dụng: [...]
- Power word thêm: [...]
- Voice fix: [...]
- Expected lift: [...]

[Repeat cho 10 section]

## Tổng kết changes
- Hero: rewrite hoàn toàn (Level 2)
- Pain Agitation: rewrite 3/5 bullet, giữ structure
- ...

→ Template: templates/copy-changes.md.tpl

4.4 copy.json

Structured downstream. Schema:

{
  "version": "1.0",
  "slug": "{{SLUG}}",
  "intensity_level": 2,
  "source_layout": "output/sales-pages/{{SLUG}}/layout.json",
  "voice": { "pronoun": "anh/chị", "register": "respectful-direct" },
  "hero": {
    "primary": { "headline": "...", "subheading": "...", "value_prop": [...], "credibility": "...", "cta": {...} },
    "variants": [
      { "id": "A", "type": "frustration", "headline": "...", "when_to_use": "...", "tone_signal": "..." },
      { "id": "B", "type": "readiness", ... },
      { "id": "C", "type": "bold_promise", ... }
    ]
  },
  "sections": [...],
  "cta_variants": [...],
  "final_cta_variants": [...],
  "formulas_applied": { "pain": "PAR", "solution": "BAB", "benefit": "FEP", "final": "PVEN", "testimonial": "SCH" },
  "power_words_density": { "level_1": 12, "level_2": 8, "level_3": 4, "level_4": 1 }
}

→ Template: templates/copy.json.tpl

Sau khi output

Report cho user:

  • Path 4 file
  • Tóm tắt thay đổi: "Đã refine 10 section, generate 9 A/B variants (3 hero + 3 CTA + 3 final-CTA), apply 5 formula thuyết phục"
  • 3 next step gợi ý:
    • "Anh/chị xem copy-changes.md trước để audit từng thay đổi — em viết kèm lý do."
    • "Sau đó dùng copy-upgraded.md paste vào ui-ux-pro-max để build HTML."
    • "Khi launch, A/B test theo copy-variants.md — Variant A vs B trong 7 ngày."

Nguyên tắc xuyên suốt

1. Customer voice > Marketing-speak

Nếu user có note "khách nói gì" → ưu tiên giữ nguyên ngôn ngữ đó. Copywriting tốt là transcript có chỉnh, không phải sáng tác.

2. Specificity wins

  • ❌ "Nhiều học viên thành công" → ✅ "1.247 học viên đạt 30M+/tháng trong 90 ngày"
  • ❌ "Tăng đáng kể" → ✅ "Gấp 2.3 lần"
  • ❌ "Sớm" → ✅ "Trong 14 ngày"

3. One CTA action, repeat 5+ times

Skill này không tạo CTA biến thể KHÁC ACTION ("Learn more" + "Buy now"). Tạo variant cùng action ("Đăng ký ngay — còn 12 suất" vs "Giữ chỗ — chỉ còn 12 suất"). Chọn 1 cho production, A/B test các variant.

4. Power word density 2-3 per sentence max

Đừng stack ("phương pháp đột phá bứt phá ngoạn mục"). Density quá cao = hype = trust ↓. Quy tắc 80/20: 80% câu Level 1-2, 20% câu Level 3-4 ở momentum point.

5. "Đọc to" test — pass or rewrite

Mỗi block, đọc to lên (hoặc Sub-vocalize). Nếu nghe quê / nghe dịch / nghe "ai nói chuyện vậy" → rewrite. Vietnamese audience nhạy bén với copy không tự nhiên — bounce nhanh.

6. Pain section: ngắn, đau, mid-thought-interrupt

Câu pain nên ngắt nhịp như suy nghĩ thật. VD:

  • ❌ "Anh/chị có thể đang phải đối mặt với nhiều khó khăn trong việc tìm khách hàng" (35 từ, formal)
  • ✅ "Đăng bài đều mỗi ngày. Không một ai inbox. 3 tháng trôi qua. Vẫn không inbox." (4 câu ngắn, beat-driven)

7. Mechanism name phải sticky

1-3 từ, dễ nhớ, có "shape" trong đầu. Ví dụ tốt: "Hệ Thống 4P", "Lộ Trình 90 Ngày", "Phương Pháp Funnel Bộ Ba". Ví dụ kém: "Quy trình toàn diện kết hợp nhiều yếu tố".

8. Number > Adjective

"5 bước" > "Few steps". "30M/tháng" > "Significant income". Khán giả VN trust số cụ thể hơn tính từ.

9. Tránh phrase "translation-y"

  • ❌ "Đừng để cảm thấy bị overwhelmed" → ✅ "Đừng để chìm trong đống việc"
  • ❌ "Unlock tiềm năng" → ✅ "Khai mở tiềm năng"
  • ❌ "Game-changer" → ✅ "Bước ngoặt thực sự" (chỉ dùng khi có proof)

10. Risk-reversal đặt ngay sau pricing

Guarantee phải hiển thị cùng moment với price decision — không phải scroll thêm 2 section sau. Visual: badge ngay dưới CTA Offer Stack.


Reference files

FileKhi nào đọc
references/persuasion-formulas-vn.mdPhase 2 — chi tiết 8 formula (PAR, BAB, FEP, PVEN, SCH, ACCA, AIDA, 1-2-3-4) với VD tiếng Việt thuần
references/headline-patterns-vn.mdPhase 2, 3 — 30+ template headline tiếng Việt, organize theo intent
references/power-words-vn.mdPhase 2 — 4-level ladder power words tiếng Việt native (không dịch) + emotional triggers VN
references/section-copy-recipes.mdPhase 2 — recipe cụ thể nâng cấp từng section, kèm before/after example
references/voice-rules-vn.mdPhase 2 — rule giọng văn: anh/chị placement, nhịp câu, tránh dịch máy
references/ab-variants-playbook.mdPhase 3 — format và rule viết variants, "khi nào dùng cái nào"
templates/copy-upgraded.md.tplPhase 4.1
templates/copy-variants.md.tplPhase 4.2
templates/copy-changes.md.tplPhase 4.3
templates/copy.json.tplPhase 4.4

Anti-patterns (đừng làm)

❌ Rewrite mà bỏ pain language gốc của khách — mất authenticity, copy generic ❌ Stack power word quá dày ("phương pháp đột phá bứt phá ngoạn mục độc đáo") — hype cao = trust thấp ❌ Variants A/B với action khác nhau ("Tìm hiểu thêm" vs "Đăng ký") — variants phải cùng goal, khác wording ❌ Dịch máy từ template tiếng Anh ("Unleash your potential", "Skyrocket your business") — quê ❌ Sửa headline mà không sửa subheading — 2 phần phải đi cùng nhau, mismatch = confuse ❌ Headline dài quá 15 từ — mobile cut off, mất impact ❌ CTA microcopy chứa 4+ thông tin ("Hoàn 100% trong 90 ngày | Truy cập ngay | Bonus 4 cho 30 đầu | Trả góp 3 kỳ") — chọn 2 mạnh nhất ❌ FAQ generic ("Q: Khóa này có hiệu quả không? A: Có") — phải address objection thật (giá, thời gian, niềm tin, kết quả past) ❌ Final CTA chỉ recap mà không có emotional layer — P.S. là chỗ đẩy emotion cuối cùng, đừng phí ❌ Add testimonial mà không có số cụ thể — "Khóa rất hay" = không count; "Tăng từ 5M lên 32M trong 11 tuần" = mạnh


Vietnamese market overlays (bắt buộc)

  • Xưng "anh/chị" ở ticket > 1M (coaching, course, dịch vụ). Xưng "bạn" chỉ khi consumer < 500K hoặc audience trẻ < 25.
  • VND charm pricing: 497K / 997K / 1.997M / 4.997M / 9.997M / 19.99M. Tránh số 4.
  • Không countdown timer giả — destroy trust ở VN nhanh hơn ở Tây.
  • Trust signal phải có: real photo, real number, real address/SDT/Zalo. Stock photo + fake testimonial = chết.
  • "Đăng ký" > "Mua" — softer, less commitment-y. "Mua" chỉ ở physical product low-friction.
  • Payment friction: hiện logo Momo/ZaloPay/ATM/VietQR ngay dưới CTA — không phải scroll thêm.
  • Group-validation: "1.247 anh/chị đã đăng ký" > "Best-seller". VN trust peer hơn authority.

Chi tiết thêm: references/voice-rules-vn.md và references/power-words-vn.md.


Khi user push back

  • "Copy mới nghe hype quá" → Hỏi: "Block cụ thể nào?" Drop xuống 1 level power word, đặc biệt section pain/urgency.
  • "Tôi không muốn xưng anh/chị, muốn xưng em" → OK, nhưng warn: "anh/chị" tăng authority signal ở ticket cao. Lock register sau khi user chốt.
  • "Variants A/B không khác nhau lắm" → Đúng — variants tốt khác về hook type (frustration vs readiness vs bold promise), không khác về wording surface. Show user reasoning: A test pain-aware audience, B test desire-aware.
  • "Tôi đọc thấy chưa đủ mạnh" → Hỏi: "Anh/chị có example copy nào (sales page khác) đọc thấy 'mạnh'?" — calibrate tone, không guess.
  • "Có thể short hơn không?" → Suggest Level 1 (Polish) thay vì Level 2/3. Hoặc giảm Section 4 (Benefits) từ 6 dòng xuống 4, giảm Section 9 (FAQ) từ 12 Q xuống 6 Q.

Stand firm về principle (customer voice, specificity, single CTA action) nhưng humble về tone preference của user — đó là brand voice của họ.


Integration với pipeline

/biz-offer-alex-hormozi  →  offer.json
        ↓
/biz-sales-page-layout   →  layout.md + layout.json + hero-block.md
        ↓
/biz-sales-page-copy ⭐   →  copy-upgraded.md + copy-variants.md + copy-changes.md + copy.json
        ↓
/ui-ux-pro-max  hoặc  /biz-deploy-vercel  (build HTML + deploy)

Skill này là layer cuối cùng trước HTML — chốt copy production-ready.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Best practices for Remotion - Video creation in React

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Scaffold trang `/admin` CRM-style trực quan vào Next.js project (Supabase backend) — KHÔNG còn variant Vercel KV. Layout 1CRM-inspired: sidebar 3 tab (Tổng quan / Khách hàng / Email marketing) + popup nhập mã đăng nhập. **Tab Tổng quan**: 4 KPI cards (Tổng leads / Đã thanh toán / Tỷ lệ chuyển đổi / Doanh thu) có delta arrow vs kỳ trước, line chart leads+paid+revenue theo ngày dùng `recharts`, donut trạng thái paid/pending/expired, period selector pill 7d/30d/90d, list 5 thanh toán gần nhất. **Tab Khách hàng**: bảng leads + search + filter trạng thái + filter ngày + CSV export. **Tab Email marketing**: form soạn chiến dịch (tên + tiêu đề + body chọn định dạng **văn bản thường HOẶC HTML** + placeholder `{{name}}` + audience 4 loại all/paid/pending/last_days + tên người gửi) — có nút **Xem trước** mở modal iframe render đúng email thật (text → auto convert + wrap khung; HTML fragment → wrap khung, HTML đầy đủ giữ nguyên) → gửi bulk qua SMTP (reuse `nodemailer` của `biz-email-setup` — KHÔN

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Deploy landing page / website (React, Next.js, Vite, static HTML) lên Vercel — tự kiểm tra Vercel CLI hoặc Vercel MCP đã cài chưa, nếu chưa thì cài qua npm/pnpm và hướng dẫn user authenticate (vercel login), tự detect framework (Next.js / Vite / CRA / static), auto-generate vercel.json khi cần, chạy `vercel --prod`, trả về live URL + inspect URL + hướng dẫn custom domain. USE WHEN user says 'deploy lên vercel', 'đẩy landing page lên vercel', 'publish website', 'go live', 'deploy nextjs', 'deploy react', 'deploy vite', 'tạo URL live', 'đưa lên production', 'biz-deploy-vercel', 'host landing page', 'vercel deploy', 'ship lên vercel', 'đẩy code lên vercel'. Skill này áp dụng cho cả case dùng Vercel CLI lẫn Vercel MCP server.

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Setup SMTP-based email auto-responder cho landing page bán hàng — tự động gửi email sau khi user điền form (tên/SĐT/email), KHÔNG cố định vào provider nào. Skill này (1) hỏi user chọn SMTP provider (Gmail/Google Workspace, Resend SMTP, SendGrid, Mailgun, Brevo, Zoho, hoặc SMTP custom của hosting VN) và detect Next.js stack đang dùng, (2) đọc context từ `offer.json` + `conversion-copy.md` (từ `/biz-offer-alex-hormozi`) HOẶC đọc trực tiếp Next.js project đã build qua `ui-ux-pro-max` (file `app/page.tsx`) HOẶC đọc HTML landing page đã deploy để hiểu offer, dream outcome, mechanism, bonus. Lưu ý: skill `biz-sales-page-layout` đã DEPRECATED 2026-05-14 — pipeline mới skip layout/copy.json, (3) **draft 2 email**: email A — auto-responder gửi cho lead (warm welcome + deliver lead magnet/booking confirm/payment link tuỳ offer type), email B — notification gửi cho owner (lead alert + thông tin liên hệ), (4) **show draft cho user duyệt và chỉnh sửa** trước khi wire vào code, (5) cài `nodemailer`

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Cài chatbot AI dạng floating widget góc dưới phải vào project Next.js có sẵn (App Router hoặc Pages Router), responsive đầy đủ web + tablet + mobile, gọi LLM qua OpenRouter (mặc định google/gemini-3-flash-preview, có thể đổi sang anthropic/claude-sonnet-4.6), streaming response, RENDER MARKDOWN trong assistant bubble (bold / list / link / code) qua react-markdown + remark-gfm — KHÔNG hiện raw **bold** dạng text — có knowledge base từ FAQ + tài liệu sản phẩm/khóa học do user cung cấp để chatbot tự động trả lời khách hàng, và TỰ ĐỘNG EXTRACT + LƯU LEAD (tên + SĐT + email) vào Upstash Redis/Vercel KV dưới namespace `chat-lead:{phone}` khi user cung cấp đầy đủ thông tin trong chat — dedupe theo SĐT, TTL 90 ngày, fire-and-forget không block stream. Skill tự detect số lượng project Next.js — nếu có nhiều hơn 1 sẽ hỏi user chọn project nào để cài; tự detect TypeScript/JS, App Router/Pages Router, Tailwind/CSS module, KV/Upstash availability (skip auto-save nếu chưa có); tự install react-markd

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Đóng gói offer **không thể chối từ** (grand slam offer) theo phương pháp Alex Hormozi ($100M Offers) — nhận input pains/gains/customer jobs theo Value Proposition Design (Osterwalder 2014) + sản phẩm/dịch vụ, rồi sinh ra: (1) markdown report tiếng Việt đầy đủ Value Equation scoring + Core Offer + 3-4 Bonus stack + Guarantee + Urgency + Pricing, (2) offer.json structured cho pipeline downstream (`ui-ux-pro-max` build sales page production-ready), (3) conversion copy block (headline + subheadline + CTA) sẵn sàng paste landing page. 2 input mode: (B) user paste sẵn pains + gains + product, (C) user chỉ có sản phẩm — skill phỏng vấn theo VPD framework để surface pain/gain trước. Bonus stack mode hybrid: skill brainstorm 5-7 candidate có justification value rồi user pick/chỉnh 3-4 cái. Tiếng Việt thuần (xưng anh/chị), giá VND charm pricing (X99K), 3-tier decoy structure. USE WHEN user says 'đóng gói offer', 'tạo offer', 'thiết kế offer Hormozi', 'grand slam offer', 'value stack', 'offer sta

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

⚠️ DEPRECATED (2026-05-14) — Skill này KHÔNG còn trong pipeline chuẩn. Quy trình mới đã bỏ bước wireframe markdown trung gian: sau `/biz-offer-alex-hormozi` đi THẲNG sang `ui-ux-pro-max` để build Next.js sales page production-ready (có design language nhất quán: style + palette + font pairing, không phải Tailwind defaults). Lý do deprecate: wireframe markdown làm thêm 1 bước trung gian không tạo giá trị — `ui-ux-pro-max` đọc trực tiếp `offer.json` đã đầy đủ anchor + core + bonus + guarantee + urgency + pricing rồi ra HTML production luôn. Chỉ dùng skill này KHI user EXPLICITLY yêu cầu wireframe markdown để review/in/share trước khi build code (rare case). KHÔNG trigger trên các keyword 'tạo sales page', 'tạo landing page bán hàng' nữa — những keyword đó giờ trigger `ui-ux-pro-max`.

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

End-to-end Sepay VietQR payment infrastructure cho landing page Next.js — guide user setup Sepay account + bank linking + scaffold đầy đủ payment flow trong project. Skill này xử lý 7 phase: (0) detect Next.js stack + **HỎI user chọn lead store backend** (Vercel KV hoặc Supabase Free Postgres — default recommend Supabase do free tier rộng hơn ~50× + có SQL + admin UI), (1) GUIDE user đăng ký Sepay account tại my.sepay.vn + link bank account VN (Vietcombank/Techcombank/MB/ACB/VPBank/BIDV/...) + lấy API key + setup webhook URL trên Sepay dashboard, (2A nếu chọn KV) setup Vercel KV (install `@vercel/kv` + KV namespace + 4 env vars KV_*), (2B nếu chọn Supabase) setup Supabase project (tạo project tại Singapore region + chạy migration SQL tạo 4 bảng leads/phone_index/order_counter/webhook_dedup với pg_cron TTL cleanup + RLS deny-all + lấy SUPABASE_URL + SUPABASE_SERVICE_ROLE_KEY + Vercel Cron ping `/api/health` mỗi 6 ngày chống auto-pause), (3) scaffold `lib/leads-store.ts` (thin re-export

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Setup Telegram bot notification cho thanh toán thành công từ Sepay webhook trong Next.js project. Skill này: (1) hướng dẫn user 3 bước tạo Telegram bot riêng qua @BotFather + lấy bot token + chat_id (qua @userinfobot cho chat 1-1, hoặc /getUpdates API cho group), (2) tạo helper function `sendTelegramNotification()` reusable trong `lib/telegram.ts`, (3) detect existing Sepay webhook route trong project (thường là `/api/sepay-webhook`, `/api/payment-success`, hoặc tương đương) và wire Telegram call CÙNG CHỖ với email auto-responder (Resend) — gửi parallel qua `Promise.allSettled` để Telegram fail KHÔNG block 200 response trả Sepay (Sepay sẽ retry webhook nếu nhận non-200, gây duplicate notification), (4) draft message format mặc định tiếng Việt: emoji + tên khách + SĐT + email + amount (charm pricing VND định dạng `499.000đ`) + tên sản phẩm + timestamp giờ VN dd/mm/yyyy HH:mm, (5) update `.env.local` với `TELEGRAM_BOT_TOKEN` + `TELEGRAM_CHAT_ID`, add vào `.gitignore`, nhắc user paste vào

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Convert a single MP3 voiceover file into a single HeyGen avatar lip-sync MP4 video. Single-purpose — no planning, no SRT, no chunking, no Remotion compositing. Hybrid path — REST upload (helper script) + HeyGen MCP for video creation, because the post-2026 MCP no longer exposes an asset-upload tool. Reads avatar look pool (`HEYGEN_AVATAR_LOOKS`) from `.env` and HeyGen API key (`HEYGEN_API_KEY`) for the upload step. USE WHEN user says "tạo video heygen từ mp3", "mp3 to heygen", "heygen mp4 từ audio", "convert mp3 sang heygen video", "tạo avatar video từ file mp3", "lip sync mp3 heygen", "biến mp3 thành video heygen", or any time the user has exactly one MP3 file and wants exactly one HeyGen avatar MP4 out.

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Demand-side market research cho digital product / service ở Việt Nam — đo cầu thật + WTP + channel-market fit + defensibility qua keyword volume, marketplace sales (Shopee/Unica/Edumall/Gitiho/KyNa), community signal (FB groups, TikTok hashtag, Zalo OA), competitor pricing, unit economics — không phải macro PESTEL. Output: keyword portfolio + Niche Score 100 điểm 7-dimension có evidence + go/no-go decision + falsification protocol. Force triangulate ≥3 sources cho mỗi claim quan trọng. USE WHEN user says 'nghiên cứu thị trường', 'market research', 'validate niche', 'keyword research', 'demand validation', 'niche có nên làm không', 'có ai làm chưa', 'thị trường đủ lớn không', 'có lời không', 'chọn ngách', 'kiểm tra cầu'. Cũng trigger khi user mô tả 1 ý tưởng kinh doanh cụ thể và muốn check feasibility. Skill này KHÔNG fit: high-ticket transactional sale (BĐS, ô tô), B2B enterprise (sales cycle 6+ tháng), hyper-local geo micro-market (1 toà nhà, 1 phường). KHÔNG làm: macro PESTEL/Porter

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Transcribe an MP3 voiceover into an SRT subtitle file and a word-level segments JSON using local OpenAI Whisper. Input is a single MP3 path; output is `<stem>.srt` + `<stem>_segments.json` written next to the MP3 (or to a custom output dir). USE WHEN the user says 'extract srt from mp3', 'trích srt từ mp3', 'transcribe voiceover', 'tạo file srt và segments', 'whisper transcribe', 'bóc transcript có timestamp', 'extract voiceover segments', 'tách SRT từ audio', or any time a downstream skill (plan-short-video-edit, heygen-remotion-short-video-editor) needs an SRT + word-level segments JSON from a voiceover MP3 and one does not already exist.

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Convert Vietnamese/English script text to MP3 voiceover using ElevenLabs TTS API. Calls POST /v1/text-to-speech/{voice_id}, streams audio bytes, writes MP3 directly. Locked to Hoang's brand voice ID by default. USE WHEN user says 'tạo mp3 elevenlabs', 'elevenlabs tts', 'eleven labs voice', 'text to speech elevenlabs', 'tạo voiceover elevenlabs', 'đọc text bằng elevenlabs', 'tts elevenlabs to mp3', 'eleven labs script to mp3', 'voiceover bằng elevenlabs', 'giọng elevenlabs'.

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

End-to-end LANDSCAPE 16:9 (1920×1080) talking-head + slide knowledge video pipeline. Orchestrator 3 phase ghép `mkt-elevenlabs-tts-to-mp3` + `heygen-mp3-to-mp4` + HyperFrames để ra MP4 dạng "podcast keynote" — HeyGen avatar trong floating frame bo tròn bên phải (claude-orange border), slide modern AI / Claude editorial bên trái, có PIP zoom-out moments (slide full-screen, avatar shrink xuống corner thumbnail), breathing zoom + beat-driven punch-in trên avatar, optional cream-paper hand-drawn editorial infographic ở root layer (KHÔNG embed trong composition). Phase 3 fan-out N parallel LLM sub-agents (1 per scene) để author composition HTML từ visual-plan.json — không dùng Python template generator. Hỗ trợ listicle 6+ scenes (tip-1..tip-N) với scene-{num}.html naming. Resume mode: nếu MP3 + source.mp4 đã tồn tại thì skip Phase 1 + 2, vào thẳng Phase 3. USE WHEN user nói "tạo video 16:9", "video ngang", "video landscape", "podcast keynote video", "talking head + slide video", "slide + av

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

End-to-end short-video pipeline — từ kịch bản (Việt/Anh) ra MP4 TikTok/Reels 9:16 hoàn chỉnh. Orchestrator 3 phase ghép skill có sẵn — (1) TTS provider chọn được giữa `mkt-elevenlabs-tts-to-mp3` (default, voice của Hoàng) hoặc `mkt-video-script-to-mp3` (MiniMax speech-2.8-hd), (2) checkpoint user duyệt MP3, (3) `heygen-mp3-to-mp4` lip-sync avatar HeyGen, (4) delegate Phase 3 packaging cho sub-agent `mkt-full-video-phase3-packager` (transcribe + scene outline + checkpoint + fan-out N scene writers parallel + scaffold + preview Studio). API key + voice ID cho cả 2 provider lưu ở `.env`. USE WHEN user nói "tạo full video từ script", "script to tiktok video", "pipeline full video heygen + hyperframe", "tạo video từ kịch bản đến mp4", "elevenlabs heygen hyperframe full pipeline", "minimax heygen pipeline", "kịch bản ra video tiktok", hoặc có sẵn 1 script + (optional) ảnh b-roll và muốn ra MP4 9:16 đóng gói có captions, SFX, b-roll.

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Build a TikTok/Reels/YouTube **landscape 16:9 (1920×1080)** short video from a pre-recorded talking-head MP4 using HyperFrames — transcribe Vietnamese audio, scaffold a complete preview-ready 1920×1080 project with a slide pane (1200px) on the left and a floating avatar frame on the right, GSAP timeline có SPLIT↔PIP transitions (slide full-screen + avatar PIP corner thumbnail), breathing yoyo zoom + beat-driven punch-in trên avatar, 5 scene compositions kiểu "tier-row" pattern (post-stack hook / chats-stack problem / hero-orb solution / counter-row recap / terminal-row CTA), optional cream-paper editorial infographic image slots với `<img onerror>` fallback, 6 SFX wired tại scene boundaries, **NO captions** (giọng avatar là spine). USE WHEN user nói "edit video 16:9 từ HeyGen MP4", "scaffold project landscape", "podcast keynote editor", "talking head + slide editor", "build hyperframes 1920×1080", "tạo project 16:9 từ avatar mp4", "scaffold 16:9 hyperframes", "hyperframe landscape vide

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Build a TikTok/Reels 9:16 short video from a pre-recorded talking-head MP4 using HyperFrames — transcribe Vietnamese audio, auto-clean Whisper errors, generate synced caption groups, scaffold a complete preview-ready project with face-cam + 6 sound effects + 4 zoom hooks + ambient ken-burns drifts + full-screen b-roll scenes (each with rich GSAP effects: pulse rings, corner marks, word-slam titles, count-up numbers, light sweeps, scribble underlines, sparkles, particles) + caption track + CTA finale, then open the HyperFrames preview Studio for user review (NEVER auto-render MP4). USE WHEN user says "tạo video tiktok từ footage", "build hyperframe talking head", "tạo 9:16 video từ mp4 quay sẵn", "make tiktok video from face footage", "hyperframe video từ video quay", "tạo short video có caption + b-roll", "video chia sẻ kiến thức từ footage", "đóng gói video ngắn", or provides a 9:16 talking-head MP4 (with optional b-roll images/videos and stated purposes) asking to turn it into a fini

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Audit bài Facebook / Reels / YouTube để phát hiện 4 downward drivers (over-branding, over-production, stock imagery, standardized aesthetic) + frequency-over-quality. Mỗi anti-pattern bị drop ~75% performance nếu hiện diện. USE WHEN user says 'audit content', 'check anti pattern', 'content có lỗi gì không', 'kiểm tra over branding', 'vì sao video bị chết', 'vì sao post không ai xem', 'content audit', 'kiểm tra chất lượng content'.

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Tìm viral pattern ở ngành khác (bác sĩ, luật sư, tài chính, bất động sản, thủ công) có thể apply cho niche AI/automation của Hoang. Ngách AI educator VN còn ít format được khai thác — cross-industry adaptation là blue ocean. USE WHEN user says 'tìm format ngành khác', 'cross industry research', 'học format từ ngành khác', 'blue ocean format', 'tìm format chưa ai làm', 'adapt format từ niche khác', 'cross industry viral'.

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Rewrite CTA kiểu autocratic (Mua ngay! Follow ngay! Đăng ký liền!) sang 3 variants Democratic / Benevolent / Laissez-faire — reach 85% dân số thay vì chỉ 5% (action-based). Áp dụng cho landing page, caption FB, CTA video, email. USE WHEN user says 'rewrite cta', 'sửa cta', 'cta không autocratic', 'viết lại kêu gọi hành động', 'cta cho landing page', 'cta nhẹ nhàng hơn', 'inclusive cta', 'cta democratic benevolent'.

相关技能