content-creator
外部竞品、IG、市场、竞品视频研究。
- 输入:行业、关键词、竞品账号、视频素材。
- 输出:竞品/市场/创意洞察报告。
- 不做:本方账户表现分析。
Release zip 解压后同时安装用户级 skill 和完整 CLI 项目。平时对话时先说业务目标,agent 根据下方路由规则决定调用哪个 skill。
从 GitHub Release 下载 `media-ads-skill-latest.zip`,不要下载 GitHub 自动生成的 source code zip。
unzip media-ads-skill-latest.zip -d ~
cd ~/media-ads-skill
核心 CLI 用 `uv` 管理。需要 scraper/dev 额外依赖时再跑 all-extras。
uv sync
# 可选:uv sync --all-extras
不知道 token 怎么拿,就触发 `token-setup`。不要把 `.env` 提交到 Git。
cp .env.example .env
# META_ACCESS_TOKEN=...
# META_ACCOUNT_ID=act_...
# XHS_ACCESS_TOKEN=...
uv run media-buyer --help
uv run data-analysis --help
uv run content-creator --help
python scripts/validate-skills.py
这套隔离规则解决过去的重叠问题:比如“FB广告分析”可能是竞品库研究,也可能是本方账户复盘;现在按 source-of-truth 拆开。
| 用户真实意图 | 唯一 owner | 边界 / 禁止越界 |
|---|---|---|
| 外部竞品广告库、IG、市场资料、竞品视频 | content-creator | 不读本方账户 spend/CPL/CTR;不输出 live 执行命令。 |
| 本方 Meta/XHS 账户或导出广告表现数据 | data-analysis | 只读拉数、诊断、报告和行动建议;预算/status/publish 转执行 skill。 |
| 没有账户数据,只问 Meta 策略、政策、设置、排障 | consult | 调用知识库给建议;不拉账户数据,不执行写操作。 |
| 既有 Meta 对象 cut/scale/pause/budget/clone/relaunch/repair | meta-ads-ops | 必须先读当前状态,再 dry-run;不负责新 CT 发布。 |
| 从 ready creative + copy 创建新的 Meta CT campaign/ad set/ad | meta-ct-publish | 只接受已备好素材和文案;不写文案,不 relaunch 旧广告。 |
| XHS 聚光计划/单元预算、出价、时段、复制、托管 | xhs-ads-ops | 不套用 Meta 单位;XHS 预算用元,出价用分。 |
| 平台不明的 cut/scale/暂停/改预算/执行 | media-buyer | 只做 legacy router;不能直接执行写操作。 |
如果要看 Taipan/Segambut 真实账户数据 → `data-analysis`。如果只是问通用策略“CTR 低通常怎么优化” → `consult`。
如果是竞品广告库、竞品素材、外部品牌 → `content-creator`。如果是自己的广告后台表现 → `data-analysis`。
上游研究和真实账户执行不要混在同一个 skill。先让正确的 skill 产出结构化结果,再交给下一个 owner。
先研究外部市场,再生成策略和创意,最后用 ready creative/copy 创建 CT 测试对象。新建对象默认 `PAUSED`。
先只读拉数和诊断,再把明确行动转成 dry-run。用户确认后才 live。
下面是用户最需要知道的使用边界。目录名用于安装,frontmatter `name` 用于 agent 识别;二者通常一致,`ads-budget-planning` 是历史目录别名。
外部竞品、IG、市场、竞品视频研究。
本方账户或导出数据的只读分析。
兼容旧入口,只把模糊执行请求分发到具体 skill。
既有 Meta 对象执行、clone/relaunch、修复、health-check。
从 ready creative + copy 创建新的 CT 测试广告。
小红书聚光计划、预算、出价、时段、复制、auto-pilot。
月度预算、pacing、执行看板和计划 artifact。
17 字段客户资料 → NotebookLM → Avatar → Pain-Hunter → Codex 11 字段。
脚本、caption、headline、日常文案和批量生产。
Meta 通用策略、政策、设置、账户受限和知识库问答。
Meta、XHS、NotebookLM、Notion、Gemini、cookie 等配置引导。
生成新 skill 的骨架文件。
自然语言可以模糊,但 agent 必须用上面的 owner 规则拆清楚,不确定平台时先问。
帮我分析 Taipan 最近 7 天广告,
北极星 CPL,目标 RM50。
先只读,不要做任何写操作。
帮我找 KL aesthetic clinic 的竞品广告,
重点看 offer、hook、素材形式。
不要看我们自己的账户。
把这 3 个 Meta ad set 改成 PAUSED。
先 dry-run,展示当前状态 -> 目标状态,
我确认后才 live。
这批 Notion ready creative 做 CT 发布。
先生成 review artifact,再 dry-run。
新对象必须 PAUSED。
这些规则是商业护栏,不是建议。即使用户催促,也不能跳过。
Meta/XHS 的创建、暂停、启用、预算、出价、修复、发布,都必须先展示 dry-run。
只有用户看过 dry-run 并明确确认后,才能执行 `--no-dry-run` 或 live 命令。
Campaign / ad set / ad 新建后一律 PAUSED。除非用户当前明确说要 ACTIVE。
Meta 预算是 cents,并用账户真实货币 RM 展示;XHS 预算是元,出价是分。
已有 CLI 能力必须复用;缺能力就扩展 `lib/` + CLI + tests,不绕过业务层直打 API。
广告分析/操作记录写 `data/reports/YYYY-MM/{taipan|segambut}.md`,不在根目录散落报告。
仓库里不提交本地 `.codex/` 目录;CI 只验证 zip 解压后用户 home 下的安装布局。
~/.claude/skills/{project skills}/
~/.agents/skills/{project skills}/
~/.codex/skills/{project skills}/
~/media-ads-skill/
scripts/package-skills.sh \
--output dist/media-ads-skill-latest.zip
python scripts/validate-skills.py \
--archive dist/media-ads-skill-latest.zip
| CI 检查 | 目的 | 失败时代表什么 |
|---|---|---|
| source manifest | 检查 `skills/*/SKILL.md` frontmatter name 唯一、description 非空。 | skill 命名或描述不合格,agent 可能无法稳定识别。 |
| three platform layout | 检查 `.claude/skills`、`.codex/skills`、`.agents/skills` 与源码 skill 完全一致。 | 某个平台安装缺 skill 或多出旧 skill。 |
| clean archive | 阻止 `data/`、`output/`、`tests/`、`.env`、项目内 `.codex/` 进入 release。 | 本地报告、token、测试或安装目录污染了分发包。 |
这部分给用户快速排除“我该找谁”和“为什么不能直接 live”。
先问清楚数据源。竞品/外部 → `content-creator`;自己账户/导出数据 → `data-analysis`。
如果是问该不该做 → `data-analysis` 或 `consult`;如果已经明确执行对象 → `meta-ads-ops` / `xhs-ads-ops`,先 dry-run。
如果素材和文案没准备好 → `creator`;ready creative/copy 已备好 → `meta-ct-publish`,默认 PAUSED。
跑 `python scripts/validate-skills.py --archive dist/media-ads-skill-latest.zip`,看是哪套平台目录和源码 `skills/` 不一致。