← ChatGPT Ads ManagerCONTENT HISTORY

Update to ChatGPT Ads Manager

Snapshot Oct 7, 2026 · 18:02 UTC · version 0.1.29

WHAT CHANGED · RULE-BASED ANALYSIS

Package or technical metadata updated

Package contents changed in 16 files: .codex-plugin/plugin.json, action_ownership.json, shared-references/audiences.md, …. Open the file diff to inspect the edits.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Package file

Before

41a20989bb2ef34509ec296901d321bb50d7d8aba94bbbd1db3c9f9e392681d6

After

b5ef4c881cb388ea7fe63d944d73a0332818d227bd9468ff35224c8317ea22f0

Package file

Before

485e1c1eca45a1fdf0b03e8a4b935ecae277aca97fce1ce4583c03a5c95b122a

After

fdff87893f2166b18244d059bf46112a53c71dd4c5e92464ae977ec6af9c0fc9

Package file

Before

9481

After

9987

Package file

Before

Not present

After

{"sha256":"1c9e693e965e110c5c9e58c4c330d2dc92057784933d2b44579840dbdd5d383d","size":3257}

Compare saved observations

Download comparison JSON

shared-references/audiences.md

--- before
+++ after
@@ -0,0 +1,10 @@
+# Saved custom audiences
+
+Custom audiences are account-level customer lists used for campaign inclusion/exclusion or ad-group bid adjustments. Using a saved list does not change its members. A creative persona is not a saved audience.
+
+- Audience tools are read-only. Creation and all audience changes, including add/remove/replace membership and archiving, happen in Ads Manager web. Call `get_ads_manager_route_link(route_kind="settings_audiences", ad_account_id=...)` for the selected account and present its returned `ads_manager_url`. Do not request or process customer-list files or pasted identifiers. Preserve any pending campaign/ad flow and refresh audience reads after the user completes the web step; opening the link does not prove completion. Do not substitute campaign targeting or bid changes for an audience update.
+- Resolve saved audience names with `list_custom_audiences`, following pagination; use `get_custom_audience` for details. Before a new selection, call `list_custom_audiences` with its `intended_use` (`inclusion`, `exclusion`, or `bid_multiplier`), selected `custom_audience_ids`, and the inventory's `policy_revision`. Check that every selected ID is returned across pages; refresh missing or stale revisions, and resolve unavailable selections before writing. Ready status or counts alone do not prove eligibility. These parameters belong only to the eligibility read, not campaign/ad-group write bodies. Report only returned aggregate ranges; keep identifiers private.
+- Before any new inclusion, exclusion, or bid adjustment, or a geography change retaining saved audiences, verify that effective campaign geography does not include the EEA or Switzerland. Global targeting fails this check unless all those countries are excluded; unknown geography must be resolved. This audience check overrides the default against geo follow-ups even without a separate geographic request. Obtain approval for any geographic change; never silently alter inherited targeting. Unrelated edits preserve existing audience settings.
+- Map inclusions to campaign `targeting.custom_audiences.ids`, exclusions to `targeting.excluded_custom_audiences.ids`, and bid adjustments to ad-group `bidding_config.custom_audience_bid_multipliers`. Bid adjustments require manual (`fixed_bid`) bidding; never switch strategy silently. Show included/excluded audience names and bid adjustments in the approval proposal, marked inherited or proposed. Preserve unrelated settings and inherited selections. Removing a campaign filter differs from removing list members. An unavailable audience does not authorize clearing filters, changing geography, or switching bidding strategy.
+- For new ads using existing parents, read and show inherited audience settings; requested changes to those parents belong to Entity Management with their own approved scope. Never change inherited targeting or bids incidentally.
+- To inspect web operations, call `get_custom_audience` with `inspection={view:"operation", operation_id:...}` or `inspection={view:"history", ...}`; merge history remains readable. Optional inspection requires edit permission, and `inspection_error` leaves operation state unverified. Processing or publication is not intended-use eligibility.
Full technical diff · 28 changed fields

changed /files/.codex-plugin~1plugin.json/sha256

