← ChatGPT Ads ManagerCONTENT HISTORY

Update to ChatGPT Ads Manager

Snapshot Oct 3, 2026 · 00:02 UTC · version 0.1.27

Collection source: downloaded plugin package. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED · RULE-BASED ANALYSIS

Payment or plan references changed

Instruction wording changed from “Call `show_account_setup_widget` once when available only if the successful read confirms `billing_setup_status=required` or `has_account_logo=false` with `logo_in_review=false` and no known logo submission awaiting review, and that setu...” to “Establish billing delivery blockers from explicit serving-readiness issues in delivery snapshots or resource reads. Onboarding status alone does not establish a blocker. Preserve invoice payment-state blockers and route resolution to the...”. 1 additional added or edited line is in the evidence.

Observed in published text. Live prices and checkout terms have not been verified by this change.

Skill instructions

Before

Call `show_account_setup_widget` once when available only if the successful read confirms `billing_setup_status=required` or `has_account_logo=false` with `logo_in_review=false` and no known logo submission awaiting review, and that setu...

After

Establish billing delivery blockers from explicit serving-readiness issues in delivery snapshots or resource reads. Onboarding status alone does not establish a blocker. Preserve invoice payment-state blockers and route resolution to the...

Compare saved observations

Download comparison JSON
Full technical diff · 1 changed fields

changed /skill_md_contents

