Professional storyboard design tool for short drama/video production. Activates when user mentions: script, storyboard, story board, shot design, video production planning, short drama. Workflow: story → character design → storyboard design → CSV/table confirmation → guide user to myreels-api for image/video generation. This skill focuses on storyboard design and content planning; actual image/video generation requires myreels-api skill.
myreels-storyboard (storyboard design)
↓ generates storyboard CSV
myreels-api (image/video generation) ← user must install this skill first
Important: This skill handles storyboard design. After completion, guide the user to use myreels-api skill for actual image and video generation.
1. Story Input → User provides plot outline
2. Story Understanding → Use the active OpenClaw default LLM to understand plot, roles, relationships, and visual beats
3. Character Design → Design characters with a single-image three-view turnaround sheet (front/side/back)
4. Shot Breakdown → Generate structured shots
5. User Confirmation → Output CSV + platform table
6. Image Generation → Guide user to myreels-api
7. Video Creation → Guide user to myreels-api (optional)
Collect the following information:
| Question | Options |
|---|---|
| Story content | Plot outline or full script |
| Video style | cinematic / anime / 3d cartoon / realistic |
| Duration | e.g., 60 seconds, 2 minutes |
| Shot count | e.g., 10-15 shots |
| Aspect ratio | 16:9 / 9:16 / 1:1 (vertical = 9:16) |
| Has dialogue | Yes / No |
After collecting inputs:
scripts/generate_storyboard.py is deprecated and should not be referenced in this workflowBefore shot design, establish character consistency using a three-view character sheet (三视图).
Default rule:
single-image turnaround sheet, not as a posterfront view, side view, and back view on one canvasnano-banana2 first for generating the base three-view character sheetcharacter-first workflow: approve the character sheet and tags first, then generate storyboard shots with those tags injected| Field | Description |
|---|---|
character_name | Character name |
story_role | Role in story, e.g. protagonist / opponent / companion |
relation_to_main | Relationship to the main character, e.g. self / conflict / ally / romance |
appearance | Physical description (hair, eyes, face, build) |
outfit | Clothing and accessories |
personality | Key personality traits |
reference_model | Base model for the first turnaround sheet, default nano-banana2 |
single_image_turnaround_prompt | Main English prompt for one-sheet front/side/back generation |
front_view | English description for front view |
side_view | English description for side view |
back_view | English description for back view |
character_tags | Consistency tags for AI prompts (e.g., "short hair, left face mole, red earrings") |
negative_prompt | Terms to suppress poster-like, inconsistent, or cropped outputs |
Generate character descriptions for AI image generation. The output should be structured for a single image containing all three views:
CHARACTER: [Name]
STORY_ROLE: [protagonist / opponent / companion / love_interest]
RELATION_TO_MAIN: [self / conflict / ally / romance]
TAGS: [Consistency tags for prompt injection]
REFERENCE_MODEL: [Usually nano-banana2 for the first three-view sheet]
SINGLE_IMAGE_TURNAROUND_PROMPT: [English prompt explicitly requesting one image with front / side / back full-body views]
NEGATIVE_PROMPT: [English suppression terms for layout drift]
FRONT: A [age] [ethnicity] [gender] with [hair], [eyes], [build], wearing [outfit], neutral standing pose
SIDE: Same character from side profile showing [distinctive feature / silhouette / accessory placement]
BACK: Same character from behind showing [hairstyle back shape / outfit back detail / asymmetry]
Prompt rule:
single_image_turnaround_prompt must front-load the layout requirement: one image, same character, front view, side view, back view, aligned left to rightFor each character, build a character tag library that will be reused in all shot prompts:
# Example character tags
"短发女孩, 左脸有痣, 红色耳钉, 黑色皮夹克"
→ "short hair, beauty mark on left cheek, red earrings, black leather jacket"
Recommended operating mode:
characters.csv firstrelationships.csv for recurring character pairssingle_image_turnaround_prompt, negative_prompt, and character_tagsopponent, love_interest, or companion just because the genre suggests onecharacter_tags in every visual_promptrelationships.csv as a pairwise matrix for all recurring character pairs, not only protagonist-centered pairsrelationship_type and prompt_hint when designing confrontation, ally, or romance shotsvisual_relation, emotional_relation, and blocking_pattern to keep staging and mood consistent across repeated pair shotsrelationship_type bias the default shot language: conflict leans toward low-angle / confrontational framing, ally toward cooperative full shots, romance toward closer eye-level coveragetheme bias the baseline shot rhythm too: action leans kinetic, romance leans intimate, thriller leans uneasy, sci-fi leans scale/discoveryDefault OpenClaw behavior:
characters.csv, relationships.csv, and storyboard.csvsingle_image_turnaround_prompt, negative_prompt, front_view_prompt, side_view_prompt, back_view_prompt, character_tags, prompt_hint, and visual_promptcharacter_id, relationship_id, shot_id, scene_codevisual_prompt should preserve concrete story specifics from the user's outline in English, including names, props, locations, and beat-specific actionsdescription and action should vary shot by shot; avoid repetitive generic phase labels when a more specific beat description is availabledescription in the dominant user language; if no dominant language is clear, follow the user's most recent instruction languageEach shot includes these fields:
| Field | Description |
|---|---|
shot_id | Scene + Shot number (e.g., S01-01) |
shot_type | Shot size |
camera_angle | Camera angle |
movement | Camera movement |
duration | Estimated seconds (2-5s typical) |
description | User language description - brief summary in user's input language (Chinese/Japanese/English). NOT used for AI generation. |
visual_prompt | English prompt for AI image generation |
action | Character action description |
dialogue | Dialogue/voiceover (optional) |
emotion | Target audience emotion |
sound_fx | Sound effects / music cues (optional) |
notes | Additional notes |
difficulty | 🟢 simple / 🟡 medium / 🔴 complex |
image_url | Generated image URL from downstream tool (optional) |
video_url | Generated video URL from downstream tool (optional) |
status | Workflow status in the user's language for review CSVs; normalize in the English export if needed |
| Type | Chinese | Use Case |
|---|---|---|
| Extreme Close-up / ECU | 大特写 | Key detail, extreme emotion |
| Close-up / CU | 特写 | Face, key object |
| Medium Close-up / MCU | 中近景 | Dialogue, slight conflict |
| Medium / MS | 中景 | Conversation, interaction |
| Full Shot / FS | 全景 | Full body, relationship |
| Wide / WS | 远景 | Environment, establishing |
| Angle | Emotion Implication |
|---|---|
| Eye-level | Neutral, objective |
| Low-angle (仰视) | Power, authority, threat |
| High-angle (俯视) | Vulnerability, submission |
| Dutch | Unease, tension, chaos |
| POV | Subjective, immersion |
| Tilted | Unstable, danger |
| Grade | Icon | Description |
|---|---|---|
| Simple | 🟢 | Fixed camera, single subject, no complex interaction |
| Medium | 🟡 | Light camera movement, dual subject, simple effects |
| Complex | 🔴 | Fast motion, multiple subjects, complex choreography, special lighting/particles |
Each shot must specify target emotion:
| Emotion | Key | Description |
|---|---|---|
| Hook | 钩子 | Attention grab |
| Tension | 紧张 | Building suspense |
| Conflict | 冲突 | Confrontation |
| Sweet | 甜宠 | Romance, warmth |
| Twist | 反转 | Surprise |
| Climax | 高潮 | Peak emotional moment |
| Release | 释然 | Resolution |
[Subject] + [Action] + [Environment] + [Lighting] + [Quality] + [Style] + [Camera]
Prompt design rule for this skill:
single_image_turnaround_prompt should use layout-first language for nano-banana2visual_prompt should carry theme + phase cues so action / romance / thriller / sci-fi drafts do not collapse into the same generic shot languageAlways include:
cinematic8k or high resolutionshallow depth of field or bokehdynamic lightingIf needed, add:
no text / no watermark / no distorted facesolo / two-shot / crowdAlways inject character tags from Step 2:
# Before
"A woman fighting aliens"
# After (with character tags)
"A young woman with short hair, beauty mark on left cheek, red leather jacket fighting aliens, cinematic, 8k..."
Use scene code +固化环境描述:
SCENE-A: "abandoned colony base, red dust, two moons, ruins"
# All shots in SCENE-A reference this environment
Feishu: Use feishu_bitable for online editing Telegram: Formatted text table or CSV attachment Other: Default to CSV
shot_id, scene_code, shot_type, camera_angle, movement, duration, description, visual_prompt, action, dialogue, emotion, sound_fx, notes, difficulty, image_url, video_url, status
Note:
visual_prompt field is always in English for AI image generationshot_type, camera_angle, movement, emotion, difficulty, or status, write a separate English export copy instead of mutating the review CSVWhen this skill writes files, it should automatically create a project workspace in the user's current working directory or requested output directory.
Default root pattern:
storyboard-projects/YYYYMMDD-project-slug/
Recommended structure:
storyboard-projects/YYYYMMDD-project-slug/
├── 00-brief/
│ ├── story-brief.md
│ └── user-notes.md
├── 01-characters/
│ ├── drafts/
│ │ ├── characters.v1.draft.csv
│ │ └── character-design.v1.draft.md
│ ├── approved/
│ │ ├── characters.approved.csv
│ │ └── character-design.approved.md
│ ├── exports/
│ │ └── characters.program-en.csv
│ └── generated-images/
│ ├── raw/
│ ├── approved/
│ ├── requests/
│ ├── tasks/
│ └── metadata/
├── 02-relationships/
│ ├── drafts/
│ │ └── relationships.v1.draft.csv
│ ├── approved/
│ └── relationships.approved.csv
│ └── exports/
│ └── relationships.program-en.csv
├── 03-storyboard/
│ ├── drafts/
│ │ ├── storyboard.v1.draft.csv
│ │ └── storyboard-notes.v1.draft.md
│ ├── approved/
│ ├── storyboard.approved.csv
│ └── storyboard-notes.approved.md
│ └── exports/
│ └── storyboard.program-en.csv
├── 04-generation/
│ ├── storyboard-images/
│ │ ├── raw/
│ │ └── approved/
│ │ ├── requests/
│ │ ├── tasks/
│ │ └── metadata/
│ └── videos/
│ ├── raw/
│ ├── approved/
│ ├── requests/
│ ├── tasks/
│ └── metadata/
├── 05-review/
│ └── review-log.md
└── 06-delivery/
└── manifest.md
Workspace rules:
drafts/approved/ folder instead of overwriting history01-characters/generated-images/raw/01-characters/generated-images/approved/04-generation/storyboard-images/raw/04-generation/videos/raw/approved/ media folderrequests/tasks/metadata/, including model name, mode, aspect ratio, seed if available, source image references, created time, and returned URLs05-review/review-log.md06-delivery/manifest.mdVersioning rules:
characters.v1.draft.csv, storyboard.v2.draft.csv, images-shot-S01-01.v1.png*.approved.* for frozen user-confirmed filesexports/ with names such as storyboard.program-en.csv and relationships.program-en.csvcharacter-C001-turnaround.v1.request.json, character-C001-turnaround.v1.task.json, character-C001-turnaround.v1.meta.jsonshot-S01-01.v2.request.json and shot-S01-01.v2.meta.jsonRe-run stability rules:
review-log.md, note why the rerun happened and what changed relative to the previous attemptStoryboard confirmed. Now use `myreels-api` skill for image generation.
Recommended workflow:
1. Generate one single-image character turnaround sheet first (front/side/back on one canvas)
2. Prefer `nano-banana2` for the base three-view character sheet, then generate key storyboard shots using: nano-banana2 / seedream 5.0 / kling v3 image
3. Verify character consistency across all shots
4. Confirm images before video generation
Say: "Use myreels-api to generate storyboard images"
Images confirmed. Now use `myreels-api` skill for video.
Recommended models (image to video):
- Kling O3 / Kling V3 (general video)
- Seedance 1.5 Pro SE (high quality)
- Wan 2.6 i2v / Hailuo-2.3 (quick preview)
Note: For complex shots (🔴), consider longer duration or multiple takes.
Say: "Use myreels-api to convert these images to video"
For each shot, verify:
characters.csv - Character design datarelationships.csv - Relationship matrix for recurring charactersstoryboard.csv - Complete storyboardassets/characters-template.csv - Character CSV starter templateassets/relationships-template.csv - Relationship CSV starter templateassets/storyboard-template.csv - Storyboard CSV starter templatevisual_prompt must be in English with quality tags*.program-en.csv export instead of changing the review CSV