Communitygithub.com

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

将单个MP3配音文件转换为单个HeyGen头像唇同步MP4视频。单一用途——无需规划、无需SRT、无需分块、无需Remotion合成。混合路径——REST上传(辅助脚本)+ HeyGen MCP创建视频。

MKT.LANDINGPAGE.SKILLS 是什么?

该技能专为简化HeyGen头像视频生成流程而设计,直接接受一个MP3文件作为输入,输出一个唇同步的MP4视频,无需复杂的多步骤流程或第三方合成工具。它采用混合架构:首先通过一个REST辅助脚本(`upload_asset.py`)将MP3文件上传为HeyGen资产,然后利用HeyGen的MCP工具(如`create_video_from_avatar`)创建并监控视频生成过程。此方法解决了2026年后HeyGen MCP不再提供资产上传工具的问题,同时避免了依赖外部公开URL的脆弱性。该技能支持从环境变量(`.env`文件)读取头像外观列表(`HEYGEN_AVATAR_LOOKS`)和API密钥(`HEYGEN_API_KEY`),并自动随机选择头像或允许用户覆盖。它明确不支持脚本生成、分块或规划,专注于处理已完成的配音文件。主要平台包括Claude Code、Cline等支持HeyGen MCP的AI代理,以及通过REST进行资产上传的场景。用户可通过特定中文或英文短语触发该技能,例如“tạo video heygen từ mp3”、“mp3 to heygen”或“convert mp3 sang heygen video”。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lexuanthanhhy/MKT.LANDINGPAGE.SKILLS/tree/HEAD/.claude/skills/heygen-mp3-to-mp4

在你喜欢的 AI 中提问

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

文档

HeyGen MP3 → MP4(单一用途)

接收一个MP3配音,返回一个HeyGen头像唇同步MP4。除此之外,不执行任何其他操作。

本技能的存在是因为现有的 heygen-short-video 技能需要完整的制作计划 + SRT + 分块片段——当用户只有一个完成的配音并希望获得说话头视频时,这显得过于繁琐。

为什么采用混合REST + MCP(而不是纯MCP)

本技能的早期版本强制执行“仅使用MCP——绝不调用REST”的规则。但自2026年HeyGen MCP重构以来,此规则已不再可行:MCP服务器仅暴露 create_video_from_avatar、get_video、create_lipsync、list_avatar_looks 等工具——不再提供资产上传工具。要从本地MP3实现唇同步,API仍然需要一个 audioAssetId(上传的资产)或 audioUrl(公共HTTPS URL)。托管公共URL存在脆弱性(链接失效、泄露),因此我们通过一个轻量级辅助脚本使用文档化的REST上传端点,然后继续通过MCP进行视频创建、轮询和下载。

硬性约束

约束条件允许值
资产上传REST POST https://upload.heygen.com/v1/asset 通过 scripts/upload_asset.py(使用 HEYGEN_API_KEY)
视频创建 / 状态 / 列表仅使用HeyGen MCP(mcp__heygen__create_video_from_avatar、mcp__heygen__get_video)
头像外观IDHEYGEN_AVATAR_LOOKS 环境变量中的ID之一(逗号分隔的允许列表)
语音ID(仅当MCP路径强制要求TTS时)来自 .env 的 HEYGEN_VOICE_ID(不允许使用其他语音ID)
MP3时长≤ 300秒(5分钟)。如果超过,快速失败;不要自动分割
宽高比(MCP枚举)默认为 9:16(TikTok / Reels)。仅在父协调器覆盖时使用 16:9
分辨率(MCP枚举)默认为 720p(9:16 时生成 720×1280,16:9 时生成 1280×720)

对于MP3唇同步,语音类型为 audio,并提供 audioAssetId——不发送 voiceId。上述语音ID允许列表仅在未来的MCP签名要求时才有意义。