BEFORE
"---\nname: ads-manager-delivery-recovery\ndescription: Diagnose why an existing Ads Manager account, campaign, ad group, or ad is not delivering or scaling, then produce a prioritized read-only recovery plan grounded in live connector evidence and official Help Center guidance. Use when the user reports low or zero impressions, spend, clicks, or conversions; delivery drops; limited delivery; serving issues; or uncertainty about what is blocking expansion.\nallowed-tools:\n  - list_ad_accounts\n  - get_onboarding_status\n  - show_account_setup_widget\n  - get_identity_verification_status\n  - list_campaigns\n  - get_campaign\n  - show_campaign_delivery\n  - list_ad_groups\n  - get_ad_group\n  - list_ads\n  - get_ad\n  - get_ad_account_insights\n  - get_campaign_insights\n  - get_ad_group_insights\n  - get_ad_insights\n  - list_conversion_sources\n  - list_conversion_event_settings\n  - list_conversion_events\n  - get_conversion_insights\n---\n\n# Ads Manager Delivery Recovery\n\nIdentify the first constrained layer in the delivery funnel before recommending expansion. Keep the entire workflow read-only.\n\n## Use the Help Center Guide\n\nRead and follow the [shared Help Center guide](references/_shared/help-center-guide.md) before reading account data. Use its topic map, source-separation rules, and safety guardrails directly. Do not invoke `$ads-manager-help`, duplicate its Help Center research, or use another documentation source.\n\nBefore advancing into diagnosis, read and follow every reference whose branch condition matches the active workflow; when multiple conditions match, load all of them before proceeding. Before interpreting or comparing performance or conversion metrics, read and follow [insights-contract.md](references/_shared/insights-contract.md). Before using Help Center guidance, also read and follow [help-center-guide.md](references/_shared/help-center-guide.md).\n\n## Diagnose the Delivery Funnel\n\nFor campaign delivery questions, use `show_campaign_delivery` when available:\n`request.view=\"summary\"` with the resolved account for account-wide checks, or\n`request.view=\"detail\"` with that account and the exact campaign ID for a selected\ncampaign's diagnosis or readiness. Choose by intent, not result count; complete\nhealthy checks are also useful. Show known issues from the snapshot; follow the\ndeeper funnel below when the user needs further diagnosis. Keep account blockers separate and\ndo not interpret skipped or unavailable checks as an all-clear. Review issues\nlink to the returned Ads Manager page. If the widget is unavailable, use existing\nreads and a concise text explanation.\n\n1. Resolve one ad account and the affected campaign, ad group, or ad. Ask only when multiple plausible resources remain.\n2. Establish the requested time window and a comparable prior window when available. State both.\n3. Trace the selected resource and its required parents. Request live serving issues when the tool schema supports them.\n4. Inspect delivery in order: impressions, spend, clicks, then conversions. Distinguish zero, null, delayed, partial, and unavailable data.\n5. Identify the earliest supported constraint:\n   - account readiness, access, identity, or billing guidance returned by the connector;\n   - campaign status, schedule, budget, or explicit campaign-level issue;\n   - ad-group bidding, targeting, status, or explicit ad-group issue;\n   - ad status, review, creative, landing-page, or explicit ad-level issue;\n   - measurement or attribution when delivery exists but conversions are absent;\n   - insufficient evidence when no explicit blocker or meaningful comparison exists.\n6. Open the most relevant Ads Manager Help Center article using the [shared Help Center guide](references/_shared/help-center-guide.md). Use documentation to explain remediation, never to claim that a user-specific condition exists.\n7. Rank explicit blockers before configuration mismatches, performance hypotheses, and expansion ideas.\n\nWhen account setup could explain the delivery problem, call `get_onboarding_status` for the selected account. Call `show_account_setup_widget` once when available only if the successful read confirms `billing_setup_status=required` or `has_account_logo=false` with `logo_in_review=false` and no known logo submission awaiting review, and that setup need explains the delivery problem. Pending review, unknown billing, or other blockers alone do not qualify. If the read fails, is inconclusive, or conflicts with a known submission, skip the widget. If the widget is unavailable or fails, keep the confirmed blocker and remediation in text without claiming it displayed.\n\nPrioritize account blockers before campaign changes. A confirmed lifetime-budget\nblocker or low-bid warning can support a targeted proposal, but resolving it may\nreveal downstream issues skipped by the earlier check. Do not recommend expansion\nfrom performance alone before checking readiness, serving, and measurement.\nZero conversions alone does not prove a delivery failure.\n\nThe widget's increase, `unpause_campaign`, and `unpause_ads` actions start a\nproposal request owned by `$ads-manager-entity-management`. Its `create_ads`\naction starts drafting for the\nselected campaign in `$ads-manager-ad-creation`; preserve the attached account\nand campaign IDs for validation there. These clicks do not authorize a write. Keep\nthis diagnostic workflow read-only. Refresh delivery after an approved change\nand distinguish acceptance of the change from observed recovery.\n\n## Return a Recovery Plan\n\nReturn:\n\n1. **Scope** — account, resources, current window, and comparison window.\n2. **Delivery funnel** — impressions, spend, clicks, and conversions, noting unavailable evidence.\n3. **Primary constraint** — the first constrained layer, supporting connector evidence, confidence, and the relevant Help Center guidance.\n4. **Recovery steps** — ordered user actions in Ads Manager, starting with the smallest safe fix.\n5. **Verification** — the exact read-only checks and time window that can confirm recovery.\n6. **Expansion readiness** — `blocked`, `ready to test`, or `insufficient evidence`, with the reason.\n\nKeep connector facts, Help Center guidance, and inference visibly separate. Never create, edit, pause, activate, upload, appeal, or otherwise mutate Ads Manager state.\n"
AFTER
"---\nname: ads-manager-delivery-recovery\ndescription: Diagnose why an existing Ads Manager account, campaign, ad group, or ad is not delivering or scaling, then produce a prioritized read-only recovery plan grounded in live connector evidence and official Help Center guidance. Use when the user reports low or zero impressions, spend, clicks, or conversions; delivery drops; limited delivery; serving issues; or uncertainty about what is blocking expansion.\nallowed-tools:\n  - list_ad_accounts\n  - get_onboarding_status\n  - show_account_setup_widget\n  - get_identity_verification_status\n  - list_campaigns\n  - get_campaign\n  - show_campaign_delivery\n  - list_ad_groups\n  - get_ad_group\n  - list_ads\n  - get_ad\n  - get_ad_account_insights\n  - get_campaign_insights\n  - get_ad_group_insights\n  - get_ad_insights\n  - list_conversion_sources\n  - list_conversion_event_settings\n  - list_conversion_events\n  - get_conversion_insights\n---\n\n# Ads Manager Delivery Recovery\n\nIdentify the first constrained layer in the delivery funnel before recommending expansion. Keep the entire workflow read-only.\n\n## Use the Help Center Guide\n\nRead and follow the [shared Help Center guide](references/_shared/help-center-guide.md) before reading account data. Use its topic map, source-separation rules, and safety guardrails directly. Do not invoke `$ads-manager-help`, duplicate its Help Center research, or use another documentation source.\n\nBefore advancing into diagnosis, read and follow every reference whose branch condition matches the active workflow; when multiple conditions match, load all of them before proceeding. Before interpreting or comparing performance or conversion metrics, read and follow [insights-contract.md](references/_shared/insights-contract.md). Before using Help Center guidance, also read and follow [help-center-guide.md](references/_shared/help-center-guide.md).\n\n## Diagnose the Delivery Funnel\n\nFor campaign delivery questions, use `show_campaign_delivery` when available:\n`request.view=\"summary\"` with the resolved account for account-wide checks, or\n`request.view=\"detail\"` with that account and the exact campaign ID for a selected\ncampaign's diagnosis or readiness. Choose by intent, not result count; complete\nhealthy checks are also useful. Show known issues from the snapshot; follow the\ndeeper funnel below when the user needs further diagnosis. Keep account blockers separate and\ndo not interpret skipped or unavailable checks as an all-clear. Review issues\nlink to the returned Ads Manager page. If the widget is unavailable, use existing\nreads and a concise text explanation.\n\n1. Resolve one ad account and the affected campaign, ad group, or ad. Ask only when multiple plausible resources remain.\n2. Establish the requested time window and a comparable prior window when available. State both.\n3. Trace the selected resource and its required parents. Request live serving issues when the tool schema supports them.\n4. Inspect delivery in order: impressions, spend, clicks, then conversions. Distinguish zero, null, delayed, partial, and unavailable data.\n5. Identify the earliest supported constraint:\n   - account readiness, access, identity, or billing guidance returned by the connector;\n   - campaign status, schedule, budget, or explicit campaign-level issue;\n   - ad-group bidding, targeting, status, or explicit ad-group issue;\n   - ad status, review, creative, landing-page, or explicit ad-level issue;\n   - measurement or attribution when delivery exists but conversions are absent;\n   - insufficient evidence when no explicit blocker or meaningful comparison exists.\n6. Open the most relevant Ads Manager Help Center article using the [shared Help Center guide](references/_shared/help-center-guide.md). Use documentation to explain remediation, never to claim that a user-specific condition exists.\n7. Rank explicit blockers before configuration mismatches, performance hypotheses, and expansion ideas.\n\nWhen account setup could explain the delivery problem, call `get_onboarding_status` for the selected account. Establish billing delivery blockers from explicit serving-readiness issues in delivery snapshots or resource reads. Onboarding status alone does not establish a blocker. Preserve invoice payment-state blockers and route resolution to the account team. Use `billing_setup_status` and `billing_setup_flow` for billing questions, independently of the overall `recommended_next_step`. `complete` means no billing setup action is needed, regardless of flow. For `required`, offer the existing account setup widget only for `self_serve_card`; direct `postpaid_invoice` owners to their OpenAI account team. Otherwise explain that the billing arrangement needs verification; do not offer a card form.\n\nShow `show_account_setup_widget` once when available for confirmed required self-serve card billing, or a missing logo (`has_account_logo=false` and `logo_in_review=false`) with no known submission awaiting review. Failed or inconclusive reads, pending review, completed setup, identity, and access issues alone do not qualify. If status conflicts with a known logo submission, skip the widget. During delivery recovery, the confirmed setup need must explain the delivery problem. The widget is the primary card setup flow. Its `billing_url` is reserved for its own external recovery; do not send it as a setup link. If the widget is unavailable or fails, explain the confirmed setup need and offer to retry here later; do not claim it displayed or advertise a direct billing setup link.\n\nPrioritize account blockers before campaign changes. A confirmed lifetime-budget\nblocker or low-bid warning can support a targeted proposal, but resolving it may\nreveal downstream issues skipped by the earlier check. Do not recommend expansion\nfrom performance alone before checking readiness, serving, and measurement.\nZero conversions alone does not prove a delivery failure.\n\nThe widget's increase, `unpause_campaign`, and `unpause_ads` actions start a\nproposal request owned by `$ads-manager-entity-management`. Its `create_ads`\naction starts drafting for the\nselected campaign in `$ads-manager-ad-creation`; preserve the attached account\nand campaign IDs for validation there. These clicks do not authorize a write. Keep\nthis diagnostic workflow read-only. Refresh delivery after an approved change\nand distinguish acceptance of the change from observed recovery.\n\n## Return a Recovery Plan\n\nReturn:\n\n1. **Scope** — account, resources, current window, and comparison window.\n2. **Delivery funnel** — impressions, spend, clicks, and conversions, noting unavailable evidence.\n3. **Primary constraint** — the first constrained layer, supporting connector evidence, confidence, and the relevant Help Center guidance.\n4. **Recovery steps** — ordered user actions in Ads Manager, starting with the smallest safe fix.\n5. **Verification** — the exact read-only checks and time window that can confirm recovery.\n6. **Expansion readiness** — `blocked`, `ready to test`, or `insufficient evidence`, with the reason.\n\nKeep connector facts, Help Center guidance, and inference visibly separate. Never create, edit, pause, activate, upload, appeal, or otherwise mutate Ads Manager state.\n"

