← ChatGPT Ads ManagerCONTENT HISTORY

Update to ChatGPT Ads Manager

Snapshot Oct 2, 2026 · 00:03 UTC · version 0.1.26

WHAT CHANGED · RULE-BASED ANALYSIS

Package or technical metadata updated

Package contents changed in 24 files: .codex-plugin/plugin.json, action_ownership.json, shared-references/consumers.json, …. 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

430938e04cf46634a71808814d4cf0b40fc4b645151b7ae64206c646f734a43c

After

6d68c88ae516c23b4a5740803ed1536b3aa7d67af2b26d5ced3ec99c58efd61b

Package file

Before

94be2d8f26e0df1f8fdb73ff27a4faa494d22a0259f648aed5979c51cf716a5d

After

9ca1026ec857c0dc70f23c8cb0872cf3d70e5f954dec66b34e743b9955d6f73b

Package file

Before

8576

After

9315

Package file

Before

324022ca3a84e579eaccdae81f3c2b5c2bcff423d55dc9bd09ed96e0be3b7781

After

766609dfa620e9914600e28e3f34ca2716f6b199fbb1a0cc653e365f3f7cbd7c

Compare saved observations

Download comparison JSON

skills/ads-manager-starter-campaign/references/_shared/write-safety.md

--- before
+++ after
@@ -0,0 +1,13 @@
+# Shared Ads Manager Write Safety
+
+- After every create or upload, treat the write as succeeded only when the tool call succeeds and returns the expected resource id or file id. Retain successful ids for later steps and do not claim success from a missing or ambiguous result.
+- Treat tool-schema or local input validation failures before a POST as Not attempted. Correct them only after any required confirmation; no resource was created for that preflight failure.
+- In a multi-step flow, explicitly report Succeeded, Failed, and Not attempted steps; stop dependent creation after a failed or ambiguous parent step. Never recreate a successful account, campaign, ad group, ad, logo upload, or creative upload; reuse returned parent ids and file ids. After a failed step, propose the smallest safe correction that directly addresses the failure and unblocks the next dependent step, then ask for approval before any corrected retry or other consequential write. Ask for missing inputs for later dependent steps only after that retry succeeds.
+- Retry an ambiguous campaign, ad-group, or ad create only with the exact same request body and idempotency key. If a correction changes the body or approved semantics, confirm it and use a new key. Account, logo, and creative uploads lack the same retry guarantee; inspect current Ads Manager state before another write and never blindly repeat them after an ambiguous outcome.
+
+- Treat every create, update, and upload as consequential. Before writing, confirm the selected account, the target resource for an update, and the exact payload.
+- Before any account-scoped write, maintain an account-scoped provenance ledger. Use campaign, ad-group, ad, feed, and file ids only when copied verbatim from a successful list or get result for the currently selected ad_account_id, or from a successful create or upload in the current flow for that account. Never synthesize, edit, truncate, reuse from another account, or copy ids from user text, examples, prior errors, or stale memory. An account change invalidates all prior account-scoped ids. Only a resource-specific 404 invalidates the requested id; treat dependent ids as untrusted until revalidated. Re-resolve from a fresh selected-account list or get result before retrying and never resend a known-stale id unchanged. After reauthentication or an ambiguous result, revalidate affected state before continuing.
+- Immediately before any create, validate the approved plan against the live create schema and construct the smallest schema-valid payload; treat the schema as the allowed shape, not a template to fill. Include required fields and explicitly selected optional fields only; do not materialize omitted fields as `null`, empty arrays, or empty objects, and do not copy preview, list, get, or example fields into a write. If schema validation fails, use structured validation issues when available to correct only the indicated fields; do not retry an identical payload or guess a patch.
+- A retry that changes the prior payload is a new consequential write. Show the correction and obtain confirmation again before sending it.
+- Resolve ids from names. Default spend-capable resources to paused unless the user explicitly requested active, and follow every tool-specific monetary guardrail.
+- Automation approval must bound spend, bids, end conditions, and creation count or frequency. Never infer open-ended monetary authority.
Full technical diff · 39 changed fields

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

