← ChatGPT Ads ManagerCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
changed
Update to ChatGPT Ads Manager
Snapshot Sep 30, 2026 · 23:19 UTC · version 0.1.25
Collection source: not recorded for this historical snapshot. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.
Supporting file metadata differs
Newly listed paths: agents/openai.yaml. This compares saved file lists, not package contents; a different collection source can change the list.
Observed in package metadata. These changes alone do not establish a new customer-facing feature.
Supporting files
Before
[]
After
[{"relative_path":"agents/openai.yaml","size_in_bytes":255}]
Compare saved observations
Download comparison JSONFull technical diff · 1 changed fields
changed /included_files
BEFORE
[]
AFTER
[
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 255
}
]Full snapshot data
{
"description": "Welcome users after installing Ads Manager or when they ask to get started without a specific task. Help new users choose an ad draft or account setup; introduce existing users to available capabilities and route their goal to the appropriate skill. Continue a specific earlier request without repeating the welcome.",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 255
}
],
"name": "ads-manager-setup",
"skill_md_contents": "---\nname: ads-manager-setup\ndescription: \"Welcome users after installing Ads Manager or when they ask to get started without a specific task. Help new users choose an ad draft or account setup; introduce existing users to available capabilities and route their goal to the appropriate skill. Continue a specific earlier request without repeating the welcome.\"\n---\n\n# Get Started with Ads Manager\n\nHelp the user get to something useful with a brief, friendly exchange. Ask only what is still unknown, acknowledge their answer naturally, and adapt the examples below to the conversation. The host owns the install offer; this skill starts after the user chooses setup or asks to get started in chat.\n\nIf the user already has a concrete task, invoke its owning skill immediately. If they ask a question or are unsure, answer it before continuing. This skill introduces possibilities and routes the user's choice; the receiving skill owns account lookup, intake, permissions, and execution. Do not look up accounts or perform Ads Manager actions just to deliver the welcome.\n\n## Choose the input surface\n\nFor an unresolved setup decision, use an available native user-input tool that supports selectable options and is permitted in the current mode. Check the exposed tool schema before falling back to text. This applies to the initial account question, the new-user draft/setup choice, and optional suggestions for an existing user's goal.\n\n- Put the question in the tool's question field and the selectable answers in its options field. Do not append a text menu to the question or use a question-only reply box as a substitute for selectable options.\n- For an existing user's open-ended goal, use suggested options only if the widget also accepts a free-text answer. Follow the tool's option-count limits. The suggestions are examples of what the user can ask for, not an exhaustive menu.\n- Ask one decision at a time. Do not repeat the widget question in chat. Wait for the answer; a preselected option, timeout, or skipped question is not a selection.\n- If a suitable tool is unavailable, disallowed, or returns an error, ask naturally in ordinary chat. Write a short sentence or two with one question, rather than a heading followed by a numbered or bulleted menu. Do not tell the user about tool availability or claim plain text is clickable.\n\nFor `request_user_input_async` when its exposed schema uses `questions[].title` and string `questions[].options`, the account question could be:\n\n```json\n{\n \"questions\": [\n {\n \"title\": \"Hi! Do you already have an Ads Manager account?\",\n \"options\": [\"Yes\", \"No, help me get started\"]\n }\n ]\n}\n```\n\nFor `request_user_input`, follow its own schema, including `question`, `id`, `header`, and option objects with `label` and `description`; do not reuse the async payload unchanged. Neither tool is guaranteed to exist on every host, and this skill does not override mode restrictions.\n\n**End the setup input style at handoff.** Once the user has chosen a path or given a concrete task, setup is complete. Stop applying this skill's preference for `request_user_input` or `request_user_input_async`; it is not a conversation-wide preference. The receiving skill owns the interaction from here: default to ordinary chat for intake, asking directly for a website or business details instead of adding another menu about how to provide them. Use structured input again only when independently called for by the receiving skill or explicitly requested by the user. The receiving skill can still use its own ad-preview or account-setup UI where appropriate.\n\n## Welcome a new conversation\n\nIf neither a task nor an account answer is known, ask whether the user already has an Ads Manager account. Use **Yes** and **No, help me get started** as widget choices. The text fallback can simply be:\n\n> Hi! Do you already have an Ads Manager account, or are you just getting started?\n\nWait for the answer. Reuse an account answer already supplied in the conversation.\n\n### They are new to Ads Manager\n\nNew users can draft before setting up an account. Use **Draft my first ad** and **Set up my ad account** as widget choices, with this suggested question for either the widget or ordinary chat:\n\n> Let’s get you started. Would you like to draft your first ad, or set up your ad account first?\n\nInvoke `$ads-manager-ad-creation` for drafting or `$ads-manager-onboarding` for a new account. Let that skill begin intake after the user chooses.\n\n### They already have an account\n\nMove straight to what they want help with. Do not insert an account lookup or account-selection step before learning their goal. An existing account answer does not establish access, permissions, or setup readiness; the receiving skill checks those when needed.\n\nOffer a brief glimpse of the available help, then invite the user to describe their task. A few concrete examples are enough: drafting ads, understanding performance, updating campaigns, or troubleshooting delivery. Tailor them to anything already known. Avoid a generic “What would you like to do first?” followed by a fixed create/review menu.\n\nFor example, a text response could be:\n\n> Great! I can help you draft ads, see how your campaigns are doing, make campaign changes, or figure out why an ad isn't running. What do you have in mind?\n\nIf an account was already selected in the conversation, acknowledge it by name and reuse it; do not ask the user to select it again.\n\nWith a suitable widget, use the same short capability introduction in chat, then put the open question in the widget with a few suggested actions, such as **Draft an ad**, **Review my ads**, and **Update a campaign**. Leave its free-text answer available for other requests. Do not repeat the question or explain the widget mechanics. If the widget only allows a closed choice, use the conversational text invitation instead.\n\n## Route the user's goal\n\nUse the existing skills' scope to choose the owner; do not squeeze a free-text request into the suggested buttons.\n\n| User wants help with | Skill |\n| --- | --- |\n| Drafting or creating a new ad | `$ads-manager-ad-creation` |\n| Creating a new ad account | `$ads-manager-onboarding` |\n| Performance metrics, comparisons, trends, conversions, or aggregate Business Agent conversation insights and related business recommendations when available | `$ads-manager-insights` |\n| Reviewing ads or getting campaign or ad-performance improvement recommendations | `$ads-manager-review` |\n| Changing an existing campaign, ad group, or ad | `$ads-manager-entity-management` |\n| Ads not delivering or scaling | `$ads-manager-delivery-recovery` |\n| Existing-account setup, billing, logo, or account access | `$ads-manager-account-admin` |\n| How-to questions or campaign planning | `$ads-manager-help` |\n| Setting up recurring recommendation-only reviews | `$ads-manager-start-agent` |\n\nInvoke the selected skill in the same conversation and let it own the next step. Reuse the user's goal, answers, and any account already selected in the conversation. Ask a brief clarification only when the goal is still ambiguous; do not restart the welcome or ask the user to invoke a skill themselves. Choosing a task does not approve account creation, advertising terms, uploads, ad writes, or a recurring schedule.\n"
}SHA-256 of public snapshot: 60e85107110b194ffb11a577c66420a118ac5f1ac6c9bef22fc03eed72bc85b4