agentleFS
Eugenevdm01Eugenevdm01/eugenes-meta-agent/skills/meta-live-campaign-launch-operator/SKILL.md

meta-live-campaign-launch-operator

Skill4 starsChanged 6 months agoMITView on GitHub

Reusable Meta Ads live campaign launch and update workflow. Use for: safely updating an existing Meta campaign, correcting ad destination URLs/headlines, uploading new video assets, creating additional ad sets/ads with budgets and end dates, activating only after explicit user approval, QA-checking live delivery objects, handling API rate limits, and producing handover reports for Funnel Junkies, Van Studios, webinar, challenge, and paid-ticket campaigns.

The file

Show its rules and text

We split this skill into the rules it gives an agent

13 rules. About 0 are common, 10 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈10

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Keep access tokens, ad account IDs, and raw API credentials out of user-facing reports unless the user already provided those IDs and they …

    line 16
  2. Very specific:

    Read this skill, then read meta-safe-campaign-builder and meta-paid-ads-challenge-operator when the campaign is a challenge, webinar, …

    line 40
  3. Distinctive:

    Before making changes, inspect the target campaign, ad set, ad, and creative.

    line 44
  4. Distinctive:

    Use read-only calls first.

    line 46
  5. Distinctive:

    If the video is still processing, wait and recheck.

    line 58
  6. Distinctive:

    When adding a second video test, create a separate creative and ad, even if the copy and URL match the first creative.

    line 64
  7. Distinctive:

    When adding a new ad set inside the same campaign, mirror the existing ad set’s proven structure unless the user requested a different …

    line 68
  8. Very specific:

    If approval is active, set the campaign, relevant ad sets, and relevant ads to ACTIVE.

    line 74
  9. Distinctive:

    Do not activate unrelated ad sets or legacy ads inside the same campaign.

    line 76
  10. Distinctive:

    Run individual or batch read calls after the write calls.

    line 80
  11. Distinctive:

    If Meta returns a rate-limit error after write calls, stop non-essential API calls, save the partial result, and retry later with a …

    line 93
  12. Distinctive:

    Write a Markdown handover with the final object map, statuses, URLs, budgets, end dates, QA results, any rate-limit or review notes, where …

    line 97
  13. Very specific:

    Use scripts/meta_live_update_from_config.py for a reusable config-driven implementation pattern.

    line 117

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Meta Live Campaign Launch Operator

Use this skill when a Meta campaign already exists or has just been published and the user asks to make live changes, such as correcting URLs, changing headlines, adding another video ad set, setting end dates, activating delivery, or confirming that live objects are configured correctly. This skill turns the VAN Studios workflow into a repeatable campaign-operations process.

This skill complements meta-safe-campaign-builder. Use meta-safe-campaign-builder for first-time paused creation. Use this skill when the task involves live updates or approved activation.

Non-Negotiable Safety Rule

Never publish, activate, edit URLs, change budgets, pause delivery, or create new active delivery objects unless the user has explicitly approved that live action in the current task. If the user says they are happy for you to publish or activate, treat that as approval for the specified objects only. Do not infer approval for additional campaigns, budgets, or unrelated assets.

Keep access tokens, ad account IDs, and raw API credentials out of user-facing reports unless the user already provided those IDs and they are necessary operational IDs. Never include tokens in Markdown handovers.

Required Inputs

Confirm these before write calls. If one is missing and cannot be recovered from existing campaign objects, ask the user or perform read-only inspection first.

InputRequired For
Campaign IDConfirm the exact campaign to update.
Existing ad set/ad IDsUpdate current creative or mirror targeting and attribution.
Ad account IDCreate new ad sets, creatives, assets, and ads.
Page ID and Instagram actor IDBuild video or link ad object story specs.
Pixel ID and eventKeep optimization aligned to purchase/lead event.
Destination URLCTA link and message-match QA.
Headline and copyCreative payload and final QA.
Video/image file pathUpload new asset and extract thumbnail if needed.
BudgetConvert to minor units, e.g. ZAR R1,000/day = 100000.
Start/end dateEspecially for event/challenge campaigns.
User approvalRequired before any active delivery change.

Standard Workflow

1. Load Dependencies and Local Instructions

Read this skill, then read meta-safe-campaign-builder and meta-paid-ads-challenge-operator when the campaign is a challenge, webinar, paid-ticket event, Funnel Junkies campaign, or Van Studios campaign. Check for local AGENTS.md instructions before editing files or scripts.

2. Run a Read-Only Preflight

Before making changes, inspect the target campaign, ad set, ad, and creative. Save a sanitized JSON preflight file. Confirm the campaign objective, budget level, current statuses, promoted object, targeting, attribution, existing creative URL, existing headline, and whether the campaign is already live or in review.

