linkfox-amazon-ads-manager
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAmazon Ads 广告管理
Amazon Ads 广告管理
Amazon Ads 广告管理 skill,支持 list(查询)和 create / update(创建与修改)操作,自动处理 token、分页、过滤字段规范化。
| 广告产品 | 覆盖实体 | 脚本子目录 | 详细参数 |
|---|---|---|---|
| SP (Sponsored Products) v3 | campaigns / adGroups / keywords / negativeKeywords / productAds / targets | | references/api/sp.md |
| SB (Sponsored Brands) v4 | campaigns / adGroups / ads | | references/api/sb.md |
| SD (Sponsored Display) v3 | campaigns / adGroups / productAds / targets / negativeTargets / creatives | | references/api/sd.md |
依赖 (脚本启动时自动检查;未安装时 exit 42,stderr 打 )。
linkfox-amazon-ads-authDEPENDENCY_MISSINGAmazon Ads广告管理skill,支持list(查询)和create/update(创建与修改)操作,可自动处理token、分页、过滤字段规范化。
| 广告产品 | 覆盖实体 | 脚本子目录 | 详细参数 |
|---|---|---|---|
| SP (Sponsored Products) v3 | campaigns / adGroups / keywords / negativeKeywords / productAds / targets | | references/api/sp.md |
| SB (Sponsored Brands) v4 | campaigns / adGroups / ads | | references/api/sb.md |
| SD (Sponsored Display) v3 | campaigns / adGroups / productAds / targets / negativeTargets / creatives | | references/api/sd.md |
依赖 (脚本启动时自动检查;未安装时会以exit 42退出,并在stderr中输出)。
linkfox-amazon-ads-authDEPENDENCY_MISSING⚠️ 多账号场景:调用前必须解析好 profileId
⚠️ 多账号场景:调用前必须解析好profileId
用户经常只说自然语言("美国站"、"日本站"、"我的店铺"),本 skill 的所有脚本都必须拿到数字 才能调。按下列顺序处理,不要跳过:
profileId- 先调 的
linkfox-amazon-ads-auth拉出用户已授权的账号 × 站点清单。authorized_stores.py - 根据用户提到的站点(映射到 ,如 美国→
countryCode)匹配候选 profile:US- 只有 1 个候选 → 静默取对应 profileId,继续调用;不要把 profileId 数字播报给用户。
- ≥ 2 个候选(同站点下多个授权账号) → 必须向用户澄清,用 问:"你在美国站授权了 A 和 B 两个账号,这次用哪个?"
accountName - 0 个候选 → 告知用户该站点未授权,引导去 做授权。
linkfox-amazon-ads-auth
- 严禁让用户直接报 profileId 数字。
- 严禁在歧义下"挑第一个"或"选默认"绕过澄清。
完整决策表见 SKILL.md 的 Usage Scenarios 第 4 节。
linkfox-amazon-ads-auth用户常使用自然语言表述(如“美国站”、“日本站”、“我的店铺”),本skill的所有脚本必须获取数字型才能调用。请按以下顺序处理,请勿跳过:
profileId- 先调用的
linkfox-amazon-ads-auth拉取用户已授权的账号×站点清单。authorized_stores.py - 根据用户提到的站点(映射为,如美国→
countryCode)匹配候选profile:US- 仅1个候选 → 自动获取对应profileId,继续调用;无需向用户播报profileId数字。
- ≥2个候选(同站点下多个授权账号) → 必须向用户确认,使用询问:“你在美国站授权了A和B两个账号,本次使用哪个?”
accountName - 0个候选 → 告知用户该站点未授权,引导其通过完成授权。
linkfox-amazon-ads-auth
- 严禁让用户直接提供profileId数字。
- 严禁在存在歧义时“选择第一个”或“使用默认值”跳过确认步骤。
完整决策表请查看的SKILL.md中Usage Scenarios第4节。
linkfox-amazon-ads-authCore Concepts
Core Concepts
- 自动分页:(默认)跟随分页 token 到结束或
fetchAll=true兜底(约 5000 条,超出标maxPages=50);SP / SB 用truncated=true,SD 用nextToken偏移分页startIndex + count - 过滤器结构不统一:不同字段需要不同写法(详见下方"过滤器结构速查");本 skill 已对常见写错格式做自动兜底规范化,但仍建议按速查表准确传入
- 只给 metadata,不含指标:返回实体字段(id / 名称 / 状态 / 匹配类型 等),曝光 / 点击 / 花费 / 转化 等指标要调 ,按 id join
linkfox-amazon-ads-report - 支持 create / update:各模块下 /
create_*.py脚本创建或修改实体(campaign / adGroup / keyword / target / productAd / creative / budgetRule),payload 透传 Amazon 原生格式update_*.py - SB 和 SP 的差异:SB 只有 campaigns/adGroups/ads 三个 list;其 keywords/targets 官方未提供 list all
- SD 接口形态:Sponsored Display 是 v3 REST endpoint,+ querystring,分页用
GET /sd/<entity>;state / id 类过滤为逗号分隔字符串;startIndex + count时请求includeExtendedDataFields:true路径。所有过滤字段统一支持/sd/<entity>/extended入参{"include":[...]}
- 自动分页:(默认设置)会跟随分页token直到结束,或在
fetchAll=true时兜底(约5000条数据,超出时标记maxPages=50);SP/SB使用truncated=true,SD使用nextToken偏移分页startIndex + count - 过滤器结构不统一:不同字段需使用不同写法(详见下方“过滤器结构速查”);本skill已针对常见格式错误做自动兜底规范化,但仍建议参照速查表准确传入
- 仅返回元数据,不含指标:返回实体字段(id/名称/状态/匹配类型等),曝光/点击/花费/转化等指标需调用,按id关联获取
linkfox-amazon-ads-report - 支持create/update:各模块下的/
create_*.py脚本用于创建或修改实体(campaign/adGroup/keyword/target/productAd/creative/budgetRule),payload直接透传Amazon原生格式update_*.py - SB和SP的差异:SB仅包含campaigns/adGroups/ads三类list;其keywords/targets的官方接口未提供批量查询功能
- SD接口形态:Sponsored Display为v3 REST端点,采用+querystring方式,分页使用
GET /sd/<entity>;状态/id类过滤为逗号分隔字符串;当startIndex + count时,请求路径切换为includeExtendedDataFields:true。所有过滤字段统一支持/sd/<entity>/extended入参{"include":[...]}
可用脚本
可用脚本
SP(28 个)
SP(28个)
| 脚本 | 业务实体 | 操作 |
|---|---|---|
| 广告活动 | 查询 |
| 广告活动 | 创建 |
| 广告活动 | 修改(预算/策略/状态/名称等) |
| 广告组 | 查询 |
| 广告组 | 创建 |
| 广告组 | 修改(默认出价/状态/名称等) |
| 关键词 | 查询 |
| 关键词 | 创建 |
| 关键词 | 修改(出价/状态等) |
| 否定关键词 | 查询 |
| 否定关键词 | 创建 |
| 否定关键词 | 修改(状态等) |
| 商品广告 | 查询 |
| 商品广告 | 创建 |
| 商品广告 | 修改(状态等) |
| 商品定向 | 查询 |
| 商品定向 | 创建 |
| 商品定向 | 修改(出价/状态等) |
| 活动级否定关键词 | 创建 |
| 活动级否定关键词 | 修改(状态等) |
| 活动级否定定向 | 创建 |
| 活动级否定定向 | 修改(状态等) |
| 广告组级否定定向 | 创建 |
| 广告组级否定定向 | 修改(状态等) |
| 预算规则 | 查询 |
| 预算规则 | 创建 |
| 预算规则 | 修改 |
| 预算规则关联 | 关联规则到活动 |
| 脚本 | 业务实体 | 操作 |
|---|---|---|
| 广告活动 | 查询 |
| 广告活动 | 创建 |
| 广告活动 | 修改(预算/策略/状态/名称等) |
| 广告组 | 查询 |
| 广告组 | 创建 |
| 广告组 | 修改(默认出价/状态/名称等) |
| 关键词 | 查询 |
| 关键词 | 创建 |
| 关键词 | 修改(出价/状态等) |
| 否定关键词 | 查询 |
| 否定关键词 | 创建 |
| 否定关键词 | 修改(状态等) |
| 商品广告 | 查询 |
| 商品广告 | 创建 |
| 商品广告 | 修改(状态等) |
| 商品定向 | 查询 |
| 商品定向 | 创建 |
| 商品定向 | 修改(出价/状态等) |
| 活动级否定关键词 | 创建 |
| 活动级否定关键词 | 修改(状态等) |
| 活动级否定定向 | 创建 |
| 活动级否定定向 | 修改(状态等) |
| 广告组级否定定向 | 创建 |
| 广告组级否定定向 | 修改(状态等) |
| 预算规则 | 查询 |
| 预算规则 | 创建 |
| 预算规则 | 修改 |
| 预算规则关联 | 关联规则到活动 |
SB(12 个)
SB(12个)
| 脚本 | 业务实体 | 操作 |
|---|---|---|
| 广告活动 | 查询 |
| 广告活动 | 创建 |
| 广告活动 | 修改(预算/状态/名称等) |
| 广告组 | 查询 |
| 广告组 | 创建 |
| 广告组 | 修改(出价/状态等) |
| 广告创意 | 查询 |
| 广告创意 | 创建(按 adType 选路径) |
| 广告创意 | 修改(出价/状态/创意等) |
| 预算规则 | 查询 |
| 预算规则 | 创建 |
| 预算规则 | 修改 |
| 脚本 | 业务实体 | 操作 |
|---|---|---|
| 广告活动 | 查询 |
| 广告活动 | 创建 |
| 广告活动 | 修改(预算/状态/名称等) |
| 广告组 | 查询 |
| 广告组 | 创建 |
| 广告组 | 修改(出价/状态等) |
| 广告创意 | 查询 |
| 广告创意 | 创建(按adType选择路径) |
| 广告创意 | 修改(出价/状态/创意等) |
| 预算规则 | 查询 |
| 预算规则 | 创建 |
| 预算规则 | 修改 |
SD(21 个)
SD(21个)
| 脚本 | 业务实体 | 操作 |
|---|---|---|
| 广告活动 | 查询 |
| 广告活动 | 创建 |
| 广告活动 | 修改(预算/状态/名称等) |
| 广告组 | 查询 |
| 广告组 | 创建 |
| 广告组 | 修改(出价/状态等) |
| 商品广告 | 查询 |
| 商品广告 | 创建 |
| 商品广告 | 修改(状态等) |
| 定向子句 | 查询 |
| 定向子句 | 创建 |
| 定向子句 | 修改(出价/状态等) |
| 否定定向子句 | 查询 |
| 否定定向子句 | 创建 |
| 否定定向子句 | 修改(状态等) |
| 创意素材 | 查询 |
| 创意素材 | 创建 |
| 创意素材 | 修改(素材/状态等) |
| 预算规则 | 查询 |
| 预算规则 | 创建 |
| 预算规则 | 修改 |
| 详细过滤器、枚举值、返回字段见 references/api/sp.md / references/api/sb.md / references/api/sd.md。 |
| 脚本 | 业务实体 | 操作 |
|---|---|---|
| 广告活动 | 查询 |
| 广告活动 | 创建 |
| 广告活动 | 修改(预算/状态/名称等) |
| 广告组 | 查询 |
| 广告组 | 创建 |
| 广告组 | 修改(出价/状态等) |
| 商品广告 | 查询 |
| 商品广告 | 创建 |
| 商品广告 | 修改(状态等) |
| 定向子句 | 查询 |
| 定向子句 | 创建 |
| 定向子句 | 修改(出价/状态等) |
| 否定定向子句 | 查询 |
| 否定定向子句 | 创建 |
| 否定定向子句 | 修改(状态等) |
| 创意素材 | 查询 |
| 创意素材 | 创建 |
| 创意素材 | 修改(素材/状态等) |
| 预算规则 | 查询 |
| 预算规则 | 创建 |
| 预算规则 | 修改 |
| 详细过滤器、枚举值、返回字段请查看references/api/sp.md/references/api/sb.md/references/api/sd.md。 |
Financial Safety Guidance
Financial Safety Guidance
创建和更新操作可能直接影响广告花费,立即生效且无法撤回。
决策规则:
| 用户状态 | Agent 行为 |
|---|---|
| 已授权(说过"自动调价"/"按你判断来"/"不用问我"/"确认"等) | 直接执行 → 输出操作回执 |
| 未授权(首次交互、未明确表态) | 先输出确认摘要 → 等用户确认后执行 |
确认摘要模板(未授权时,执行前输出):
📋 即将执行:
- 操作:[创建/修改] [N 个] [实体类型]
- 变更:[关键字段变化,如 bid $1.0→$1.5 / budget $50→$100]
- 影响:[花费变化预估,引用日预算作为上限]
确认执行?后续如需自动处理,告诉我即可。操作回执模板(每次写操作执行后必须输出):
✅ 已执行:[简短描述]
- 范围:[实体数量、名称或 ID]
- 变化:[具体变更内容]
- 结果:[成功 N 个 / 失败 M 个]创建和更新操作可能直接影响广告花费,操作立即生效且无法撤回。
决策规则:
| 用户状态 | Agent行为 |
|---|---|
| 已授权(曾表示“自动调价”/“按你判断来”/“不用问我”/“确认”等) | 直接执行→输出操作回执 |
| 未授权(首次交互、未明确表态) | 先输出确认摘要→等待用户确认后执行 |
确认摘要模板(未授权时,执行前输出):
📋 即将执行:
- 操作:[创建/修改] [N个] [实体类型]
- 变更:[关键字段变化,如bid $1.0→$1.5 / budget $50→$100]
- 影响:[花费变化预估,引用日预算作为上限]
确认执行?后续如需自动处理,请告知我。操作回执模板(每次写入操作执行后必须输出):
✅ 已执行:[简短描述]
- 范围:[实体数量、名称或ID]
- 变化:[具体变更内容]
- 结果:[成功N个/失败M个]共用参数(SP + SB + SD 均适用)
共用参数(SP + SB + SD均适用)
| 字段 | 类型 | 说明 |
|---|---|---|
| number | 必填,从 ads-auth 获取 |
| string | 必填, |
| bool | 默认 |
| int | 1-100,默认 100;对应 Sponsored Display 端 |
| bool | 返回扩展字段(部分实体);SD 通过路径切换为 |
| string | 本地化(SP keywords 支持) |
| 字段 | 类型 | 说明 |
|---|---|---|
| number | 必填,从ads-auth获取 |
| string | 必填, |
| bool | 默认 |
| int | 1-100,默认100;对应Sponsored Display端的 |
| bool | 返回扩展字段(部分实体);SD通过切换路径为 |
| string | 本地化(SP keywords支持) |
过滤器结构速查(最易错)
过滤器结构速查(最易错)
| 结构 | 示例 | 适用字段 |
|---|---|---|
| Object | | 全部 id/状态类:campaignIdFilter、adGroupIdFilter、keywordIdFilter、stateFilter、portfolioIdFilter、expressionTypeFilter、adIdFilter |
| Array | | matchTypeFilter(SP keywords/negativeKeywords) |
| Scalar | | campaignTargetingTypeFilter(SP adGroups) |
| Text | | nameFilter、keywordTextFilter |
| Client | 任意形式,本 skill 本地过滤 | asinFilter、skuFilter(SP productAds) |
易错点:
- SP 是裸数组
matchTypeFilter(传错本 skill 自动规范化)["EXACT"] - 反而是 Object(与 matchType 不同)
expressionTypeFilter - /
asinFilter客户端过滤,建议同时传skuFilter/campaignIdFilter收窄adGroupIdFilter
| 结构 | 示例 | 适用字段 |
|---|---|---|
| Object | | 全部id/状态类:campaignIdFilter、adGroupIdFilter、keywordIdFilter、stateFilter、portfolioIdFilter、expressionTypeFilter、adIdFilter |
| Array | | matchTypeFilter(SP keywords/negativeKeywords) |
| Scalar | | campaignTargetingTypeFilter(SP adGroups) |
| Text | | nameFilter、keywordTextFilter |
| Client | 任意形式,本skill本地过滤 | asinFilter、skuFilter(SP productAds) |
易错点:
- SP的是裸数组
matchTypeFilter(传错时本skill会自动规范化)["EXACT"] - 反而为Object(与matchType不同)
expressionTypeFilter - /
asinFilter为客户端过滤,建议同时传入skuFilter/campaignIdFilter缩小范围adGroupIdFilter
响应格式
响应格式
json
{
"success": true,
"<entityKey>": [ /* 实体数组,字段原样 */ ],
"total": 157,
"pagesFetched": 2,
"truncated": false
}SP productAds 客户端过滤时额外带: + 。
serverTotalBeforeClientFilterclientSideFiltersjson
{
"success": true,
"<entityKey>": [ /* 实体数组,字段原样保留 */ ],
"total": 157,
"pagesFetched": 2,
"truncated": false
}SP productAds进行客户端过滤时会额外携带: + 。
serverTotalBeforeClientFilterclientSideFilters使用示例
使用示例
1. 列活跃 SP 广告活动
1. 列出活跃SP广告活动
bash
python scripts/sp/list_campaigns.py '{"profileId":1234567890,"region":"NA",
"stateFilter":{"include":["ENABLED"]}}'bash
python scripts/sp/list_campaigns.py '{"profileId":1234567890,"region":"NA",
"stateFilter":{"include":["ENABLED"]}}'2. 看某 SP campaign 下的广告组
2. 查询某SP campaign下的广告组
bash
python scripts/sp/list_ad_groups.py '{"profileId":1234567890,"region":"NA",
"campaignIdFilter":{"include":["998877665544"]}}'bash
python scripts/sp/list_ad_groups.py '{"profileId":1234567890,"region":"NA",
"campaignIdFilter":{"include":["998877665544"]}}'3. 按 ASIN 反查 SP 投放(客户端过滤)
3. 按ASIN反查SP投放(客户端过滤)
bash
python scripts/sp/list_product_ads.py '{"profileId":1234567890,"region":"NA",
"asinFilter":{"include":["B01ABCDEFG"]},
"campaignIdFilter":{"include":["998877665544"]}}'bash
python scripts/sp/list_product_ads.py '{"profileId":1234567890,"region":"NA",
"asinFilter":{"include":["B01ABCDEFG"]},
"campaignIdFilter":{"include":["998877665544"]}}'4. 列 SB 广告活动
4. 列出SB广告活动
bash
python scripts/sb/list_campaigns.py '{"profileId":1234567890,"region":"NA",
"stateFilter":{"include":["ENABLED"]}}'bash
python scripts/sb/list_campaigns.py '{"profileId":1234567890,"region":"NA",
"stateFilter":{"include":["ENABLED"]}}'5. 列某 SB campaign 下的 adGroups / ads
5. 查询某SB campaign下的adGroups/ads
bash
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"]}}'bash
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 广告活动
6. 列出活跃SD广告活动
bash
python scripts/sd/list_campaigns.py '{"profileId":1234567890,"region":"NA",
"stateFilter":{"include":["ENABLED"]}}'bash
python scripts/sd/list_campaigns.py '{"profileId":1234567890,"region":"NA",
"stateFilter":{"include":["ENABLED"]}}'7. 按 ASIN 反查 SD 投放(client-side 过滤,带 campaign 收窄)
7. 按ASIN反查SD投放(客户端过滤,缩小至指定campaign)
bash
python scripts/sd/list_product_ads.py '{"profileId":1234567890,"region":"NA",
"asinFilter":{"include":["B01ABCDEFG"]},
"campaignIdFilter":{"include":["998877665544"]}}'bash
python scripts/sd/list_product_ads.py '{"profileId":1234567890,"region":"NA",
"asinFilter":{"include":["B01ABCDEFG"]},
"campaignIdFilter":{"include":["998877665544"]}}'8. 与 report 配合分析指标
8. 与report配合分析指标
本 skill 返回实体元数据(id、名称、状态、匹配类型等);指标(曝光、点击、花费、转化)交给 ( / / 等),按 id join。
linkfox-amazon-ads-reportreportTypeId: "spTargeting""sbCampaigns""sdCampaigns"本skill返回实体元数据(id、名称、状态、匹配类型等);指标(曝光、点击、花费、转化)需交由处理(//等),按id关联获取。
linkfox-amazon-ads-reportreportTypeId: "spTargeting""sbCampaigns""sdCampaigns"调用原则
调用原则
- 返回字段原样保留;不改名、不翻译、不补算派生指标
- 非 2xx 不自动重试;保留 +
httpStatus告知用户body - 时明确提示数据未取完
truncated=true
- 返回字段原样保留;不改名、不翻译、不补算派生指标
- 非2xx响应不自动重试;保留+
httpStatus告知用户body - 时需明确提示数据未取完
truncated=true
常见错误
常见错误
| 状态 | 含义 | 建议 |
|---|---|---|
| accessToken 过期 | 调 ads-auth 的 |
| profileId 无权限 | 核对 profileId 归属 |
| 入参结构错 | 先核对"过滤器结构速查"表 |
| 限流 | 等 2-5s 重试 |
| exit 42 | 依赖 skill 未安装 | 先装 |
| 状态 | 含义 | 建议 |
|---|---|---|
| accessToken过期 | 调用ads-auth的 |
| profileId无权限 | 核对profileId归属 |
| 入参结构错误 | 先核对“过滤器结构速查”表 |
| 限流 | 等待2-5秒后重试 |
| exit 42 | 依赖skill未安装 | 先安装 |
Not Applicable
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:
- The functionality or purpose described in this skill does not match actual behavior
- The skill's results do not match the user's intent
- The user expresses dissatisfaction or praise about this skill
- Anything you believe could be improved
Call the feedback API as specified in . Do not interrupt the user's flow.
<!-- LF_LARGE_RESPONSE_BLOCK -->references/api.md- 删除/归档→本skill不支持DELETE操作(可通过update state为ARCHIVED实现归档,但归档不可逆)
- SB的keywords/negativeKeywords/targets/negativeTargets批量查询→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:
当出现以下任意情况时,通过Feedback API自动检测并提交反馈:
- 本skill描述的功能或用途与实际行为不符
- skill的结果与用户意图不匹配
- 用户表达了对本skill的不满或赞扬
- 任何你认为可以改进的内容
请按照中的指定方式调用反馈API,请勿中断用户流程。
<!-- LF_LARGE_RESPONSE_BLOCK -->references/api.mdHandling Large Responses
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 <DIR> '<params>'
python scripts/response_io.py read <file> --fields "<paths>" # or --path "<JMESPath>"Pickoutside any git working tree (e.g.--out-diron Unix,/tmp/...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.%TEMP%/...
This skill exposes multiple entry scripts:,check_auth_dependency.py,sb/create_ad_groups.py,sb/create_ads.py,sb/create_budget_rules.py,sb/create_campaigns.py,sb/list_ad_groups.py,sb/list_ads.py,sb/list_budget_rules.py,sb/list_campaigns.py,sb/update_ad_groups.py,sb/update_ads.py,sb/update_budget_rules.py,sb/update_campaigns.py,sd/create_ad_groups.py,sd/create_budget_rules.py,sd/create_campaigns.py,sd/create_creatives.py,sd/create_negative_targets.py,sd/create_product_ads.py,sd/create_targets.py,sd/list_ad_groups.py,sd/list_budget_rules.py,sd/list_campaigns.py,sd/list_creatives.py,sd/list_negative_targets.py,sd/list_product_ads.py,sd/list_targets.py,sd/update_ad_groups.py,sd/update_budget_rules.py,sd/update_campaigns.py,sd/update_creatives.py,sd/update_negative_targets.py,sd/update_product_ads.py,sd/update_targets.py,sp/create_ad_groups.py,sp/create_budget_rules.py,sp/create_budget_rules_association.py,sp/create_campaign_negative_keywords.py,sp/create_campaign_negative_targets.py,sp/create_campaigns.py,sp/create_keywords.py,sp/create_negative_keywords.py,sp/create_negative_targets.py,sp/create_product_ads.py,sp/create_targets.py,sp/list_ad_groups.py,sp/list_budget_rules.py,sp/list_campaigns.py,sp/list_keywords.py,sp/list_negative_keywords.py,sp/list_product_ads.py,sp/list_targets.py,sp/update_ad_groups.py,sp/update_budget_rules.py,sp/update_campaign_negative_keywords.py,sp/update_campaign_negative_targets.py,sp/update_campaigns.py,sp/update_keywords.py,sp/update_negative_keywords.py,sp/update_negative_targets.py,sp/update_product_ads.py. Passsp/update_targets.pyto choose the one you need.--script scripts/<name>.py
runread--limit/--offset--format json|jsonl|csv|tableWhen 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 .
<!-- /LF_LARGE_RESPONSE_BLOCK -->
readFor more high-quality, professional cross-border e-commerce skills, visit LinkFox Skills.
为避免超出agent上下文限制,可将响应持久化到磁盘并仅提取所需字段:
python scripts/response_io.py run --script scripts/check_auth_dependency.py --out-dir <DIR> '<params>'
python scripts/response_io.py read <file> --fields "<paths>" # 或使用--path "<JMESPath>"请选择git工作区外的(例如Unix系统的--out-dir,Windows系统的/tmp/...)。持久化的响应可能包含PII、定价或敏感授权数据——请勿提交到代码仓库。文件不会自动删除;任务完成后请自行清理。%TEMP%/...
本skill提供多个入口脚本:、check_auth_dependency.py、sb/create_ad_groups.py、sb/create_ads.py、sb/create_budget_rules.py、sb/create_campaigns.py、sb/list_ad_groups.py、sb/list_ads.py、sb/list_budget_rules.py、sb/list_campaigns.py、sb/update_ad_groups.py、sb/update_ads.py、sb/update_budget_rules.py、sb/update_campaigns.py、sd/create_ad_groups.py、sd/create_budget_rules.py、sd/create_campaigns.py、sd/create_creatives.py、sd/create_negative_targets.py、sd/create_product_ads.py、sd/create_targets.py、sd/list_ad_groups.py、sd/list_budget_rules.py、sd/list_campaigns.py、sd/list_creatives.py、sd/list_negative_targets.py、sd/list_product_ads.py、sd/list_targets.py、sd/update_ad_groups.py、sd/update_budget_rules.py、sd/update_campaigns.py、sd/update_creatives.py、sd/update_negative_targets.py、sd/update_product_ads.py、sd/update_targets.py、sp/create_ad_groups.py、sp/create_budget_rules.py、sp/create_budget_rules_association.py、sp/create_campaign_negative_keywords.py、sp/create_campaign_negative_targets.py、sp/create_campaigns.py、sp/create_keywords.py、sp/create_negative_keywords.py、sp/create_negative_targets.py、sp/create_product_ads.py、sp/create_targets.py、sp/list_ad_groups.py、sp/list_budget_rules.py、sp/list_campaigns.py、sp/list_keywords.py、sp/list_negative_keywords.py、sp/list_product_ads.py、sp/list_targets.py、sp/update_ad_groups.py、sp/update_budget_rules.py、sp/update_campaign_negative_keywords.py、sp/update_campaign_negative_targets.py、sp/update_campaigns.py、sp/update_keywords.py、sp/update_negative_keywords.py、sp/update_negative_targets.py、sp/update_product_ads.py。请通过sp/update_targets.py选择所需脚本。--script scripts/<name>.py
runread--limit/--offset--format json|jsonl|csv|table何时优先使用此模式——请根据响应特征判断,例如:
- 每条记录字段数量多,或包含不需要的字段
- 批量/分页结果(单次调用返回多条数据)
- 长文本字段(描述、评论、HTML、时间序列)
- 输出结果需在后续步骤中复用,而非立即使用
对于小型、单次使用的响应,直接调用主脚本即可。
⚠️ 预览内容为截断的模式+样本,而非完整数据。任何字段级的决策必须通过从持久化文件中读取。
<!-- /LF_LARGE_RESPONSE_BLOCK -->
read如需更多高质量的专业跨境电商技能,请访问LinkFox Skills。