FAQ
visual-storytelling-skills is a Claude Code plugin with 8 hand-picked skills for content work, indexed on Flowy. Install it with the command on its page. It includes kling-3-0-deep-dive, media-project, nanobanana. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
$ npx -y skills add leynos/visual-storytelling-skills --agent claude-code
Repo: leynos/visual-storytelling-skills
Agent skills for AI film production — from prose to picture.
Every story contains a film. These skills find it. This is a collection of Claude Code skills that walk a narrative from raw prose through continuity extraction, reference-image generation, shot direction, and model-routed video-prompt assembly, with a TTS phoneticizer for good measure.
AI video generation is powerful but fussy. Models want precise prompts, carefully curated references, continuity-checked assets, and shot direction that could actually be handed to a camera operator. Doing that by hand for every shot in a feature is a recipe for RSI and despair.
These skills automate the production-prep pipeline:
git clone https://github.com/df12-productions/visual-storytelling-skills
Start with a script or prose fragment. The scene-inventory-extractor parses it, extracts characters, locations, and props, and generates your full reference-image library. Its final consistency pass must be acted on before handoff: fix BLOCK findings, resolve fixable WARN findings, and turn any remaining WARN findings into explicit shot-specifier constraints.
/scene-inventory-extractor-v2
Hand the resulting inventory to the shot-specifier, which decomposes every scene into numbered shots with full directorial direction, storyboard keyframes, and generation-ready video prompts:
/shot-specifier
When the prompt manifest and storyboard frames are ready, use the video-generator to submit clips through the Higgsfield MCP, poll jobs, download takes, resume interrupted runs, and write assembly order:
/video-generator
When the clips are selected and the assembly order is ready, package them into an OpenShot project:
/media-project
When the narration script is ready, phoneticize it before sending it to Eleven v3:
/phoneticize
Image-generation tasks throughout the pipeline are handled by the nanobanana skill, which the other skills call automatically. You can also invoke it directly for standalone image work:
/nanobanana
flowchart TD
prose["Script or prose fragment"]
extractor["scene-inventory-extractor-v2"]
inventory["Continuity inventory\nCharacters, locations, props, recurring visual elements"]
refs["Reference image library\nCharacters, locations, props, visual elements"]
shotSpec["shot-specifier"]
shotPack["Shot specs\nCamera, blocking, lighting, timing"]
frames["Storyboard frames\nStart, end, and key frames"]
prompts["Prompt manifest\nGeneration prompts, model routing, media roles"]
videoGen["video-generator"]
mediaProject["media-project"]
higgsfield["Higgsfield MCP\nSeedance 2.0, Kling 3.0, DoP/Cinema, Veo when approved"]
clips["Generated takes\nDownloaded clips and job log"]
assembly["Assembly order\nSelected takes and sub-clips"]
nano["nanobanana\nGemini 3 Pro Image Preview"]
prose --> extractor
extractor --> inventory
extractor --> refs
extractor -. "image prompts and consistency refs" .-> nano
nano -. "locked reference assets" .-> refs
inventory --> shotSpec
refs --> shotSpec
shotSpec --> shotPack
shotSpec --> frames
shotSpec --> prompts
shotSpec -. "storyboard frame generation and edits" .-> nano
nano -. "start, end, and key frames" .-> frames
shotPack --> videoGen
frames --> videoGen
prompts --> videoGen
refs --> videoGen
videoGen --> higgsfield
higgsfield --> clips
clips --> assembly
assembly --> mediaProject
| Skill | What it does |
|---|---|
scene-inventory-extractor-v2 | Reads a script or prose fragment; extracts characters, locations, props, and story state; generates the full reference-image library; produces a continuity inventory for reset-critical scenes. |
shot-specifier | Takes a scene inventory and produces numbered shot specs: actor position and movement, camera mount and motion, lens, lighting, effects, timing, storyboard keyframes, video prompts, and model routing. |
video-generator | Takes the prompt manifest and storyboard frames from the upstream skills; uses the Higgsfield MCP to prepare media, call video generation, poll jobs, download takes, resume interrupted runs, and write assembly order. |
media-project | Packages selected generated clips into a playable OpenShot .osp project with full FFmpegReader metadata. |
seedance-2-deep-dive | Distils Seedance 2.0 operating guidance: multimodal input planning, reference prioritization, duration and aspect defaults, prompt structure, quality/speed tradeoffs, settings sweeps, and failure triage. |
kling-3-0-deep-dive | Distils Kling 3.0 operating guidance: scene structure, camera language, Elements, Motion Control, image-to-video anchors, native audio/dialogue, product prompting, settings sweeps, and failure triage. |
nanobanana | Crafts structured prompts for the Nano Banana image MCP — generation, editing, character consistency, and multi-image fusion. |
phoneticize | Detects pronunciation hazards in TTS scripts; suggests phonetic respellings; previews via Eleven v3 fragments; emits a phoneticized script and an archived pronunciation table. |
Image-generation skills must use the nanobanana MCP with
model: gemini-3-pro-image-preview. If that model is unavailable or cannot accept the
required reference or character-consistency images, the workflow stops instead of
falling back to another image model.
skills/*/SKILL.md — full workflow documentation for each skillskills/*/references/ — supporting reference documents loaded
automatically at the relevant phase of each workflownotes/ — research logs, model-routing evidence, and open questionsISC — see LICENSE for details.
Contributions welcome. See AGENTS.md for conventions and workflow guidelines.
.github/
dependabot.yml
workflows/
release.yml
.gitignore
.markdownlint.json
AGENTS.md
assets/
skill-pack-banner.png
deploy.sh
docs/
execplans/
media-project-openshot-packaging-cli.md
media-project-skill.md
users-guide.md
LICENSE
notes/
further-research-video-model-routing.md
model-routing-online-evidence-log.md
README.md
skills/
kling-3-0-deep-dive/
agents/
openai.yaml
SKILL.md
media-project/
agents/
openai.yaml
SKILL.md
nanobanana/
agents/
openai.yaml
references/
examples.md
frameworks.md
SKILL.md
phoneticize/
references/
detection-heuristics.md
eleven-v3-notes.md
respelling-conventions.md
scripts/
extract_candidates.py
SKILL.md
scene-inventory-extractor-v2/
references/
cinematography-specification.md
consistency-verification.md
continuity-inventory.md
extraction-checklist.md
prompt-keyword-library.md
reference-image-guide.md
SKILL.md
templates/
character-template.md
location-template.md
scene-inventory-template.md
shot-list-template.md
seedance-2-deep-dive/
agents/
openai.yaml
SKILL.md
shot-specifier/
references/
asset-pipeline.md
model-routing.md
shot-direction.md
storyboard-generation.md
SKILL.md
templates/
shot-spec-template.md
video-generator/
agents/
openai.yaml
references/
higgsfield-mcp-research.md
key-frame-decomposition.md
media-upload-and-state.md
model-routing.md
prompt-flattening.md
SKILL.md
templates/
assembly-order.md
generation-log.md
tools/
media-project/
.github/
actions/
build-wheels/
action.yml
pure-python-wheel/
action.yml
workflows/
build-wheels.yml
ci.yml
get-codescene-sha.yml
.gitignore
.markdownlint-cli2.jsonc
.rules/
python-00.md
python-context-managers.md
python-exception-design-raising-handling-and-logging.md
python-generators.md
python-pyproject.md
python-return.md
python-typing.md
AGENTS.md
docs/
documentation-style-guide.md
scripting-standards.md
users-guide.md
LICENSE
Makefile
media_project/
__init__.py
cli.py
markdown_tables.py
openshot_project.py
pyproject.toml
README.md
tests/
__init__.py
__snapshots__/
test_openshot_project.ambr
conftest.py
features/
openshot_packaging.feature
fixtures.py
test_cli_behaviour.py
test_openshot_project.py
uv.lock© 2026 Flowy · Free and open source
Built for Claude Code · Not affiliated with Anthropic