Communitygithub.com

lexuanthanhhy/MKT.LANDINGPAGE.SKILLS

端到端编排器:**脚本 → 最终 MP4 16:9 (1920×1080) 播客-基调演讲**。

MKT.LANDINGPAGE.SKILLS 是什么?

该技能是一个端到端的视频编排器,专注于将越南语脚本(≤5000 字符)自动生成为 1920×1080 横向播客风格基调演讲视频。它针对 Claude AI / Anthropic 编辑风格进行了优化,输出具有深色幻灯片背景、霓虹发光文字层级、玻璃质感卡片和根层奶油色信息图图像的视觉效果。 核心架构采用“分割劳动”方法:HTML/Slide 组合层承载数据和结构元素(标题、等级字母、徽章),而奶油色 B-roll 图像层在 1920×1080 全屏上承载隐喻和情感,仅在触发画中画 (PIP) 窗口时淡入。技能利用并行的 LLM 子代理为每个场景独立撰写 HTML/CSS/GSAP 组合,而不是使用固定的 Python 模板,从而实现了高度灵活和富有创意的视觉叙事。 该流水线集成了多个阶段:ElevenLabs TTS 生成配音,HeyGen 生成对口型头像(在 720×1280 纵向视频中拍摄并裁剪以适应横向画框),以及 Whisper 转录。自动烘焙的模式包括:特定场景的缩放策略(用于构建戏剧张力的“混合钩子”)、品牌色彩的头像边框(默认为克劳德橙,紫色用于 PIP 状态)、可选的底部居中字幕,以及最后的 YouTube 订阅水印。该技能专为 YouTube 横向视频、LinkedIn 视频、播客剪辑或网站嵌入而设计,不适用于纵向短视频格式。

兼容平台✓Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/lexuanthanhhy/MKT.LANDINGPAGE.SKILLS/tree/HEAD/.claude/skills/mkt-full-video-with-11-hyperframe-heygen-16-9

在你喜欢的 AI 中提问

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

文档

mkt-full-video-with-11-hyperframe-heygen-16-9

端到端编排器:脚本 → 最终 MP4 16:9 (1920×1080) 播客-基调演讲。

输出是一个 1920×1080 的 MP4 文件,采用“说话人头 + 幻灯片”格式——HeyGen 头像位于右侧的浮动圆角框内(克劳德橙色品牌边框),左侧为现代 AI / Claude 编辑风格的幻灯片内容,并带有当幻灯片需要全屏强调时的画中画 (PIP) 缩放时刻。组合会自动烘焙以下模式——无需手动编辑。

自动烘焙模式(阶段 3 输出)

