← OmnekyCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Omneky
Snapshot Oct 8, 2026 · 06:23 UTC · version 2.0.0
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Generate multi-scene product video ads from catalogue or a product URL. Use for product video, narrative picks, or Generate Now commercials. Keywords: product video, video ad, narrative, narrative_id, multi-scene, slim cards, target_duration, 30 credits, portrait, landscape, square.",
"included_files": [],
"name": "omneky-product-video",
"skill_md_contents": "---\nname: omneky-product-video\ndescription: >-\n Generate multi-scene product video ads from catalogue or a product URL.\n Use for product video, narrative picks, or Generate Now commercials.\n Keywords: product video, video ad, narrative, narrative_id, multi-scene,\n slim cards, target_duration, 30 credits, portrait, landscape, square.\n---\n\n# Product video ads\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\nMulti-scene product video commercials via\n`fetch_product_video_narratives` → user pick → `generate_product_video`.\nFetch returns **slim cards** with a minted `narrative_id` (may also echo\n`id`); the full narrative is persisted server-side. Prefer passing\n**`narrative_id`** on generate so the server hydrates segments. Not a\nsubstitute for launch.\n\n## When to use\n\n- Product video / multi-scene commercial requests\n- Narrative card selection flows\n- Generate Now (omit both `narrative_id` and `narrative`; pass `target_duration`)\n\n## When not to use\n\n- Still image ads → `omneky-image-ads`\n- Treating Generate Now as “animation only” or as an auto-launch\n- Central-only video triggers / UGC / `edit_video` (not public)\n- Inventing segments, title-only `narrative` blobs, or fake `narrative_id`s\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 follow `omneky-failure-modes` § Approval / plain-chat fallback.\n- When intake is incomplete, ask **one** concise chat question. Never invent a question tool.\n- Generate / Cancel turns: end the turn after showing the choice UI (or plain-chat Generate / Cancel); mutate only after affirmative Generate.\n- Never invent tokens; OAuth is host-managed.\n- **Prefer runtime `tools/list`:** if the live tool schema differs from this skill (e.g. `narrative_id` present/absent, `narrative` shape), follow the live schema over hardcoded skill copy.\n\n## Non-negotiable output / safety contract\n\n- Credit callout before generate (~**30** credits for multi-scene video when\n submitted). Generate / Cancel via host UI or plain chat. Billing tools\n gating: `omneky-failure-modes` § Billing tools absent.\n- After narrative fetch, present **slim cards** for UI (`narrative_id` / `id`,\n title, hook, duration, description). On pick, prefer\n `generate_product_video` with **`narrative_id`** from the card (server\n hydrates `video_gen.segments`). Do **not** invent a partial narrative;\n do **not** invent an id.\n- Full `narrative` object with non-empty `video_gen.segments` is still OK\n when available, but **prefer `narrative_id`**.\n- Thin/string picks without a resolvable minted id → `narrative_unresolved`\n (no job, no credits) — re-fetch and re-pick; never invent segments or\n silently switch to Generate Now.\n- Generate Now: **omit both** `narrative_id` and `narrative`; pass\n `target_duration` 10–30 (default **12** when omitted by server). 10–15\n short invent; 16–30 longform. Optional `hook` for Generate Now only.\n- `environment_setting` / `location_url` = optional HTTPS image URL only.\n- Widget owns `poll_video_generation`; agent uses one\n `get_generation_status(..., kind=\"video\")` on text hosts next turn.\n- Ambiguous submit after optional client `job_id`: follow\n `omneky-failure-modes` § Ambiguous paid submit recovery.\n- Never claim success without completion.\n\n## Staged workflow\n\n### Stage 1 — Brand + product\n\n1. Brand pick (`list_brands` / `get_brand_details`).\n2. Product: `list_brand_products` / `get_product_details`, or import URL via\n `omneky-product-import` first.\n3. Required generate args later: `product_image_urls`, `product_name`,\n `product_description`, `orientation` (`landscape`|`portrait`|`square`),\n `brand_id`, `company_id`.\n\n### Stage 2 — Narratives (selected-story flow)\n\n1. `fetch_product_video_narratives`.\n2. Present slim cards from the fetch result (`narrative_id` / `id`, title,\n hook, duration, description).\n3. Wait for pick; end turn after UI / plain-chat options.\n4. Keep the chosen **`narrative_id`** (and card metadata) for Stage 3.\n\n### Stage 3 — Credits + generate\n\n1. Balance check if `get_account_credit_balance` is on `tools/list`; else\n operational ~30 callout (`omneky-failure-modes` § Billing tools absent).\n2. Selected story: `generate_product_video` with **`narrative_id`** from the\n card + orientation mapping (`9:16` → `portrait`, `16:9` → `landscape`,\n `1:1` → `square`). Prefer omitting the fat `narrative` blob when the id\n is available. Still pass required product fields.\n3. Generate Now (user skipped pick): omit both `narrative_id` and\n `narrative`; pass `target_duration` 10–30 (default 12); optional `hook`.\n\n### Stage 4 — Completion + handoff\n\n1. Poll rules as in `omneky-creative` / failure-modes Stage D.\n2. Register + `omneky-launch-manage` only after Approve (paused default).\n\n## Failure boundaries\n\n| Failure | Required response |\n| --- | --- |\n| Thin / invented / title-only narrative without resolvable id | Forbidden — use `narrative_id` from fetch (or full object with segments); never invent. |\n| `narrative_unresolved` | Re-fetch + re-pick; no credit charge. Do not invent; do not silent Generate Now. |\n| `credit_insufficient` | Did not start; billing path if tools present; else Omneky app; no retry. |\n| Billing tools absent | `omneky-failure-modes` § Billing tools absent. |\n| Ambiguous paid submit | `omneky-failure-modes` § Ambiguous paid submit recovery. |\n| Auto-picked narrative | Forbidden. |\n| Prose in `environment_setting` | Omit / URL only. |\n| Early success claim | Forbidden. |\n| Live `tools/list` conflicts with skill copy | Prefer live schema. |\n"
}SHA-256 of public snapshot: 89523000eb44cad008a10ddb338973fdd8edb977536d7e05509a77e2a6697d74