SKILL.md line diff

--- before
+++ after
@@ -59,7 +59,9 @@
 6. Open the most relevant Ads Manager Help Center article using the [shared Help Center guide](references/_shared/help-center-guide.md). Use documentation to explain remediation, never to claim that a user-specific condition exists.
 7. Rank explicit blockers before configuration mismatches, performance hypotheses, and expansion ideas.
 
-When account setup could explain the delivery problem, call `get_onboarding_status` for the selected account. Call `show_account_setup_widget` once when available only if the successful read confirms `billing_setup_status=required` or `has_account_logo=false` with `logo_in_review=false` and no known logo submission awaiting review, and that setup need explains the delivery problem. Pending review, unknown billing, or other blockers alone do not qualify. If the read fails, is inconclusive, or conflicts with a known submission, skip the widget. If the widget is unavailable or fails, keep the confirmed blocker and remediation in text without claiming it displayed.
+When account setup could explain the delivery problem, call `get_onboarding_status` for the selected account. Establish billing delivery blockers from explicit serving-readiness issues in delivery snapshots or resource reads. Onboarding status alone does not establish a blocker. Preserve invoice payment-state blockers and route resolution to the account team. Use `billing_setup_status` and `billing_setup_flow` for billing questions, independently of the overall `recommended_next_step`. `complete` means no billing setup action is needed, regardless of flow. For `required`, offer the existing account setup widget only for `self_serve_card`; direct `postpaid_invoice` owners to their OpenAI account team. Otherwise explain that the billing arrangement needs verification; do not offer a card form.
+
+Show `show_account_setup_widget` once when available for confirmed required self-serve card billing, or a missing logo (`has_account_logo=false` and `logo_in_review=false`) with no known submission awaiting review. Failed or inconclusive reads, pending review, completed setup, identity, and access issues alone do not qualify. If status conflicts with a known logo submission, skip the widget. During delivery recovery, the confirmed setup need must explain the delivery problem. The widget is the primary card setup flow. Its `billing_url` is reserved for its own external recovery; do not send it as a setup link. If the widget is unavailable or fails, explain the confirmed setup need and offer to retry here later; do not claim it displayed or advertise a direct billing setup link.
 
 Prioritize account blockers before campaign changes. A confirmed lifetime-budget
 blocker or low-bid warning can support a targeted proposal, but resolving it may