所有由编排器生成的视频都会自动包含:

  1. 每个场景的 HTML 组合——由并行的 LLM 子代理(每个场景一个子代理,在一次消息中扇出)编写,而非 Python 模板:

    • 输出:compositions/scene-1.html … compositions/scene-N.html(每个场景一个文件,对任何 N 都有唯一的文件名)
    • 每个子代理读取其场景块来自 visual-plan.json + 参考文档(references/composition-patterns.md、slide-design-tokens.md、infographic-prompt-template.md),然后从头开始编写 HTML/CSS/GSAP——为该场景的特定隐喻选择正确的模式,不锁定在 5 个固定的原型上
    • 为什么用 LLM 而不用 Python:HyperFrames 拥有无数的视觉思维模式(前后对比、中心辐射式、双钟比较、三层比较、滚动磁带、英雄球体规格三重奏、终端模拟、礼盒……)。Python 生成器只知道 5 个固定的原型 → 很无聊,无法适应特定场景的隐喻,例如“滚动磁带-浪费”或“正确工具-车辆”。每个场景的 LLM 编写足够有创意,能够服务于设计意图。
    • 品牌徽标自动附加:编排器将品牌上下文(claude / chatgpt / gemini / claude-code)传递给子代理,子代理引用 assets/logos/ 中的徽标,并在模式需要时(如球体发光、工具徽章药丸、失败行图标)将其嵌入到组合中
  2. 头像呼吸上的“混合钩子”视觉缩放策略(通过 generate_root_index.py 的阶段 3e):

    • HOOK(钩子)场景:在场景持续时间内缓慢爬升 1.0 → 1.10(构建戏剧张力)
    • HOOK→BODY(钩子→主体):快速重置 1.10 → 1.0(释放紧张感)
    • BODY(主体)场景:在 PIP-IN(画中画进入)事件时出现 1.06 打击节拍(节奏)
    • CTA(行动号召)场景:温和推 1.0 → 1.04(结束)
    • 取代了扁平的“呼吸悠悠球”——每个场景原型都有其独特的缩放运动
  3. 奶油纸 B-roll PIP 交换层(分割劳动架构——重要):

    • HTML 组合(幻灯片挂载)承载数据/等级字母/项目/徽章/标题/品牌徽标——始终开启
    • <img class="broll-image"> 奶油纸编辑插图承载隐喻/情感——全舞台 1920×1080,在其场景的 PIP 窗口期间淡入,否则淡出
    • 每一层讲述不同的一半信息(HTML = “是什么”,图片 = “为什么/感觉如何”)
    • 关键: 图片仅存在于根层(index.html 中的 <img id="broll-N">)。组合 HTML 不得嵌入 <div class="image-slot"> ——那会将 16:9 图片压缩到一个小框里 → 不好看。组合仅是数据层。
    • 图片来源:策划者技能写入 prompts.md → 用户通过 AI33/Nano Banana Pro 或 mkt-broll-image 生成 1.png-N.png
    • 全舞台 1920×1080,object-fit: contain,奶油色 #F0EEE6 信箱模式背景无缝融合
  4. 头像框架品牌色彩边框(通过 generate_root_index.py 的阶段 3e):

    • SPLIT(分割)默认状态:克劳德橙色 #d97757 3px 实线 + 6px 光晕 + 80px 外发光(温暖的品牌框架,不使用白色边框)
    • PIP(画中画)状态:紫色 #a78bfa 3px 实线 + 6px 光晕 + 60px 发光(当头像缩小时强调提示)
    • 按品牌覆盖:如果用户选择 chatgpt/gemini/claude-code 品牌强调,生成器使用匹配的强调色
  5. 字幕叠加(当 compositions/captions.html 存在时默认开启):

    • 底部居中药丸,位于 bottom: 100px,Inter 600 38px 白色,深紫边框药丸上
    • 逐短语淡入/淡出(0.18 秒),在每个块结束时硬 tl.set 消隐
    • 由 generate_captions.py 从常量的 Jinja 模板 + 每个视频的 captions.json(或回退到 Whisper 分段)生成
    • 由 generate_root_index.py 在 z-index 28 自动挂载;使用 --no-captions 禁用
    • 参见下面的阶段 3e 步骤 2
  6. YouTube 订阅底部三分之一 在最后 3 秒(默认开启):

    • 组合 yt-lower-third.html 在 data-start = total_duration - 3.0s 处挂载
    • 滑入动画 + 订阅按钮按下 + 已订阅状态切换
    • z-index 60(在所有图层之上),pointer-events: none
    • 频道名称 + 订阅者数量烘焙到 compositions/yt-lower-third.html 中(如果用户想重命名,可以编辑)
    • 禁用:generate_root_index.py --no-yt-lower-third。自定义时长:--yt-lower-third-duration 4.5

所有 5 个模式都自动烘焙——编排器无需额外步骤。用户只需渲染 1.png-N.png(阶段 3.5),那么分割劳动才完全可见。如果跳过图像生成,视频仍然可以很好地播放纯 HTML 组合(图像层不透明度为 0)。

与 9:16 兄弟技能的区别

mkt-full-video-with-11-hyperframe-heygen (9:16)-16-9(本技能)
宽高比1080×1920 纵向1920×1080 横向
布局头像全屏 + 字幕条 + B-roll 剪切左侧幻灯片面板 (1200) + 右侧浮动头像框 (540×880)
字幕挂载是(TikTok 风格逐字)默认无字幕(幻灯片视觉上承载信息)
PIP 机制无SPLIT ↔ PIP 过渡 — 幻灯片扩展到 1920,头像缩小到 320×420 角落
头像运动静态全屏呼吸悠悠球 + 场景开始推入
幻灯片样式基于变体的模型(文章堆叠、AI 窗口、应用卡片……)LLM 编写每个场景的组合 + 现代 AI 调色板 + 根层奶油纸 B-roll
组合作者Python 模板N 个并行 LLM 子代理(每个场景 1 个)
渲染目标TikTok/Reels/Shorts播客基调演讲 / YouTube 知识 / LinkedIn
HeyGen 渲染720×1280 纵向仍然是 720×1280 纵向(通过 object-position: center 25% 裁剪到横向头像框中——不是 1280×720!)

对于所有横向知识视频,选择此技能。对于所有纵向短格式,选择兄弟技能。

