feat: minis launch, cold-start watch and delivery watch skills

Three TikTok Minis skills for Codex and Claude Code, with the cold-start
playbook and five benchmark accounts through 88776-1 (2026-09-30).
install.sh links them into ~/.codex/skills and ~/.claude/skills.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-30 15:10:54 +08:00
co-authored by Claude Opus 5.5
commit 9f9e70ea2d
18 changed files with 2250 additions and 0 deletions
@@ -0,0 +1,36 @@
# 核对表
推送后、启用前,用 `campaign_workspace` + `campaign_detail` 逐部剧填这张表给运营。每一列都有一条
真实翻过车的理由,所以一列都别省。
| 列 | 取自 | 对的样子 | 曾经错成 |
|---|---|---|---|
| 模式 | 清单的 `mode` | `新建` / `追加` | 追加行按新建行的口径核「广告数」,把整条计划的广告都算了进去 |
| 剧名 | `campaign_name` | `SW-ADS-<产品>-<剧名>-<YYYYMMDD>`(图文行在日期前多一节 `图文`);追加行是目标计划原有的名字 | 策源把中文标点改成英文,与清单对不上 |
| TikTok 计划 id | `execution_runs[0].external_reference` | 一串数字 | 推送失败时是本地 `ad-…` id |
| 推送状态 | `execution_runs[0].status` | `succeeded` | `failed` 且 `error_message` 有原文 |
| 广告数 | `groups[0].ads` 长度 | 视频=1;轮播=套数;追加行只算这次新加的广告数 | agent 把 5 套并成 2 条 |
| 每条素材数 | `ads[].creative_variants` 长度 | 视频=文件数(去重后);轮播=每套张数(单图复制方案恒为 2) | 复用帧被去重后一套少一张 |
| 文案 | `ads[].ad_texts` 长度 | 5 条英文 | 计划名当文案 |
| 落地页 | `ads[].target_url` | 运营给的剧集页 | 落到小程序首页 |
| CBO | `current_revision.campaign_budget_optimization_enabled` | true | 关着时 TikTok 拒 `Invalid CPA smart bid type` |
| 身份 | `ads[].payload.identity_id` | 开工前清单里的那个(默认 Abigail);线上会话是账户默认身份 | 本地会话没写进 brief,落成账户默认身份 |
| 出价 | 组 `platform_config.tiktok.roas_bid` 与 `optimization_event` | 清单的 ROAS;广告变现口径 | agent 猜成付费价值口径 |
| 配乐(轮播) | 广告 `music_id` | 运营给的那首,或线上会话自己搜的那首 / 标「系统默认曲」 | 六道白名单吞掉,播了库里第一首 |
启用后再核一次三层状态(同步一次后看 `campaign_detail.external_snapshot`):
计划 `CAMPAIGN_STATUS_ENABLE`、广告组 `ADGROUP_STATUS_DELIVERY_OK` 或 `AUDIT`(新建的在审核,正常)、
广告 `AD_STATUS_DELIVERY_OK`。`AUDIT_DENY` 的广告组要报给运营,拒因只有后台能看。
## 汇报格式
```
## 建成 N/M
| 剧 | 模式 | 广告 | 每条素材 | 落地页 | 配乐 | TikTok id | 状态 |
…
## 未建成
- <剧名>:<原文错误>
## 备注
- 用了系统默认曲:…
- 审核被拒的广告组:…
```