← 返回 Skills 市场
linkfox-ai

Amazon Ads Manager

作者 linkfox-ai · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
37
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install linkfox-amazon-ads-manager
功能描述
亚马逊广告(Amazon Ads)管理技能,覆盖 SP/SB/SD 三个产品线的广告查询(list)与创建/修改(create/update)操作。查询覆盖 Sponsored Products (SP) 的广告活动/广告组/关键词/否定关键词/商品广告/定向 6 个 list、Sponsored Brands...
使用说明 (SKILL.md)

Amazon Ads 广告管理

Amazon Ads 广告管理 skill,支持 list(查询)和 create / update(创建与修改)操作,自动处理 token、分页、过滤字段规范化。

广告产品 覆盖实体 脚本子目录 详细参数
SP (Sponsored Products) v3 campaigns / adGroups / keywords / negativeKeywords / productAds / targets scripts/sp/ references/api/sp.md
SB (Sponsored Brands) v4 campaigns / adGroups / ads scripts/sb/ references/api/sb.md
SD (Sponsored Display) v3 campaigns / adGroups / productAds / targets / negativeTargets / creatives scripts/sd/ references/api/sd.md

依赖 linkfox-amazon-ads-auth(脚本启动时自动检查;未安装时 exit 42,stderr 打 DEPENDENCY_MISSING)。

⚠️ 多账号场景:调用前必须解析好 profileId

用户经常只说自然语言("美国站"、"日本站"、"我的店铺"),本 skill 的所有脚本都必须拿到数字 profileId 才能调。按下列顺序处理,不要跳过

  1. 先调 linkfox-amazon-ads-authauthorized_stores.py 拉出用户已授权的账号 × 站点清单。
  2. 根据用户提到的站点(映射到 countryCode,如 美国→US)匹配候选 profile:
    • 只有 1 个候选 → 静默取对应 profileId,继续调用;不要把 profileId 数字播报给用户。
    • ≥ 2 个候选(同站点下多个授权账号)必须向用户澄清,用 accountName 问:"你在美国站授权了 A 和 B 两个账号,这次用哪个?"
    • 0 个候选 → 告知用户该站点未授权,引导去 linkfox-amazon-ads-auth 做授权。
  3. 严禁让用户直接报 profileId 数字。
  4. 严禁在歧义下"挑第一个"或"选默认"绕过澄清。

完整决策表见 linkfox-amazon-ads-auth SKILL.md 的 Usage Scenarios 第 4 节

Core Concepts

  • 自动分页fetchAll=true(默认)跟随分页 token 到结束或 maxPages=50 兜底(约 5000 条,超出标 truncated=true);SP / SB 用 nextToken,SD 用 startIndex + count 偏移分页
  • 过滤器结构不统一:不同字段需要不同写法(详见下方"过滤器结构速查");本 skill 已对常见写错格式做自动兜底规范化,但仍建议按速查表准确传入
  • 只给 metadata,不含指标:返回实体字段(id / 名称 / 状态 / 匹配类型 等),曝光 / 点击 / 花费 / 转化 等指标要调 linkfox-amazon-ads-report,按 id join
  • 支持 create / update:各模块下 create_*.py / update_*.py 脚本创建或修改实体(campaign / adGroup / keyword / target / productAd / creative / budgetRule),payload 透传 Amazon 原生格式
  • SB 和 SP 的差异:SB 只有 campaigns/adGroups/ads 三个 list;其 keywords/targets 官方未提供 list all
  • SD 接口形态:Sponsored Display 是 v3 REST endpoint,GET /sd/\x3Centity> + querystring,分页用 startIndex + count;state / id 类过滤为逗号分隔字符串;includeExtendedDataFields:true 时请求 /sd/\x3Centity>/extended 路径。所有过滤字段统一支持 {"include":[...]} 入参

可用脚本

SP(28 个)

脚本 业务实体 操作
sp/list_campaigns.py 广告活动 查询
sp/create_campaigns.py 广告活动 创建
sp/update_campaigns.py 广告活动 修改(预算/策略/状态/名称等)
sp/list_ad_groups.py 广告组 查询
sp/create_ad_groups.py 广告组 创建
sp/update_ad_groups.py 广告组 修改(默认出价/状态/名称等)
sp/list_keywords.py 关键词 查询
sp/create_keywords.py 关键词 创建
sp/update_keywords.py 关键词 修改(出价/状态等)
sp/list_negative_keywords.py 否定关键词 查询
sp/create_negative_keywords.py 否定关键词 创建
sp/update_negative_keywords.py 否定关键词 修改(状态等)
sp/list_product_ads.py 商品广告 查询
sp/create_product_ads.py 商品广告 创建
sp/update_product_ads.py 商品广告 修改(状态等)
sp/list_targets.py 商品定向 查询
sp/create_targets.py 商品定向 创建
sp/update_targets.py 商品定向 修改(出价/状态等)
sp/create_campaign_negative_keywords.py 活动级否定关键词 创建
sp/update_campaign_negative_keywords.py 活动级否定关键词 修改(状态等)
sp/create_campaign_negative_targets.py 活动级否定定向 创建
sp/update_campaign_negative_targets.py 活动级否定定向 修改(状态等)
sp/create_negative_targets.py 广告组级否定定向 创建
sp/update_negative_targets.py 广告组级否定定向 修改(状态等)
sp/list_budget_rules.py 预算规则 查询
sp/create_budget_rules.py 预算规则 创建
sp/update_budget_rules.py 预算规则 修改
sp/create_budget_rules_association.py 预算规则关联 关联规则到活动

