# Moras 技能剧本

> Muse / 其他 agent 读这份文件来理解"该按什么顺序做事、什么不能做"。
> 端点与 scope 由 MCP 服务自身的工具描述提供；这里给的是**业务剧本**。

## 允许连接的主机

连接器只会访问：

- `moras-api`（Moras 后端，域名由部署配置决定）—— 唯一的业务上游
- `open.tiktokapis.com` / `www.tiktok.com` —— 由 Moras 后端访问，连接器不直接访问

连接器本身不会直接请求任何其它域名。

## 硬规则

1. **先查状态再动手**：任何流程第一步都是 `get_connection`，不要假设用户已绑定 TikTok 或已达资格。
2. **事实只能来自事实卡**：写脚本、钩子、出片前必须先取商品事实卡，只能引用其中的 `facts`；
   `forbidden_claims` 是红线（疗效、绝对化表述、编造销量与收益）。
3. **成片不外发**：不要输出任何视频文件链接或直链，告诉用户到 Moras App 里看成片。
4. **不可逆动作必须确认**：发布、解绑、切换模式都要先给用户看、拿明确确认，再执行。
5. **按 `next_action` 走**：工具返回的错误都带一个可执行的下一步，照做，不要自己另编一套。
6. **不承诺收益**：不承诺出单、不承诺金额，只报告事实数据。

## 剧本一：选品（`moras-picks`）

触发："帮我找能赚钱的 TikTok 商品" / "这个月我该卖什么"

1. `get_connection` → 知道资格与模式
2. `check_eligibility` → 不合格就先讲清差什么，并给降级价值（选品分析、脚本、合规预检现在就能用）
3. `list_products` → **给 3 个候选**，不要一次给更多，也不要替用户直接选定
4. 每个候选说清：佣金、真实成交趋势、竞争度、**风险提示**
5. 等用户挑

## 剧本二：出片（`moras-make-video`）

触发："给这个商品做条带货视频"

1. `get_product_brief` → 取事实卡
2. `create_video_task`（`product_ref` + 可选创意角度；提示词由服务端按事实卡组装，不要自己拼）
3. `get_task_status` → 拿进度与风险
4. 生成完成后告诉用户："成片已在 Moras App 里生成，请你看一下"，并说明**为什么这条会卖**和**哪里有风险**
5. **不发布**

## 剧本三：发布与盯数据（`moras-publish-and-track`）

触发："帮我发出去" / "今天的进度" / "为什么没出单"

1. 展示最终物料：成片（App 内）、要挂的商品、视频标题、挂车锚点标题
2. **等用户明确确认**
3. `publish_video`（`confirm: true`）
4. 回传帖子与归因
5. 后续 `get_performance` 看曝光、点击、挂车、成交四段
6. **没出单时**：按六层归因（发布 → 流量 → 挂车展示 → 点击 → 成交 → 金额）给**一个**最靠前的结论
   和**一个**具体下一步。"再多发几条"等于流失。
