High-standard, open-source agent skills from OFOX AI — one monorepo so every skill ships with the same quality bar (clear safety contracts, real-tool recipes, no leaking of secrets or local paths).
Skills work with Claude Code, Cursor, Copilot, and 70+ other agents via skills.sh.
npx ofox-skills # install every skill into every agent on this machine
npx ofox-skills doctor # check which agents can actually see them
No account needed to price a job — see below. Read that part first: four of these skills spend real money.
The four seedance-* skills call Ofox's video API, which runs
Seedance 2.5
and bills per second of generated video. A 15-second 720p clip runs about
$3.60; a 4-second 480p draft is about $0.44, and there are cheaper
models. Generation is a slot machine — you often want several takes and keep
one — so the per-clip figure is not the whole cost.
You can price any of this with no account and no API key. Install, then:
bash ~/.agents/skills/ofox-video-core/references/ofox-video.sh \
generate --dry-run --prompt "two people arguing in a kitchen" \
--duration 15 --resolution 720p
# Estimated cost: ~$3.60 (15s x $0.24/s)
# DRY RUN — nothing was submitted and nothing was billed.
~/.agents/skills/ is where the installer keeps the canonical copy, and every
agent reads it — directly, or through a symlink of its own. Claude Code also
exposes the same skill at ~/.claude/skills/ofox-video-core/, but that path
only exists if Claude Code is installed, so the line above is the one that
works everywhere.
--dry-run validates everything and quotes the price without sending a
request. ofox-video.sh models and ofox-video.sh providers likewise need no
key. Decide whether it's worth it, then sign up.
When you are ready: get a key at app.ofox.ai (Settings → API Keys → Create New Key, shown once), then
export OFOX_API_KEY=your_key_here
Already running Codex / Claude Code / Cline with an Ofox key configured? The
same OFOX_API_KEY works — no new key needed.
Prerequisites: curl and jq. curl is usually preinstalled; jq often
isn't (brew install jq on macOS, apt-get install jq on Debian/Ubuntu). The
skills check for both and tell you what's missing.
hal-vault, hal-image and cloudflare-drop don't touch the Ofox API and
cost nothing to run.
Generation is a slot machine, so the take you keep is worth being able to get
back. Each finished clip lands as <name>-<short job id>.mp4 — pass --name
and it is named after the scene instead of a bare job id — with a .json
sidecar beside it holding the full job id, the prompt, the seed, the request
as submitted, and what it actually cost.
The seed is the part that matters. Without one the server picks its own and reports it nowhere, so "that take was good, give me it at 1080p" means rolling the dice again. Recorded, it re-renders the same shot at a different resolution rather than producing a different shot.
npx ofox-skills
Every skill, into every agent on your machine, at user level. That combination is the default because the other combinations break quietly:
-
Every agent, because
skills addon its own asks you interactively which agents to install to — and when an agent is the one running it, skips the question and installs only to the agent it detects. Either way the agents you didn't pick get nothing, and you don't find out until one of them can't see a skill you know you installed. -
Every skill, because each scenario skill reaches its execution layer (
ofox-video-core, and forseedance-anime-dramaalsoofox-image-core) by relative path, which only resolves when they sit side by side. The skills.sh manifest format has no dependency field to declare that with, so installing one alone can leave you with:bash: ../ofox-video-core/references/ofox-video.sh: No such file or directoryThat means the core skill is missing, not that the skill is broken.
npx ofox-skills doctor
Lists every skill in this repo with the agents it is currently linked into, and exits non-zero if any are missing. Worth running when an agent insists a skill doesn't exist — usually it is right, and this says which ones and why.
It checks user-level (global) skills, which is where the default install puts
them, and names that scope in its own output. If you installed with
--project, ask for the same scope:
npx ofox-skills doctor --project
If everything is listed but an agent still can't see it, restart the agent; most read their skills once at startup.
Any flag you pass overrides the matching default:
npx ofox-skills --agent codex # one agent, still every skill
npx ofox-skills seedance-short-drama # one skill, still every agent
npx ofox-skills --project # this project instead of user level
The underlying CLI works directly too, if you'd rather not go through this package — but then the defaults are yours to supply:
npx skills add ofoxai/skills --skill '*' --agent '*' --global --yes
Nine skills in three groups. The one-liners below are deliberately short — each
SKILL.md carries the full contract, the flags, and the measured costs.
| Skill | What it does |
|---|---|
| seedance-short-drama | Dialogue-driven scenes with real humans. Writes the shot list, quoted lines and delivery notes; one held take or several hard cuts inside one job. |
| seedance-ad-creative | Cinematic brand/product ads — hook, showcase, slow-motion climax, hero close. From a product photo or a text description. |
| seedance-product-video | Plain catalog/listing footage — white background, simple orbit or turntable, literal accuracy, no mood lighting. A product photo gives the best fidelity; a text description works for a generic or fictional product. |
| seedance-anime-drama | Anime/manga storyboard shots. Generates the character image first, then animates it, so the same character survives across shots. |
| ofox-video-core | Library. The execution layer the four above call: submit, poll, download, report the real cost. Install it, don't invoke it — unless you're driving the API directly. |
| Skill | What it does |
|---|---|
| ofox-image-core | Library. Every image model Ofox serves, --model defaulting to a cheapest-first chain that falls back and says so. Prices a job with --dry-run, then reports real token usage and dollar cost. |
| Skill | What it does |
|---|---|
| hal-vault | SSH-key encrypted secret store. Masked by default, so an agent can search and inject a credential without ever printing it. |
| hal-image | ImageMagick recipes — resize, crop, composite, montage, watermark, convert — plus lossless compression before sending, so transfers stay small. Needs magick installed. |
| cloudflare-drop | A folder of static files to a live shareable URL. Permanent when CLOUDFLARE_API_TOKEN is set, a 60-minute claimable preview when not — and it says which one you got, verifies the served content, and refuses to invent a link. Optional -otp protects permanent links with a server-side six-digit access code. |
One repo, one quality bar. Each skill is self-contained under skills/<name>/
(a SKILL.md plus optional references/), declared in
skills.sh.json. Publishing many skills from a single
high-standard repo is easier to govern, version, and review than a repo per
skill — and consumers can still install any skill individually with
ofoxai/skills@<name>.
See CONTRIBUTING.md for the bar every skill must clear.
- ofoxai/hal-vault — the SSH-key
encrypted secret store the
hal-vaultskill drives (Go CLI, built on age).
MIT © OFOX AI