SB(12 个)

脚本 业务实体 操作
sb/list_campaigns.py 广告活动 查询
sb/create_campaigns.py 广告活动 创建
sb/update_campaigns.py 广告活动 修改(预算/状态/名称等)
sb/list_ad_groups.py 广告组 查询
sb/create_ad_groups.py 广告组 创建
sb/update_ad_groups.py 广告组 修改(出价/状态等)
sb/list_ads.py 广告创意 查询
sb/create_ads.py 广告创意 创建(按 adType 选路径)
sb/update_ads.py 广告创意 修改(出价/状态/创意等)
sb/list_budget_rules.py 预算规则 查询
sb/create_budget_rules.py 预算规则 创建
sb/update_budget_rules.py 预算规则 修改

SD(21 个)

脚本 业务实体 操作
sd/list_campaigns.py 广告活动 查询
sd/create_campaigns.py 广告活动 创建
sd/update_campaigns.py 广告活动 修改(预算/状态/名称等)
sd/list_ad_groups.py 广告组 查询
sd/create_ad_groups.py 广告组 创建
sd/update_ad_groups.py 广告组 修改(出价/状态等)
sd/list_product_ads.py 商品广告 查询
sd/create_product_ads.py 商品广告 创建
sd/update_product_ads.py 商品广告 修改(状态等)
sd/list_targets.py 定向子句 查询
sd/create_targets.py 定向子句 创建
sd/update_targets.py 定向子句 修改(出价/状态等)
sd/list_negative_targets.py 否定定向子句 查询
sd/create_negative_targets.py 否定定向子句 创建
sd/update_negative_targets.py 否定定向子句 修改(状态等)
sd/list_creatives.py 创意素材 查询
sd/create_creatives.py 创意素材 创建
sd/update_creatives.py 创意素材 修改(素材/状态等)
sd/list_budget_rules.py 预算规则 查询
sd/create_budget_rules.py 预算规则 创建
sd/update_budget_rules.py 预算规则 修改
详细过滤器、枚举值、返回字段见 references/api/sp.md / references/api/sb.md / references/api/sd.md

Financial Safety Guidance

创建和更新操作可能直接影响广告花费,立即生效且无法撤回。

决策规则:

用户状态 Agent 行为
已授权(说过"自动调价"/"按你判断来"/"不用问我"/"确认"等) 直接执行 → 输出操作回执
未授权(首次交互、未明确表态) 先输出确认摘要 → 等用户确认后执行

确认摘要模板(未授权时,执行前输出):

📋 即将执行:
- 操作:[创建/修改] [N 个] [实体类型]
- 变更:[关键字段变化,如 bid $1.0→$1.5 / budget $50→$100]
- 影响:[花费变化预估,引用日预算作为上限]
确认执行?后续如需自动处理,告诉我即可。

操作回执模板(每次写操作执行后必须输出):

✅ 已执行:[简短描述]
- 范围:[实体数量、名称或 ID]
- 变化:[具体变更内容]
- 结果:[成功 N 个 / 失败 M 个]

共用参数(SP + SB + SD 均适用)

字段 类型 说明
profileId number 必填,从 ads-auth 获取
region string 必填,NA / EU / FE
fetchAll bool 默认 true;SP / SB 用 nextToken,SD 用 startIndex + count 偏移分页
maxResults int 1-100,默认 100;对应 Sponsored Display 端 count
includeExtendedDataFields bool 返回扩展字段(部分实体);SD 通过路径切换为 /sd/\x3Centity>/extended 实现
locale string 本地化(SP keywords 支持)

过滤器结构速查(最易错)

结构 示例 适用字段
Object {"include":[...]} / {"exclude":[...]} 全部 id/状态类:campaignIdFilter、adGroupIdFilter、keywordIdFilter、stateFilter、portfolioIdFilter、expressionTypeFilter、adIdFilter
Array ["EXACT","BROAD"] matchTypeFilter(SP keywords/negativeKeywords)
Scalar "AUTO" campaignTargetingTypeFilter(SP adGroups)
Text {"queryTermMatchType":"BROAD_MATCH","include":["..."]} nameFilter、keywordTextFilter
Client 任意形式,本 skill 本地过滤 asinFilter、skuFilter(SP productAds)