何时使用

  • 用户有越南语脚本(60–150 秒)想要制作成播客基调演讲横向知识视频
  • 用户希望输出具有“Claude AI / Anthropic 编辑”感觉:深色幻灯片背景,霓虹发光文本层级,玻璃质感卡片,根层奶油色信息图
  • 主题:分享知识 / 案例研究 / 前后对比 / 工具比较 / 5 个以上技巧的列表文 — 适合幻灯片驱动,支持任意数量的场景(3、5、7、10……)
  • 发布渠道:YouTube 横向视频、LinkedIn 视频、播客剪辑、网站嵌入
  • 用户已有 MP3 + source.mp4 并希望重新策划阶段 3 → 编排器跳过阶段 1+2,直接进入阶段 3

不要使用此技能如果:

  • 用户需要 TikTok/Reels/Shorts 纵向视频 → 使用兄弟技能 9:16
  • 脚本 > 5000 字符 → 先进行语义分割
  • 主题纯粹是视觉密集型(蒙太奇、音乐视频)——此技能优化用于说话人头 + 幻灯片

流水线概览

脚本(越南语,≤ 5000 字符)
    │
    ▼
[阶段 0.5 恢复检测 — 如果 voiceover.mp3 + source.mp4 已存在 → 跳过阶段 1+2]
    │
    ▼
阶段 1 ── mkt-elevenlabs-tts-to-mp3 ──────► voiceover.mp3
    │                                          │
    │                              检查点 #1 — 用户收听并审核 MP3
    │                                          │
    │                                          ▼ (OK)
阶段 2 ── heygen-mp3-to-mp4 ──────────────► source.mp4(720×1280 纵向,口型同步)
    │                                          (不渲染 1280×720)
    │
    ▼
阶段 3a ── 转录(Whisper)→ voiceover.srt + transcript.json
阶段 3b ── plan_visuals.py → visual-plan.json + prompts.md
              (策划者技能:mkt-plan-short-video-edit-16-9)
              检查点 #2 — 用户审核计划
    │
    ▼ (LLM 按场景隐喻/等级字母/项目自定义 visual-plan.json)
    │
阶段 3c ── apply_plan_to_scenes.py → scenes.json(编辑器兼容)
阶段 3d ── 🔥 扇出 N 个并行 LLM 子代理(每个场景 1 个)🔥
              → compositions/scene-1.html … scene-N.html
              (每个子代理:读取 visual-plan 场景块 + 参考 → 编写 HTML/CSS/GSAP)
阶段 3e ── scaffold_project.py(sfx/ + logos/ + avatar.jpg + yt-lower-third.html)
            generate_root_index.py → index.html(1920×1080,挂载 scene-N.html,broll 层,PIP,SFX,品牌标记,克劳德橙色头像边框)
