A skill your agent uses when the user asks to generate, remix, poll, list, download, or delete Sora videos via OpenAI’s video API using the bundled CLI (scripts/sora.py), including requests like…

Apache-2.0Auto-check passedMedia & Creative

Install Sora

skills CLI
$ npx skills add davila7/claude-code-templates --skill sora -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install davila7/claude-code-templates sora --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/davila7/claude-code-templates.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-tool/components/skills/video/sora .claude/skills/sora && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
sora
GitHub stars
32k
Used in
1 other repo
Token cost
~2k tokens
SKILL.md length
901 words
Files
14 (incl. scripts, references, assets)
Skills in repo
477
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when the user asks to generate, remix, poll, list, download, or delete Sora videos via OpenAI’s video API using the bundled CLI (scripts/sora.py), including requests like…

  • Works in 9 steps: Decide intent: create vs remix vs… → Collect inputs: prompt, model, size,… → If batch: write a temporary JSONL under… → …
  • The user asks to generate
  • SKILL.md covers When to use, Decision tree (create vs remix…, Workflow and Authentication, plus 9 more sections
  • Runs Python scripts from its folder; needs OPENAI_API_KEY

What it does

Sora is an agent skill from davila7/claude-code-templates. Use when the user asks to generate, remix, poll, list, download, or delete Sora videos via OpenAI’s video API using the bundled CLI (scripts/sora.py), including requests like “generate AI video,” “Sora,” “video remix,” “download video/thumbnail/spritesheet,” and batch video generation; requires OPENAIAPIKEY and Sora API access.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 17 other files, including scripts, reference files and assets (for example `agents/openai.yaml`, `references/cinematic-shots.md` and `references/cli.md`).

It sits in Media & Creative, covering AI video generation. It works with OpenAI. The repository describes itself as: CLI tool for configuring and monitoring Claude Code. The licence is Apache-2.0.

When your agent uses it

  • The user asks to generate
  • Delete Sora videos via OpenAIs video API using the bundled CLI (scripts/sora.py)
  • Including requests like generate AI video
  • Download video/thumbnail/spritesheet

Example prompts

  • “generate AI video,”
  • “video remix,”
  • “download video/thumbnail/spritesheet,”
  • “/sora”

Requirements

  • Python 3
  • A credential in OPENAI_API_KEY

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Decide intent: create vs remix vs status/download vs batch.
  2. Collect inputs: prompt, model, size, seconds, and any input reference image.
  3. If batch: write a temporary JSONL under tmp/ (one job per line), run once, then delete the JSONL.
  4. Prefer CLI augmentation flags (--use-case, --scene, --camera, etc.) instead of pre-writing a structured prompt. If you already produced a…
  5. Run the bundled CLI (scripts/sora.py) with sensible defaults (see references/cli.md). For long prompts, prefer --prompt-file to avoid…
  6. For async jobs, poll until complete (or use create-and-poll).
  7. Download assets (video/thumbnail/spritesheet) and save locally.
  8. Remove intermediate files created during invocation (for example prompt.txt, remix_job.json, temp JSONL). If the sandbox blocks rm, skip…
  9. Iterate with a single targeted change per prompt.

What it can do on your machine

Read from SKILL.md and the folder at commit 14680ec. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • platform.openai.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPENAI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Sora loads about 2k tokens when it runs, and up to ~8.5k if it reads all its reference files. Until then it costs about 85 tokens; SKILL.md has 901 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~85
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from davila7/claude-code-templates at commit 14680ec, republished under its Apache-2.0 licence (© davila7). 901 words, ~2,042 tokens.

Download SKILL.mdSave it as .claude/skills/sora/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.
name
sora
description
Use when the user asks to generate, remix, poll, list, download, or delete Sora videos via OpenAI’s video API using the bundled CLI (`scripts/sora.py`), including requests like “generate AI video,” “Sora,” “video remix,” “download video/thumbnail/spritesheet,” and batch video generation; requires `OPENAI_API_KEY` and Sora API access.
author
openai

Sora Video Generation Skill

Creates or manages short video clips for the current project (product demos, marketing spots, cinematic shots, UI mocks). Defaults to sora-2 and a structured prompt augmentation workflow, and prefers the bundled CLI for deterministic runs. Note: $sora is a skill tag in prompts, not a shell command.

When to use

  • Generate a new video clip from a prompt
  • Remix an existing video by ID
  • Poll status, list jobs, or download assets (video/thumbnail/spritesheet)
  • Batch runs (many prompts or variants)

Decision tree (create vs remix vs status/download vs batch)

  • If the user has a video id and wants a change → remix
  • If the user has a video id and wants status or assets → status/poll/download
  • If the user needs many prompts/assets → create-batch
  • If the user asks for two versions with a small change (same shot, different subject/detail) → create the base, then remix for the variation
  • Otherwise → create (or create-and-poll if they need a ready asset in one step)

Workflow

  1. Decide intent: create vs remix vs status/download vs batch.
  2. Collect inputs: prompt, model, size, seconds, and any input reference image.
  3. If batch: write a temporary JSONL under tmp/ (one job per line), run once, then delete the JSONL.
  4. Prefer CLI augmentation flags (--use-case, --scene, --camera, etc.) instead of pre-writing a structured prompt. If you already produced a structured prompt file, pass --no-augment to avoid double-wrapping.
  5. Run the bundled CLI (scripts/sora.py) with sensible defaults (see references/cli.md). For long prompts, prefer --prompt-file to avoid shell-escaping issues; pair with --no-augment if the prompt is already structured.
  6. For async jobs, poll until complete (or use create-and-poll).
  7. Download assets (video/thumbnail/spritesheet) and save locally.
  8. Remove intermediate files created during invocation (for example prompt.txt, remix_job.json, temp JSONL). If the sandbox blocks rm, skip cleanup or truncate the files without surfacing an error.
  9. Iterate with a single targeted change per prompt.

Authentication

  • OPENAI_API_KEY must be set for live API calls.

If the key is missing, give the user these steps:

  1. Create an API key in the OpenAI platform UI: https://platform.openai.com/api-keys
  2. Set OPENAI_API_KEY as an environment variable in their system.
  3. Offer to guide them through setting the environment variable for their OS/shell if needed.
  • Never ask the user to paste the full key in chat. Ask them to set it locally and confirm when ready.

Defaults & rules

  • Default model: sora-2 (use sora-2-pro for higher fidelity).
  • Default size: 1280x720.
  • Default seconds: 4 (allowed: "4", "8", "12" as strings).
  • Always set size and seconds via API params; prose will not change them.
  • Use the OpenAI Python SDK (openai package); do not use raw HTTP.
  • Require OPENAI_API_KEY before any live API call.
  • If uv cache permissions fail, set UV_CACHE_DIR=/tmp/uv-cache.
  • Input reference images must be jpg/png/webp and should match target size.
  • Download URLs expire after about 1 hour; copy assets to your own storage.
  • Prefer the bundled CLI and never modify scripts/sora.py unless the user asks.
  • Sora can generate audio; if a user requests voiceover/audio, specify it explicitly in the Audio: and Dialogue: lines and keep it short.
Show full SKILL.md (394 more words)Show less

API limitations

  • Models are limited to sora-2 and sora-2-pro.
  • API access to Sora models requires an organization-verified account.
  • Duration is limited to 4/8/12 seconds and must be set via the seconds parameter.
  • The API expects seconds as a string enum ("4", "8", "12").
  • Output sizes are limited by model (see references/video-api.md for the supported sizes).
  • Video creation is async; you must poll for completion before downloading.
  • Rate limits apply by usage tier (do not list specific limits).
  • Content restrictions are enforced by the API (see Guardrails below).

Guardrails (must enforce)

  • Only content suitable for audiences under 18.
  • No copyrighted characters or copyrighted music.
  • No real people (including public figures).
  • Input images with human faces are rejected.

Prompt augmentation

Reformat prompts into a structured, production-oriented spec. Only make implicit details explicit; do not invent new creative requirements.

Template (include only relevant lines):

Use case: <where the clip will be used>
Primary request: <user's main prompt>
Scene/background: <location, time of day, atmosphere>
Subject: <main subject>
Action: <single clear action>
Camera: <shot type, angle, motion>
Lighting/mood: <lighting + mood>
Color palette: <3-5 color anchors>
Style/format: <film/animation/format cues>
Timing/beats: <counts or beats>
Audio: <ambient cue / music / voiceover if requested>
Text (verbatim): "<exact text>"
Dialogue:
<dialogue>
- Speaker: "Short line."
</dialogue>
Constraints: <must keep/must avoid>
Avoid: <negative constraints>

Augmentation rules:

  • Keep it short; add only details the user already implied or provided elsewhere.
  • For remixes, explicitly list invariants ("same shot, change only X").
  • If any critical detail is missing and blocks success, ask a question; otherwise proceed.
  • If you pass a structured prompt file to the CLI, add --no-augment to avoid the tool re-wrapping it.

Examples

Generation example (single shot)
Use case: product teaser
Primary request: a close-up of a matte black camera on a pedestal
Action: slow 30-degree orbit over 4 seconds
Camera: 85mm, shallow depth of field, gentle handheld drift
Lighting/mood: soft key light, subtle rim, premium studio feel
Constraints: no logos, no text
Remix example (invariants)
Primary request: same shot and framing, switch palette to teal/sand/rust with warmer backlight
Constraints: keep the subject and camera move unchanged

Prompting best practices (short list)

  • One main action + one camera move per shot.
  • Use counts or beats for timing ("two steps, pause, turn").
  • Keep text short and the camera locked-off for UI or on-screen text.
  • Add a brief avoid line when artifacts appear (flicker, jitter, fast motion).
  • Shorter prompts are more creative; longer prompts are more controlled.
  • Put dialogue in a dedicated block; keep lines short for 4-8s clips.
  • State invariants explicitly for remixes (same shot, same camera move).
  • Iterate with single-change follow-ups to preserve continuity.

Guidance by asset type

Use these modules when the request is for a specific artifact. They provide targeted templates and defaults.

  • Cinematic shots: references/cinematic-shots.md
  • Social ads: references/social-ads.md

CLI + environment notes

  • CLI commands + examples: references/cli.md
  • API parameter quick reference: references/video-api.md
  • Prompting guidance: references/prompting.md
  • Sample prompts: references/sample-prompts.md
  • Troubleshooting: references/troubleshooting.md
  • Network/sandbox tips: references/codex-network.md

Reference map

  • references/cli.md: how to run create/poll/remix/download/batch via scripts/sora.py.
  • references/video-api.md: API-level knobs (models, sizes, duration, variants, status).
  • references/prompting.md: prompt structure and iteration guidance.
  • references/sample-prompts.md: copy/paste prompt recipes (examples only; no extra theory).
  • references/cinematic-shots.md: templates for filmic shots.
  • references/social-ads.md: templates for short social ad beats.
  • references/troubleshooting.md: common errors and fixes.
  • references/codex-network.md: network/approval troubleshooting.

© davila7, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 13 other files (scripts, references, assets) in cli-tool/components/skills/video/sora of davila7/claude-code-templates.

  • SKILL.md
  • LICENSE.txt
  • agents/openai.yaml
  • assets/sora-small.svg
  • assets/sora.png
  • references/cinematic-shots.md
  • references/cli.md
  • references/codex-network.md
  • references/prompting.md
  • references/sample-prompts.md
  • references/social-ads.md
  • references/troubleshooting.md
  • references/video-api.md
  • scripts/sora.py

Open the folder on GitHubat commit 14680ec

Used in 1 other repository

We found 12 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in davila7/claude-code-templates, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Sora next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Sora compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Sora this skilldavila7/claude-code-templates32k1 repos~2kAutomated safety check: PassApache-2.0
Higgsfield AssistOSideMedia/higgsfield-ai-prompt-skill701—~2.9kAutomated safety check: PassMIT
Vibe Scenevericontext/vibeframe174—~1.8kAutomated safety check: PassMIT
SoraJetBrains/skills364—~2.6kAutomated safety check: PassApache-2.0
Soranexu-io/open-design100k—~290Automated safety check: PassApache-2.0
302ai API Integrationmajiayu000/claude-skill-registry6661 repos~3.4kAutomated safety check: PassMIT

Similar skills

  • Higgsfield Assist

    OSideMedia/higgsfield-ai-prompt-skill

    A skill your agent uses when the user asks about Higgsfield Assist (the built-in GPT-5 copilot), how to use the platform's native AI assistant, credit optimization strategies, plan selection, how to…

    701 GitHub stars~2.9k tokensUpdated 12 days ago
    Media & CreativeAuto-check passed
  • Vibe Scene

    vericontext/vibeframe

    Author, repair, render, and inspect VibeFrame scene projects built from STORYBOARD.md and DESIGN.md.

    174 GitHub stars~1.8k tokensUpdated 3 days ago
    Media & CreativeAuto-check passed
  • Sora

    JetBrains/skills

    Official

    A skill your agent uses when the user asks to generate, edit, extend, poll, list, download, or delete Sora videos, create reusable non-human Sora character references, or run local multi-video…

    364 GitHub stars~2.6k tokensUpdated 3 mo ago
    Media & CreativeAuto-check passed
  • Sora

    nexu-io/open-design

    Generate, remix, and manage short video clips via OpenAI's Sora API.

    100k GitHub stars~290 tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • 302ai API Integration

    majiayu000/claude-skill-registry

    ALWAYS use this skill when user needs ANY API functionality (AI models, image generation, video, audio, text processing, etc.).

    666 GitHub starsUsed in 1 repo~3.4k tokens
    Media & CreativeAuto-check passed
  • Pollinations

    majiayu000/claude-skill-registry

    Pollinations.ai API for AI generation - text, images, videos, audio, and analysis.

    666 GitHub starsUsed in 1 repo~1.7k tokens
    Media & CreativeAuto-check passed

More from davila7/claude-code-templates

All 477 skills in this repo
  • Perplexity Web Search

    davila7/claude-code-templates

    Runs web-grounded searches through Perplexity's Sonar models over OpenRouter for current events, recent literature and cited facts beyond the model's training cutoff.

    32k GitHub starsUsed in 12 repos~3.5k tokens
    Auto-check: notes
  • Neuropixels Data Analysis

    davila7/claude-code-templates

    Analyzes Neuropixels recordings from SpikeGLX or Open Ephys through preprocessing, drift correction, Kilosort4 spike sorting, quality metrics and curation.

    32k GitHub starsUsed in 10 repos~2.8k tokens
    Auto-check passed
  • Scientific Venue Templates

    davila7/claude-code-templates

    Supplies LaTeX templates and formatting rules for journals, conferences, posters, and grant proposals, then can check a draft against them.

    32k GitHub starsUsed in 9 repos~5.1k tokens
    Auto-check: notes
  • Brand Voice Content Creator

    davila7/claude-code-templates

    Analyzes a brand's existing writing to lock in a consistent voice, then builds SEO blog posts and platform-specific social content around it.

    32k GitHub starsUsed in 3 repos~1.9k tokens
    Auto-check passed
  • CAPA Officer

    davila7/claude-code-templates

    Guides corrective and preventive action (CAPA) work in a quality management system, from initiation and root cause analysis through effectiveness verification.

    32k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Fda Consultant Specialist

    davila7/claude-code-templates

    Senior FDA consultant and specialist for medical device companies including HIPAA compliance and requirement management.

    32k GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed

Works with

Questions about Sora

What does Sora do?

A skill your agent uses when the user asks to generate, remix, poll, list, download, or delete Sora videos via OpenAI’s video API using the bundled CLI (scripts/sora.py), including requests like…. Sora is an agent skill from davila7/claude-code-templates.py), including requests like “generate AI video,” “Sora,” “video remix,” “download video/thumbnail/spritesheet,” and batch video generation; requires OPENAIAPIKEY and Sora API access.

