{"id":88482,"plugin_id":"plugin_asdk_app_694a52cfaa3c819192bea84eaa254968","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-10T06:07:59.523Z","digest":"904ef7d7ed445b406eeb024bdfe9216b2fd83de7964e93094e6dc3671177076c","against":null,"payload":{"description":"Analyze and manage Amazon Ads (Sponsored Products, Sponsored Brands, Sponsored Display) through Windsor.ai. Use when the user asks about their Amazon Ads performance (spend, clicks, impressions, sales, purchases, ACoS, ROAS by campaign, ad group, keyword, target, search term, placement or advertised product), or when they want to pause or enable a Sponsored Products campaign or change its daily budget. Do not use for Amazon Seller Central or Vendor Central orders and listings, or for other ad platforms. Also use when the user asks how to connect Amazon Ads to ChatGPT.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":362}],"name":"amazon-ads","skill_md_contents":"---\nname: amazon-ads\ndescription: \"Analyze and manage Amazon Ads (Sponsored Products, Sponsored Brands, Sponsored Display) through Windsor.ai. Use when the user asks about their Amazon Ads performance (spend, clicks, impressions, sales, purchases, ACoS, ROAS by campaign, ad group, keyword, target, search term, placement or advertised product), or when they want to pause or enable a Sponsored Products campaign or change its daily budget. Do not use for Amazon Seller Central or Vendor Central orders and listings, or for other ad platforms. Also use when the user asks how to connect Amazon Ads to ChatGPT.\"\n---\n\nExplicit instructions from the user take priority over this skill.\n\n# Amazon Ads via Windsor.ai\n\nWindsor.ai exposes live Amazon Ads data (read) and a small set of Sponsored\nProducts campaign actions (write) through MCP tools. The connector id is\n`amazon_ads`. Pass `amazon_ads` as the connector on every tool call.\n\nGolden rules:\n\n- **Never guess field, account, action, or option names.** They come from\n  `get_fields`, `get_connectors`, `list_actions`, and `get_options`. Call those\n  first; do not invent identifiers.\n- **Reads are safe; writes change live ad spend.** Only call `execute_action`\n  after the user has confirmed the specific change.\n- Report numbers the user asked for, concisely. Don't dump raw rows unless asked.\n\n## 1. Check what is connected\n\nCall `get_connectors` to see which Amazon Ads accounts (advertising profiles)\nare connected. If none are connected, call `get_connector_authorization_url`\n(or `get_connector_connect_info`) and give the user the setup link.\n\nOne Amazon login can hold several profiles, one per marketplace. If the user\nnames a marketplace or brand, match it to an account id; if the request is\nambiguous, ask which one.\n\n## 2. Reading performance data\n\nAmazon Ads fields are grouped by report, and each field id starts with its\nreport prefix. Examples (always confirm with `get_fields`):\n\n- `sponsored_products_campaign__*`: campaign, campaign status, daily budget,\n  cost, clicks, impressions, ACoS, ROAS, attributed sales and conversions at\n  1, 7, 14 and 30 days\n- `sponsored_products_search_term__*`: search term, keyword text, match type,\n  campaign and ad group, cost, clicks, purchases and sales at 1, 7, 14 and 30 days\n- `sponsored_products_targeting__*`, `sponsored_products_placement__*`,\n  `sponsored_products_advertised_product__*`\n- Sponsored Brands and Sponsored Display have their own report families\n  (for example `sponsored_brands_search_term__*`,\n  `sponsored_display_campaign__*`); their set differs from Sponsored\n  Products, so check `get_fields`\n- shared fields without a prefix: `date`, `account_name`, `account_id`,\n  `marketplace`, `ad_type`\n\nRecipe:\n\n1. Call `get_fields` for `amazon_ads` and pick the report prefix that matches\n   the question (campaign, search term, targeting, placement, product).\n2. Call `get_data` with fields from that one prefix plus shared fields such as\n   `date` or `account_name`. Keep each call to one report so the rows stay\n   comparable; run a second call for a second report.\n3. Use the date range the user gave, or a preset such as `last_30d`, and say\n   which one you used.\n\nMetric notes:\n\n- **Attribution windows:** Sponsored Products sales, purchases and units come in 1, 7, 14 and 30\n  day versions (Sponsored Brands and Sponsored Display fields carry fewer\n  windows; read the field descriptions). Pick one window, name it in the answer, and use the same one\n  across campaigns.\n- **ACoS** = ad spend / ad-attributed sales. **ROAS** = ad-attributed sales /\n  ad spend. The Sponsored Products `__acos` and `__roas` fields use 14-day\n  sales (for Sponsored Brands and Sponsored Display, check the field\n  description). For any other window, compute them from cost and the matching sales\n  field (for example `sponsored_products_campaign__attributedsales7d`), and say which window you used.\n- Money fields are in the profile's currency. Profiles in different\n  marketplaces can use different currencies: never add them together.\n- Ad-attributed sales are not total store sales. For TACoS (ad spend / total\n  sales), total sales come from Amazon Seller Central (`amazon_sp`); if it is\n  connected, read it and compute TACoS, keeping currencies apart, otherwise\n  say it is needed.\n\n## 3. Managing campaigns (write actions)\n\nCall `list_actions` for `amazon_ads` first for the exact ids and schemas. The\ncurrent set covers **Sponsored Products campaigns only**:\n\n- `pause_campaign` / `enable_campaign` (needs `campaign_id`), each reversible\n  via its counterpart\n- `set_campaign_budget` (needs `campaign_id` and `budget`): the **daily**\n  budget, in the account currency major unit (`50` means 50.00, not cents)\n\nThere are no write actions for Sponsored Brands or Sponsored Display, keywords,\nbids, or negative keywords. If the user asks for one, say so and offer the\nread that supports the decision instead.\n\nWrite workflow, every time:\n\n1. Resolve the campaign to its id with a `get_data` read on the Sponsored\n   Products campaign report.\n2. Budgets are absolute values. To \"raise by 20%\", read the current daily\n   budget, compute the new amount, and set that.\n3. Show the concrete change and ask for confirmation, for example \"Set the\n   daily budget of 'Brand - Exact' (id 123...) on the US profile from 40.00\n   to 48.00 USD?\"\n4. Only after an explicit yes, call `execute_action` and report the result.\n\n## 4. Reference the user's data, don't fabricate\n\nIf a tool returns an error (unknown field, connector or account), call the\nrelevant discovery tool and retry with correct ids. Never fill gaps with\nmade-up numbers or campaign names.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}