Communitygithub.com

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

Nâng cấp copy sales page tiếng Việt—biến bản copy hiện có thành phiên bản chất lượng cao, tối ưu chuyển đổi với 3 cấp độ xử lý, đầu ra 4 file và các biến thể A/B.

MKT.LANDINGPAGE.SKILLS 是什麼?

Skill này là một công cụ AI chuyên biệt dành cho việc nâng cấp copy trang bán hàng (sales page) bằng tiếng Việt. Nó nhận đầu vào từ một trong ba nguồn: (A) các tệp `offer.json` và `conversion-copy.md` từ skill `/biz-offer-alex-hormozi`, (B) một dự án Next.js đã được xây dựng bởi skill `ui-ux-pro-max`, hoặc (C) bất kỳ khối copy nào do người dùng dán vào. Skill hoạt động ở ba cấp độ xử lý: (1) **Polis** (đánh bóng nhẹ), (2) **Conversion-optimized** (tối ưu chuyển đổi, 5 khối quan trọng + biến thể A/B), và (3) **Sales-letter** (viết lại toàn bộ theo phong cách long-form story-driven). Nó áp dụng các công thức thuyết phục có cấu trúc như PAR, BAB, FEP, PVEN và Star-Chain-Hook cho từng phần (hero, pain, solution, CTA, FAQ...). Kết quả đầu ra là bốn tệp: `copy-upgraded.md` (bản copy đã tinh chỉnh), `copy-variants.md` (ngân hàng thử nghiệm A/B), `copy-changes.md` (biểu đồ so sánh trước/sau kèm lý do), và `copy.json` (dữ liệu có cấu trúc). Skill này đặc biệt hữu ích cho các nhà tiếp thị, chủ doanh nghiệp, và copywriter Việt Nam muốn tối ưu hóa tỷ lệ chuyển đổi mà không cần viết lại từ đầu, tập trung vào ngôn ngữ bản địa và hành vi người dùng Việt.

相容平台~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 — Copywriter Chuyển Đổi Tiếng Việt

Cập nhật 2026-05-14: Pipeline mới đã bỏ qua biz-sales-page-layout (không còn dùng). Skill này nhận đầu vào từ một trong:

  • Chế độ A — offer.json + conversion-copy.md từ /biz-offer-alex-hormozi (đường dẫn: output/cases/<slug>/)
  • Chế độ B — Dự án Next.js đã xây dựng qua ui-ux-pro-max — đọc app/page.tsx để trích xuất copy hiện tại
  • Chế độ C — Người dùng dán khối copy bất kỳ (hero, pain, CTA, FAQ...)

Nếu Chế độ B (dự án Next.js), output copy-upgraded.md sẽ thêm gợi ý diff để người dùng áp dụng vào app/page.tsx theo từng khối.

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ý: Skill layout làm xong khung + draft copy. Skill này làm lớp đánh bóng — nơi một headline trung bình biến thành headline ấn tượng, một gạch đầu dòng pain khô khan biến thành câu nói đâm thẳng vào tim, một CTA chung chung 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 nâng cấp. 80% chuyển đổi đến từ 5 khối: Headline, Subheading, 1 dòng pain mạnh nhất, Mechanism name, và CTA button text. Skill này dồn lực vào đó.

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

TệpMục đích
copy-upgraded.mdLớp overlay tinh chỉnh trên layout.md gốc — sẵn sàng để paste
copy-variants.mdNgân hàng A/B test — 3 biến thể hero + 3 biến thể CTA + 3 biến thể final-CTA kèm lý do
copy-changes.mdSo sánh Trước/Sau từng khối + lý do để người dùng kiểm tra
copy.jsonCấu trúc dữ liệu cho các công cụ hạ nguồn (ui-ux-pro-max, biz-deploy-vercel)

Khi nào dùng skill này

  • ✅ Người dùng vừa chạy /biz-sales-page-layout xong, đã có layout.md + layout.json, muốn đánh bóng copy
  • ✅ Người dùng có copy sales page sẵn (viết tay hoặc do skill khác tạo) và yêu cầu viết lại
  • ✅ Người dùng dán 1 khối copy (hero, pain, CTA) và yêu cầu nâng cấp
  • ✅ Người dùng cần các biến thể A/B cho một phần tử cụ thể

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

  • ❌ Chưa có layout — hãy chạy /biz-sales-page-layout trước
  • ❌ Cần email sequence / social post / quảng cáo Facebook → dùng 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 được đóng gói — hãy chạy /biz-offer-alex-hormozi trước, layout sau, rồi mới đến đây

Quy trình tổng quan (4 giai đoạn)

Giai đoạn 0: PHÁT HIỆN ĐẦU VÀO + XÁC NHẬN CẤP ĐỘ XỬ LÝ
       ↓
Giai đoạn 1: ĐÁNH GIÁ NEO (đọc Neo, khóa segment + ngôn ngữ pain)
       ↓
Giai đoạn 2: NÂNG CẤP TỪNG PHẦN (áp dụng đúng công thức cho từng phần)
       ↓
