Pre-flight ad product catalog validation for all create/update operations - #39
Open
MiniRodz wants to merge 8 commits into
Open
Pre-flight ad product catalog validation for all create/update operations#39MiniRodz wants to merge 8 commits into
MiniRodz wants to merge 8 commits into
Conversation
Adds a mandatory GET /ad_product_catalog step before entity creation across all skills to validate field values against ad product rules. When ad_product is UNSET/UNKNOWN/unspecified, AUCTION rules apply. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The catalog fetch happens in an early step, but agents lose track of it by the time they reach the individual create curls for campaigns, ad sets, and ads. This adds a validation reminder directly before each create curl in drafts (4a/4b/4c), build-campaign (4a/4b/4c), and clone (6a/6b/6c). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Three changes to the ad product catalog validation: 1. Always fetch the parent campaign to determine its ad_product before validating child entities (ad sets, ads). For multi-step flows, use the ad_product from the campaign creation response. 2. Cache the catalog response for 15 minutes — reuse within the TTL, fetch again after expiry. 3. Add catalog validation before update (PATCH) operations on campaigns, ad sets, ads, draft edits, and bulk budget changes. Status-only operations (pause/resume/delivery/archive) are excluded. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds a visible ⛔ CHECKPOINT pattern requiring agents to print a ✅/❌ validation summary for every field checked against the ad product catalog rules before executing any create or update request. This makes it impossible for agents to skip validation silently. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When catalog validation finds a failing field, the agent now presents a recommended fix and asks the user to either accept the recommendation or provide their own value. No auto-correction — the user always decides. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds the response schema for GET /ad_product_catalog to endpoints.md, showing the create/update/both rule separation per entity type. Updates all skills to reference the correct rule section based on the operation: create rules + both for POSTs, update rules + both for PATCHes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
MiniRodz
marked this pull request as ready for review
July 29, 2026 07:16
amurph491
reviewed
Jul 30, 2026
Migrate all ad product catalog fetch and campaign lookup curl commands to use the api() request wrapper added in spotify#35. This aligns the catalog validation steps with the rest of the skills. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
GET /ad_product_catalogpre-flight step before all entity create and update operationsad_product; defaults toAUCTIONrules whenUNSET/UNKNOWN/not specifiedcreate/update/bothrule sections and displays a ✅/❌ checkpoint summarySkills updated
drafts— build flow (create + edit)build-campaign— direct creation flowcampaigns— create + updateads— ad-sets create/update, ads create/updateclone— cloned entity creationbulk— budget updates + creative swapcampaign-strategy— API targetability validationapi-reference— endpoint listing + response schema in endpoints.mdTest plan
GET /ad_product_catalogis called before the POST🤖 Generated with Claude Code