mcpField
V
videoagent-director

videoagent-director

github.com/pexoaiCreative & media816542 installsUpdated 10w ago
Repository

About videoagent-director

videoagent-director is a creative skill for turning a natural-language idea into a video plan and production. It plans shots and prompts, then runs each shot through director.js after approval.

Key features

  1. 01Natural-language brief analysis
  2. 02Shot planning and storyboard
  3. 03Internal image, video, and audio prompts
  4. 04Shot-by-shot execution with director.js
  5. 05Production output report

Use cases

  1. 01Planning a brand video from an idea
  2. 02Breaking a short film into scenes
  3. 03Producing a social reel
  4. 04Generating a clip from a written concept

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/pexoai/pexo-skills --skill videoagent-director

After installing, type/videoagent-directorin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

package.json
README.md
references/
storyboard_guide.md
tools/
director.js

Details

From the project README

🎬 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
LengthShots
15–20 s3–4 shots
30 s5–6 shots
45–60 s7–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.

Comments

Markdown supported