Make trailers, music videos, cutscenes and page recordings for a Homie studio — a gameplay trailer captured from the studio's own running game and cut on the beat of its music; a recording of any…

Apache-2.0Auto-check passedMedia & Creative

Install Video

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill video -a claude-code

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

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins video --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/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/homie-rocks/homie/skills/video .claude/skills/video && 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
video
GitHub stars
1.2k
Token cost
~4.5k tokens
SKILL.md length
2,404 words
Files
26 (incl. scripts, references)
Skills in repo
686
Repo updated
First seen
Licence
Apache-2.0

At a glance

Make trailers, music videos, cutscenes and page recordings for a Homie studio — a gameplay trailer captured from the studio's own running game and cut on the beat of its music; a recording of any…

  • Works in 9 steps: A style sheet (videos//STYLE.md):… → Character and set sheets with an image… → A shot list on the beat grid: node grid… → …
  • Someone in a studio asks for a trailer
  • SKILL.md covers The rules that come first, Which video, A. A gameplay trailer and B. Generated footage: a music…, plus 5 more sections
  • Runs JavaScript scripts from its folder; calls node, npm and npx; needs FAL_KEY

What it does

Video is an agent skill from hashgraph-online/awesome-codex-plugins. Make trailers, music videos, cutscenes and page recordings for a Homie studio — a gameplay trailer captured from the studio's own running game and cut on the beat of its music; a recording of any web page while a script drives it (clicks, taps, keys, typing, scrolls, waits; Play and a few moves on the studio's own game page; a site walkthrough or product demo) in real time with honest frames; or generated footage from fal (Seedance and friends) through the creator's OWN fal account under a hard budget with a…

