Skip to content

Add openai-ads domain skill; fill uploads interaction skill stub - #565

Open
CrestViewFl wants to merge 1 commit into
browser-use:mainfrom
CrestViewFl:openai-ads-domain-skill
Open

Add openai-ads domain skill; fill uploads interaction skill stub#565
CrestViewFl wants to merge 1 commit into
browser-use:mainfrom
CrestViewFl:openai-ads-domain-skill

Conversation

@CrestViewFl

@CrestViewFl CrestViewFl commented Jul 28, 2026

Copy link
Copy Markdown

What

  • domain-skills/openai-ads/ads-manager.md (new): field-tested map of the OpenAI Ads Manager beta (ads.openai.com) — campaign/ad-group/ad structure and which settings live at which level, the two create flows, placeholder-based field location (no stable ids), soft truncation warnings, async skeleton statuses, and the main trap: a stuck grey image attachment tile that hides the real file input until its X is clicked.
  • interaction-skills/uploads.md: was an empty stub. Documented the three-tier upload approach: existing input[type=file] via DOM.setFileInputFiles, dynamic inputs via Page.setInterceptFileChooserDialog + fileChooserOpenedbackendNodeId, and the stuck-preview case that reveals an input after removal.

Why

Learned while publishing a real campaign end to end (campaign → ad group → ad → image upload → publish → serving). The image-upload trap alone cost several probe rounds; the next agent should not pay that tax.

No secrets, account ids, or pixel coordinates included.

🤖 Generated with Claude Code


Summary by cubic

Adds an OpenAI Ads Manager domain skill and a reliable file upload flow. This helps agents create and publish ads and handle tricky image uploads on ads.openai.com.

  • New Features
    • Added domain-skills/openai-ads/ads-manager.md: structure (campaign → ad group → ad), create flows, field locators by placeholder/value, soft truncation warnings, async skeleton states, and fix for the stuck grey image tile (click X to reveal the real file input).
    • Filled interaction-skills/uploads.md: 3-step upload approach—(1) direct input[type=file] via CDP DOM.setFileInputFiles, (2) dynamic inputs via Page.setInterceptFileChooserDialog + fileChooserOpened backendNodeId, (3) remove stale preview tiles when no chooser event; includes post-upload verification and drag-and-drop note.

Written for commit 9745d40. Summary will update on new commits.

Review in cubic

- domain-skills/openai-ads/ads-manager.md: campaign/ad-group/ad structure,
  create flows, placeholder-based field location, the stuck image-attachment
  trap (remove X to reveal the real file input), async skeleton statuses.
- interaction-skills/uploads.md: was an empty stub; document the three-tier
  upload approach (existing file input, setInterceptFileChooserDialog +
  fileChooserOpened backendNodeId, stuck-preview removal).
@browser-harness-review

Copy link
Copy Markdown

✅ Skill review passed

Reviewed 2 file(s) — no findings.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 2 files

Re-trigger cubic

@Kastan97 Kastan97 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ollie (CTO) Review: APPROVED

What this does: Adds an OpenAI Ads Manager domain skill (44 lines) documenting the campaign/ad-group/ad structure, create flows, field locators, and the grey image-tile upload trap. Also fills the uploads interaction skill stub (23 lines) with a three-tier upload approach using CDP APIs.

Assessment: Clean, field-tested documentation. No code changes. The image-tile trap documentation is genuinely valuable — saves agents from repeating probe rounds. No secrets or account identifiers included.

Good to merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants