ozor-generate — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited ozor-generate (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
End-to-end video generation on Ozor.ai using the mcp__ozor__* tools. This skill takes a short creative brief and returns a finished, exported, shareable video — not just a prompt.
Use this skill when the user wants to actually produce a video from a short text idea. Signals:
Do NOT use this skill when:
ozor-document-videoozor-url-to-videoozor-video-best-practicesozor-video-libraryThis skill assumes the Ozor MCP is connected. The tools are:
mcp__ozor__generate_video — kicks off a text-to-video jobmcp__ozor__wait_for_job — blocks until the agent finishes building the projectmcp__ozor__export_video — starts the rendermcp__ozor__wait_for_export — blocks until the render is ready, returns URLsmcp__ozor__get_embed_code — returns the <iframe> HTMLmcp__ozor__list_voices — optional, lookup of available voicesmcp__ozor__send_message — optional, follow-up edits to the video agentIf the Ozor MCP is not connected, tell the user to add it and stop — do not try to fall back to writing a prompt-only output.
The Ozor prompt is capped at 2000 characters and should describe one short video. Before calling the MCP, make sure the brief includes:
If any of these are missing AND the gap meaningfully changes the output, ask one focused question. Otherwise pick a sensible default and proceed — auto-mode behavior.
Never paste a multi-scene script extracted from a document into this prompt. That overflows the 2000-char limit and loses slide visuals. For documents, switch to ozor-document-video.
Call:
mcp__ozor__generate_video({
prompt: "<the compiled brief, under 2000 chars>",
export: true // recommended: triggers export automatically so you can skip step 4
})This returns { videoId, jobId }. Surface to the user that the job has started and that you're waiting on it.
Call:
mcp__ozor__wait_for_job({ videoId, jobId })This blocks until the Ozor agent has finished building the project. If it fails, the error message will usually tell you what to fix in the prompt — relay it to the user and offer to retry with adjustments.
export: true)If you did not pass export: true in step 2, call:
mcp__ozor__export_video({ videoId })Call:
mcp__ozor__wait_for_export({ videoId })This returns the final URLs:
shareUrl — public link to the rendered videoeditorUrl — Ozor editor link for further tweaksdownloadUrl — direct MP4 downloadCall:
mcp__ozor__get_embed_code({ videoId })Returns a ready-to-paste <iframe> snippet.
Output in this format:
🎬 Video ready
**Share:** <shareUrl>
**Editor:** <editorUrl>
**Download:** <downloadUrl>
**Embed:**<iframe ...></iframe>
Want me to iterate? I can:
- Change a specific scene
- Try a different tone or visual style
- Produce a 9:16 social versionIf the user wants changes after seeing the result, use mcp__ozor__send_message({ videoId, message: "<change request>" }) and then re-run steps 3–6 (the agent will rebuild the project, you'll need a fresh export).
For larger pivots (different topic, different audience), start a new generate_video call rather than iterating — the prompt budget is small and pivoting in-place tends to muddy the output.
When the user gives a one-line brief and you don't want to interrogate them:
| Field | Default |
|---|---|
| Format | 16:9 landscape |
| Duration | ~30 seconds |
| Scenes | 3–4 |
| Tone | Confident, modern |
| Style | Clean, minimal, with one accent color |
| CTA | "Learn more" with a placeholder URL/handle if not provided |
State the defaults you assumed in your reply so the user can correct them.
generate_videoozor-document-video's jobshareUrl, editorUrl, downloadUrl, and the embed are all valuable in different contexts — show them all.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.