Its SKILL.md is about 4.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 30 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/DELIVERY.md` and `references/HONESTY.md`). Compatibility notes: Node 22, ffmpeg and Chrome. Generated footage uses the creator's own fal account (FALKEY); fal's own MCP server (https://mcp.fal.ai/mcp-relay) finds models…

It sits in Media & Creative, covering AI video generation. It works with Seedance and JavaScript. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.

When your agent uses it

  • Someone in a studio asks for a trailer
  • A clip for social media
  • A video of my game
  • Tutorial video of a site

Example prompts

  • “s site (big files in the studio”
  • “a video of my game”
  • “/video”

Requirements

  • Node.js
  • A credential in FAL_KEY
  • Compatibility (from SKILL.md): Node 22, ffmpeg and Chrome. Generated footage uses the creator's own fal account (FAL_KEY); fal's own MCP server (https://mcp.fal.ai/mcp-relay) finds models and reads prices.

Workflow steps

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

  1. A style sheet (videos//STYLE.md): palette, line, type, what the look risks.
  2. Character and set sheets with an image model, one call each, checked against the style.
  3. A shot list on the beat grid: node grid --song gives the
  4. Bases: reference-to-video with the sheets as image references and the song's cut for that
  5. Sync check on every base: lag --base --ref . A clip that sings its
  6. Draw-over and kinetic type: film init , film frames --base --id ,
  7. The sync loop: words --in (a frame at every sung word, labelled) and
  8. Contact-sheet review: sheet --in --every 1. Look at every cell. Then
  9. Deliver 16:9 and 9:16 (the film's two modes), then the page (below).

What it can do on your machine

Read from SKILL.md and the folder at commit 78497e5. 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 6 files in scripts/ (JavaScript, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • node
    • npm
    • npx

    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):

    • mcp.fal.ai
    • fal.ai

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

  • Credentials

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

    • FAL_KEY

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

  • Compatibility

    Node 22, ffmpeg and Chrome. Generated footage uses the creator's own fal account (FAL_KEY); fal's own MCP server (https://mcp.fal.ai/mcp-relay) finds models and reads prices.

    From compatibility in the SKILL.md frontmatter.

Context cost

Video loads about 4.5k tokens when it runs, and up to ~13k if it reads all its reference files. Until then it costs about 247 tokens; SKILL.md has 2,404 words of instructions outside code blocks.

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

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 hashgraph-online/awesome-codex-plugins at commit 78497e5, republished under its Apache-2.0 licence (© hashgraph-online). 2,404 words, ~4,497 tokens.

Download SKILL.mdSave it as .claude/skills/video/SKILL.md (or your agent's skills folder). This skill also uses 25 other files; get the full folder from GitHub.
name
video
description
Make trailers, music videos, cutscenes and page recordings for a Homie studio — a gameplay trailer captured from the studio's own running game and cut on the beat of its music; a recording of any web page while a script drives it (clicks, taps, keys, typing, scrolls, waits; Play and a few moves on the studio's own game page; a site walkthrough or product demo) in real time with honest frames; or generated footage from fal (Seedance and friends) through the creator's OWN fal account under a hard budget with a receipt for every call, drawn over with a JavaScript look and kinetic type, sync-checked, reviewed on contact sheets, delivered 16:9 and 9:16, and published as a video page on the studio's site (big files in the studio's own R2 when it has storage). Use when someone in a studio asks for a trailer, a teaser, a music video, a cutscene, a clip for social media, "a video of my game", a demo, a walkthrough or tutorial video of a site or app, or a recording of a page.
compatibility
Node 22, ffmpeg and Chrome. Generated footage uses the creator's own fal account (FAL_KEY); fal's own MCP server (https://mcp.fal.ai/mcp-relay) finds models and reads prices.
metadata.providers
fal

Video for a studio

A studio is the folder with studio.json. Videos live in videos/<slug>/, listed in videos/manifest.json; a published entry is a page at /videos/<slug>/ on the studio's site, playing the 16:9 cut (the 9:16 cut on a portrait phone). Everything runs through scripts/video.mjs in this skill's folder (Claude Code: node "${CLAUDE_PLUGIN_ROOT}/skills/video/scripts/video.mjs" <command>), from inside the studio. It needs Node 22, ffmpeg and Chrome; --json on every command.

Check disk before any capture or render (df -h .): keep 10 GB free. Raw frames are deleted once encoded. Finish in this turn: start the local site with the app's background-task tool (not nohup ... & inside a command, which dies with the command) and wait on it.

The rules that come first

references/HONESTY.md has them in full. In short:

  • No fabricated gameplay. Anything shown as the game is captured from the game running. A generated shot is never passed off as gameplay, and a trailer that mixes both says which is which. Bots are bots: never imply a crowd that was not there.
  • No real people, no real brands. No likeness, voice or name of a real person, no real logo, product or copyrighted character, in prompts, references or type.
  • Money only with a budget. Every paid call is priced first, fits inside the cap the person set, and leaves a receipt the moment the provider accepts it.

Which video

  • A gameplay trailer (15 to 60 s): real footage of the studio's own game, cut on the beat of the studio's music. No provider, no money. Recipe: section A below, detail in references/TRAILER.md.
  • A music video, a cutscene, a teaser with generated footage: fal models under a budget, then drawn over. Section B, detail in references/METHOD.md.
  • A recording of a page while it is used: the studio's own game page (land, press Play, play a little), a site walkthrough, a product demo, a tutorial. A steps file drives it. Section C, detail in references/RECORD.md.

Both start with node <video.mjs> check (ffmpeg, Chrome, the studio; fal only if a key is set).

A. A gameplay trailer

One command films the game, rebuilds its sound, picks the shots and delivers three shapes:

sh
npm run dev                                                    # background task; the site at http://127.0.0.1:8787
node <video.mjs> trailer <slug> --game <id> --url http://127.0.0.1:8787 --seconds 45 --length 20 --title "<GAME NAME>" --end "Play free"

(npx --no-install homie-studio trailer <id> … is the same command, into videos/<id>-trailer/.)

  • It renders the game frame by frame on a virtual clock: in each frame the page's requestAnimationFrame, performance.now, Date, setTimeout, setInterval and its CSS and Web animations all move on by exactly 1/30 s, then the frame is copied. No frame is ever held, however heavy the game or slow the computer (heldFrames is 0; speed says how it compared with real time).
  • The sound is rebuilt, not recorded. The sound skill's player (sound.js) logs every sound it schedules when a recorder asks; the files it names are fetched from the game's own address and mixed again on the film's clock (work/capture/sound.wav, and sfx.wav and music.wav apart). A game whose sound does not go through sound.js (and does not push the same events) comes out silent, and the result says so: use capture below for those, which records the speaker in real time.
  • The shots are picked from what the game played: a rare sound (a win, an explosion) counts for more than a common one (a step), with the picture's motion as the smaller part. When the game played music, a shot is a bar of it and the music runs on under the cuts; shotsPlayed says what is in each shot. work/edl.json is the edit: change it and run cut <slug> --square.
  • Out: <slug>.mp4 (16:9), <slug>-square.mp4 (1:1), <slug>-vertical.mp4 (9:16), a poster, an end card (and a title card with --title) in the game's look. --keep-capture edits the film already made (another --length, another --end) without filming again. --steps <file> presses things while it films (references/RECORD.md; only wait, waitFor, click, tap, key, keys, type, focus).
  • What the virtual clock does not reach: the audio clock, <video>/<audio> elements, Web Workers, and the network. The default page is the big screen of a live room: a relay keeps real time, so when frames render slower than real time (speed well under 1) the room runs fast in the film, and the result warns. Then render smaller (--scale 0.5) or film in real time with capture. --page <path> films another page of the site (one whose game runs in the page itself is exact).
  • Then look (sheet), check (qa.mjs on each file), and add. Detail: references/TRAILER.md.

By hand, in real time, with the studio's own song as the bed:

sh
npm run dev                                                    # background task; the site at http://127.0.0.1:8787
node <video.mjs> capture <slug> --game <id> --url http://127.0.0.1:8787 --seconds 60
node <video.mjs> card <slug> --name title --text "<GAME NAME>" --sub "<one line>" --game <id>   # the game's palette and font
node <video.mjs> card <slug> --name end --text "Play free" --sub "<site>/<id>/play" --small "Real gameplay. Empty seats are filled by bots."
node <video.mjs> edl <slug> --length 30 --song <music slug> --title "<GAME NAME>"
node <video.mjs> cut <slug>
node <video.mjs> sync <slug>
node <video.mjs> sheet <slug> --in videos/<slug>/<slug>.mp4
  • When the trailer is done, stop the local site with npx --no-install homie-studio dev --stop (it stops exactly this studio's server), never with a name pattern like pkill -f wrangler.
  • Port 8787 taken by another site (curl it: a different studio's title answers)? Run npx --no-install homie-studio dev --port <free port> and use that address.
  • capture records the game's big screen (/<id>/tv: a spectator in a live public room, bots in empty seats) off a headless GPU Chrome for real seconds, with the game's own WebAudio sound on the same clock (the browser is muted; nothing plays out loud). It presses nothing. The live site works too (--url the studio's address); a local run keeps strangers out of the shot. A heavy game paints few frames at 1920x1080 (it prints "fps from the page" and a note when that is well under the film's 30): capture again with --scale 0.67 (a 1280x720 page, scaled up to 1920x1080 when it is encoded) or a lower --fps. One game measured 8 fps at 1080p and 39 at 720p.
  • The bed is the studio's own song (--song, from the music skill) or the game's sound alone. No song yet: the sound skill synthesizes a theme for free (its bar grid cuts the trailer the same way), or the music skill renders one with ElevenLabs (credits: ask).
  • edl finds the song's bar lines, picks the busiest moments of the capture (motion, not guesses), and writes work/edl.json: a title card of one bar, shots of one bar each, the end card on what is left. Title and end cards made with card … --game <id> wear the game's palette and display font (games/<id>/style.json, the style skill's decisions). Every cut lands on a bar line. Read it and change it: order, which moments, where the song starts (--bed-from-bar).
  • cut renders both deliveries: 16:9 (1920x1080) and 9:16 (1080x1920, the whole game frame over a blurred fill, never a crop that hides the action), and 1:1 (1080x1080) with --square; 30 fps, the song and the game's sound mixed, -14 LUFS, faststart, and a poster frame. Every cut is on the frame nearest its beat (segments are counted in frames, so cuts never drift from the music: cuts lists each one's frame), and the picture is yuv420p, limited range, converted and tagged BT.709 (a capture's frames are full range; cut fails if the file does not read back that way).
  • sync checks every cut: the picture must change within one frame of the sound's onset. sheet makes a contact sheet: open it and look before anyone else sees the video.
  • node <skill folder>/scripts/qa.mjs videos/<slug>/<slug>.mp4 checks the delivered file itself: every frame decodes, phone-safe encoding, faststart, no black or frozen stretches, loudness and true peak, under the site's 25 MiB. Fix every FAIL before add. Delivery, capture and honesty traps: references/DELIVERY.md.
Show full SKILL.md (1,188 more words)Show less

B. Generated footage: a music video, a cutscene

The provider, only now. fal through the person's own account: they create a key at https://fal.ai/dashboard/keys and set FAL_KEY in the environment your AI runs in (never pasted into the chat, never written into the studio). check tests it for free. fal's own MCP server is the way to find models and read their input schemas and prices (search_models, recommend_model, get_model_schema, get_pricing): use it rather than memory, because video endpoints retire and reprice monthly. Not connected? Offer it, and the person signs in on fal's own page (no key): in Claude Code claude mcp add --transport http --scope user fal https://mcp.fal.ai/mcp-relay, then /mcp; in Codex codex mcp add fal --url https://mcp.fal.ai/mcp-relay, then codex mcp login fal. Paid calls go through video.mjs gen, never the MCP's run_model or submit_job: gen prices, caps, receipts and resumes; the MCP call does none of that (the Homie mod in Claude Code, and Homie's hooks in Codex, hold one as a call whose cost cannot be read first).

The budget, before the first call. Plan the shots, price one of each kind, add them up, and ask the person for a cap in dollars:

sh
node <video.mjs> price --model <fal model> --input <input.json>       # free: fal's own unit price x this input
node <video.mjs> budget <slug> --cap <dollars they agreed to>
node <video.mjs> gen <slug> --model <model> --input <input.json> --out work/<file> --dry-run
node <video.mjs> gen <slug> --model <model> --input <input.json> --out work/<file> --yes

gen refuses with no budget, refuses past the cap, and asks again without --yes. The receipt is written the moment fal accepts the job (videos/<slug>/budget.json, videos/receipts.jsonl). Running the same gen again resumes the job from <out>.request; it never pays twice. Strings "@file:<path>" in the input are uploaded to fal's storage first (free). A model whose billing unit the script cannot count is refused, not guessed: price it by hand from the model page. Spend the riskiest shot first (the pilot), look at it, then the rest.

The method (references/METHOD.md has every step):

  1. A style sheet (videos/<slug>/STYLE.md): palette, line, type, what the look risks.
  2. Character and set sheets with an image model, one call each, checked against the style.
  3. A shot list on the beat grid: node <video.mjs> grid <slug> --song <music slug> gives the song's beats, bars and every sung word's time; each shot starts and ends on a bar line.
  4. Bases: reference-to-video with the sheets as image references and the song's cut for that shot as the audio reference (slice), so mouths and hits land on the music. 480p or 720p is enough under a draw-over.
  5. Sync check on every base: lag <slug> --base <clip> --ref <cut>. A clip that sings its reference plays it back at 0 ms; anything else is regenerated or shifted.
  6. Draw-over and kinetic type: film init <slug>, film frames <slug> --base <clip> --id <shot>, edit film/shots.json and film/look.js, then film render <slug> (and --mode v for 9:16). Every frame is a function of time, rendered frame-exactly in a headless browser.
  7. The sync loop: words <slug> --in <cut> (a frame at every sung word, labelled) and sync <slug> --in <cut> --at <hit times>. Fix and re-render until every word and hit lands.
  8. Contact-sheet review: sheet <slug> --in <cut> --every 1. Look at every cell. Then scripts/qa.mjs <cut> on each delivery (references/DELIVERY.md: continuity, faces, green screens).
  9. Deliver 16:9 and 9:16 (the film's two modes), then the page (below).

C. A page recording: a script drives the page

sh
npm run dev                                                    # background task; the site at http://127.0.0.1:8787
node <video.mjs> record <slug> --steps <steps.json> --url http://127.0.0.1:8787 [--device phone] [--name <take>]
node <video.mjs> sheet <slug> --in videos/<slug>/work/record/recording.mp4
  • The steps file says where to start and what to do, one step after another: click, tap, drag, hover, key, keys, type, scroll, goto, wait, and waitFor a selector, a text or a state ("js"), in the page or in the game's own frame ("frame": "game"). Any step can carry a "caption". references/examples/studio-play.json records a studio's own game from its landing: Play, then the arrow keys; studio-play-phone.json the same on a phone with the game's touch stick. Both are tested against a real studio. Every step: references/RECORD.md. A Game Lab's side by side (New beside Today, slowed down, stepped through its phases) is a page too: the lab skill's references/record-lab.json records it from the lab's own address.
  • It runs in real time on a headless GPU Chrome: nothing sped up, nothing cut. Every frame is one the page drew; a moment it did not repaint is held and counted, never interpolated. A visible cursor and press rings show where the script pointed (--no-cursor drops them); the take's honesty line says so.
  • recording.json has each step's second, what its frame received (keys, presses, touches: delivered, not judged), the page's and the game's real frame rates and the renderer. Under 20 fps or on a software renderer it warns: that take shows a slow computer, not the page.
  • Then sheet and look; add <slug> --file videos/<slug>/work/record/recording.mp4 --kind clip --title "…" (copy its captions.vtt to videos/<slug>/captions.vtt first) and publish. Or cut it into a trailer like any capture.
  • Outside a studio: node <skill folder>/scripts/record-page.mjs --steps <steps.json> --out <folder> records any address (it needs Chrome, ffmpeg and puppeteer-core).

The game's landing

A published trailer with --for-game <id> plays, muted, in the hero of that game's landing page when the game has no hero loop of its own, and the landing links to it ("Watch the trailer"). The best hero is a short silent loop of real play in games/<id>/hero/ (the game skill, "Its landing page", cuts it from a capture).

The page

sh
node <video.mjs> add <slug> --title "<Title>" --blurb "<one line>" --kind trailer|music-video|cutscene [--for-game <id>] [--for-song <music slug>] --publish
node <video.mjs> publish <slug>

A studio needs no storage for this: the site serves each file itself, up to 25 MiB a file, and cut and film render hold their deliveries under that (a longer video gets a lower bitrate). Bigger masters stay in the studio folder. A studio with storage (storage add: R2 on the studio's own Cloudflare account, which asks the person for a payment method first) keeps its big media there by default: the deploy uploads each delivery (over 1 MiB, or left out of git), reads it back and checks it by SHA-256 before the site stops carrying it, and the page plays it at the same address. Cuts can then run at 12 Mbit/s. R2 has no egress fees; storage is free up to 10 GB-month, then US$0.015 per GB-month.

add writes the manifest entry: the 16:9 cut the player plays, the 9:16 cut, the poster, captions if there is a captions.vtt, the credits (the models used, the song's credits), the honesty line from the capture (or the recording), and the money spent. publish redeploys (with storage, the deploy moves the big files to R2 first, each checked by SHA-256), and checks the page (200) and the video (a byte range, 206: phones seek with them) at its address. A studio not online yet: the publish skill first.

Tell the person

The page link, the length, both files, what it cost (from the receipts) against the cap, what is generated and what is captured, and what the sync check and the contact sheet showed. Commit videos/ (big media stays out of git; the manifest, edl, shot list, film code and receipts go in).

Never

  • Never show generated footage as gameplay, or a bot as a person.
  • Never put a real person, a real brand or a copyrighted character in a prompt, a reference or the type.
  • Never spend without a budget, past it, or without a receipt; never print or store a key.

© hashgraph-online, 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 25 other files (scripts, references) in plugins/homie-rocks/homie/skills/video of hashgraph-online/awesome-codex-plugins.

  • SKILL.md
  • agents/openai.yaml
  • references/DELIVERY.md
  • references/HONESTY.md
  • references/METHOD.md
  • references/RECORD.md
  • references/TRAILER.md
  • references/examples/site-walkthrough.json
  • references/examples/studio-play-phone.json
  • references/examples/studio-play.json
  • scripts/capture-game.mjs
  • scripts/clock.js
  • scripts/drawover/film.js
  • scripts/drawover/index.html
  • scripts/drawover/look.js
  • scripts/drawover/shots.json
  • … and 10 more

Open the folder on GitHubat commit 78497e5

Compare with similar skills

Video 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.

Video compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Video this skillhashgraph-online/awesome-codex-plugins1.2k—~4.5kAutomated safety check: PassApache-2.0
Scroll World Landing Pageoso95/scroll-world9.8k1 repos~12kAutomated safety check: NotesMIT
Seedance Storyboard Generatorliangdabiao/Seedance2-Storyboard-Generator2.5k—~2.2kAutomated safety check: PassNone
Libtv Videonexu-io/nexu3.3k—~3.5kAutomated safety check: PassMIT
Analyze Videokrusemediallc/arcads-claude-code1.6k—~4.2kAutomated safety check: PassMIT
Imagesmixs/visual-skills484—~2.1kAutomated safety check: PassCC-BY-4.0

Similar skills

  • Scroll World Landing Page

    oso95/scroll-world

    Builds a scroll-driven landing page where a pre-rendered camera flies through connected AI-generated scenes, using Higgsfield for stills and video clips.

    9.8k GitHub starsUsed in 1 repo~12k tokens
    Frontend & DesignAuto-check: notes
  • Seedance Storyboard Generator

    liangdabiao/Seedance2-Storyboard-Generator

    专业的Seedance 2.0平台AI视频脚本和分镜生成器。当用户要求:(1) 将文章/故事转换为视频脚本,(2) 生成Seedance 2.0分镜提示词,(3) 规划多集AI视频系列,(4) 为GPT-Image-2、Seedream、Nano Banana…

    2.5k GitHub stars~2.2k tokensUpdated 18 days ago
    Media & CreativeAuto-check passed
  • Libtv Video

    nexu-io/nexu

    Seedance 2.0 video & image generation via LibTV Gateway - AI text-to-video, image-to-video, video continuation, style transfer, and text-to-image using Seedance 2.0 model.

    3.3k GitHub stars~3.5k tokensUpdated 5 mo ago
    Media & CreativeAuto-check passed
  • Analyze Video

    krusemediallc/arcads-claude-code

    Analyze a reference video and reverse-engineer its style into a reusable Seedance 2.0 prompting template.

    1.6k GitHub stars~4.2k tokensUpdated 16 days ago
    Media & CreativeAuto-check passed
  • Image

    smixs/visual-skills

    Image prompting skill for Nano Banana (NBP/NB2) and GPT Image 2.5 (Flare/Sunburst).

    484 GitHub stars~2.1k tokensUpdated 22 days ago
    Media & CreativeAuto-check passed
  • Jianying Video Gen

    cclank/lanshu-waytovideo

    使用剪映(Jianying/小云雀)的 Seedance 2.0 模型自动生成AI视频。支持文生视频(T2V)、图生视频(I2V)、参考视频生成(V2V)和向后延伸(Extend)四种模式。当用户需要生成AI视频、使用Seedance模型创作短片、基于参考图像/视频进行风格转换,或对已有结果继续延长时使用此技能。需要预先配置 cookies.json 登录凭证。

    252 GitHub stars~760 tokensUpdated 6 mo ago
    Media & CreativeAuto-check passed

More from hashgraph-online/awesome-codex-plugins

All 686 skills in this repo
  • Anime Reaction Gif

    hashgraph-online/awesome-codex-plugins

    Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.

    1.2k GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.2k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Rust API Test Harness

    hashgraph-online/awesome-codex-plugins

    A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…

    1.2k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Art

    hashgraph-online/awesome-codex-plugins

    Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…

    1.2k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.2k GitHub stars~618 tokensUpdated today
    Auto-check passed
  • Manuscript Engagement Analytics

    hashgraph-online/awesome-codex-plugins

    Analyze nonfiction manuscripts for reader engagement signals, including heading-level word counts, slow starts, long slogs, weak takeaway titles, value pacing, beta-reader comment dropoff, and…

    1.2k GitHub stars~875 tokensUpdated today
    Auto-check passed

Questions about Video

What does Video do?

Make trailers, music videos, cutscenes and page recordings for a Homie studio — a gameplay trailer captured from the studio's own running game and cut on the beat of its music; a recording of any…. Video is an agent skill from hashgraph-online/awesome-codex-plugins.

When should I use Video?

Video fits situations like: someone in a studio asks for a trailer; A clip for social media; A video of my game; tutorial video of a site.

How do I install Video in Claude Code?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill video -a claude-code`. Or copy the skill folder (plugins/homie-rocks/homie/skills/video in hashgraph-online/awesome-codex-plugins) into .claude/skills/video in your project. Claude Code loads it when a task matches its description.