易错点

  • SP matchTypeFilter裸数组 ["EXACT"](传错本 skill 自动规范化)
  • expressionTypeFilter 反而是 Object(与 matchType 不同)
  • asinFilter / skuFilter 客户端过滤,建议同时传 campaignIdFilter / adGroupIdFilter 收窄

响应格式

{
  "success": true,
  "\x3CentityKey>": [ /* 实体数组,字段原样 */ ],
  "total": 157,
  "pagesFetched": 2,
  "truncated": false
}

SP productAds 客户端过滤时额外带:serverTotalBeforeClientFilter + clientSideFilters

使用示例

1. 列活跃 SP 广告活动

python scripts/sp/list_campaigns.py '{"profileId":1234567890,"region":"NA",
  "stateFilter":{"include":["ENABLED"]}}'

2. 看某 SP campaign 下的广告组

python scripts/sp/list_ad_groups.py '{"profileId":1234567890,"region":"NA",
  "campaignIdFilter":{"include":["998877665544"]}}'

3. 按 ASIN 反查 SP 投放(客户端过滤)

python scripts/sp/list_product_ads.py '{"profileId":1234567890,"region":"NA",
  "asinFilter":{"include":["B01ABCDEFG"]},
  "campaignIdFilter":{"include":["998877665544"]}}'

4. 列 SB 广告活动

python scripts/sb/list_campaigns.py '{"profileId":1234567890,"region":"NA",
  "stateFilter":{"include":["ENABLED"]}}'

5. 列某 SB campaign 下的 adGroups / ads

python scripts/sb/list_ad_groups.py '{"profileId":1234567890,"region":"NA",
  "campaignIdFilter":{"include":["1122334455"]}}'

python scripts/sb/list_ads.py '{"profileId":1234567890,"region":"NA",
  "adGroupIdFilter":{"include":["5566778899"]}}'

6. 列活跃 SD 广告活动

python scripts/sd/list_campaigns.py '{"profileId":1234567890,"region":"NA",
  "stateFilter":{"include":["ENABLED"]}}'

7. 按 ASIN 反查 SD 投放(client-side 过滤,带 campaign 收窄)

python scripts/sd/list_product_ads.py '{"profileId":1234567890,"region":"NA",
  "asinFilter":{"include":["B01ABCDEFG"]},
  "campaignIdFilter":{"include":["998877665544"]}}'

8. 与 report 配合分析指标

本 skill 返回实体元数据(id、名称、状态、匹配类型等);指标(曝光、点击、花费、转化)交给 linkfox-amazon-ads-reportreportTypeId: "spTargeting" / "sbCampaigns" / "sdCampaigns" 等),按 id join。

调用原则

  • 返回字段原样保留;不改名、不翻译、不补算派生指标
  • 非 2xx 不自动重试;保留 httpStatus + body 告知用户
  • truncated=true 时明确提示数据未取完

常见错误

状态 含义 建议
HTTP 401 accessToken 过期 调 ads-auth 的 refresh_token.py 后重试
HTTP 403 profileId 无权限 核对 profileId 归属
HTTP 400 入参结构错 先核对"过滤器结构速查"表
HTTP 429 限流 等 2-5s 重试
exit 42 依赖 skill 未安装 先装 linkfox-amazon-ads-auth

Not Applicable

  • 删除 / 归档 → 本 skill 不支持 DELETE(可通过 update state 为 ARCHIVED 实现归档,但归档不可逆)
  • SB 的 keywords / negativeKeywords / targets / negativeTargets 的 list all → Amazon 官方未提供,需按 id 单查(不在本 skill)
  • SD 的按 id 单查 / brandSafety / recommendations / forecasts / optimizationRules / locations 等"非基础实体"接口 → 不在本 skill
  • DSP / ST 实体 → 不在本 skill
  • 指标报表 → linkfox-amazon-ads-report
  • 授权 / token / profile → linkfox-amazon-ads-auth

Feedback:

Auto-detect and report feedback via the Feedback API when any of the following apply:

  1. The functionality or purpose described in this skill does not match actual behavior
  2. The skill's results do not match the user's intent
  3. The user expresses dissatisfaction or praise about this skill
  4. Anything you believe could be improved

Call the feedback API as specified in references/api.md. Do not interrupt the user's flow.

\x3C!-- LF_LARGE_RESPONSE_BLOCK -->

Handling Large Responses

To avoid overflowing the agent context, persist the response to disk and extract only the fields you need:

