← OmnekyCONTENT HISTORY

Update to Omneky

Snapshot Oct 8, 2026 · 06:23 UTC · version 2.0.0

Collection source: downloaded plugin package.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Prepare and launch Meta/Facebook/Instagram ads (sales, traffic, leads, awareness, video views) after user confirmation. Keywords: Meta launch, Facebook ads, Instagram ads, launch campaign, PAUSED, sales, leads, ThruPlay, lead_gen_form_id.",
  "included_files": [],
  "name": "omneky-meta-launch",
  "skill_md_contents": "---\nname: omneky-meta-launch\ndescription: >-\n  Prepare and launch Meta/Facebook/Instagram ads (sales, traffic, leads,\n  awareness, video views) after user confirmation. Keywords: Meta launch,\n  Facebook ads, Instagram ads, launch campaign, PAUSED, sales, leads,\n  ThruPlay, lead_gen_form_id.\n---\n\n# Meta launch\n\n## Activation analytics\n\nIf the host exposes a skill-activation / analytics hook, call it once per new user request with this skill name; otherwise skip silently. Never invent a tracking tool. Omneky MCP does **not** expose `track_skill_activation`.\n\n## Purpose\n\nMeta-first launch path using `launch_facebook_*` tools. Same Approve-before-\nmutate and paused-default rules as `omneky-launch-manage`, narrowed to\nFacebook / Instagram.\n\n## When to use\n\n- User wants Meta / Facebook / Instagram paid launch\n- Sales / conversions, traffic, leads, awareness, or video views objectives\n\n## When not to use\n\n- Google / TikTok / LinkedIn / Reddit / Pinterest / X → `omneky-launch-manage`\n- Creative generation → `omneky-creative` first\n- Analytics-only → `omneky-analytics`\n\n## OpenAI runtime contract\n\n- Use only tools from the current OpenAI host + Omneky MCP (`https://mcp.omneky.com/mcp`). Never invent tools.\n- Prefer native ChatGPT / host widgets and question UI for decisions. Use MCP `request_user_decision` for missing structured fields (not deprecated `ask_user`) when listed. Else `omneky-failure-modes` § Approval / plain-chat fallback.\n- When intake is incomplete, ask **one** concise chat question. Never invent a question tool.\n- Approval turns: end the turn after Approve / Deny / Edit (host UI or plain chat); mutate only next turn after Approve. Never invent a fake summary-widget tool.\n- Never invent tokens; OAuth is host-managed.\n\n## Non-negotiable output / safety contract\n\n- Confirm brand, creative, objective, budget, targeting, CTA, landing URL.\n- Approve / Deny / Edit one-card summary **before** any `launch_facebook_*`\n  (host-native confirmation / MCP Apps / `request_user_decision` when\n  available; else plain-chat fallback — `omneky-failure-modes` § Approval /\n  plain-chat fallback). End turn; launch only next turn after affirmative\n  Approve.\n- Default paused / disabled unless user clearly asks to go live.\n- Prefer pause over delete (`omneky-pause-budget` /\n  `set_ad_entity_status`).\n- If a preflight / validate tool appears on this session’s `tools/list`, use\n  it before create — never invent a preflight tool name that is absent.\n- Facebook lead ads: set `lead_gen_form_id` on ad specs for native forms.\n- Inline targeting example shape: countries + age_min / age_max — do not\n  invent unsupported facets.\n- No `launch_openai_*` / managed-Meta launch names on public `/mcp`.\n\n## Staged workflow\n\n### Stage 1 — Brand + connection\n\n1. `list_brands` / picker / `get_brand_details`.\n2. `get_channel_connection_status` for Facebook. If disconnected →\n   `omneky-self-connect` (`get_channel_connect_url` →\n   `list_authorized_ad_accounts` / `list_authorized_facebook_pages` →\n   `link_ad_channel_account`).\n3. `get_channel_budget` / `minimum_budget_for_objective`.\n\n### Stage 2 — Creative + catalogue\n\n1. Product: `list_brand_products` / `get_product_details` when relevant.\n2. Generate if needed via `omneky-creative` (credits first).\n3. `register_creative_for_launch` when attaching a chat creative.\n\n### Stage 3 — Objective + specs\n\n1. Map user intent → tool:\n   - Sales / purchases / ROAS → `launch_facebook_sales_ad`\n   - Leads → `launch_facebook_leads_ad` (+ `lead_gen_form_id` when native form)\n   - Traffic → `launch_facebook_traffic_ad`\n   - Awareness / reach → `launch_facebook_awareness_ad`\n   - Video views / ThruPlay → `launch_facebook_video_views_ad`\n2. New vs existing: `campaign_spec={\"id\": …}` / `ad_group_spec={\"id\": …}`\n   when extending.\n3. Optional `get_ad_custom_properties` / `reach_estimate`.\n\n### Stage 4 — Approve then launch\n\n1. Summary Approve / Deny / Edit (host UI or plain chat); end turn.\n2. After Approve: call the chosen `launch_facebook_*` with paused default.\n3. Post-launch next steps → status / 7d metrics (`omneky-analytics`) / Done.\n\n### Stage 5 — Manage after\n\nPause / budget / retarget via `omneky-pause-budget` or\n`set_ad_entity_status` / `set_ad_budget` / `update_ad_targeting`\n(Facebook-only targeting updates) after Approve.\n\n## Failure boundaries\n\n| Failure | Required response |\n| --- | --- |\n| Launch without Approve | Forbidden. |\n| Invented summary-widget tool | Forbidden — plain-chat fallback OK. |\n| Disconnected Meta | Self-connect; re-check status. |\n| Missing countries / targeting | Ask once / `request_user_decision`; do not guess. |\n| Lead form missing when required | Ask for `lead_gen_form_id` or switch objective. |\n| Invented preflight tool | Skip if not on `tools/list`. |\n| User wants ACTIVE casually | Confirm explicitly; still prefer stating spend risk. |\n| `needs_user_decision` | `request_user_decision` if listed; else plain chat; no JSON dump; no auto-retry. |\n"
}

SHA-256 of public snapshot: 2b40bb1ce44a6aec7cec78107810850ff1ecf058fbf93892f4573e4f27047dde