BEFORE
"430938e04cf46634a71808814d4cf0b40fc4b645151b7ae64206c646f734a43c"
AFTER
"6d68c88ae516c23b4a5740803ed1536b3aa7d67af2b26d5ced3ec99c58efd61b"

changed /files/action_ownership.json/sha256

BEFORE
"94be2d8f26e0df1f8fdb73ff27a4faa494d22a0259f648aed5979c51cf716a5d"
AFTER
"9ca1026ec857c0dc70f23c8cb0872cf3d70e5f954dec66b34e743b9955d6f73b"

changed /files/action_ownership.json/size

BEFORE
8576
AFTER
9315

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

BEFORE
"324022ca3a84e579eaccdae81f3c2b5c2bcff423d55dc9bd09ed96e0be3b7781"
AFTER
"766609dfa620e9914600e28e3f34ca2716f6b199fbb1a0cc653e365f3f7cbd7c"

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

BEFORE
1552
AFTER
1768

changed /files/shared-references~1handoff-state.md/sha256

BEFORE
"a0eacbeabbda5e1cd43609adf669fbd268360ef58fb2e7d34c212f6cd6380294"
AFTER
"f41de89315b839eb963b69e0b7d23bbb6409e145820d53930d9020f6a5f55b45"

changed /files/shared-references~1handoff-state.md/size

BEFORE
342
AFTER
1277

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

BEFORE
"f3b3899a20107d3f49747f4208d2bfd2c010476d1e6939295ad10686ac51f9f7"
AFTER
"97813ac10fdfa47351603404245379136ce19652079dc5473365e9d727e783ef"

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

BEFORE
8593
AFTER
10890

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

BEFORE
"f3b3899a20107d3f49747f4208d2bfd2c010476d1e6939295ad10686ac51f9f7"
AFTER
"97813ac10fdfa47351603404245379136ce19652079dc5473365e9d727e783ef"

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

BEFORE
8593
AFTER
10890

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

BEFORE
"344e5831d48a8d33fde0760904a591367828a484841bb0a6049e40e8322a5f63"
AFTER
"9cd50aa036ec1def28251b5dc72f2c37553dad5246895283c46635a0e2f96856"

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

BEFORE
41401
AFTER
42124

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

BEFORE
"f3b3899a20107d3f49747f4208d2bfd2c010476d1e6939295ad10686ac51f9f7"
AFTER
"97813ac10fdfa47351603404245379136ce19652079dc5473365e9d727e783ef"

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

BEFORE
8593
AFTER
10890

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

BEFORE
"f3b3899a20107d3f49747f4208d2bfd2c010476d1e6939295ad10686ac51f9f7"
AFTER
"97813ac10fdfa47351603404245379136ce19652079dc5473365e9d727e783ef"

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

BEFORE
8593
AFTER
10890

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

BEFORE
"717e8a782ba262ca50e4d9a7673fe123e0977b528a76687e5bca9ef4cd5cddf8"
AFTER
"bc03bb0cf899a4c3296a1520b8cf141afd9aac93b4ba4f0aef2dc1ac46ca5027"

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

BEFORE
20861
AFTER
22268

changed /files/skills~1ads-manager-onboarding~1references~1_shared~1handoff-state.md/sha256

BEFORE
"a0eacbeabbda5e1cd43609adf669fbd268360ef58fb2e7d34c212f6cd6380294"
AFTER
"f41de89315b839eb963b69e0b7d23bbb6409e145820d53930d9020f6a5f55b45"

changed /files/skills~1ads-manager-onboarding~1references~1_shared~1handoff-state.md/size

BEFORE
342
AFTER
1277

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

BEFORE
"f3b3899a20107d3f49747f4208d2bfd2c010476d1e6939295ad10686ac51f9f7"
AFTER
"97813ac10fdfa47351603404245379136ce19652079dc5473365e9d727e783ef"

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

BEFORE
8593
AFTER
10890

changed /files/skills~1ads-manager-review~1references~1_shared~1handoff-state.md/sha256

BEFORE
"a0eacbeabbda5e1cd43609adf669fbd268360ef58fb2e7d34c212f6cd6380294"
AFTER
"f41de89315b839eb963b69e0b7d23bbb6409e145820d53930d9020f6a5f55b45"

changed /files/skills~1ads-manager-review~1references~1_shared~1handoff-state.md/size

