← Simplified for AICONTENT HISTORY

Update to Simplified for AI

Snapshot Nov 3, 2026 · 18:19 UTC · version 2.1.0

Collection source: downloaded plugin package. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED

Instructions updated for generate-video

Full description — Now says: Use when the user asks Simplified to generate an AI video, animate an image, create a product teaser, guide motion with several images, make a...

Observed in instructions or declared skills. Runtime behavior has not been tested.

Save Simplified for AI and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

Full description

Before

Sep 30, 2026 · 22:54 UTC

Generate AI videos with Simplified from text, reference images, first and last frames, multiple images, or source video. Use when the user asks to create an AI video, product teaser, social clip, campaign motion asset, image-to-video ani...

After

Nov 3, 2026 · 18:19 UTC

Use when the user asks Simplified to generate an AI video, animate an image, create a product teaser, guide motion with several images, make a first/last-frame transition, transform a source video, or check supported video models, durati...

Skill instructions

Before

Sep 30, 2026 · 22:54 UTC

Generate AI videos with Simplified from text, reference images, first and last frames, multiple images, or source video. Use when the user asks to create an AI video, product teaser, social clip, campaign motion asset, image-to-video ani...

After

Nov 3, 2026 · 18:19 UTC

Use when the user asks Simplified to generate an AI video, animate an image, create a product teaser, guide motion with several images, make a first/last-frame transition, transform a source video, or check supported video models, durati...

Supporting files

Before

Sep 30, 2026 · 22:54 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":488},{"relative_path":"references/models-and-polling.md","size_in_bytes":1613}]

After

Nov 3, 2026 · 18:19 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":488},{"relative_path":"references/models-and-polling.md","size_in_bytes":2536}]

Compare saved observations

Download comparison JSON

SKILL.md text changes

− removed · + added

--- before
+++ after
@@ -1,42 +1,58 @@
 ---
 name: generate-video
-description: Generate AI videos with Simplified from text, reference images, first and last frames, multiple images, or source video. Use when the user asks to create an AI video, product teaser, social clip, campaign motion asset, image-to-video animation, first/last-frame transition, or reusable generated video asset, or asks which Simplified video model supports a particular format, duration, resolution, or capability.
+description: Use when the user asks Simplified to generate an AI video, animate an image, create a product teaser, guide motion with several images, make a first/last-frame transition, transform a source video, or check supported video models, duration, resolution, or audio options.
 ---
 
 # Generate Video
 
-Create a production-appropriate video by discovering the live model contract, generating with valid parameters, and returning a reusable result.
+For a long recording cut into actual short clips, use `repurpose-video`. For standalone scripted narration, use `generate-voiceover`; an audio result does not establish that it was muxed into a video.
 
-## Guardrails
-
-- Video generation spends credits. Proceed when generation is explicit; confirm before spending when the user is exploring options or has not approved generation.
-- Call `api_getModelFields` before generation. Never rely on a memorized model list, price, duration, aspect ratio, or parameter schema.
-- Use only parameters returned for the selected model and capability.
-- File-typed parameters take permanent Simplified asset UUIDs, not local paths, signed URLs, or arbitrary remote URLs.
-- Use `storage: "asset"` when the video will be posted, reused, or retained. Use `transient` only for an explicitly temporary result.
-- Do not treat the submission `task_id` as render completion. Follow the variation status contract in [references/models-and-polling.md](references/models-and-polling.md).
-- Show returned URLs as clickable links; never embed them.
+Create one clear motion asset using a compatible model, ready workspace references, and the current tool's nested parameters.
 
 ## Workflow
 