BEFORE
"41a20989bb2ef34509ec296901d321bb50d7d8aba94bbbd1db3c9f9e392681d6"
AFTER
"b5ef4c881cb388ea7fe63d944d73a0332818d227bd9468ff35224c8317ea22f0"

changed /files/action_ownership.json/sha256

BEFORE
"485e1c1eca45a1fdf0b03e8a4b935ecae277aca97fce1ce4583c03a5c95b122a"
AFTER
"fdff87893f2166b18244d059bf46112a53c71dd4c5e92464ae977ec6af9c0fc9"

changed /files/action_ownership.json/size

BEFORE
9481
AFTER
9987

added /files/shared-references~1audiences.md

BEFORE
Field was absent
AFTER
{
  "sha256": "1c9e693e965e110c5c9e58c4c330d2dc92057784933d2b44579840dbdd5d383d",
  "size": 3257
}

changed /files/shared-references~1consumers.json/sha256

BEFORE
"766609dfa620e9914600e28e3f34ca2716f6b199fbb1a0cc653e365f3f7cbd7c"
AFTER
"27d9eec20cae9bb003428f0d9794d52f85533a4a982e3b5ab7bf525be491f8c3"

changed /files/shared-references~1consumers.json/size

BEFORE
1768
AFTER
1860

changed /files/shared-references~1image-asset-contract.md/sha256

BEFORE
"1d3cb064b9da109d054d4ac30f1ebf554d918400e15c30dfa92ab02cfde82425"
AFTER
"b5906bb1af16e9800db936ff0655406b265608e3a13f653cc5990ffc1501bc3d"

changed /files/shared-references~1image-asset-contract.md/size

BEFORE
10966
AFTER
11023

changed /files/skills~1ads-manager-account-admin~1references~1_shared~1image-asset-contract.md/sha256

BEFORE
"1d3cb064b9da109d054d4ac30f1ebf554d918400e15c30dfa92ab02cfde82425"
AFTER
"b5906bb1af16e9800db936ff0655406b265608e3a13f653cc5990ffc1501bc3d"

changed /files/skills~1ads-manager-account-admin~1references~1_shared~1image-asset-contract.md/size

BEFORE
10966
AFTER
11023

changed /files/skills~1ads-manager-ad-creation~1SKILL.md/sha256

BEFORE
"bc82db6f2f94369050b34965bc3f22e50f66be90f4f59f0366b6b646a479d9f3"
AFTER
"aebd1b6fdfd581eb8c3001e34c5ff3e390cd0846f6f585e6a52261a0efc256f5"

changed /files/skills~1ads-manager-ad-creation~1SKILL.md/size

BEFORE
42842
AFTER
43502

added /files/skills~1ads-manager-ad-creation~1references~1_shared~1audiences.md

BEFORE
Field was absent
AFTER
{
  "sha256": "1c9e693e965e110c5c9e58c4c330d2dc92057784933d2b44579840dbdd5d383d",
  "size": 3257
}

changed /files/skills~1ads-manager-ad-creation~1references~1_shared~1image-asset-contract.md/sha256

BEFORE
"1d3cb064b9da109d054d4ac30f1ebf554d918400e15c30dfa92ab02cfde82425"
AFTER
"b5906bb1af16e9800db936ff0655406b265608e3a13f653cc5990ffc1501bc3d"

changed /files/skills~1ads-manager-ad-creation~1references~1_shared~1image-asset-contract.md/size

BEFORE
10966
AFTER
11023

changed /files/skills~1ads-manager-entity-management~1SKILL.md/sha256

BEFORE
"8d6272d37354ecdc530c8a22d43d8b159b5841707f19110dbf2b10e6deeea469"
AFTER
"0cb1038ee631f9af1848c68ce7a7864f4388a490a63931fb72d27bfc83f5ca08"

changed /files/skills~1ads-manager-entity-management~1SKILL.md/size

BEFORE
17447
AFTER
17839

added /files/skills~1ads-manager-entity-management~1references~1_shared~1audiences.md

BEFORE
Field was absent
AFTER
{
  "sha256": "1c9e693e965e110c5c9e58c4c330d2dc92057784933d2b44579840dbdd5d383d",
  "size": 3257
}