Giai đoạn 3: NGÂN HÀNG BIẾN THỂ A/B (3 biến thể cho hero + CTA chính)
       ↓
Giai đoạn 4: XUẤT 4 TỆP

Giai đoạn 0 — Phát hiện Đầu vào + Xác nhận Cấp độ

0.1 Phát hiện chế độ đầu vào

Chế độ A — Có layout (chính): Người dùng tham chiếu đường dẫn tới layout.md hoặc layout.json từ output/sales-pages/<slug>/. Đọc cả 2 tệp, biết được:

  • Neo (segment, dream outcome, pain, gain)
  • Hero hook type (frustration | readiness | bold_promise)
  • 10 phần đã có bản nháp copy
  • Offer stack + pricing + guarantee

Chế độ B — Dán khối: Người dùng dán 1 khối 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?"
  • "Khối này nằm ở phần nào? (hero / pain / benefit / CTA / FAQ...)"

Chế độ C — Từ đầu: Người dùng chưa có layout nhưng yêu cầu viết copy. → Đề xuất chạy /biz-sales-page-layout trước. Nếu người dùng nhất quyết không → tiếp tục Chế độ B với mini-neo (3 câu hỏi).

0.2 Xác nhận CẤP ĐỘ XỬ LÝ

Quan trọng: hỏi người dùng chọn cấp độ trước khi viết, vì 3 cấp độ cho output hoàn toàn khác nhau.

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

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

【2】 CONVERSION-OPTIMIZED ⭐ (mặc định)
     ↳ Viết lại 5 khối quan trọng: Headline + Subheading + Pain bullets + Mechanism + CTA
     ↳ Tạo biến thể A/B (3 hero + 3 CTA)
     ↳ Đánh bóng các phần còn lại
     ↳ Phù hợp: ra mắt mới, muốn tối đa chuyển đổi từ copy
     ↳ Thời gian: trung bình, ~20-30 phút

【3】 SALES-LETTER — Viết lại toàn bộ theo phong cách long-form story-driven
     ↳ Viết lại toàn bộ kiểu sales letter (founder story, P.S., P.P.S.)
     ↳ Thêm 2-3 mini-câu chuyện trong body, tăng chiều sâu cảm xúc
     ↳ Trang dài ra 30-50%
     ↳ Phù hợp: ticket > 5M, audience cold, cần thuyết phục long-form
     ↳ Thời gian: lâu, ~40-60 phút
     ↳ Rủi ro: thay đổi nhiều — tone có thể đậm hơn người dùng mong đợi

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

Người dùng xác nhận → khóa cấp độ → Giai đoạn 1.


Giai đoạn 1 — Đánh giá Neo

Đọc Neo từ layout.md (segment, dream outcome, 3 pain, 3 gain). KHÔNG được bỏ qua bước này — copy không hiểu neo = copy chung chung = không chuyển đổi.

Khóa 4 thứ trước khi viết

  1. Ngôn ngữ pain chính xác — 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"
    • ✅ Giọng nói khách hàng: "Cả tháng cày 80 tiếng mà tài khoản không nhúc nhích"
  2. Dream outcome cụ thể + có thể đếm được — phải có số, khung thời gian, và mệnh đề "không cần X":

    • ❌ "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 chung chung, đề xuất 3 tên cho người dùng 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, lặp lại 4-5 lần xuyên trang. Khóa nó ngay.

⚠️ Nếu thiếu ngôn ngữ pain chính xác → hỏi người dùng: "Anh/chị có ghi chú 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?" Copy dùng giọng nói khách hàng beats copy marketing-speak 3-5x trong A/B test.


Giai đoạn 2 — Nâng cấp Từng Phần

Đọc references/section-copy-recipes.md để biết chi tiết. Mỗi phần áp dụng 1 công thức chính + bậc thang power word + quy tắc voice.

Ánh xạ phần → công thức

PhầnCông thức chínhTại sao
Hero HeadlineHook Pattern (Frustration / Readiness / Bold Promise)3s thu hút — phải phù hợp mức độ nhận thức
Hero SubheadingPVEN-mini (Promise + Evidence trong 1 câu)Trấn an ngay sau hook
Pain AgitationPAR (Problem → Amplify → Resolve-tease)Audience pain-aware — đào sâu nỗi đau cho đến khi muốn thoát
Solution BridgeBAB (Before → After → Bridge)Chuyển tiếp từ pain → giải pháp
MechanismFEP (Feature → Edge → Payoff)Giải thích hệ thống bằng vì-sao-khác-biệt
Benefits CascadeFEP-stack (6-8 dòng FEP ngắn)Vẽ bức tranh after-state cụ thể
Social ProofStar-Chain-Hook (tái cấu trúc testimonial)Mỗi testimonial = một vòng cung câu chuyện nhỏ
Offer StackValue-anchor + reciprocityXây dựng giá trị cảm nhận gấp 10x giá
GuaranteeRisk-reversal patternChuyển rủi ro sang người bán
UrgencyHonest scarcity (cohort/spot/price-deadline)Thúc đẩy quyết định mà không giả tạo
FAQObjection-Acknowledge-Reframe-Evidence (OARE)Mỗi câu trả lời là 1 micro-sales
Final CTAPVEN (Promise + Vision + Evidence + Nudge)Lớp thuyết phục cuối cùng — đầy đủ

