/ads launch --draft
Draft a campaign mutation plan without changing the account
/ads launch --draftInstalled as a plugin? The same command is namespaced: /claude-ads:ads launch --draft
What it does
Assembles a complete, deterministic launch plan for a new campaign: exact proposed objects, before and after state, blast radius, and rollback, all without touching the account. Applying the plan is a separate, explicitly approved step that only works for capability-tested operations.
Use it to
- Draft a full campaign launch for review before anything goes live
- Produce an exact before-and-after diff a client or manager can approve
- Verify tracking, policy eligibility, and budget ceilings before launch day
- Prepare creative upload and activation as a reviewable mutation plan
- Apply an approved launch through capability-gated adapters, when enabled
How it works
Load the full context
Setup profile, account snapshot, campaign plan, creative manifest, capability manifest, policy findings, and tracking checks.
Check completeness
A draft is refused if scope, objective, conversion, budget, dates, targeting, assets, destinations, measurement, or policy eligibility is missing.
Produce the mutation plan
Exact proposed objects, before and after state, blast radius, learning impact, owner, success measure, verification window, idempotency key, audit destination, and rollback.
Gate the apply
Apply requires the exact operation to be enabled and independently tested, plus explicit approval of that exact plan.
Apply the smallest reversible change
Remote state is verified against the draft precondition, the change lands, and the immutable audit and rollback record is preserved.
Reads & produces
What it reads
- The validated setup profile and current account snapshot
- The campaign plan and creative manifest
- The platform capability manifest for the target account
- Policy findings and tracking checks for the destination
What it produces
- A deterministic mutation plan with exact proposed objects and before and after state
- Blast radius, learning impact, owner, and success measure per change
- An idempotency key, audit destination, verification window, and rollback path
- On apply: a verified change with an immutable audit and rollback record
Guardrails
What /ads launch --draft will and will not do, by contract. These boundaries are enforced in the skill itself, not left to judgment.
- Defaults to draft. Drafting produces a reviewable plan and changes nothing in the account.
- Apply requires a tested, enabled capability for the exact operation and explicit approval of the exact plan. There is no generic approve-everything mode.
- Missing budget or policy ceilings, stale account state, changed remote state, incomplete tracking, failed policy review, or an unavailable adapter all block apply.
- Every applied change carries an idempotency key, an audit destination, a verification window, and a rollback path.
- Permanent deletion is not supported anywhere in the mutation contract.
Questions
Can /ads launch accidentally publish a campaign?
No. The default mode is draft, which changes nothing. Applying requires the exact operation to be enabled, independently tested, and explicitly approved, and any mismatch between remote state and the draft precondition blocks it.
What makes a draft get refused?
Incompleteness. A draft missing account or object scope, objective, conversion, budget, dates, targeting, assets, destinations, measurement, or policy eligibility is refused rather than padded with guesses.
What happens if the account changed between drafting and applying?
Apply verifies that remote state still matches the mutation precondition. If the account changed underneath the draft, the apply is blocked and the plan must be re-drafted from fresh state.