用途
该技能用于回答用户关于品牌 Meta 广告的问题,例如“我的广告表现如何?”、“哪条广告最好或最差?”、“某个推送是否上线或已暂停?”、“Goose 为什么暂停/更改/推荐了那个?”等。目标是给出真实、带日期、可据以行动的答案。
主要能力
- 从同一轮对话中实际调用的读取工具获取数字,绝不凭记忆、文档或之前轮次回答。
- 每个数字都附带数据窗口和同步时间,例如“你从 9 月 17 日到 9 月 23 日花费了 $212(数据最后同步于 9 月 24 日 09:00 UTC)”。
- 在回答后立即说明连接状态:干净、部分同步、过期、未连接或错误。
- 对于“为什么”类问题,引用 decisions.md 中的记录,包括日期、建议内容、决策者和证据指针;若无记录则明确说明。
- 区分 Goose 发布的广告与用户自行创建的广告,对非 Goose 广告不提供暂停、编辑、替换或扩量建议。
- 根据品牌熟悉度(novice/intermediate/expert)调整措辞。
使用方式
- 根据问题选择读取操作,适配器将读取映射到实际工具或 API 调用。
- 在给出任何数字前检查连接状态,读取连接状态一次。
- 遵循六条规则:只使用本轮读取的数字;每个数字带窗口和同步时间;非干净状态时说明连接状态;文档仅用于决策和推理,不用于指标;区分 Goose 广告与非 Goose 广告;根据熟悉度调整措辞。
- 按固定结构组织回复:一句话回答(含窗口和同步时间)、注意事项(如有)、其他数字、最多一个下一步建议。
适用场景
- 查询广告花费、效果、投放状态。
- 询问哪条广告最好或最差。
- 查询趋势、每日数据。
- 询问 Goose 发布的创意表现。
- 询问 Goose 推送是否上线或暂停。
- 询问 Goose 为何做出某项决策。
- 询问是否有异常或建议。
限制
- 该技能只读取,不暂停、更改或写入任何内容。
- 不编造功能、收费、价格、平台、效果或使用步骤。
- 缺失事实明确写暂未提供。
- 不提供业务判断(如“亏损”、“盈利”),不声称数据“完整”。
- 不将同步数据描述为“当前”、“实时”。
- 对非 Goose 广告不提供修改建议。
- 若主机没有某项读取(如警报、监控、推送记录),不能声称“已检查”或“没有警报”。
- 不要求用户在聊天中提供 token。
- 不重新计算源返回的指标,不与外部基准比较。
- 不将 Goose 创意的表现称为归因。
模式选择
按可用性选择第一个可用模式:
- GooseWorks:当 GooseWorks Meta 读取工具可调用时。读取 references/gooseworks-adapter.md。
- 直连 Meta:当没有 GooseWorks,但有具备 ads_read 权限的 Meta token 和广告账户 ID 时。读取 references/direct-meta-adapter.md。
- 仅规划:当两者都不可用时。读取 references/planning-only.md。
输入
- 用户的问题(必需)。
- 品牌的 ads/ 文件夹(可选)。按 harness 契约:先读 ads/README.md,然后只读涉及的 campaign。读 ads/brand.md 仅取一个字段:familiarity。没有 ads/ 文件夹的品牌从未运行过 harness,这对指标问题没问题,但对“为什么”问题意味着没有记录决策。
输出
按上述结构组织的聊天回复。不写入任何内容:不写 ads/ 文档、不写 Meta、不写记忆。
质量检查
- 回复中每个数字都出现在本轮读取中。
- 每个数字都有日期范围和同步时间。
- 本轮读取了连接状态,并根据其类别决定说法。
- “为什么”回答引用 decisions.md 条目日期和证据指针,或说明无记录。
- 不提供修改非 Goose 发布广告的建议。
- 不使用“当前”、“实时”描述同步数据。
- 无业务判断,无“完整”声明。
失败模式
- 账户半同步时显示干净总数:每次都要读取连接状态。
- 本轮未读取却报出 CPA:从 state.md、报告或之前轮次获取数字;应读取或作为带日期的历史引用。
- “最佳广告”错误:只排名第一页;排名前应读取所有页面。
- 编造 Goose 暂停原因:引用 decisions.md 或说明无记录。
- 提议暂停用户自建广告:只有有 Goose 推送支持的广告才属于 Goose。
- 声称“没有警报”:只说明实际读取了什么。