输入

  1. MP3路径(必需)——配音文件的绝对路径。
  2. 头像外观ID(可选)——允许的ID之一。如果省略,从允许集合中随机选取,以在不同运行中产生视觉多样性。
  3. 输出路径(可选)——默认为项目根目录下的 workspace/heygen-clips/<mp3-stem>/<mp3-stem>_<YYYYMMDD-HHMMSS>.mp4。
  4. 宽高比(可选)——9:16(默认)或 16:9。

工作流程

按顺序执行以下步骤。每个步骤都有停止条件;不要越过失败的步骤继续执行。

0. 认证检查(仅在首次调用时)

HeyGen MCP服务器使用OAuth。在新会话中,仅暴露 mcp__heygen__authenticate 和 mcp__heygen__complete_authentication;真正的工具(create_video_from_avatar、get_video 等)在认证完成后才会出现。如果会话中未加载这些工具,请调用 mcp__heygen__authenticate 并向用户显示返回的授权URL。用户点击该链接 → 浏览器可能显示本地回调的“连接错误”(这是预期的)→ 用户将完整的回调URL粘贴回来,您调用 mcp__heygen__complete_authentication。一旦认证后的工具出现在延迟工具列表中,继续执行。

1. 验证MP3

uv run .claude/skills/heygen-mp3-to-mp4/scripts/check_duration.py "<mp3_path>"

输出 OK <seconds> / TOO_LONG <seconds> / MISSING。退出码0表示OK,非零表示停止。

如果输出 TOO_LONG:告知用户时长以及HeyGen单个视频的上限约为5分钟,并建议使用现有的 heygen-short-video 技能(它会进行分块)。不要继续执行。

2. 选择头像外观

从 HEYGEN_AVATAR_LOOKS(逗号分隔的允许列表)中读取:

HEYGEN_AVATAR_LOOKS=$(
  grep -h '^HEYGEN_AVATAR_LOOKS=' .env.local .env 2>/dev/null \
  | head -1 | cut -d'=' -f2- | tr -d '"' | tr -d "'"
)
echo "$HEYGEN_AVATAR_LOOKS" | tr ',' '\n' | awk 'BEGIN{srand()} {a[NR]=$0} END{print a[int(rand()*NR)+1]}'

占位符陷阱——claudeclaw-os/.env.local 中带有占位符桩(avatar_look_id_1,avatar_look_id_2)。真实值通常位于 ~/Documents/GitHub/hoang-ai-marketing/.env:

grep '^HEYGEN_AVATAR_LOOKS=' ~/Documents/GitHub/hoang-ai-marketing/.env

如果该值匹配 ^(your_|avatar_look_id_|placeholder),则视为缺失并回退到营销仓库的 .env。如果两者都是占位符/缺失,则停止并要求用户填写真实的ID。

在继续之前告知用户您选择了哪个头像外观——他们可能希望覆盖。

3. 将MP3作为HeyGen资产上传(REST)

uv run .claude/skills/heygen-mp3-to-mp4/scripts/upload_asset.py "<mp3_path>"
# → 成功时输出 "OK <asset_id>"

该辅助脚本处理 X-Api-Key 头信息,为音频扩展选择正确的 Content-Type,并按以下顺序解析 HEYGEN_API_KEY:--key-file 标志 → HEYGEN_API_KEY 环境变量 → .env.local → .env → ~/Documents/GitHub/hoang-ai-marketing/.env。占位符桩(your_*)会被自动跳过。

捕获标准输出中打印的 asset_id。

4. 生成头像视频(MCP)

使用新模式调用 mcp__heygen__create_video_from_avatar(旧的 dimension: {width, height} 形状已消失——该工具现在接受 aspectRatio 枚举 + resolution 枚举):

avatarId:       <从允许列表中选取>
audioAssetId:   <来自步骤3>
aspectRatio:    "9:16"    # 或当父协调器覆盖时为 "16:9"
resolution:     "720p"    # 720p · 1080p · 4k
title:          "<mp3-stem>-<timestamp>"

捕获返回的 video_id(初始状态为 waiting)。

为什么使用音频(而非文本): 从现有MP3进行唇同步需要HeyGen直接消费音频。在此处发送 script + voiceId 会将HeyGen切换到TTS模式,并完全忽略上传的MP3。