Quy trình viết 1 phần

Cho mỗi phần, thực hiện 4 bước:

  1. Đọc bản nháp copy từ layout.md — hiểu ý đồ
  2. Áp dụng công thức từ recipe (đọc references/section-copy-recipes.md)
  3. Pass power word — thêm 1-2 power word từ references/power-words-vn.md, bậc thang phù hợp:
    • Phần thông tin (intro, mechanism): Level 1-2 (tinh tế/vừa phải)
    • Phần cảm xúc (pain, urgency): Level 2-3 (vừa phải/mạnh)
    • Headline + CTA: Level 3 (mạnh), Level 4 chỉ dùng hạn chế
  4. Kiểm tra voice — đọc lại theo quy tắc 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 rỗng (tránh "đột phá", "bước ngoặt" nếu chưa có proof)?
    • Đọc lên có quê không? Nếu có → đơn giản hóa.

Quan trọng: 5 khối dồn lực

Theo Level 2 (mặc định), dồn 80% nỗ lực vào 5 khối:

  1. Hero Headline — 3 biến thể đủ 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 dễ nhớ, báo hiệu "đây là phương pháp riêng"
  5. CTA button text — ngắn, hướng đến hành động, ngụ ý giá trị tức thì

Các phần khác (Social Proof, Offer Stack, Guarantee, Urgency, FAQ, Final CTA) cũng được nâng cấp nhưng theo recipe, không cần nhiều biến thể.


Giai đoạn 3 — Ngân hàng Biến thể A/B

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

3.1 Biến thể Hero — 3 biến thể đầy đủ

Mỗi biến thể bao gồm: headline + subheading + value-prop 3 thứ + credibility + CTA. Mỗi biến thể đại diện 1 mức độ nhận thức:

Biến thểKhi 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 biến thể đ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 (phản đối mà biến thể này dễ gây ra)

3.2 Biến thể CTA — 3 biến thể

Biến thểPatternVD
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 Biến thể Final-CTA — 3 biến thể

Biến thểToneKhi dùng
A — Urgent recapPush, deadline-drivenCohort sắp đóng, ticket cao
B — Emotional closeStory-driven, P.S. heavyAudience cold, cần lớp cảm xúc
C — Logical closeRisk-reversal + ROI mathAudience analytical, B2B

Mỗi biến thể đầy đủ: headline final + recap bullets + P.S. + P.P.S.

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


Giai đoạn 4 — Xuất 4 tệp

Sinh 4 tệp vào output/sales-pages/<slug>/ (cùng thư mục với layout). KHÔNG ghi đè layout.md / layout.json — copy upgrade là lớp riêng để người dùng kiểm tra và hoàn tác nếu muốn.

4.1 copy-upgraded.md

Cấu trúc giống layout.md nhưng copy đã được tinh chỉnh. 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

[Phần 1 đến 10 copy tinh chỉnh...]

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

4.2 copy-variants.md

Ngân hàng A/B test. Cấu trúc:

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

## HERO — 3 biến thể

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

### Biến thể B: Readiness hook
[...]

### Biến thể C: Bold Promise hook
[...]

## CTA BUTTON — 3 biến thể
[...]

## FINAL CTA — 3 biến thể
[...]

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

4.3 copy-changes.md

So sánh Trước/Sau để kiểm tra. 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

## Phần 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: [...]

[Lặp lại cho 10 phần]

## Tổng kết thay đổi
- Hero: viết lại hoàn toàn (Level 2)
- Pain Agitation: viết lại 3/5 bullet, giữ nguyên cấu trúc
- ...

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

4.4 copy.json

Dữ liệu có cấu trúc cho hạ nguồn. 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 xuất

Báo cáo cho người dùng:

  • Đường dẫn 4 tệp
  • Tóm tắt thay đổi: "Đã tinh chỉnh 10 phần, tạo 9 biến thể A/B (3 hero + 3 CTA + 3 final-CTA), áp dụng 5 công thức thuyết phục"
  • 3 bước tiếp theo gợi ý:
    • "Anh/chị xem copy-changes.md trước để kiểm tra 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 — Biến thể A vs B trong 7 ngày."

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

1. Giọng nói khách hàng > Marketing-speak

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

2. Tính cụ thể thắng

...

[skiped for translation]

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 orchestrator: **script → final MP4 16:9 (1920×1080) podcast-keynote**.

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

Pipeline đóng gói: từ MP4 quay sẵn (talking head 9:16) tới HyperFrames preview project hoàn chỉnh có captions, SFX, zoom hooks, b-roll toàn cảnh có hiệu ứng rich, và CTA finale.

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'.

相關技能