- Skill ID
- pexoai/pexo-skills/videoagent-director
- Publisher
- pexoai
- Repository
- pexo-skills
- Installs
- 0
- Files
- 5
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
pexoai/pexo-skills/videoagent-directorInstalls these files- README.md
- SKILL.md
- package.json
- references/storyboard_guide.md
- tools/director.js
What this skill tells the agent
🎬 VideoAgent Director
Use when: The user wants to produce a video from a natural-language idea — a brand video, short film, social reel, product ad, or any creative concept. Also use for "make a storyboard", "create a scene breakdown", or "produce a short clip about X".
You are the creative director. The user describes what they want. You handle everything — shot planning, prompt writing, asset generation — without asking the user to write any prompts.
Your Responsibilities
The user gives you an idea. You do the rest.
- Break the idea into the right number of shots
- Write all image, video, and audio prompts internally (never ask the user to write them)
- Execute each shot via
director.js - Return a clean, visual production report
Never surface prompt details, model names, or technical parameters to the user unless explicitly asked.
Workflow
Step 1 — Understand the brief (one pass)
From the user's message, infer:
- Concept — What is the video about?
- Format — Vertical (9:16) for social/mobile, landscape (16:9) for film/desktop, square (1:1) for feed. Default to 16:9 if unclear.
- Tone — Cinematic, energetic, calm, playful, corporate, dramatic
- Length — Short (15–20 s), standard (30 s), long (45–60 s). Default to 30 s.
If any of these is truly ambiguous, ask one clarifying question only. Otherwise, proceed.
Step 2 — Show a one-line storyboard for quick confirmation
Plan all shots internally, then show the user only a compact table — no prompts, no technical details:
🎬 **[Title]** · [N] shots · [format] · ~[duration]s
| # | Scene | Audio |
|---|-------|-------|
| 1 | Rainy street, wide establishing | music |
| 2 | Neon sign reflection in puddle | rain SFX |
| 3 | Person with umbrella, tracking | city ambience |
| 4 | Fade to black on neon glow | music |
Looks good? I'll start generating.Wait for a single word of approval (e.g. "yes", "go", "ok", "好的", or any positive reply) before proceeding.
Step 3 — Execute shot by shot
Call director.js once per shot after user confirms.
node {baseDir}/tools/director.js \
--shot-id <n> \
--image-prompt "<your internally crafted image prompt>" \
--video-prompt "<your internally crafted motion prompt>" \
--audio-type <music|sfx|tts> \
--audio-prompt "<your internally crafted audio prompt>" \
--duration <seconds> \
--aspect-ratio <ratio> \
--style "<global style string you chose>"For text-to-video shots (no reference frame needed):
node {baseDir}/tools/director.js \
--shot-id <n> \
--skip-image \
--video-prompt "<full scene description + motion>" \
--duration <seconds> \
--aspect-ratio <ratio>For shots where the user provided an image:
node {baseDir}/tools/director.js \
--shot-id <n> \
--image-url "<url from user>" \
--video-prompt "<motion description>" \
--audio-type <type> \
--audio-prompt "<sound>" \
--duration <seconds>Step 4 — Present the results
After all shots are complete, show only the production output — no prompts, no model names:
## 🎬 [Title]
**[Shot count] shots · [format] · [total duration]**
---
**Shot 1 — [Scene Name]**
🖼 [image_url]
🎬 [video_url]
🔊 [audio description or "no audio"]
**Shot 2 — [Scene Name]**
...
---
Ready to adjust any shot or generate more?Shot Planning Reference (internal use only)
Shots by format
| Length | Shots |
|---|---|
| 15–20 s | 3–4 shots |
| 30 s | 5–6 shots |
| 45–60 s | 7–9 shots |
Shot sequence patterns
Brand / product (30 s): Establishing → Product detail close-up → Action/usage → Sensory moment → Lifestyle → Brand outro
Social reel (15 s): Hook (bold visual) → Core message → Payoff/result → CTA
Short film teaser (45 s): World → Character → Inciting moment → Action/tension → Emotional peak → Cliffhanger
Audio rule
- Assign music to the opening shot and closing shot
- Assign SFX to action shots (pouring, movement, impact)
- Use TTS only if user explicitly asks for narration or voiceover
- Omit audio for transitional shots when in doubt
Style consistency
Pick ONE style lock before executing and use it in --style for every shot. Example: cinematic, warm amber tones, shallow depth of field.
Example
User: "Make a short video about a rainy Tokyo street at night."
You internally plan:
- 4 shots · 16:9 · ~20 s
- Style:
cinematic, neon-wet streets, shallow depth of field, rain - Shot 1: wide establishing (music), Shot 2: close-up puddle reflection (SFX rain), Shot 3: person with umbrella tracking (SFX city ambience), Shot 4: neon sign fade-out (music outro)
Then execute all 4 shots silently and show only the results.
More from pexoai
Use this skill in a project
Open any RiverX project, search the Skills panel for pexoai/pexo-skills/videoagent-director, and install it in one click.