5. 轮询直到完成

每隔约10-15秒调用 mcp__heygen__get_video,传入 video_id。状态:

  • waiting / processing / pending → 继续轮询
  • completed → 从响应中获取 video_url 并继续执行
  • failed → 停止,向用户显示 failure_message

等待上限约为10分钟;如果仍在处理,告知用户并让他们决定。

zsh轮询循环的陷阱——status 变量名在zsh中是只读的。如果在轮询循环中写入 status=$(…),脚本会因 read-only variable: status 而崩溃。请使用不同的名称(vstate、phase、ready)。

6. 下载MP4

uv run .claude/skills/heygen-mp3-to-mp4/scripts/download_video.py "<video_url>" "<output_path>"

直接通过HTTPS下载HeyGen返回的URL——不是用于创建或修改视频的API调用。

7. 报告结果

在一个简短回复中告知用户三件事:

  • MP4的输出路径
  • 使用了哪个头像外观
  • 结果的时长和文件大小

示例

用户:tạo video heygen từ mp3 workspace/audio/episode-3.mp3

您应:

  1. 认证检查 → 如果HeyGen工具已存在,跳过;否则执行 mcp__heygen__authenticate + 完成OAuth流程。
  2. check_duration.py workspace/audio/episode-3.mp3 → OK 87.4
  3. 从 HEYGEN_AVATAR_LOOKS 中随机选取(例如 66e75e22e6584bbdaa56a19088286dc8)。告知用户。
  4. upload_asset.py workspace/audio/episode-3.mp3 → OK 36922ca92326480f8dbb0f57fae1a144
  5. mcp__heygen__create_video_from_avatar(avatarId=…, audioAssetId=…, aspectRatio="9:16", resolution="720p", title="episode-3-…") → video_id: 874793a8…
  6. 每隔约15秒轮询 mcp__heygen__get_video,直到状态为 completed → 获取 video_url
  7. download_video.py <url> workspace/heygen-clips/episode-3/episode-3_20260510-143022.mp4
  8. 报告路径、外观ID和时长。

本技能明确不执行的操作

  • 不写入/转录SRT(那是 mkt-ai-video-extract-srt-segment 的职责)。
  • 不规划视觉元素、补充素材、片段(那是 mkt-plan-short-video-edit-16-9 的职责)。
  • 不对MP3进行分块(那是 heygen-short-video 配合 split_audio.py 的职责)。
  • 不使用Remotion或HyperFrames进行合成(那是父协调器的职责)。

如果用户需要上述任何功能,请将其引导至正确的技能,而不是扩展本技能。

失败模式及消息

症状告知用户的内容
MP3文件缺失MP3 không tìm thấy ở <path>. Kiểm tra lại đường dẫn.
MP3 > 300秒MP3 dài <X>s, vượt giới hạn 5 phút của HeyGen. Dùng skill heygen-short-video (có chunking) thay thế.
HeyGen MCP未认证显示 mcp__heygen__authenticate URL,要求用户授权,然后执行 mcp__heygen__complete_authentication。
HEYGEN_API_KEY 未找到/占位符Không tìm thấy HEYGEN_API_KEY. Helper đã thử .env.local, .env, và ~/Documents/GitHub/hoang-ai-marketing/.env. Bạn cần thêm key thật (không phải stub your_*) vào 1 trong các file đó.
HEYGEN_AVATAR_LOOKS 是占位符(avatar_look_id_1,…)与API密钥相同的回退策略——从营销仓库读取,或要求用户填写真实的头像ID。
HeyGen返回失败HeyGen render failed: <failure_message>. Có thể avatar look bị xoá hoặc audio asset không hợp lệ.
积分不足显示来自HeyGen的错误——此服务器版本中未暴露MCP get_remaining_credits。引导用户访问 https://app.heygen.com/billing。
工具名称未找到(upload_asset / generate_avatar_video / get_avatar_video_status)旧的MCP名称——已替换为REST上传 + create_video_from_avatar + get_video。更新任何仍使用旧名称的调用者。

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

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ầ

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

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

相关技能