-1. Define the job: audience, objective, placement, aspect ratio, duration, visual subject, action, camera language, pacing, brand constraints, references, audio needs, and required delivery format. Infer common social dimensions only when the requested placement makes them unambiguous.
-2. Call `api_getModelFields` with `type: "video"` and no model ID to discover current choices. Shortlist by supported capability, quality, speed, estimated time, and credit cost—not model fame alone.
-3. Call `api_getModelFields` again with the selected `model_id` and capability to retrieve exact required fields, enums, defaults, and file-field expectations.
-4. For image-to-video, multiple-image, or first/last-frame work, ensure every reference is a permanent asset UUID. Use the Simplified signed-upload asset workflow for user-supplied local files.
-5. Write a motion prompt that describes subject, action over time, environment, camera behavior, composition, lighting, pacing, and exclusions. Avoid stacking contradictory movements or scene changes into a short clip.
-6. Show the chosen model, capability, duration, format, credit information when available, storage mode, and prompt before generation when cost or creative direction remains ambiguous.
-7. Call `api_generateVideo` with the exact nested `parameters` contract and the chosen storage mode.
-8. If the call returns before terminal completion, preserve both returned IDs and call `api_getVideoVariation` until `job_status` is `DONE` or `FAILED`. Use a reasonable interval; do not busy-loop.
-9. On success, report the reusable asset UUID, rendered video link, thumbnail link when available, model, format, and any material limitations. On failure, surface the provider error and suggest one targeted correction.
-
-## Creative Standard
-
-- Design one clear visual beat per short clip. A six-second asset needs a readable action, not a miniature screenplay.
-- Match the first frame and opening motion to the social hook; assume many viewers begin muted unless generated audio is central to the concept.
-- Preserve product geometry, logos, packaging, people, and claims when references are supplied. Flag visible inconsistencies instead of presenting them as final.
-- For paid or conversion creative, leave intentional visual space for on-screen copy and CTA overlays.
-- Treat AI-generated people, testimonials, product behavior, and locations as synthetic; never imply documentary proof.
+1. Resolve scope with `simplified-workspace` when a workspace/teamspace is named or uncertain. Carry `space_id` into every related call.
+2. Define the subject, action, placement, aspect ratio, duration, camera behavior, and audio needs. Infer ordinary choices from the user's brief; ask only for missing constraints that change the result or cost.
+3. Discover current models with `api_listVideoModels` or `api_getModelFields(type: "video")`, depending on the exposed tools. Inspect `api_getVideoModelFields` or the available model-fields tool for model-specific durations, resolutions, and capabilities. Do not guess model IDs, costs, or supported values.
+4. Use `manage-assets` to find/import/upload references and check readiness with `api_getAsset`. Every video input slot takes a Simplified asset UUID from the same workspace, not a local path or remote URL.
+5. Choose `storage: "asset"` for a reusable video. Generation spends credits; proceed for an explicit request, and clarify material ambiguity in scope/cost before submitting.
+6. Call `api_generateVideo` once. Current apikit waits for the rendered result; wait for this call before using any continuation tool.
+7. Inspect the actual terminal status and return the rendered video link plus its real asset ID when present. Handle pending/timeout/older deployments as described in [references/models-and-polling.md](references/models-and-polling.md).
+
+## Current input contract
+
+Top-level: `model`, `parameters`, and chosen `storage`; optional `capability` and `space_id`. All generation controls belong inside `parameters`.
+
+| Mode | Nested input |
+|---|---|
+| Text-to-video | `prompt` |
+| Animate one image | `image_url: "<asset UUID>"` and optional motion prompt |
+| Multiple image guidance | `image_urls: ["<asset UUID>", "<asset UUID>"]` |
+| First/last-frame transition | `first_frame_url` and `last_frame_url`, both asset UUIDs |
+| Source video transformation | `video_url: "<video asset UUID>"` |
+| Supported lipsync/audio modes | `audio_url` or `reference_audio_urls`, containing audio asset UUIDs |
+
+Despite `_url` in the names, these slots take **asset UUIDs**. Use the same public slot names across models. Choose only controls the selected model supports, such as `duration`, `resolution`, `aspect_ratio`, or `generate_audio`. Image-driven modes may derive their ratio from the reference; do not force an unsupported ratio. Omit `capability` to let the current tool infer it from inputs, or use an explicitly supported mode.
+
+```json
+{
+  "model": "<discovered image-to-video model ID>",
+  "storage": "asset",
+  "parameters": {
+    "image_url": "<ready image asset UUID>",
+    "prompt": "A slow push toward the product, soft light moving across its packaging"
+  }
+}
+```
+
+Replace placeholders before calling. Do not assume every model supports every slot, duration, or audio option.
+
+## Creative quality
+
+Use one readable visual beat for a short clip. Preserve product geometry, packaging, logos, and identity in references; avoid contradictory camera moves. Leave space for overlays when needed. If the client can inspect the output, check it; otherwise state that visual quality has not been inspected. Synthetic people/scenes are not documentary evidence.
+
+## Handoff
 
-## Output
+Use the client’s supported video preview or a usable link; preserve any thumbnail link and permanent asset UUID. Signed URLs can expire. `default` gallery storage is not a guarantee of a standalone reusable asset; `transient` may supply only a temporary URL. If no asset ID exists and the user wants reuse, import the downloadable output using `api_createAsset`. Never invent an asset ID from an art or variation ID.
 