python scripts/response_io.py run --script scripts/check_auth_dependency.py --out-dir \x3CDIR> '\x3Cparams>'
python scripts/response_io.py read \x3Cfile> --fields "\x3Cpaths>"   # or --path "\x3CJMESPath>"

Pick --out-dir outside any git working tree (e.g. /tmp/... on Unix, %TEMP%/... on Windows). Persisted responses may contain PII, pricing, or auth-sensitive data — do not commit them. Files are not auto-deleted; clean up when the task is done.

This skill exposes multiple entry scripts: check_auth_dependency.py, sp/list_campaigns.py, sp/create_campaigns.py, sp/update_campaigns.py, sp/list_ad_groups.py, sp/create_ad_groups.py, sp/update_ad_groups.py, sp/list_keywords.py, sp/create_keywords.py, sp/update_keywords.py, sp/list_negative_keywords.py, sp/list_product_ads.py, sp/create_product_ads.py, sp/list_targets.py, sp/create_targets.py, sp/update_targets.py, sb/list_campaigns.py, sb/create_campaigns.py, sb/update_campaigns.py, sb/list_ad_groups.py, sb/create_ad_groups.py, sb/list_ads.py, sb/create_ads.py, sb/update_ads.py, sd/list_campaigns.py, sd/create_campaigns.py, sd/update_campaigns.py, sd/list_ad_groups.py, sd/create_ad_groups.py, sd/list_product_ads.py, sd/create_product_ads.py, sd/list_targets.py, sd/create_targets.py, sd/update_targets.py, sd/list_negative_targets.py, sd/list_creatives.py. Pass --script scripts/\x3Cname>.py to choose the one you need.

run writes the full response to a file and emits only a schema preview + file path. read projects specific fields, with --limit/--offset for slicing and --format json|jsonl|csv|table for output.

When to prefer this pattern — apply your judgment based on the response characteristics, e.g.:

  • High field count per record, or fields you don't need
  • Batch/paginated results (multiple items per call)
  • Long-text fields (descriptions, reviews, HTML, time series)
  • Output reused across later steps rather than consumed immediately

For small, single-use responses, calling the main script directly is fine.

⚠️ The preview is a truncated schema + sample, not the full data. Any field-level decision must read from the persisted file via read. \x3C!-- /LF_LARGE_RESPONSE_BLOCK -->


For more high-quality, professional cross-border e-commerce skills, visit LinkFox Skills.

安全使用建议
Install only if you are comfortable giving this skill live Amazon Ads authority through LinkFox. Require explicit confirmation before any create/update action, review the target account, region, entity count, budget or bid changes, and avoid using broad automatic instructions for spend-affecting changes.
能力标签
requires-oauth-tokenrequires-sensitive-credentials
能力评估
Purpose & Capability
The stated purpose matches the artifacts: it lists, creates, and updates Amazon Ads SP/SB/SD entities. The concern is that create/update scripts can change campaigns, ads, budgets, bids, status, and budget rules in live advertising accounts, including potentially irreversible archive-style state changes.
Instruction Scope
The skill documents profile disambiguation and financial confirmation guidance, but that safety is only an agent instruction; the scripts themselves accept profileId, region, and raw Amazon-native payloads and then perform the mutation. The skill also instructs automatic feedback reporting to an external LinkFox API without interrupting the user.
Install Mechanism
No package installation or startup hook is present. The scripts check for the declared dependency skill linkfox-amazon-ads-auth and otherwise use bundled Python code.
Credentials
The skill requires LINKFOXAGENT_API_KEY and routes token retrieval and Amazon Ads API calls through LinkFox gateway endpoints. That is coherent with the advertised integration, but it is sensitive account access.
Persistence & Privilege
No background persistence or privilege escalation was found. The response_io helper can persist full API responses to a user-selected directory and warns that those files may contain PII, pricing, or auth-sensitive data and are not auto-deleted.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install linkfox-amazon-ads-manager
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /linkfox-amazon-ads-manager 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release
元数据
Slug linkfox-amazon-ads-manager
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Amazon Ads Manager 是什么?

亚马逊广告(Amazon Ads)管理技能,覆盖 SP/SB/SD 三个产品线的广告查询(list)与创建/修改(create/update)操作。查询覆盖 Sponsored Products (SP) 的广告活动/广告组/关键词/否定关键词/商品广告/定向 6 个 list、Sponsored Brands... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 37 次。

如何安装 Amazon Ads Manager?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install linkfox-amazon-ads-manager」即可一键安装,无需额外配置。

Amazon Ads Manager 是免费的吗?

是的,Amazon Ads Manager 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Amazon Ads Manager 支持哪些平台?

Amazon Ads Manager 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Amazon Ads Manager?

由 linkfox-ai(@linkfox-ai)开发并维护,当前版本 v1.0.0。

💬 留言讨论