---
name: livestream-script-generator
description: "给定一个或多个电商商品链接（1688、淘宝、京东、拼多多、抖音小店等），自动抓取并分析商品信息，为每个商品独立生成一份直播带货主播口播稿 Word 文档。口播稿强制包含产品 FAB 介绍（属性到优点到利益）、价格优势、顾客常见提问（FAQ）回应、开场钩子与逼单收尾等模块，并支持批量处理（一次传入多个链接，逐个输出独立 docx）。当用户发送商品链接并要求写口播稿、直播话术、带货脚本或主播文案，或一次性给出多个商品链接需要批量产出时，使用本技能。"
version: 1.0.0
author: 韦凡稀
agent_created: true
---

# Livestream Script Generator（直播带货口播稿生成器）

## Overview

本技能把"分析商品链接 → 提炼卖点 → 生成主播口播稿 → 导出独立 Word"的工作流固化为可复用流程。
核心交付物是**每个商品一份独立 `.docx` 口播稿**，结构化包含：商品信息拆解、FAB 表、开场钩子、FAB 主推、
价格优势、使用场景、顾客常见提问（FAQ）、逼单收尾、主播备注。支持一次批量处理多个链接。

## When To Use

- 用户发来商品链接（尤其 1688 批发链接），要求写直播口播稿 / 带货话术 / 主播文案。
- 用户一次性给出**多个**商品链接，需要批量生成多份口播稿。
- 用户已有自制话术模板，希望按统一结构批量产出 Word 文档。

## Workflow（批量流程）

### Step 1 — 收集并确认链接
- 从用户消息中提取所有商品链接（支持一次多个，用换行或逗号分隔均可）。
- 若用户未说明受众（C 端消费者 / 店主代理 / 跨境），默认按 **C 端消费者** 口径撰写；若有代理/批发诉求，在价格段强调"工厂直供、可定制、利润空间"。

### Step 2 — 逐个抓取商品信息
- 对每个链接调用 WebFetch，提示词要求提取：商品标题、品牌/货号、材质、规格参数、款式/颜色、
  核心卖点、重量尺寸、包装、适用人群、产地/货源、资质证书、销量表现、发货地。
- **价格与起批量**：1688 等平台的价格常需登录 + JS 渲染，WebFetch 往往拿不到具体数字。
  此时**不要编造价格**，在后续文案中以 `【价格】` `【起批量】` `【优惠】` 占位，并在文档顶部加红色提示，
  提醒开播前替换为直播后台实时数据。

### Step 3 — 结构化撰写口播稿（每个商品独立一份）
对单个商品，组织以下内容（可先用草稿 JSON 承载，再交由脚本渲染）：

1. **商品核心信息拆解** —— 一张二维表（维度 / 信息），信息均来自链接。
2. **产品 FAB 提炼** —— 每条卖点拆成三列：
   - **F（Feature 属性）**：客观参数，如"食品级硅胶材质""慢回弹"。
   - **A（Advantage 优点）**：相对优势，如"无毒无味、捏下去缓缓回弹"。
   - **B（Benefit 利益）**：对顾客的好处，如"家长放心给孩子玩、焦虑时捏两下真能松下来"。
3. **直播口播稿正文**（口语化、可直接念）：
   - 开场钩子（留人）
   - FAB 主推段（边演示边讲，强调现场展示核心卖点）
   - 价格优势段（填实时价；若批发属性则强调工厂直供/源头价）
   - 使用场景（制造画面，覆盖多类人群）
   - 顾客常见提问回应（QA，见下方必含清单）
   - 逼单收尾（促转化）
4. **给主播的备注** —— 演示动作提醒、C 端/代理两种讲法切换建议等。

**FAQ 必含要素**（至少覆盖，按品类增删）：安全性/材质、异味、核心功能真伪（如慢回弹）、适用年龄/人群、
清洁保养、是否 IP 正版、能否定制、发货与时效、能否再优惠。

### Step 4 — 渲染为独立 Word
- 将每个商品的结构化数据写入一个 JSON（字段见 `scripts/build_script_docx.py` 头部注释）。
- 调用脚本生成 `.docx`：
  ```
  python <skill>/scripts/build_script_docx.py <商品>.json [输出.docx]
  ```
  脚本会自动安装 `python-docx`（若缺失），并设置中文「微软雅黑」字体避免乱码。
- **每个商品生成独立文档**，文件名建议 `口播稿_<品牌或商品关键词>.docx`。

### Step 5 — 批量收尾
- 若一次处理多个链接，逐一重复 Step 2–4，将各 `.docx` 放入同一输出目录，最后向用户汇总：
  列出每个商品文件名、核心卖点一句话、是否需要补填价格占位。
- 用 `present_files` 把生成的 `.docx` 一并提供给用户预览/下载。

## 价格占位规范（重要）

1688 商品页价格/起批量需登录渲染，抓取不到时**严禁臆造**。统一约定：
- 文案中用 `【价格】` `【起批量】` `【优惠】` 占位。
- 文档顶部自动插入红色提示：「价格、起批量等需登录/JS 渲染才显示的数字，已在文案中以【】占位，开播前请替换为直播后台实时数据。」
- 若某次 WebFetch 意外拿到了真实价格，则直接填入，不再占位。

## Resources

### scripts/build_script_docx.py
将结构化 JSON 渲染为独立 `.docx` 的核心脚本。输入 JSON 字段：
`product_name, source_url, meta(二维表), fab([{f,a,b}]), script({hook,fab_main,price,scenarios,closing}), faq([[Q,A]]), notes`。
缺省字段对应的段落/表格会自动跳过。脚本自动确保 `python-docx` 可用并统一中文字体。

### assets/sample_input.json
一份示例输入 JSON（以"食品级硅胶捏捏乐"为例），可直接拿来跑脚本验证：
```
python scripts/build_script_docx.py assets/sample_input.json 测试口播稿.docx
```

## Notes
- 文案风格保持口语、有节奏、带动作提示（如"捏一下展示慢回弹"），便于主播照稿+演示。
- 不同平台链接结构不同，WebFetch 提取不全时，用多次不同角度的提示词补充抓取，仍缺失则标注"待补"。