BEFORE
342
AFTER
1277

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

BEFORE
"9867d87444bb7c3722e4ad713a4038d1b6fe5e527e78fca202a91cdb019d764a"
AFTER
"43c2e8304ea4170abf709fe72c6fc016b035a9611645fe361ed3045c8c431252"

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

BEFORE
7317
AFTER
8289

changed /files/skills~1ads-manager-start-agent~1references~1_shared~1handoff-state.md/sha256

BEFORE
"a0eacbeabbda5e1cd43609adf669fbd268360ef58fb2e7d34c212f6cd6380294"
AFTER
"f41de89315b839eb963b69e0b7d23bbb6409e145820d53930d9020f6a5f55b45"

changed /files/skills~1ads-manager-start-agent~1references~1_shared~1handoff-state.md/size

BEFORE
342
AFTER
1277

added /files/skills~1ads-manager-starter-campaign~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "827ba661305927f4ed6c53d5488319048029a3c8317f3e7e07e84f4f05c0abbc",
  "size": 14542
}

added /files/skills~1ads-manager-starter-campaign~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "74925e919173f528cd123b18e3f6a94ba2c9f98349ed4054d6d6c32de02f956d",
  "size": 289
}

added /files/skills~1ads-manager-starter-campaign~1references~1_shared~1ads-structure-and-context-playbook.md

BEFORE
Field was absent
AFTER
{
  "sha256": "d00be62061570de9dd55e7433a67f7deb017a2618df51e3ce11602423d6e9dd0",
  "size": 5598
}

added /files/skills~1ads-manager-starter-campaign~1references~1_shared~1auction-readiness-playbook.md

BEFORE
Field was absent
AFTER
{
  "sha256": "555e08e61c6cceea729238e2ef08d899c25985926c139c3118bdf92578286962",
  "size": 2059
}

added /files/skills~1ads-manager-starter-campaign~1references~1_shared~1campaign-create-preflight.md

BEFORE
Field was absent
AFTER
{
  "sha256": "6ea24a4f960a5708bdb7823f4695f0ad42c0db6488cc7c48df031a7085199834",
  "size": 6591
}

added /files/skills~1ads-manager-starter-campaign~1references~1_shared~1handoff-state.md

BEFORE
Field was absent
AFTER
{
  "sha256": "f41de89315b839eb963b69e0b7d23bbb6409e145820d53930d9020f6a5f55b45",
  "size": 1277
}

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

BEFORE
Field was absent
AFTER
{
  "sha256": "97813ac10fdfa47351603404245379136ce19652079dc5473365e9d727e783ef",
  "size": 10890
}

added /files/skills~1ads-manager-starter-campaign~1references~1_shared~1write-safety.md

BEFORE
Field was absent
AFTER
{
  "sha256": "1e25b51a92ac126fe7cf5a3a41c1202b2a4ba6f67d2bcae428e606dc8a66ca98",
  "size": 3437
}

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

BEFORE
"a9525a417834c5a594545f6ff70081fcb9ad4506e8e8e298527abe23eafe0670"
AFTER
"0c8bc2a6e56ff84f7ba8549e513ed0bd178bc8632cea3c0c8c6a35d9f85e7a77"

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