Full snapshot data
{
  "description": "Diagnose why an existing Ads Manager account, campaign, ad group, or ad is not delivering or scaling, then produce a prioritized read-only recovery plan grounded in live connector evidence and official Help Center guidance. Use when the user reports low or zero impressions, spend, clicks, or conversions; delivery drops; limited delivery; serving issues; or uncertainty about what is blocking expansion.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 285
    },
    {
      "relative_path": "references/_shared/help-center-guide.md",
      "size_in_bytes": 5455
    },
    {
      "relative_path": "references/_shared/insights-contract.md",
      "size_in_bytes": 6724
    }
  ],
  "name": "ads-manager-delivery-recovery",
  "skill_md_contents": "---\nname: ads-manager-delivery-recovery\ndescription: Diagnose why an existing Ads Manager account, campaign, ad group, or ad is not delivering or scaling, then produce a prioritized read-only recovery plan grounded in live connector evidence and official Help Center guidance. Use when the user reports low or zero impressions, spend, clicks, or conversions; delivery drops; limited delivery; serving issues; or uncertainty about what is blocking expansion.\nallowed-tools:\n  - list_ad_accounts\n  - get_onboarding_status\n  - show_account_setup_widget\n  - get_identity_verification_status\n  - list_campaigns\n  - get_campaign\n  - show_campaign_delivery\n  - list_ad_groups\n  - get_ad_group\n  - list_ads\n  - get_ad\n  - get_ad_account_insights\n  - get_campaign_insights\n  - get_ad_group_insights\n  - get_ad_insights\n  - list_conversion_sources\n  - list_conversion_event_settings\n  - list_conversion_events\n  - get_conversion_insights\n---\n\n# Ads Manager Delivery Recovery\n\nIdentify the first constrained layer in the delivery funnel before recommending expansion. Keep the entire workflow read-only.\n\n## Use the Help Center Guide\n\nRead and follow the [shared Help Center guide](references/_shared/help-center-guide.md) before reading account data. Use its topic map, source-separation rules, and safety guardrails directly. Do not invoke `$ads-manager-help`, duplicate its Help Center research, or use another documentation source.\n\nBefore advancing into diagnosis, read and follow every reference whose branch condition matches the active workflow; when multiple conditions match, load all of them before proceeding. Before interpreting or comparing performance or conversion metrics, read and follow [insights-contract.md](references/_shared/insights-contract.md). Before using Help Center guidance, also read and follow [help-center-guide.md](references/_shared/help-center-guide.md).\n\n## Diagnose the Delivery Funnel\n\nFor campaign delivery questions, use `show_campaign_delivery` when available:\n`request.view=\"summary\"` with the resolved account for account-wide checks, or\n`request.view=\"detail\"` with that account and the exact campaign ID for a selected\ncampaign's diagnosis or readiness. Choose by intent, not result count; complete\nhealthy checks are also useful. Show known issues from the snapshot; follow the\ndeeper funnel below when the user needs further diagnosis. Keep account blockers separate and\ndo not interpret skipped or unavailable checks as an all-clear. Review issues\nlink to the returned Ads Manager page. If the widget is unavailable, use existing\nreads and a concise text explanation.\n\n1. Resolve one ad account and the affected campaign, ad group, or ad. Ask only when multiple plausible resources remain.\n2. Establish the requested time window and a comparable prior window when available. State both.\n3. Trace the selected resource and its required parents. Request live serving issues when the tool schema supports them.\n4. Inspect delivery in order: impressions, spend, clicks, then conversions. Distinguish zero, null, delayed, partial, and unavailable data.\n5. Identify the earliest supported constraint:\n   - account readiness, access, identity, or billing guidance returned by the connector;\n   - campaign status, schedule, budget, or explicit campaign-level issue;\n   - ad-group bidding, targeting, status, or explicit ad-group issue;\n   - ad status, review, creative, landing-page, or explicit ad-level issue;\n   - measurement or attribution when delivery exists but conversions are absent;\n   - insufficient evidence when no explicit blocker or meaningful comparison exists.\n6. Open the most relevant Ads Manager Help Center article using the [shared Help Center guide](references/_shared/help-center-guide.md). Use documentation to explain remediation, never to claim that a user-specific condition exists.\n7. Rank explicit blockers before configuration mismatches, performance hypotheses, and expansion ideas.\n\nWhen account setup could explain the delivery problem, call `get_onboarding_status` for the selected account. Establish billing delivery blockers from explicit serving-readiness issues in delivery snapshots or resource reads. Onboarding status alone does not establish a blocker. Preserve invoice payment-state blockers and route resolution to the account team. Use `billing_setup_status` and `billing_setup_flow` for billing questions, independently of the overall `recommended_next_step`. `complete` means no billing setup action is needed, regardless of flow. For `required`, offer the existing account setup widget only for `self_serve_card`; direct `postpaid_invoice` owners to their OpenAI account team. Otherwise explain that the billing arrangement needs verification; do not offer a card form.\n\nShow `show_account_setup_widget` once when available for confirmed required self-serve card billing, or a missing logo (`has_account_logo=false` and `logo_in_review=false`) with no known submission awaiting review. Failed or inconclusive reads, pending review, completed setup, identity, and access issues alone do not qualify. If status conflicts with a known logo submission, skip the widget. During delivery recovery, the confirmed setup need must explain the delivery problem. The widget is the primary card setup flow. Its `billing_url` is reserved for its own external recovery; do not send it as a setup link. If the widget is unavailable or fails, explain the confirmed setup need and offer to retry here later; do not claim it displayed or advertise a direct billing setup link.\n\nPrioritize account blockers before campaign changes. A confirmed lifetime-budget\nblocker or low-bid warning can support a targeted proposal, but resolving it may\nreveal downstream issues skipped by the earlier check. Do not recommend expansion\nfrom performance alone before checking readiness, serving, and measurement.\nZero conversions alone does not prove a delivery failure.\n\nThe widget's increase, `unpause_campaign`, and `unpause_ads` actions start a\nproposal request owned by `$ads-manager-entity-management`. Its `create_ads`\naction starts drafting for the\nselected campaign in `$ads-manager-ad-creation`; preserve the attached account\nand campaign IDs for validation there. These clicks do not authorize a write. Keep\nthis diagnostic workflow read-only. Refresh delivery after an approved change\nand distinguish acceptance of the change from observed recovery.\n\n## Return a Recovery Plan\n\nReturn:\n\n1. **Scope** — account, resources, current window, and comparison window.\n2. **Delivery funnel** — impressions, spend, clicks, and conversions, noting unavailable evidence.\n3. **Primary constraint** — the first constrained layer, supporting connector evidence, confidence, and the relevant Help Center guidance.\n4. **Recovery steps** — ordered user actions in Ads Manager, starting with the smallest safe fix.\n5. **Verification** — the exact read-only checks and time window that can confirm recovery.\n6. **Expansion readiness** — `blocked`, `ready to test`, or `insufficient evidence`, with the reason.\n\nKeep connector facts, Help Center guidance, and inference visibly separate. Never create, edit, pause, activate, upload, appeal, or otherwise mutate Ads Manager state.\n"
}

SHA-256 of public snapshot: 63f64c0c062170fd36fbd94c678745d9beda4e56ca24ea10b0c466cf2c0ba727