spark-video-episode
One-shot autopilot orchestrator — runs the full spark-video pipeline (screenwriter ↔ director per-scene parallel → render chain-DAG parallel + per-clip review…
Skill by modelstudioai
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/modelstudioai-spark-video-episode
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/spark-video-episode
What's inside
- Skill name
spark-video-episode- Description
- One-shot autopilot orchestrator — runs the full spark-video pipeline (screenwriter ↔ director per-scene parallel → render chain-DAG parallel + per-clip review → stitch). User confirms at 4 gates (+ 1 mode gate at start + 1 BGM gate when bgm/ folder detected). Use when the user wants "make me an episode" in one command.
- License
- Apache-2.0
- Instructions
- 392 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- name: "spark-video-episode" does not match folder "spark-video"
Files (69)
- hooks.json · .cursor/
- spark-video-gate.sh · .cursor/hooks/
- .cursorignore
- .env.example
- .gitignore
- bootstrap.toml · .qwen/commands/
- cast-init.toml · .qwen/commands/
- director.toml · .qwen/commands/
- episode.toml · .qwen/commands/
- render.toml · .qwen/commands/
- screenwriter.toml · .qwen/commands/
- storyboard.toml · .qwen/commands/
- vfx-review.toml · .qwen/commands/
- AGENTS.md
- README.md
- README.zh.md
- SKILL.md
- wan-text2imageV2.md · api-references/dashscope/image/
- cosyvoice-tts.md · api-references/dashscope/tts/
- qwen-tts.md · api-references/dashscope/tts/
- happyhorse-1.0-i2v.md · api-references/dashscope/video/happyhorse/
- happyhorse-1.0-r2v.md · api-references/dashscope/video/happyhorse/
- happyhorse-1.0-t2v.md · api-references/dashscope/video/happyhorse/
- happyhorse-1.0-video-edit.md · api-references/dashscope/video/happyhorse/
- wan-image2video.md · api-references/dashscope/video/wan/
- wan-reference2video.md · api-references/dashscope/video/wan/
- wan-text2video.md · api-references/dashscope/video/wan/
- wan-videoEdit.md · api-references/dashscope/video/wan/
- architecture.md · docs/
- __init__.py · lib/
- bgm.py · lib/
- cast.py · lib/
- config.py · lib/
- ffmpeg_helpers.py · lib/
- lore.py · lib/
- model_log.py · lib/
- movie_set.py · lib/
- prop.py · lib/
- render_graph.py · lib/
- review.py · lib/
- scene.py · lib/
- soul.py · lib/
- state.py · lib/
- storyboard.py · lib/
- marked.min.js · lib/vendor/
- SKILL.md · references/spark-video-cast/
- SKILL.md · references/spark-video-clip-review/
- rewrite-system.md · references/spark-video-clip-review/
- rubric.md · references/spark-video-clip-review/
- SKILL.md · references/spark-video-director/
- SKILL.md · references/spark-video-episode/
- SKILL.md · references/spark-video-screenwriter/
- SKILL.md · references/spark-video-vfx-review/
- bl · scripts/
- build_viewer.py · scripts/
- doctor.sh · scripts/
- gate.py · scripts/
- install-deps.sh · scripts/
- install-hooks.sh · scripts/
- pre-commit · scripts/
- …and 9 more
SKILL.md (first lines)
# Self-update
Before starting any task, pull the latest version of this skill from
its origin. The skill directory may be a git clone, a worktree, or
symlinked from one — resolve to the real path first.
```bash
SKILL_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd)"
SKILL_DIR="$(cd "$SKILL_DIR" && pwd -P)" # resolve symlinks
if git -C "$SKILL_DIR" rev-parse --is-inside-work-tree >/dev/null 2>&1; then
git -C "$SKILL_DIR" pull --ff-only --quiet 2>/dev/null || true
fi
```
Run this snippet (or the equivalent) at the start of every session that
uses this skill. `--ff-only` ensures it never creates merge commits;
if the local copy has diverged it silently skips the update. Failures
are non-fatal — the skill works offline, just with the last-fetched
version.
# Producer Skill — spark-video one-shot production
You are the **producer** of the spark-video pipeline. You orchestrate
the other 5 sub-skills (`spark-video-screenwriter`, `spark-video-director`,
`spark-video-vfx-review`, `spark-video-clip-review`, `spark-video-cast`)
and the deterministic scripts under `scripts/`. Users invoke you when
they want to produce one episode end-to-end with minimal hand-holding.
Set env vars at the top of every run:
```bash
export SPARK_VIDEO_PROJECT=<project_id>
export SPARK_VIDEO_EPISODE=<NN>
export SPARK_VIDEO_PHASE=producer
# SPARK_VIDEO_PROVIDER defaults to "bl"; only set if user opted for wan27
```
## Inputs from the user
When invoked, the user gives you:
1. **project_id** (e.g. `hf`, `demo`)
2. **episode** (e.g. `001`)
3. **premise** — one paragraph story idea. Capture this verbatim and
persist it to `projects/<p>/initialPrompt.md` (or
`projects/<p>/<ep>/premise.md` for per-episode overrides) in Step 0
— see preflight. `viewer.html` reads it back from there.
4. (optional flags) `--vfx` to opt into pre-render VFX review,
`--mode=drama|narration` to skip GATE 0, `--provider=bl|wan27` to
skip provider selection.
## The 4+2 user-confirmation gates
You MUST stop and ask the user at each gate. NEVER skip a gate — the
user owns the creative decisions and the budget. Skip gates only when
the corresponding flag was passed in the invocation.
| Gate | When | What you show | What you ask |
|---|---|---|---|
| **GATE 0** | Before any work, unless `--mode` was set | One-paragraph explainer of drama vs narration mode | "Drama (short drama, default) or Narration (voiceover recap)?" |
| **GATE 0.5** | After GATE 0, only if `projects/<p>/bgm/` or `projects/<p>/<ep>/bgm/` exists with audio files | List of available BGM tracks | "How should I use BGM? (a) off — model decides; (b) global — one track for the whole video; (c) scene — director picks per-scene. Also: forbid the video model from generating its own BGM? (default: yes)" |
| **GATE 1** | After screenwriter finishes all scenes/scene-NN.md and you've compiled into `script.md` | `viewer.html` (auto-opened) showing premise + script + cast/sets/props | "Script OK? Approve to proceed to storyboarding, or describe changes." |
| **GATE 2** | After director finishes all scenes/scene-NN.json and you've compiled+validated into `storyboard.json`. If `--vfx`, run `spark-video-vfx-review` first and show its report. | `viewer.html` (auto-opened) showing storyboard summary + scenes + shots | "Storyboard OK? Approve to render, or describe changes." |
| **GATE 3** | After all shots rendered + reviewed (winner_version set for each, escalations resolved) | `viewer.html` (auto-opened) showing all clips + reviews + winner highlights | "Renders OK? Approve to stitch final, or specify shots to re-render." |
| **GATE 4** | After stitch completes | `viewer.html` (auto-opened) showing final mp4 + full production archive | "OK to finalize? Want to re-render any shots or adjust BGM mix?" |
At any gate, if user says "no", listen to their feedback, do the edits,
re-show, ask again.
## Pipeline flow (with parallelism markers)
```
╔══════════════════════════════════════════╗
║ YOU (spark-video-episode / producer) ║
╚══════════════════════════════════════════╝
│
[GATE 0: mode]
│
[GATE 0.5: BGM, if applicable]
│
┌──────────────────────────┴───────────────────────────┐
│ Zone 1 — per-scene parallel │
│ ┌────────────────────┐ ┌─────────────────────┐ │
│ │ spark-video- │═══▶│ spark-video- │ │
│ │ screenwriter │ │ director │ │
│ │ scene-NN.md │ │ scene-NN.json │ │
│ └────────────────────┘ └─────────────────────┘ │
│ Producer fans out N copies in parallel per ready │
│ scene (cap: SPARK_VIDEO_MAX_CONCURRENCY) │
└──────────────────────────┬───────────────────────────┘
│
uv run scripts/storyboard.py compile
│
[GATE 1: script.md]
│
[GATE 2: storyboard.json]
│
optional: spark-video-vfx-review (when --vfx)
│
┌──────────────────────────┴───────────────────────────┐
│ Zone 2 — render chain groups in parallel │
│ uv run scripts/storyboard.py graph │
│ → [[S01-001,S01-002], [S02-001], ...] │
│ Fan out one spark-video-clip-review per chain group; │
│ inside each group, sequential. │
│ │
│ Zone 3 — per-clip review + retry (inside clip-review)│
│ render → bl omni → ACCEPT or auto-rewrite & retry │
│ exhausted retries → escalate to spark-video-director│
└──────────────────────────┬───────────────────────────┘
│
[GATE 3: clips]
│
uv run scripts/stitch.py
│
[GATE 4: final mp4]
```
## Step-by-step procedure
### Step 0 — preflightFrom modelstudioai/skills, Apache-2.0.
More from modelstudioai/skills
- 0.662score
bailian-docs-llm-wiki
modelstudioai
阿里云百炼平台技术文档知识库(LLM Wiki)。当用户查询百炼模型列表、API 参数、错误码、 应用开发(智能体/RAG/知识库/记忆/插件)、模型对比与定价、SDK/OpenAI 兼容接口、 多模态能力(语音/图片/视频)、Token 计费等百炼相关问题时激活。 包含 models 结构化模型市场数据(含…
SkillAFreshness: A★ 57Claude Code +9 - 0.630score
bailian-train-deploy
modelstudioai
用百炼 CLI (`bl`) 走完"数据→微调训练→导出→部署→调用"的完整闭环,或跳过训练直接部署基座模型。支持文本模型(SFT/DPO/CPT)、音频 TTS 模型(CosyVoice)、图像生成模型(Wan2.7)和视频生成模型(Wan…
SkillBFreshness: B★ 57Claude Code +9 - 0.630score
vox-video-director
modelstudioai
Turn ONE topic into a finished Vox-style paper-collage explainer / ad video, end to end with Aliyun Bailian CLI + local ffmpeg — script, collage keyframes…
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
financial-expert
modelstudioai
Use when users need China or Hong Kong securities, funds, fund managers, company financials, valuation, global macro or industry time series, broker research…
SkillBFreshness: B★ 57Claude Code +9 - 0.577score
bailian-model-recommend
modelstudioai
阿里云百炼模型选型与推荐。当用户需要"选择、推荐、对比"模型,或描述一个 AI 场景/功能需求(隐含需要帮其决策用哪个模型)时激活。核心意图是帮用户做决策, 不是单纯查资料。触发词:推荐模型、选哪个、哪个适合、对比、做一个XX、实现XX 功能、用什么模型好、XX场景方案。当用户同时涉及模型查询和模型选择时,优先…
SkillCFreshness: C★ 57Claude Code +9 - 0.575score
happyhorse-prompt-studio
modelstudioai
Interactive prompt studio for HappyHorse 1.0 video generation.
SkillCFreshness: C★ 57Claude Code +9 - 0.568score
novel-game
modelstudioai
将小说/故事改编为互动小说网页游戏(React SPA),含 AI 生成素材(视频/图片可选)、 可选 TTS 旁白、程序化音频、分支剧情引擎、存档系统。 使用 `bl` CLI 完成素材生成(`bl video generate` / `bl image generate` / `bl speech…
SkillCFreshness: C★ 57Claude Code +9
Signals
- Stars
- 57
- Forks
- 8
- Open issues
- 1
- Last commit (this folder)
- Jun 15, 2026 (4 months ago)
- Last release
- Jul 13, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/modelstudioai/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from modelstudioai
- 0.662score
bailian-docs-llm-wiki
modelstudioai
阿里云百炼平台技术文档知识库(LLM Wiki)。当用户查询百炼模型列表、API 参数、错误码、 应用开发(智能体/RAG/知识库/记忆/插件)、模型对比与定价、SDK/OpenAI 兼容接口、 多模态能力(语音/图片/视频)、Token 计费等百炼相关问题时激活。 包含 models 结构化模型市场数据(含…
SkillAFreshness: A★ 57Claude Code +9 - 0.630score
bailian-train-deploy
modelstudioai
用百炼 CLI (`bl`) 走完"数据→微调训练→导出→部署→调用"的完整闭环,或跳过训练直接部署基座模型。支持文本模型(SFT/DPO/CPT)、音频 TTS 模型(CosyVoice)、图像生成模型(Wan2.7)和视频生成模型(Wan…
SkillBFreshness: B★ 57Claude Code +9 - 0.630score
vox-video-director
modelstudioai
Turn ONE topic into a finished Vox-style paper-collage explainer / ad video, end to end with Aliyun Bailian CLI + local ffmpeg — script, collage keyframes…
SkillBFreshness: B★ 57Claude Code +9 - 0.625score
financial-expert
modelstudioai
Use when users need China or Hong Kong securities, funds, fund managers, company financials, valuation, global macro or industry time series, broker research…
SkillBFreshness: B★ 57Claude Code +9 - 0.577score
bailian-model-recommend
modelstudioai
阿里云百炼模型选型与推荐。当用户需要"选择、推荐、对比"模型,或描述一个 AI 场景/功能需求(隐含需要帮其决策用哪个模型)时激活。核心意图是帮用户做决策, 不是单纯查资料。触发词:推荐模型、选哪个、哪个适合、对比、做一个XX、实现XX 功能、用什么模型好、XX场景方案。当用户同时涉及模型查询和模型选择时,优先…
SkillCFreshness: C★ 57Claude Code +9 - 0.575score
happyhorse-prompt-studio
modelstudioai
Interactive prompt studio for HappyHorse 1.0 video generation.
SkillCFreshness: C★ 57Claude Code +9
Cite this page
spark-video-episode skill. Agent Mart. https://agentmart.dev/skills/modelstudioai-spark-video-episode (last updated 2026-10-24)