Use read-only calls first. If the preflight shows the wrong campaign, wrong account, wrong pixel, or unexpected budget, stop and ask for confirmation.

3. Prepare a Change Plan

Create a short implementation plan that separates confirmed facts from intended changes. The plan should state which existing ad will be updated, what new ad set/ad will be created, the URL, headline, budget, event end date, and whether objects will be created paused or active.

For live updates, explicitly record the user’s approval phrase or request in the script output as intent: LIVE_UPDATE_APPROVED_BY_USER or equivalent.

4. Upload New Video and Thumbnail

For MOV/MP4 files, use chunked video upload through graph-video.facebook.com. Extract a thumbnail frame with ffmpeg, upload it to /act_{ad_account_id}/adimages, and use the returned image_hash inside video_data. Poll video status using safe fields only: id, title, status, and created_time.

If the video is still processing, wait and recheck. Do not create duplicate videos unless the upload failed before returning a video ID.

5. Create or Update Creatives

Meta ad creative content is not reliably editable in place. Prefer creating a new creative with the corrected URL, headline, copy, CTA, video ID, and thumbnail hash, then attach that creative to the existing ad. This preserves traceability and avoids partial creative edits.

When adding a second video test, create a separate creative and ad, even if the copy and URL match the first creative. This makes ad-level reporting clean.

6. Create Additional Ad Set and Ad

When adding a new ad set inside the same campaign, mirror the existing ad set’s proven structure unless the user requested a different audience. Reuse targeting, attribution, optimization event, bid strategy, and promoted object. Apply the requested daily budget and end date.

For event campaigns, if the user says the campaign should finish on the event start day, set the end time to the end of that day in the account’s relevant timezone unless they explicitly request a morning cutoff. This avoids cutting delivery off at the beginning of the event day.

7. Activate Only Approved Objects

If approval is active, set the campaign, relevant ad sets, and relevant ads to ACTIVE. If approval is not active, create all new delivery objects as PAUSED and hand over launch instructions.

Do not activate unrelated ad sets or legacy ads inside the same campaign. Activate only the objects scoped in the user’s request.

8. Run Final QA

Run individual or batch read calls after the write calls. Confirm:

QA AreaRequired Confirmation
CampaignCorrect ID, name, objective, status, and effective_status.
Existing ad setCorrect budget, active/paused state, start/end date.
Existing adCorrect creative ID attached and expected delivery state.
Existing updated creativeCorrect affiliate/destination URL and headline.
New ad setCorrect campaign, budget, end date, promoted object, targeting, attribution.
New videoStatus is ready or processing state is clearly documented.
New creativeCorrect video ID, image hash, headline, CTA, and URL.
New adCorrect ad set, creative, status, configured status, and campaign.

If Meta returns a rate-limit error after write calls, stop non-essential API calls, save the partial result, and retry later with a lightweight batch QA. Do not keep hammering the API.

9. Deliver a Handover

Write a Markdown handover with the final object map, statuses, URLs, budgets, end dates, QA results, any rate-limit or review notes, where to find the ads in Ads Manager, and the next monitoring checklist. Attach the handover and sanitized JSON files.

Rate Limit and Partial Success Rules

Meta can accept write calls and then rate-limit broad list or QA calls. If this happens, read the saved result JSON before retrying. Determine which objects were already created, then run the smallest possible QA query. Do not rerun the full creation script unless it is idempotent and checks for existing object IDs.

SituationCorrect Response
Creative created, ad update failedResume by attaching the created creative to the ad.
New ad set created, ad creation failedResume from the new ad set ID and create only the missing creative/ad.
Video uploaded but QA rate-limitedSave video ID and recheck status later.
Campaign activated but final list call failedUse lightweight batch QA for exact object IDs.
User asks to publish after paused setupConfirm the exact objects and then activate only those objects.

Performance-Marketing Guardrails

Optimize for qualified purchases and downstream business outcomes, not cheap clicks. After launch, monitor cost per purchase, landing-page-view rate, checkout completion, buyer quality, attendance, booking rate, and ascension quality. For challenge campaigns, the first 24 hours are a controlled learning window, not a scale window.

Bundled Resources

Use scripts/meta_live_update_from_config.py for a reusable config-driven implementation pattern. Use templates/live_update_config.example.json to create a campaign-specific config file. Use templates/live_update_handover_template.md when writing the final handover.

Completion Criteria

A task using this skill is complete when the requested live changes are either fully applied and QA-confirmed, or a specific blocker is documented with object IDs, partial-success status, and the next safe recovery step. The final response must include the key object IDs and attach the handover plus sanitized QA files.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.