Create Campaign

Provision Meta campaigns and ad sets from declarative YAML configs.

Updated Jun 2, 2026
One-click install
npx skills add https://github.com/Atrium-Hermes/atrium-lighthouse --skill create-campaign-atrium-hermes
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: Create Campaign
Source: https://github.com/Atrium-Hermes/atrium-lighthouse/tree/main/skills/create-campaign
Command: npx skills add https://github.com/Atrium-Hermes/atrium-lighthouse --skill create-campaign-atrium-hermes

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Manual provisioning of Meta campaigns and ad sets is time-consuming and error-prone. This skill automates declaring campaigns/ad sets in a declarative config and queues them for postprocessing, ensuring consistency and safe, repeatable deployments.

Core Features & Use Cases

  • On-demand provisioning of Meta campaigns and ad sets from a YAML config, with paused-by-default state.
  • Idempotent behavior by tracking created campaigns/ad sets in .admanage-state and skipping existing entries.
  • Safety features including dry-run mode and pre-flight validation, plus queueing to .pending-admanage/creates for postprocess execution.
  • Postprocess integration writes final IDs to the state file and enables downstream scheduling/activation.

Quick Start

Define your campaigns in skills/create-campaign/config.yaml and run the skill to queue new campaigns and ad sets for creation.

Frequently Asked Questions about Create Campaign

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate Meta campaign provisioning without creating duplicate ad sets?▼

You can automate Meta campaign provisioning by defining campaigns in a declarative YAML config. The workflow maintains idempotent state via an admanage-state file, skipping existing entries during execution to prevent duplicates.

Can I test Meta ads creation safely before pushing changes to the live API?▼

Yes, you can test Meta ads creation safely using a built-in dry-run mode. This feature performs pre-flight validation and queues payloads locally in a pending directory without triggering actual Meta API calls.

What is the best way to manage paused-by-default Meta campaigns from a config file?▼

The best way to manage paused-by-default Meta campaigns is using a declarative YAML config. The automation reads this config to queue new campaigns and ad sets, ensuring they remain paused until a postprocess step activates them.

How does postprocess execution work for queued Meta ad sets?▼

Postprocess execution handles the actual Meta API calls for queued ad sets. After execution, it writes the final generated IDs back to the state file and notifies operators, enabling downstream scheduling and activation.

Why does my declarative workflow skip certain campaigns during ad creation?▼

A declarative workflow skips campaigns during ad creation to enforce idempotent behavior. It checks a local state file for existing entries and proactively skips them to prevent duplicate campaigns and ad sets.

Do I need a separate postprocess step to finalize Meta campaign creation?▼

Yes, you need a separate postprocess step to finalize Meta campaign creation. The initial execution only validates inputs and queues payloads locally, deferring actual API calls to this subsequent postprocess execution phase.