changed /files/skills~1ads-manager-entity-management~1references~1_shared~1image-asset-contract.md/sha256

BEFORE
"1d3cb064b9da109d054d4ac30f1ebf554d918400e15c30dfa92ab02cfde82425"
AFTER
"b5906bb1af16e9800db936ff0655406b265608e3a13f653cc5990ffc1501bc3d"

changed /files/skills~1ads-manager-entity-management~1references~1_shared~1image-asset-contract.md/size

BEFORE
10966
AFTER
11023

changed /files/skills~1ads-manager-help~1SKILL.md/sha256

BEFORE
"0d9935f0a93307df703fb95c0e661574475f62b4ec0e6ebfa23faa836c8b46b5"
AFTER
"978179646b5600abe19297ea1cd671dafec11f9fe4523cf68b3684e4708c0cd3"

changed /files/skills~1ads-manager-help~1SKILL.md/size

BEFORE
9510
AFTER
9861

changed /files/skills~1ads-manager-onboarding~1references~1_shared~1image-asset-contract.md/sha256

BEFORE
"1d3cb064b9da109d054d4ac30f1ebf554d918400e15c30dfa92ab02cfde82425"
AFTER
"b5906bb1af16e9800db936ff0655406b265608e3a13f653cc5990ffc1501bc3d"

changed /files/skills~1ads-manager-onboarding~1references~1_shared~1image-asset-contract.md/size

BEFORE
10966
AFTER
11023

changed /files/skills~1ads-manager-starter-campaign~1references~1_shared~1image-asset-contract.md/sha256

BEFORE
"1d3cb064b9da109d054d4ac30f1ebf554d918400e15c30dfa92ab02cfde82425"
AFTER
"b5906bb1af16e9800db936ff0655406b265608e3a13f653cc5990ffc1501bc3d"

changed /files/skills~1ads-manager-starter-campaign~1references~1_shared~1image-asset-contract.md/size

BEFORE
10966
AFTER
11023

changed /files/tests~1test_action_ownership_contract.py/sha256

BEFORE
"0c8bc2a6e56ff84f7ba8549e513ed0bd178bc8632cea3c0c8c6a35d9f85e7a77"
AFTER
"28b1284d59b5ea12495f31d602a7c2e98dd39ef6e724bf43b5fdd54405d56c16"

changed /files/tests~1test_action_ownership_contract.py/size