阶段 3f ── lint + 预览(Studio @ http://localhost:3002)
            (可选阶段 3.5:通过 AI33/Nano 生成 1.png-N.png 奶油纸)
    │
    ▼
用户审核预览 Studio → “render” → npx hyperframes render → out.mp4 1920×1080

检查点:

  • #1 MP3 配音 — 编排器门控(如果恢复模式则跳过)。
  • #2 视觉计划 — 阶段 3b 门控(如果 auto_scenes=true 则可跳过)。
  • 渲染门控 — 用户在 Studio 中确认后才渲染。

输入

输入必需格式/示例
主题是简短标题(“Claude AI 的好处”、“5 个节省 Claude token 的技巧”)
品牌强调是claude / chatgpt / gemini / claude-code / generic — 决定强调色调色板 + 徽标 + 头像边框颜色
脚本文本是(除非恢复模式).txt/.md 文件或内联。越南语。≤ 5000 字符
输出别名否从主题自动派生。小写,ASCII,短横线。
场景数量否默认 5(钩子 / 问题 / 解决方案 / 回顾 / 行动号召)。可以是 3–10 取决于长度。5 个以上技巧的列表文可以 — 每个技巧扇出 1 个子代理 + 1 个钩子 + 1 个行动号召。
头像外观否1 个 ID 从 HEYGEN_AVATAR_LOOKS 环境变量获取。如果未选择则随机。
信息图模式否now(立即通过 mkt-broll-image 生成图像)/ scaffold(仅写入 prompts.md,用户后续手动生成)/ none。默认 scaffold。
auto_scenes否默认 false。true 以跳过场景大纲检查点。
start_at否phase_1(默认)/ phase_2 / phase_3。恢复入口点。
skip_phase_1 / skip_phase_2否恢复模式的布尔快捷方式(替代 start_at=phase_3)。

工作区布局

workspace/content/YYYY-MM-DD/<slug>/
├── script.txt                  # 阶段 0 — 用户提供的干净文本
├── script-tagged.txt           # 阶段 1a — 脚本 + ElevenLabs v3 音频标签([excited]、[sigh]……)
├── voiceover.mp3               # 阶段 1b
├── voiceover.srt               # 阶段 3a(Whisper)
├── voiceover_segments.json     # 阶段 3a(词级片段)
├── source.mp4                  # 阶段 2(720×1280 纵向 — 不要渲染为横向)
├── transcript.json             # 阶段 3a(whisper 词)
├── transcript-cleaned.json     # 阶段 3a(手动修正错别字)
├── scenes-outline.json         # 阶段 3b — 检查点前大纲
├── visual-plan.json            # 阶段 3b — 完整的机器可读计划(策划者输出)
├── scenes.json                 # 阶段 3c — 编辑器兼容的 visual-plan 展开
├── prompts.md                  # 阶段 3b — 奶油纸编辑提示(每个场景 1 个)
├── 1.png  2.png  ... N.png     # 阶段 3.5 — 奶油信息图图像(每个场景 1 个),根层 broll
├── captions.json               # 阶段 3e(可选) — 编排器策划的 [{text,start,end},...];如果缺失则回退到 voiceover_segments.json
├── compositions/
│   ├── scene-1.html            # 阶段 3d — LLM 编写,1200×1080 原生横向
│   ├── scene-2.html            # 每个场景 1 个文件,无论 N 是多少
│   ├── ...
│   ├── scene-N.html
│   ├── captions.html           # 阶段 3e — 从 captions.html.j2 + captions.json(或 Whisper 片段)生成
│   └── yt-lower-third.html     # 阶段 3e — 从技能资产自动复制
├── assets/
│   └── logos/                  # 阶段 3e — 自动复制(claude.png、chatgpt.png、gemini.jpg、claude-code.png)
├── sfx/                        # 阶段 3e — 6 个默认音效
└── index.html                  # 阶段 3e — 根组合 1920×1080

YYYY-MM-DD = 今天日期(UTC+7)。

工作流程

步骤 0 — 设置 + 恢复检测

  1. 验证 len(script_text) <= 5000(如果恢复模式且没有脚本输入则跳过)。超过 → 停止。
  2. 如果主题缺失则从主题派生别名。
  3. 创建 workspace/content/YYYY-MM-DD/<slug>/。保存 script.txt(如果恢复且脚本已存在则跳过)。
  4. 选择品牌强调色调色板(参见 references/slide-design-tokens.md)。
  5. 恢复检测 — 检查工作区:
    • 如果 voiceover.mp3 + source.mp4 都存在且用户未请求重新运行 → 设置 start_at=phase_3。报告:“MP3 + source.mp4 已存在。跳过阶段 1+2。开始阶段 3。”
    • 如果只有 voiceover.mp3 → 设置 start_at=phase_2。报告:“MP3 已存在。跳过阶段 1。开始阶段 2(HeyGen)。”
    • 如果还没有任何内容 → start_at=phase_1。报告:“工作区创建于 <folder>。开始阶段 1 — ElevenLabs TTS。”
  6. 用户可以通过输入标志(例如,使用 start_at=phase_3 强制跳过)覆盖恢复检测。

步骤 1 — 阶段 1:脚本 → MP3(ElevenLabs)

如果 start_at=phase_2 或 phase_3 则跳过。

此阶段分为两个子步骤:

  • 1a — 音频标签丰富:编排器(LLM)读取 script.txt,插入 ElevenLabs v3 音频标签([excited]、[curious]、[sigh]、……)与内容情感匹配,写入 script-tagged.txt。不自动运行脚本 — LLM 自己完成,因为需要按句映射语气。
  • 1b — TTS 渲染:在 script-tagged.txt 上调用 mkt-elevenlabs-tts-to-mp3。子技能已默认 model_id=eleven_v3,因此接受内联标签。

1a — 生成 script-tagged.txt

(可选深入探究:references/elevenlabs-audio-tags.md 如果它存在于技能文件夹中 — 目前仅内联。不要盲目读取此路径而不先验证;如果缺失,下面的内联摘要就足够了。)核心摘要:

  • Hoàng 的品牌声音(K7ewtjKRNtwwt3lKQ6M0)——越南语男性中音,对话式。适用于 [excited]、[curious]、[sigh]、[chuckles]、[sarcastic]、[whispers](适度)。避免 [shouts]、[crying]、[sings]、音效标签([applause]、[gunshot]……)——组合层使用单独的音效文件。
  • 密度:每 8–15 秒 1 个标签。60 秒脚本 ≈ 总共 4–8 个标签。不要过度。
  • 标签必须插入句中合适的位置,后跟空格,然后继续。
  • 示例:Hôm nay, tôi muốn [excited] kể cho bạn nghe về một điều thú vị.

1b — TTS 渲染

使用 mkt-elevenlabs-tts-to-mp3 工具。输入:script-tagged.txt。输出:voiceover.mp3。

步骤 2 — 阶段 2:MP3 → 源 MP4(HeyGen)

如果 start_at=phase_3 则跳过。

使用 heygen-mp3-to-mp4 工具。输入:voiceover.mp3。输出:source.mp4(720×1280 纵向,口型同步)。重要:不要渲染为 1280×720 横向。

步骤 3 — 阶段 3:组合 + 渲染

如果 start_at != phase_3 则运行此步骤。

这是主要阶段。它被分解为子步骤 3a–3f:

  • 3a 转录:在音频上运行 Whisper 以生成 voiceover.srt + transcript.json(词级数据)。使用 transcribe.py 或等效工具。
  • 3b 视觉策划:运行 plan_visuals.py(调用 mkt-plan-short-video-edit-16-9 策划者技能)以生成 visual-plan.json + prompts.md。这为每个场景定义了视觉隐喻、等级字母、项目、徽章和奶油纸图像提示。这是一个检查点:用户可以查看和调整计划。如果 auto_scenes=true,则跳过此检查点。
  • 3c 应用计划:运行 apply_plan_to_scenes.py 以展平 visual-plan.json 为 scenes.json(编辑器兼容格式)。
  • 3d LLM 组合编写:扇出 N 个并行调用到 LLM(每个场景 1 个)。每个子代理接收其场景的 visual-plan.json 块 + 参考文档。每个子代理输出 compositions/scene-N.html,从头开始编写 HTML/CSS/GSAP。
  • 3e 项目脚手架:
    1. 运行 scaffold_project.py 以复制默认资源:sfx/、logos/、avatar.jpg(用户选择或随机)、yt-lower-third.html。
    2. 运行 generate_root_index.py 以创建 index.html(1920×1080 根组合)。它挂载每个 scene-N.html、broll 图像层、PIP 行为、品牌头像边框、字幕(如果存在)、YouTube 水印和音效。
  • 3f lint + 预览:可选。为最终检查启动一个本地服务器 http://localhost:3002。

步骤 4 — 阶段 3.5(可选):图像生成

如果 infographic_mode=now:通过 mkt-broll-image 或手动使用 AI33/Nano 为每个场景生成奶油纸图像 1.png-N.png。

步骤 5 — 渲染

在 Studio 预览中审核后,运行:

npx hyperframes render

输出:out.mp4 1920×1080。

检查点详细信息

检查点 #1 — MP3 配音

  • 目的:在继续进行 HeyGen 渲染之前,确保配音听起来自然。
  • 操作:编排器等待用户确认或上传新文件。
  • 跳过:如果 start_at=phase_2 或 phase_3。

检查点 #2 — 视觉计划

  • 目的:确保视觉隐喻与脚本情感和品牌指南一致。
  • 操作:编排器向用户显示 visual-plan.json + prompts.md 摘要。用户可以批准或请求编辑。
  • 跳过:如果 auto_scenes=true。

渲染门控

  • 目的:防止意外渲染。
  • 操作:用户在 Studio 预览中明确单击“渲染”或运行 npx hyperframes render。

参考

  • references/composition-patterns.md:HyperFrames 的视觉模式目录(前后对比、中心辐射式、双钟比较、三层比较、滚动磁带、英雄球体规格三重奏、终端模拟、礼盒等)。
  • references/slide-design-tokens.md:品牌特定设计令牌(调色板、排版、间距、徽标大小、动画曲线)。
  • references/infographic-prompt-template.md:用于奶油纸图像生成的提示模板。
  • references/elevenlabs-audio-tags.md:ElevenLabs v3 音频标签文档(如果存在)。

故障排除

  • 问题:视频渲染看起来被剪裁或拉伸。
    • 原因:source.mp4 被渲染为 1280×720 横向而不是 720×1280 纵向。
    • 解决方案:使用 heygen-mp3-to-mp4 重新生成,并指定正确的方向。
  • 问题:B-roll 图像不出现。
    • 原因:图像文件 1.png-N.png 缺少或 index.html 中的文件名不匹配。
    • 解决方案:确保图像存在于工作区根目录并正确命名。
  • 问题:字幕不同步。
    • 原因:captions.json 与配音时间戳不匹配。
    • 解决方案:从 voiceover_segments.json 重新生成 captions.json。
  • 问题:HeyGen 头像嘴唇不同步。
    • 原因:HeyGen 渲染错误或音频格式问题。
    • 解决方案:使用正确的格式(MP3, 16kHz)重新渲染 Phase 2。

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

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

相关技能