When should I use Sora?

Sora fits situations like: the user asks to generate; delete Sora videos via OpenAIs video API using the bundled CLI (scripts/sora.py); including requests like generate AI video; download video/thumbnail/spritesheet.

How do I install Sora in Claude Code?

Run `npx skills add davila7/claude-code-templates --skill sora -a claude-code`. Or copy the skill folder (cli-tool/components/skills/video/sora in davila7/claude-code-templates) into .claude/skills/sora in your project. Claude Code loads it when a task matches its description.

How do I install Sora in Codex?

Run `npx skills add davila7/claude-code-templates --skill sora -a codex`. Or copy the skill folder (cli-tool/components/skills/video/sora in davila7/claude-code-templates) into .agents/skills/sora in your project. Codex loads it when a task matches its description.

Can I use Sora in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davila7/claude-code-templates --skill sora -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sora, .gemini/skills/sora, .github/skills/sora and .opencode/skills/sora in your project.

What does Sora need to run?

Going by SKILL.md and its folder, Sora needs Python for the scripts in its folder and credentials named OPENAI_API_KEY. Our summary lists: Python 3; A credential in OPENAI_API_KEY.

Does Sora access the network?

SKILL.md names 1 domain. As links in the text: platform.openai.com. This is read from the text; nothing was executed.

Is Sora safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Sora use?

Sora is published under the Apache-2.0 licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Sora use?

About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.5k tokens, read only when the agent opens those files.

What are the alternatives to Sora?

Skills that share tags, products or a category with Sora: Higgsfield Assist (OSideMedia/higgsfield-ai-prompt-skill, 701 stars), Vibe Scene (vericontext/vibeframe, 174 stars), Sora (JetBrains/skills, 364 stars) and Sora (nexu-io/open-design, 100k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Sora?

davila7 (a GitHub user) maintains it in davila7/claude-code-templates, which has 32,463 GitHub stars. The repository holds 477 skills in this directory. The repository was last updated on October 8, 2026.

Source: davila7/claude-code-templates on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.