BEFORE
8321
AFTER
8346
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "3180d05dc7ec07cd13350cdb3e78c71a806a3020973e9fed4ce1e1e158ada8a5",
      "size": 89
    },
    ".codex-plugin/plugin.json": {
      "sha256": "b5ef4c881cb388ea7fe63d944d73a0332818d227bd9468ff35224c8317ea22f0",
      "size": 2363
    },
    "OWNERS": {
      "sha256": "f6e0b6dd73dd25cb708b1fcee790136c9b4accac838a271723be3c1d99f47cee",
      "size": 39
    },
    "README.md": {
      "sha256": "67cf86fe36b2a1e1e468124a023de0e9ffbc9b93b435356acde09e87f21993a2",
      "size": 5618
    },
    "action_ownership.json": {
      "sha256": "fdff87893f2166b18244d059bf46112a53c71dd4c5e92464ae977ec6af9c0fc9",
      "size": 9987
    },
    "assets/composer-icon.svg": {
      "sha256": "2acbcc610b78d68e4743b99978dbdc570b72cd9867d12fe483b41ec0d82f7459",
      "size": 2630
    },
    "assets/icon.svg": {
      "sha256": "2acbcc610b78d68e4743b99978dbdc570b72cd9867d12fe483b41ec0d82f7459",
      "size": 2630
    },
    "assets/logo.svg": {
      "sha256": "2acbcc610b78d68e4743b99978dbdc570b72cd9867d12fe483b41ec0d82f7459",
      "size": 2630
    },
    "scripts/materialize_shared_references.py": {
      "sha256": "1df7e582ba67d63ae6d3317302719fc7677c74c00615f3c8fa804380a1ddf7b1",
      "size": 4010
    },
    "scripts/validate_asset.py": {
      "sha256": "5bd61e725254c0f6372df9438e3e4ff23c0a68005830901cb764a0f52bf6b821",
      "size": 4858
    },
    "shared-references/ads-structure-and-context-playbook.md": {
      "sha256": "d00be62061570de9dd55e7433a67f7deb017a2618df51e3ce11602423d6e9dd0",
      "size": 5598
    },
    "shared-references/auction-readiness-playbook.md": {
      "sha256": "555e08e61c6cceea729238e2ef08d899c25985926c139c3118bdf92578286962",
      "size": 2059
    },
    "shared-references/audiences.md": {
      "sha256": "1c9e693e965e110c5c9e58c4c330d2dc92057784933d2b44579840dbdd5d383d",
      "size": 3257
    },
    "shared-references/campaign-create-preflight.md": {
      "sha256": "6ea24a4f960a5708bdb7823f4695f0ad42c0db6488cc7c48df031a7085199834",
      "size": 6591
    },
    "shared-references/consumers.json": {
      "sha256": "27d9eec20cae9bb003428f0d9794d52f85533a4a982e3b5ab7bf525be491f8c3",
      "size": 1860
    },
    "shared-references/event-quality.md": {
      "sha256": "8bccafa7d26fd7ddcd28f455553cee98de3c60f39b23d5f7fd4c59a6a9ba99af",
      "size": 4060
    },
    "shared-references/handoff-state.md": {
      "sha256": "f41de89315b839eb963b69e0b7d23bbb6409e145820d53930d9020f6a5f55b45",
      "size": 1277
    },
    "shared-references/help-center-guide.md": {
      "sha256": "6958929cdb159103c5bc591388a888056e06040d09404a48687b8a39ce2a1e98",
      "size": 5455
    },
    "shared-references/image-asset-contract.md": {
      "sha256": "b5906bb1af16e9800db936ff0655406b265608e3a13f653cc5990ffc1501bc3d",
      "size": 11023
    },
    "shared-references/insights-contract.md": {
      "sha256": "7dd821497db67cca08806a1244400a8a6a0f67e3ef04d3517682f581ad5ca4a7",
      "size": 6724
    },
    "shared-references/measurement-readiness-playbook.md": {
      "sha256": "a668a2de302c287441f47a637b0b599b92e220226c1182a0b617a4f2af456861",
      "size": 2134
    },
    "shared-references/product-feed-contract.md": {
      "sha256": "4976811b5e9380f42be41460851f0a2798a1d55db3915101e1fb7c7d441f4512",
      "size": 3578
    },
    "shared-references/write-safety.md": {
      "sha256": "1e25b51a92ac126fe7cf5a3a41c1202b2a4ba6f67d2bcae428e606dc8a66ca98",
      "size": 3437
    },
    "skills/ads-manager-account-admin/SKILL.md": {
      "sha256": "fd576fb77a9cf3f4f77259809c20e428ccb4eec1196e31192f362446fd992e58",
      "size": 10516
    },
    "skills/ads-manager-account-admin/agents/openai.yaml": {
      "sha256": "d5166e3b6cebb860691efee75a56ca44bcedf70dbbb4351f4621a9ac4add7466",
      "size": 333
    },
    "skills/ads-manager-account-admin/references/_shared/image-asset-contract.md": {
      "sha256": "b5906bb1af16e9800db936ff0655406b265608e3a13f653cc5990ffc1501bc3d",
      "size": 11023
    },
    "skills/ads-manager-account-admin/references/_shared/write-safety.md": {
      "sha256": "1e25b51a92ac126fe7cf5a3a41c1202b2a4ba6f67d2bcae428e606dc8a66ca98",
      "size": 3437
    },
    "skills/ads-manager-actionable-review/SKILL.md": {
      "sha256": "a8c002ad0d8153843a742eea7fb3e5681581bc554aa0d29a875a42a6aaca0162",
      "size": 16474
    },
    "skills/ads-manager-actionable-review/agents/openai.yaml": {
      "sha256": "f694214f4fc2fa512e58d29c23d9f7fe04fc262ab30b4dc3c5c2a5e04fbce526",
      "size": 292
    },
    "skills/ads-manager-actionable-review/references/_shared/insights-contract.md": {
      "sha256": "7dd821497db67cca08806a1244400a8a6a0f67e3ef04d3517682f581ad5ca4a7",
      "size": 6724
    },
    "skills/ads-manager-ad-creation/SKILL.md": {
      "sha256": "aebd1b6fdfd581eb8c3001e34c5ff3e390cd0846f6f585e6a52261a0efc256f5",
      "size": 43502
    },
    "skills/ads-manager-ad-creation/agents/openai.yaml": {
      "sha256": "74de43e3dc0db6758e557de3951f040ecec41fbdab622263ca67b029dc7ce5d7",
      "size": 234
    },
    "skills/ads-manager-ad-creation/references/_shared/ads-structure-and-context-playbook.md": {
      "sha256": "d00be62061570de9dd55e7433a67f7deb017a2618df51e3ce11602423d6e9dd0",
      "size": 5598
    },
    "skills/ads-manager-ad-creation/references/_shared/auction-readiness-playbook.md": {
      "sha256": "555e08e61c6cceea729238e2ef08d899c25985926c139c3118bdf92578286962",
      "size": 2059
    },
    "skills/ads-manager-ad-creation/references/_shared/audiences.md": {
      "sha256": "1c9e693e965e110c5c9e58c4c330d2dc92057784933d2b44579840dbdd5d383d",
      "size": 3257
    },
    "skills/ads-manager-ad-creation/references/_shared/campaign-create-preflight.md": {
      "sha256": "6ea24a4f960a5708bdb7823f4695f0ad42c0db6488cc7c48df031a7085199834",
      "size": 6591
    },
    "skills/ads-manager-ad-creation/references/_shared/image-asset-contract.md": {
      "sha256": "b5906bb1af16e9800db936ff0655406b265608e3a13f653cc5990ffc1501bc3d",
      "size": 11023
    },
    "skills/ads-manager-ad-creation/references/_shared/measurement-readiness-playbook.md": {
      "sha256": "a668a2de302c287441f47a637b0b599b92e220226c1182a0b617a4f2af456861",
      "size": 2134
    },
    "skills/ads-manager-ad-creation/references/_shared/product-feed-contract.md": {
      "sha256": "4976811b5e9380f42be41460851f0a2798a1d55db3915101e1fb7c7d441f4512",
      "size": 3578
    },
    "skills/ads-manager-ad-creation/references/_shared/write-safety.md": {
      "sha256": "1e25b51a92ac126fe7cf5a3a41c1202b2a4ba6f67d2bcae428e606dc8a66ca98",
      "size": 3437
    },
    "skills/ads-manager-ad-creation/references/generated-image.md": {
      "sha256": "42bc47347ddf1c2fcb49f0557020dd72d89584127880bcaff5ed4f47ef22554d",
      "size": 1299
    },
    "skills/ads-manager-ad-creation/references/multi-ad.md": {
      "sha256": "a8044c903b2bf5acb0c3e74d0fa23435e82a363f13c8505437d2a313aabe83d3",
      "size": 3638
    },
    "skills/ads-manager-ad-creation/references/retry-recovery.md": {
      "sha256": "32fd3fe8b8ae0a3209d1e52dabaaecc59f5642860621288bf039075ee359b4b7",
      "size": 383
    },
    "skills/ads-manager-ad-creation/references/website-brief.md": {
      "sha256": "7884d9da5aeb5eea26ce75f9db62e942a3157dcf8efdb0a56bbae7b2dca476a0",
      "size": 2044
    },
    "skills/ads-manager-delivery-recovery/SKILL.md": {
      "sha256": "a57a76d5ab4a6239336aa7d03c8fb336568e25f9f6f77e1797ff64ce47a515bd",
      "size": 7231
    },
    "skills/ads-manager-delivery-recovery/agents/openai.yaml": {
      "sha256": "c66c69c015ac78d3f208ba3cb4a6ce89203f06841fe9988ff0c84e8161dc6196",
      "size": 285
    },
    "skills/ads-manager-delivery-recovery/references/_shared/help-center-guide.md": {
      "sha256": "6958929cdb159103c5bc591388a888056e06040d09404a48687b8a39ce2a1e98",
      "size": 5455
    },
    "skills/ads-manager-delivery-recovery/references/_shared/insights-contract.md": {
      "sha256": "7dd821497db67cca08806a1244400a8a6a0f67e3ef04d3517682f581ad5ca4a7",
      "size": 6724
    },
    "skills/ads-manager-entity-management/SKILL.md": {
      "sha256": "0cb1038ee631f9af1848c68ce7a7864f4388a490a63931fb72d27bfc83f5ca08",
      "size": 17839
    },
    "skills/ads-manager-entity-management/agents/openai.yaml": {
      "sha256": "c465c9cebe0ee77e80c6e0083839332a1b8815d838f9eb62d610912ccc0697bc",
      "size": 276
    },
    "skills/ads-manager-entity-management/references/_shared/ads-structure-and-context-playbook.md": {
      "sha256": "d00be62061570de9dd55e7433a67f7deb017a2618df51e3ce11602423d6e9dd0",
      "size": 5598
    },
    "skills/ads-manager-entity-management/references/_shared/auction-readiness-playbook.md": {
      "sha256": "555e08e61c6cceea729238e2ef08d899c25985926c139c3118bdf92578286962",
      "size": 2059
    },
    "skills/ads-manager-entity-management/references/_shared/audiences.md": {
      "sha256": "1c9e693e965e110c5c9e58c4c330d2dc92057784933d2b44579840dbdd5d383d",
      "size": 3257
    },
    "skills/ads-manager-entity-management/references/_shared/campaign-create-preflight.md": {
      "sha256": "6ea24a4f960a5708bdb7823f4695f0ad42c0db6488cc7c48df031a7085199834",
      "size": 6591
    },
    "skills/ads-manager-entity-management/references/_shared/image-asset-contract.md": {
      "sha256": "b5906bb1af16e9800db936ff0655406b265608e3a13f653cc5990ffc1501bc3d",
      "size": 11023
    },
    "skills/ads-manager-entity-management/references/_shared/measurement-readiness-playbook.md": {
      "sha256": "a668a2de302c287441f47a637b0b599b92e220226c1182a0b617a4f2af456861",
      "size": 2134
    },
    "skills/ads-manager-entity-management/references/_shared/product-feed-contract.md": {
      "sha256": "4976811b5e9380f42be41460851f0a2798a1d55db3915101e1fb7c7d441f4512",
      "size": 3578
    },
    "skills/ads-manager-entity-management/references/_shared/write-safety.md": {
      "sha256": "1e25b51a92ac126fe7cf5a3a41c1202b2a4ba6f67d2bcae428e606dc8a66ca98",
      "size": 3437
    },
    "skills/ads-manager-help/SKILL.md": {
      "sha256": "978179646b5600abe19297ea1cd671dafec11f9fe4523cf68b3684e4708c0cd3",
      "size": 9861
    },
    "skills/ads-manager-help/agents/openai.yaml": {
      "sha256": "f58be5e02fe06f94ba88665931a2da529cb068ca81d04a44af1938021273d6a1",
      "size": 265
    },
    "skills/ads-manager-help/references/_shared/ads-structure-and-context-playbook.md": {
      "sha256": "d00be62061570de9dd55e7433a67f7deb017a2618df51e3ce11602423d6e9dd0",
      "size": 5598
    },
    "skills/ads-manager-help/references/_shared/auction-readiness-playbook.md": {
      "sha256": "555e08e61c6cceea729238e2ef08d899c25985926c139c3118bdf92578286962",
      "size": 2059
    },
    "skills/ads-manager-help/references/_shared/event-quality.md": {
      "sha256": "8bccafa7d26fd7ddcd28f455553cee98de3c60f39b23d5f7fd4c59a6a9ba99af",
      "size": 4060
    },
    "skills/ads-manager-help/references/_shared/help-center-guide.md": {
      "sha256": "6958929cdb159103c5bc591388a888056e06040d09404a48687b8a39ce2a1e98",
      "size": 5455
    },
    "skills/ads-manager-help/references/_shared/measurement-readiness-playbook.md": {
      "sha256": "a668a2de302c287441f47a637b0b599b92e220226c1182a0b617a4f2af456861",
      "size": 2134
    },
    "skills/ads-manager-help/references/_shared/product-feed-contract.md": {
      "sha256": "4976811b5e9380f42be41460851f0a2798a1d55db3915101e1fb7c7d441f4512",
      "size": 3578
    },
    "skills/ads-manager-insights/SKILL.md": {
      "sha256": "43577e0a95683796f48cb15e8ab91061504009c95edb6f510b431d49fdeb253f",
      "size": 13378
    },
    "skills/ads-manager-insights/agents/openai.yaml": {
      "sha256": "71dc94820ca1dc03f691cde9d423d887bade180729f5ec6fe18fa7ed672c2db9",
      "size": 318
    },
    "skills/ads-manager-insights/references/_shared/event-quality.md": {
      "sha256": "8bccafa7d26fd7ddcd28f455553cee98de3c60f39b23d5f7fd4c59a6a9ba99af",
      "size": 4060
    },
    "skills/ads-manager-insights/references/_shared/insights-contract.md": {
      "sha256": "7dd821497db67cca08806a1244400a8a6a0f67e3ef04d3517682f581ad5ca4a7",
      "size": 6724
    },
    "skills/ads-manager-onboarding/SKILL.md": {
      "sha256": "24a94961ed6e7577992634149ecf5107a3bc9f706d6b5c7afc272191e2c4c14b",
      "size": 24981
    },
    "skills/ads-manager-onboarding/agents/openai.yaml": {
      "sha256": "6b318dc6a1ecaa119e0823a4d4cc486ca521fb26a7e28af626d42bf7445c6dd6",
      "size": 254
    },
    "skills/ads-manager-onboarding/references/_shared/handoff-state.md": {
      "sha256": "f41de89315b839eb963b69e0b7d23bbb6409e145820d53930d9020f6a5f55b45",
      "size": 1277
    },
    "skills/ads-manager-onboarding/references/_shared/image-asset-contract.md": {
      "sha256": "b5906bb1af16e9800db936ff0655406b265608e3a13f653cc5990ffc1501bc3d",
      "size": 11023
    },
    "skills/ads-manager-onboarding/references/_shared/write-safety.md": {
      "sha256": "1e25b51a92ac126fe7cf5a3a41c1202b2a4ba6f67d2bcae428e606dc8a66ca98",
      "size": 3437
    },
    "skills/ads-manager-review/SKILL.md": {
      "sha256": "a4a459402d5c99799d49ec54e2e1978250d6bddf71e60a491e7b8d7e43548f40",
      "size": 17264
    },
    "skills/ads-manager-review/agents/openai.yaml": {
      "sha256": "fcca9fd9eed863aea67daf8727d952901c73909b882e92b5c05d682a0bab4faf",
      "size": 277
    },
    "skills/ads-manager-review/references/_shared/ads-structure-and-context-playbook.md": {
      "sha256": "d00be62061570de9dd55e7433a67f7deb017a2618df51e3ce11602423d6e9dd0",
      "size": 5598
    },
    "skills/ads-manager-review/references/_shared/auction-readiness-playbook.md": {
      "sha256": "555e08e61c6cceea729238e2ef08d899c25985926c139c3118bdf92578286962",
      "size": 2059
    },
    "skills/ads-manager-review/references/_shared/event-quality.md": {
      "sha256": "8bccafa7d26fd7ddcd28f455553cee98de3c60f39b23d5f7fd4c59a6a9ba99af",
      "size": 4060
    },
    "skills/ads-manager-review/references/_shared/handoff-state.md": {
      "sha256": "f41de89315b839eb963b69e0b7d23bbb6409e145820d53930d9020f6a5f55b45",
      "size": 1277
    },
    "skills/ads-manager-review/references/_shared/insights-contract.md": {
      "sha256": "7dd821497db67cca08806a1244400a8a6a0f67e3ef04d3517682f581ad5ca4a7",
      "size": 6724
    },
    "skills/ads-manager-review/references/_shared/measurement-readiness-playbook.md": {
      "sha256": "a668a2de302c287441f47a637b0b599b92e220226c1182a0b617a4f2af456861",
      "size": 2134
    },
    "skills/ads-manager-review/references/_shared/product-feed-contract.md": {
      "sha256": "4976811b5e9380f42be41460851f0a2798a1d55db3915101e1fb7c7d441f4512",
      "size": 3578
    },
    "skills/ads-manager-setup/SKILL.md": {
      "sha256": "43c2e8304ea4170abf709fe72c6fc016b035a9611645fe361ed3045c8c431252",
      "size": 8289
    },
    "skills/ads-manager-setup/agents/openai.yaml": {
      "sha256": "4825c66feff429483645d87355b755d39d823fe0c5e7943bec884a3b598dac7f",
      "size": 255
    },
    "skills/ads-manager-start-agent/SKILL.md": {
      "sha256": "a7b904f92c83a7fea6663b8ee87f88c73b1b44a675f65ec2fa0917bba937e045",
      "size": 15978
    },
    "skills/ads-manager-start-agent/agents/openai.yaml": {
      "sha256": "a1b1c32daa1486e4bab5d506fdc494e2a782031c4d98e76c947187f7fc100bc1",
      "size": 272
    },
    "skills/ads-manager-start-agent/references/_shared/handoff-state.md": {
      "sha256": "f41de89315b839eb963b69e0b7d23bbb6409e145820d53930d9020f6a5f55b45",
      "size": 1277
    },
    "skills/ads-manager-starter-campaign/SKILL.md": {
      "sha256": "827ba661305927f4ed6c53d5488319048029a3c8317f3e7e07e84f4f05c0abbc",
      "size": 14542
    },
    "skills/ads-manager-starter-campaign/agents/openai.yaml": {
      "sha256": "74925e919173f528cd123b18e3f6a94ba2c9f98349ed4054d6d6c32de02f956d",
      "size": 289
    },
    "skills/ads-manager-starter-campaign/references/_shared/ads-structure-and-context-playbook.md": {
      "sha256": "d00be62061570de9dd55e7433a67f7deb017a2618df51e3ce11602423d6e9dd0",
      "size": 5598
    },
    "skills/ads-manager-starter-campaign/references/_shared/auction-readiness-playbook.md": {
      "sha256": "555e08e61c6cceea729238e2ef08d899c25985926c139c3118bdf92578286962",
      "size": 2059
    },
    "skills/ads-manager-starter-campaign/references/_shared/campaign-create-preflight.md": {
      "sha256": "6ea24a4f960a5708bdb7823f4695f0ad42c0db6488cc7c48df031a7085199834",
      "size": 6591
    },
    "skills/ads-manager-starter-campaign/references/_shared/handoff-state.md": {
      "sha256": "f41de89315b839eb963b69e0b7d23bbb6409e145820d53930d9020f6a5f55b45",
      "size": 1277
    },
    "skills/ads-manager-starter-campaign/references/_shared/image-asset-contract.md": {
      "sha256": "b5906bb1af16e9800db936ff0655406b265608e3a13f653cc5990ffc1501bc3d",
      "size": 11023
    },
    "skills/ads-manager-starter-campaign/references/_shared/write-safety.md": {
      "sha256": "1e25b51a92ac126fe7cf5a3a41c1202b2a4ba6f67d2bcae428e606dc8a66ca98",
      "size": 3437
    },
    "tests/test_action_ownership_contract.py": {
      "sha256": "28b1284d59b5ea12495f31d602a7c2e98dd39ef6e724bf43b5fdd54405d56c16",
      "size": 8346
    },
    "tests/test_creative_generation_contract.py": {
      "sha256": "da74830069a5459d865a20d8e0acbd95c48ccecf5876d1d9baa859fa78556b75",
      "size": 5090
    },
    "tests/test_reference_loading_contract.py": {
      "sha256": "8f1a018bb10526d612f37e6860399dc0aee67cb14d7ffc60ebd59ea73dc031df",
      "size": 3266
    }
  }
}

SHA-256 of public snapshot: d991805fe09a8fea72e11b857af0814964958fe32b82409de4d8712f1dffaf37