-Lead with the creative choice and generation status. Then provide the permanent asset ID, result links, intended placement, model/capability, and next useful action such as drafting a post or producing a controlled variant.
+Pass confirmed assets to `simplified-social` for drafts when requested. Generating a video does not authorize publishing. Report failures directly and avoid duplicate paid submissions after a timeout.
Full technical diff · 3 changed fields

changed /description

BEFORE
"Generate AI videos with Simplified from text, reference images, first and last frames, multiple images, or source video. Use when the user asks to create an AI video, product teaser, social clip, campaign motion asset, image-to-video animation, first/last-frame transition, or reusable generated video asset, or asks which Simplified video model supports a particular format, duration, resolution, or capability."
AFTER
"Use when the user asks Simplified to generate an AI video, animate an image, create a product teaser, guide motion with several images, make a first/last-frame transition, transform a source video, or check supported video models, duration, resolution, or audio options."

changed /included_files

BEFORE
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 488
  },
  {
    "relative_path": "references/models-and-polling.md",
    "size_in_bytes": 1613
  }
]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 488
  },
  {
    "relative_path": "references/models-and-polling.md",
    "size_in_bytes": 2536
  }
]

changed /skill_md_contents

BEFORE
"---\nname: generate-video\ndescription: Generate AI videos with Simplified from text, reference images, first and last frames, multiple images, or source video. Use when the user asks to create an AI video, product teaser, social clip, campaign motion asset, image-to-video animation, first/last-frame transition, or reusable generated video asset, or asks which Simplified video model supports a particular format, duration, resolution, or capability.\n---\n\n# Generate Video\n\nCreate a production-appropriate video by discovering the live model contract, generating with valid parameters, and returning a reusable result.\n\n## Guardrails\n\n- Video generation spends credits. Proceed when generation is explicit; confirm before spending when the user is exploring options or has not approved generation.\n- Call `api_getModelFields` before generation. Never rely on a memorized model list, price, duration, aspect ratio, or parameter schema.\n- Use only parameters returned for the selected model and capability.\n- File-typed parameters take permanent Simplified asset UUIDs, not local paths, signed URLs, or arbitrary remote URLs.\n- Use `storage: \"asset\"` when the video will be posted, reused, or retained. Use `transient` only for an explicitly temporary result.\n- Do not treat the submission `task_id` as render completion. Follow the variation status contract in [references/models-and-polling.md](references/models-and-polling.md).\n- Show returned URLs as clickable links; never embed them.\n\n## Workflow\n\n1. Define the job: audience, objective, placement, aspect ratio, duration, visual subject, action, camera language, pacing, brand constraints, references, audio needs, and required delivery format. Infer common social dimensions only when the requested placement makes them unambiguous.\n2. Call `api_getModelFields` with `type: \"video\"` and no model ID to discover current choices. Shortlist by supported capability, quality, speed, estimated time, and credit cost—not model fame alone.\n3. Call `api_getModelFields` again with the selected `model_id` and capability to retrieve exact required fields, enums, defaults, and file-field expectations.\n4. For image-to-video, multiple-image, or first/last-frame work, ensure every reference is a permanent asset UUID. Use the Simplified signed-upload asset workflow for user-supplied local files.\n5. Write a motion prompt that describes subject, action over time, environment, camera behavior, composition, lighting, pacing, and exclusions. Avoid stacking contradictory movements or scene changes into a short clip.\n6. Show the chosen model, capability, duration, format, credit information when available, storage mode, and prompt before generation when cost or creative direction remains ambiguous.\n7. Call `api_generateVideo` with the exact nested `parameters` contract and the chosen storage mode.\n8. If the call returns before terminal completion, preserve both returned IDs and call `api_getVideoVariation` until `job_status` is `DONE` or `FAILED`. Use a reasonable interval; do not busy-loop.\n9. On success, report the reusable asset UUID, rendered video link, thumbnail link when available, model, format, and any material limitations. On failure, surface the provider error and suggest one targeted correction.\n\n## Creative Standard\n\n- Design one clear visual beat per short clip. A six-second asset needs a readable action, not a miniature screenplay.\n- Match the first frame and opening motion to the social hook; assume many viewers begin muted unless generated audio is central to the concept.\n- Preserve product geometry, logos, packaging, people, and claims when references are supplied. Flag visible inconsistencies instead of presenting them as final.\n- For paid or conversion creative, leave intentional visual space for on-screen copy and CTA overlays.\n- Treat AI-generated people, testimonials, product behavior, and locations as synthetic; never imply documentary proof.\n\n## Output\n\nLead with the creative choice and generation status. Then provide the permanent asset ID, result links, intended placement, model/capability, and next useful action such as drafting a post or producing a controlled variant.\n"
AFTER
"---\nname: generate-video\ndescription: Use when the user asks Simplified to generate an AI video, animate an image, create a product teaser, guide motion with several images, make a first/last-frame transition, transform a source video, or check supported video models, duration, resolution, or audio options.\n---\n\n# Generate Video\n\nFor a long recording cut into actual short clips, use `repurpose-video`. For standalone scripted narration, use `generate-voiceover`; an audio result does not establish that it was muxed into a video.\n\nCreate one clear motion asset using a compatible model, ready workspace references, and the current tool's nested parameters.\n\n## Workflow\n\n1. Resolve scope with `simplified-workspace` when a workspace/teamspace is named or uncertain. Carry `space_id` into every related call.\n2. Define the subject, action, placement, aspect ratio, duration, camera behavior, and audio needs. Infer ordinary choices from the user's brief; ask only for missing constraints that change the result or cost.\n3. Discover current models with `api_listVideoModels` or `api_getModelFields(type: \"video\")`, depending on the exposed tools. Inspect `api_getVideoModelFields` or the available model-fields tool for model-specific durations, resolutions, and capabilities. Do not guess model IDs, costs, or supported values.\n4. Use `manage-assets` to find/import/upload references and check readiness with `api_getAsset`. Every video input slot takes a Simplified asset UUID from the same workspace, not a local path or remote URL.\n5. Choose `storage: \"asset\"` for a reusable video. Generation spends credits; proceed for an explicit request, and clarify material ambiguity in scope/cost before submitting.\n6. Call `api_generateVideo` once. Current apikit waits for the rendered result; wait for this call before using any continuation tool.\n7. Inspect the actual terminal status and return the rendered video link plus its real asset ID when present. Handle pending/timeout/older deployments as described in [references/models-and-polling.md](references/models-and-polling.md).\n\n## Current input contract\n\nTop-level: `model`, `parameters`, and chosen `storage`; optional `capability` and `space_id`. All generation controls belong inside `parameters`.\n\n| Mode | Nested input |\n|---|---|\n| Text-to-video | `prompt` |\n| Animate one image | `image_url: \"<asset UUID>\"` and optional motion prompt |\n| Multiple image guidance | `image_urls: [\"<asset UUID>\", \"<asset UUID>\"]` |\n| First/last-frame transition | `first_frame_url` and `last_frame_url`, both asset UUIDs |\n| Source video transformation | `video_url: \"<video asset UUID>\"` |\n| Supported lipsync/audio modes | `audio_url` or `reference_audio_urls`, containing audio asset UUIDs |\n\nDespite `_url` in the names, these slots take **asset UUIDs**. Use the same public slot names across models. Choose only controls the selected model supports, such as `duration`, `resolution`, `aspect_ratio`, or `generate_audio`. Image-driven modes may derive their ratio from the reference; do not force an unsupported ratio. Omit `capability` to let the current tool infer it from inputs, or use an explicitly supported mode.\n\n```json\n{\n  \"model\": \"<discovered image-to-video model ID>\",\n  \"storage\": \"asset\",\n  \"parameters\": {\n    \"image_url\": \"<ready image asset UUID>\",\n    \"prompt\": \"A slow push toward the product, soft light moving across its packaging\"\n  }\n}\n```\n\nReplace placeholders before calling. Do not assume every model supports every slot, duration, or audio option.\n\n## Creative quality\n\nUse one readable visual beat for a short clip. Preserve product geometry, packaging, logos, and identity in references; avoid contradictory camera moves. Leave space for overlays when needed. If the client can inspect the output, check it; otherwise state that visual quality has not been inspected. Synthetic people/scenes are not documentary evidence.\n\n## Handoff\n\nUse the client’s supported video preview or a usable link; preserve any thumbnail link and permanent asset UUID. Signed URLs can expire. `default` gallery storage is not a guarantee of a standalone reusable asset; `transient` may supply only a temporary URL. If no asset ID exists and the user wants reuse, import the downloadable output using `api_createAsset`. Never invent an asset ID from an art or variation ID.\n\nPass confirmed assets to `simplified-social` for drafts when requested. Generating a video does not authorize publishing. Report failures directly and avoid duplicate paid submissions after a timeout.\n"
Full snapshot data
{
  "description": "Use when the user asks Simplified to generate an AI video, animate an image, create a product teaser, guide motion with several images, make a first/last-frame transition, transform a source video, or check supported video models, duration, resolution, or audio options.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 488
    },
    {
      "relative_path": "references/models-and-polling.md",
      "size_in_bytes": 2536
    }
  ],
  "name": "generate-video",
  "skill_md_contents": "---\nname: generate-video\ndescription: Use when the user asks Simplified to generate an AI video, animate an image, create a product teaser, guide motion with several images, make a first/last-frame transition, transform a source video, or check supported video models, duration, resolution, or audio options.\n---\n\n# Generate Video\n\nFor a long recording cut into actual short clips, use `repurpose-video`. For standalone scripted narration, use `generate-voiceover`; an audio result does not establish that it was muxed into a video.\n\nCreate one clear motion asset using a compatible model, ready workspace references, and the current tool's nested parameters.\n\n## Workflow\n\n1. Resolve scope with `simplified-workspace` when a workspace/teamspace is named or uncertain. Carry `space_id` into every related call.\n2. Define the subject, action, placement, aspect ratio, duration, camera behavior, and audio needs. Infer ordinary choices from the user's brief; ask only for missing constraints that change the result or cost.\n3. Discover current models with `api_listVideoModels` or `api_getModelFields(type: \"video\")`, depending on the exposed tools. Inspect `api_getVideoModelFields` or the available model-fields tool for model-specific durations, resolutions, and capabilities. Do not guess model IDs, costs, or supported values.\n4. Use `manage-assets` to find/import/upload references and check readiness with `api_getAsset`. Every video input slot takes a Simplified asset UUID from the same workspace, not a local path or remote URL.\n5. Choose `storage: \"asset\"` for a reusable video. Generation spends credits; proceed for an explicit request, and clarify material ambiguity in scope/cost before submitting.\n6. Call `api_generateVideo` once. Current apikit waits for the rendered result; wait for this call before using any continuation tool.\n7. Inspect the actual terminal status and return the rendered video link plus its real asset ID when present. Handle pending/timeout/older deployments as described in [references/models-and-polling.md](references/models-and-polling.md).\n\n## Current input contract\n\nTop-level: `model`, `parameters`, and chosen `storage`; optional `capability` and `space_id`. All generation controls belong inside `parameters`.\n\n| Mode | Nested input |\n|---|---|\n| Text-to-video | `prompt` |\n| Animate one image | `image_url: \"<asset UUID>\"` and optional motion prompt |\n| Multiple image guidance | `image_urls: [\"<asset UUID>\", \"<asset UUID>\"]` |\n| First/last-frame transition | `first_frame_url` and `last_frame_url`, both asset UUIDs |\n| Source video transformation | `video_url: \"<video asset UUID>\"` |\n| Supported lipsync/audio modes | `audio_url` or `reference_audio_urls`, containing audio asset UUIDs |\n\nDespite `_url` in the names, these slots take **asset UUIDs**. Use the same public slot names across models. Choose only controls the selected model supports, such as `duration`, `resolution`, `aspect_ratio`, or `generate_audio`. Image-driven modes may derive their ratio from the reference; do not force an unsupported ratio. Omit `capability` to let the current tool infer it from inputs, or use an explicitly supported mode.\n\n```json\n{\n  \"model\": \"<discovered image-to-video model ID>\",\n  \"storage\": \"asset\",\n  \"parameters\": {\n    \"image_url\": \"<ready image asset UUID>\",\n    \"prompt\": \"A slow push toward the product, soft light moving across its packaging\"\n  }\n}\n```\n\nReplace placeholders before calling. Do not assume every model supports every slot, duration, or audio option.\n\n## Creative quality\n\nUse one readable visual beat for a short clip. Preserve product geometry, packaging, logos, and identity in references; avoid contradictory camera moves. Leave space for overlays when needed. If the client can inspect the output, check it; otherwise state that visual quality has not been inspected. Synthetic people/scenes are not documentary evidence.\n\n## Handoff\n\nUse the client’s supported video preview or a usable link; preserve any thumbnail link and permanent asset UUID. Signed URLs can expire. `default` gallery storage is not a guarantee of a standalone reusable asset; `transient` may supply only a temporary URL. If no asset ID exists and the user wants reuse, import the downloadable output using `api_createAsset`. Never invent an asset ID from an art or variation ID.\n\nPass confirmed assets to `simplified-social` for drafts when requested. Generating a video does not authorize publishing. Report failures directly and avoid duplicate paid submissions after a timeout.\n"
}

SHA-256 of public snapshot: edfa07ab5acd90a44f818a264a365b719969f6be6cf20be3ddff33912f80aba2