BEFORE
8038
AFTER
8321
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "3180d05dc7ec07cd13350cdb3e78c71a806a3020973e9fed4ce1e1e158ada8a5",
      "size": 89
    },
    ".codex-plugin/plugin.json": {
      "sha256": "6d68c88ae516c23b4a5740803ed1536b3aa7d67af2b26d5ced3ec99c58efd61b",
      "size": 2363
    },
    "OWNERS": {
      "sha256": "f6e0b6dd73dd25cb708b1fcee790136c9b4accac838a271723be3c1d99f47cee",
      "size": 39
    },
    "README.md": {
      "sha256": "67cf86fe36b2a1e1e468124a023de0e9ffbc9b93b435356acde09e87f21993a2",
      "size": 5618
    },
    "action_ownership.json": {
      "sha256": "9ca1026ec857c0dc70f23c8cb0872cf3d70e5f954dec66b34e743b9955d6f73b",
      "size": 9315
    },
    "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/campaign-create-preflight.md": {
      "sha256": "6ea24a4f960a5708bdb7823f4695f0ad42c0db6488cc7c48df031a7085199834",
      "size": 6591
    },
    "shared-references/consumers.json": {
      "sha256": "766609dfa620e9914600e28e3f34ca2716f6b199fbb1a0cc653e365f3f7cbd7c",
      "size": 1768
    },
    "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": "97813ac10fdfa47351603404245379136ce19652079dc5473365e9d727e783ef",
      "size": 10890
    },
    "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": "d6767d1a9fc175dbb99efc29db3281a6b9fe0f0fe46dc82e620f227565fbe45f",
      "size": 9698
    },
    "skills/ads-manager-account-admin/agents/openai.yaml": {
      "sha256": "d5166e3b6cebb860691efee75a56ca44bcedf70dbbb4351f4621a9ac4add7466",
      "size": 333
    },
    "skills/ads-manager-account-admin/references/_shared/image-asset-contract.md": {
      "sha256": "97813ac10fdfa47351603404245379136ce19652079dc5473365e9d727e783ef",
      "size": 10890
    },
    "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": "9cd50aa036ec1def28251b5dc72f2c37553dad5246895283c46635a0e2f96856",
      "size": 42124
    },
    "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/campaign-create-preflight.md": {
      "sha256": "6ea24a4f960a5708bdb7823f4695f0ad42c0db6488cc7c48df031a7085199834",
      "size": 6591
    },
    "skills/ads-manager-ad-creation/references/_shared/image-asset-contract.md": {
      "sha256": "97813ac10fdfa47351603404245379136ce19652079dc5473365e9d727e783ef",
      "size": 10890
    },
    "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": "087f31b5fcad399937725c84a247a29ff2c77441eac819197a45f75eebba2959",
      "size": 893
    },
    "skills/ads-manager-delivery-recovery/SKILL.md": {
      "sha256": "16692f80ad5676e96e55eb4b317874f9498308d798f5f0a32843c2b8236d1bdc",
      "size": 6309
    },
    "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": "8d6272d37354ecdc530c8a22d43d8b159b5841707f19110dbf2b10e6deeea469",
      "size": 17447
    },
    "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/campaign-create-preflight.md": {
      "sha256": "6ea24a4f960a5708bdb7823f4695f0ad42c0db6488cc7c48df031a7085199834",
      "size": 6591
    },
    "skills/ads-manager-entity-management/references/_shared/image-asset-contract.md": {
      "sha256": "97813ac10fdfa47351603404245379136ce19652079dc5473365e9d727e783ef",
      "size": 10890
    },
    "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": "5402cdc30d61300eceb5db3f955584c6f81f9f65c4b76c9dff7dcef9ab14acab",
      "size": 8583
    },
    "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": "bc03bb0cf899a4c3296a1520b8cf141afd9aac93b4ba4f0aef2dc1ac46ca5027",
      "size": 22268
    },
    "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": "97813ac10fdfa47351603404245379136ce19652079dc5473365e9d727e783ef",
      "size": 10890
    },
    "skills/ads-manager-onboarding/references/_shared/write-safety.md": {
      "sha256": "1e25b51a92ac126fe7cf5a3a41c1202b2a4ba6f67d2bcae428e606dc8a66ca98",
      "size": 3437
    },
    "skills/ads-manager-review/SKILL.md": {
      "sha256": "689655607379f81d99f10aecfe3249d8993d2d537824cb22a01972e235718d59",
      "size": 16340
    },
    "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": "97813ac10fdfa47351603404245379136ce19652079dc5473365e9d727e783ef",
      "size": 10890
    },
    "skills/ads-manager-starter-campaign/references/_shared/write-safety.md": {
      "sha256": "1e25b51a92ac126fe7cf5a3a41c1202b2a4ba6f67d2bcae428e606dc8a66ca98",
      "size": 3437
    },
    "tests/test_action_ownership_contract.py": {
      "sha256": "0c8bc2a6e56ff84f7ba8549e513ed0bd178bc8632cea3c0c8c6a35d9f85e7a77",
      "size": 8321
    },
    "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: 0b439e1c7f87e9ca57a70f7da458418f91818698d6444eeccc7dedcd6f1f4b83