How do I install Video in Codex?

Run `npx skills add hashgraph-online/awesome-codex-plugins --skill video -a codex`. Or copy the skill folder (plugins/homie-rocks/homie/skills/video in hashgraph-online/awesome-codex-plugins) into .agents/skills/video in your project. Codex loads it when a task matches its description.

Can I use Video 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 hashgraph-online/awesome-codex-plugins --skill video -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/video, .gemini/skills/video, .github/skills/video and .opencode/skills/video in your project.

What does Video need to run?

Going by SKILL.md and its folder, Video needs JavaScript for the scripts in its folder, the command-line tools its instructions call (node, npm and npx) and credentials named FAL_KEY. Our summary lists: Node.js; A credential in FAL_KEY. Compatibility (from SKILL.md): Node 22, ffmpeg and Chrome. Generated footage uses the creator's own fal account (FAL_KEY); fal's own MCP server (https://mcp.fal.ai/mcp-relay) finds models and reads prices..

Does Video access the network?

SKILL.md names 2 domains. As links in the text: mcp.fal.ai and fal.ai. This is read from the text; nothing was executed.

Is Video 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 Video use?

Video is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Video use?

About 4.5k tokens (SKILL.md is roughly 18k 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 8.5k tokens, read only when the agent opens those files.

What are the alternatives to Video?

Skills that share tags, products or a category with Video: Scroll World Landing Page (oso95/scroll-world, 9.8k stars), Seedance Storyboard Generator (liangdabiao/Seedance2-Storyboard-Generator, 2.5k stars), Libtv Video (nexu-io/nexu, 3.3k stars) and Analyze Video (krusemediallc/arcads-claude-code, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Video?

hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,242 GitHub stars. The repository holds 686 skills in this directory. The repository was last updated on October 8, 2026.

Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.