zcbacxc/movie-narrator/skill

Claude Code and agent skill by zcbacxc/movie-narrator

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Turn a single text prompt into a narrated movie-recap video. The `mn` CLI orchestrates a 16-step pipeline (resolve → assets → research → script → TTS → align → scenes → match → BGM → translate → subtitle → QA → render → validate → export). This skill lets AI agents (Claude Code, Codex, Cursor, Copilot, etc.) drive the CLI directly and know exactly which commands exist, what they do, and how to chain them.

Install

npx vskill@latest install zcbacxc/movie-narrator/skill

SKILL.md

movie-narrator CLI Skill

mn is a Python CLI that generates narrated movie-recap videos from a single prompt. This document is the machine-readable capability map for AI agents — read it before issuing mn commands so you use the right command, flags, and conventions.

Install & Verify

bash
pip install -e ".[dev]" # dev mode with test deps
mn version # print version + CONTRACT_VERSION
mn --help # full command list

External prerequisites: FFmpeg on PATH (the renderer resolves it via utils/ffmpeg_bin.ffmpeg_bin(), preferring the bundled imageio-ffmpeg build, then the system binary). Optional extras: [media] (scene detection), [ml] (WhisperX alignment, embedding matching), [full] (all extras).

Command Reference

Core generation
CommandPurpose
mn createRun the full pipeline: prompt → narrated recap video
mn raceRun multiple candidate configs in parallel and pick the best
mn imitateAnalyze a reference video and imitate its style/rhythm
mn resumeResume a paused pipeline from a checkpoint
mn rerunDeliberately re-execute from a chosen step (--from STEP, --list-steps, --dry-run prints the invalidation plan without executing) with downstream invalidation (v1.3.0; --dry-run v1.4.2)
Pipeline sub-steps
CommandPurpose
mn resolveResolve a movie from a library directory
mn researchRun plot research (facts/validation)
mn scenesDetect scenes in a video file
mn alignAlign audio with script using WhisperX
mn clipsExport clips from scenes.json
Task queue / async (v0.6+)
CommandPurpose
mn submitSubmit an async narration task
mn statusShow a single task's status
mn tasksList tasks
mn cancelCancel a running task
mn waitWait for task completion
mn cleanupClean up terminal tasks
mn serveStart the remote inference API server
mn downloadDownload artifacts from a remote server
Plugins, presets, registry, artifacts
CommandPurpose
mn plugin listList installed entry-point plugins
mn plugin discoverDiscover and load all plugins
mn plugin registriesShow registered providers/steps
`mn presets list # built-in + installed community presets

mn presets install <url-or-path> # data-only YAML, whitelist-validated mn presets show <name> / remove <name> mn plugin version` | Show CONTRACT_VERSION |

mn presetList presets or show preset details
mn api-specDump the REST API OpenAPI 3.1 spec
mn artifactsArtifact storage and TTL lifecycle (sub: list / cleanup)
Environment & diagnostics
CommandPurpose
mn doctorPre-flight environment check — ffmpeg, optional extras, config (exit code 1 if anything missing)
mn benchmarkEncoder benchmark (libx264 vs detected GPU encoders); flags --duration (clip seconds, default 5), --out (JSON report), --encoders (comma filter, default auto-detect). Thin wrapper over benchmarks/encoder_benchmark.py — requires a source checkout (v1.4.2)

Common Workflows

Generate a video (basic)
bash
mn create --movie "飞驰人生" --style "热血搞笑" --duration 60
Generate from a job YAML config
bash
mn create --config examples/job.example.yaml
Offline / CI smoke run (no network TTS)
bash
CI=1 mn create --movie "CI-Test" --style "热血搞笑" --duration 10 --keep-cache
Async task queue
bash
mn submit -m "飞驰人生" -p douyin-fast # submit async task
mn status <task_id> # show task status
mn serve --port 8765 --max-workers 2 # start daemon + REST API server
Pause & resume (human-in-the-loop)
bash
mn create --movie "飞驰人生" --pause-at script # pause after script
mn resume --state output/<movie>/pipeline_state.json # resume from checkpoint
Rerun from a step (deliberate re-execution)
bash
mn rerun --list-steps # ordered step names (soft steps marked)
mn rerun output/<movie>/pipeline_state.json --from render_video # re-run render_video onward
mn rerun output/<movie>/pipeline_state.json --from render_video --dry-run # print the plan only, no execution

Key mn create Flags

FlagDefaultPurpose
--movie / -m—Movie title/name (required action)
--style / -s热血搞笑Narration style
--duration60Target duration in seconds
--voice / -vprovider defaultTTS voice
--video-format / -f16:9Aspect ratio 16:9 or 9:16 (legacy --format alias accepted)
--narration-preset / -p—Narration preset: douyin-fast / mainstream-dry / bilibili-long
--bgm—Background music file
--no-bgm—Disable BGM
--no-clips—Skip clip export
--strict—Make soft-step failures fatal
--retry—Interactive retry on hard-step failure
--config—Job YAML config path
--subtitle-lang—Subtitle target language
--subtitle-mode—Subtitle mode
--narrator-perspective—Narrator perspective: omniscient / character / detective
--focus-character—Focus character anchor
--output-dir—Output directory
--pause-at—Pause after a given step
--log-level / --verbose—Logging controls

Pipeline & Soft Steps

The pipeline is a flat sequence of steps over a shared Context. Eight steps are soft (optional): research_plot, align_audio, detect_scenes, match_clips, mix_bgm, translate_subtitles, run_qa_gate, export_clips. Each writes a 5-state outcome (disabled/skipped/success/failed/partial). Use --strict to make soft failures fatal.

Conventions an Agent Must Follow

  • Config priority: CLI flags > YAML config > Settings defaults.
  • Settings boundary: .env (Settings) holds LLM + TTS credentials,

endpoints, models, and call params only. All pipeline behavior is configured via job.yaml params.

  • Output layout: output/<sanitized_movie>/ with a cache/ dir (deleted

unless --keep-cache). Generated artifacts are gitignored.

  • CI/offline: use CI=1 to force silent-audio fallback (no Edge-TTS

network calls) so the pipeline runs end-to-end without network.

  • When a task has no `--movie`, the CLI may prompt interactively. Prefer

passing --movie explicitly in non-interactive/agent use.

  • Generated artifacts (*.mp4, *.mp3, *.srt, *.json, output/) are

gitignored — do not commit them.

Troubleshooting Agent Interactions

  • "No plugins found via entry_points" — expected if no out-of-tree plugin

packages are installed; not an error.

  • Optional extras missing / pipeline soft-degrades — run mn doctor for a

per-dependency status report. Each row is one of three states:

  • installed — usable, no action needed.
  • not installed — the module is absent; the hint shows the pip install

command for the corresponding extra ([media] / [ml]).

  • missing deps — the package is installed but a transitive dependency

failed to import; the hint names the exact missing module (e.g. torchaudio for whisperx). Install that module rather than reinstalling the whole extra.

  • FFmpeg not found — ensure FFmpeg is on PATH; the renderer resolves it

via utils/ffmpeg_bin.ffmpeg_bin() (bundled imageio-ffmpeg first, then system).

  • CJK font fallback — assets/fonts/NotoSansSC-Regular.otf → system

paths → install hint if missing.

  • `mn` command missing — run pip install -e ".[dev]" first.

Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
530
Repository forks
142
7-day trend score
31

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/zcbacxc/movie-narrator/skill/badge)](https://verified-skill.com/skills/zcbacxc/movie-narrator/skill)

Something wrong with this skill or its page? Tell us.