feat: add daily report skill

This commit is contained in:
Jeffrey Wu
2026-08-20 16:06:13 +08:00
commit e50bacae1a
11 changed files with 867 additions and 0 deletions
+92
View File
@@ -0,0 +1,92 @@
# SW Ads Daily Report
手动调用的 Codex skill,用 SW Ads MCP 读取当前广告账户,生成每日投放分析、Wise 风格 HTML 和一张可直接分享的 PNG 长图。
![效果示意图](examples/swads-daily-report-preview.png)
## 报告内容
- 账户整体状态:Spend、CTR、CPI、ROI、ROAS。
- 异常 Campaign 与相对优质 Campaign。
- 素材表现、发布账号贡献及归因线索。
- 三条基于数据的优化建议。
- 需要人工确认的预算、状态、ROI 目标和素材操作。
技能只执行查询和本地渲染,不会修改线上投放。
## 安装
本地需要 Python 3.9 或更高版本。生成 PNG 还需要 Google Chrome 或 Chromium;浏览器不可用时仍可输出 HTML。
在本仓库根目录执行:
```bash
mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
cp -R skills/swads-daily-report "${CODEX_HOME:-$HOME/.codex}/skills/swads-daily-report"
```
如果目标目录已经存在,请先备份旧版本,避免两个版本的文件混在一起。安装后重新打开 Codex 会话。
也可以把下面这段话直接发送给 LLM,让它代为安装:
```text
请把当前仓库的 skills/swads-daily-report 安装到
${CODEX_HOME:-$HOME/.codex}/skills/swads-daily-report。
如果存在旧版本,请先备份;安装完成后检查 SW Ads MCP 是否可用,
只验证只读的 swads_whoami,不要修改任何广告账户或投放配置。
如果缺少 swads MCP,请提示我向内部管理员申请 Token,并给出
使用 bearer-token-env-var 的 codex mcp add 安装命令;不要让我在聊天中发送 Token。
```
## SW Ads MCP 依赖
本 Skill 依赖名为 `swads` 的 SW Ads MCP,服务地址为 `https://ads.mincode.cn/mcp`。Skill 每次运行都会先检查 MCP 工具与身份;未安装、未连接或鉴权失败时会停止生成报告,并提示用户完成配置,不会伪造投放数据。
首次配置时,先向公司内部管理员申请 SW Ads MCP Token,然后在终端执行:
```bash
export SWADS_MCP_TOKEN='<向内部管理员申请的 Token>'
codex mcp add swads \
--url https://ads.mincode.cn/mcp \
--bearer-token-env-var SWADS_MCP_TOKEN
```
请确保 Codex 启动时仍能读取 `SWADS_MCP_TOKEN`,且不要把 Token 写入本仓库。重新打开 Codex 后,可以发送以下指令验证连接:
```text
使用 swads MCP 调用 swads_whoami,确认当前身份和可见账户;不要执行任何写操作。
```
连接成功后,在 Codex 中输入:
```text
$swads-daily-report
```
也可以附加范围:
```text
$swads-daily-report 使用当前账户,生成昨天完整业务日的报告
$swads-daily-report 使用指定账户 123456789,生成 2026-08-01 的报告
```
## 输出
默认写入 `~/swads-reports/YYYY-MM-DD/`
```text
report-data.json
swads-daily-report.html
swads-daily-report.png
```
JSON 是 MCP 数据的归一化快照;HTML 适合浏览和二次编辑;PNG 适合直接发送。字段规范见 [references/report-data-schema.md](references/report-data-schema.md)。
## 安全边界
- 以最近一个完整业务日作为决策依据;当天未完整数据只作为监控提示。
- 缺少分母的 CTR/CPI 显示 `N/A`,不会解释为真实的零。
- 平台原生归因只作为相关性线索,不宣称增量因果。
- 暂停、恢复、调预算、改 ROI 目标、钉选/移除素材及发布操作必须人工确认。
效果图的数据为脱敏演示数据。复现方式见 [examples/README.md](examples/README.md)。