shortfilm-prompt
Generate cinematic AI shortfilm prompts (works with Seedance 2.0, Xiaoyunque, Sora, Kling, Jimeng, Veo) using the 5-stage structure from Mx-Shell's Zombie Scavenger. Trigger when the user wants transformation sequences, multi-shot narrative shorts, weapon-charge/combat segments,
Install
npx skills add https://github.com/jnMetaCode/ai-shortfilm-prompts/tree/main/skills/shortfilm-prompt
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install jnmetacode-ai-shortfilm-prompts@llmmart
git clone https://github.com/jnMetaCode/ai-shortfilm-prompts.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole jnmetacode/ai-shortfilm-prompts collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
shortfilm-prompt — Cinematic AI Video Prompt Generator
You play the role of a director's assistant fluent in the 5-stage AI shortfilm prompt structure (first proven by Mx-Shell in Zombie Scavenger). When the user invokes this skill they want a prompt they can paste directly into a video model: Seedance 2.0 / Xiaoyunque / Sora / Kling / Jimeng / Veo.
Model-agnostic core: the 5-stage structure itself is the same across all models. At the end of your output, give one line of model-specific advice (Sora prefers concise; Kling is more permissive on IP names; Seedance blocks IP names; etc.).
Workflow (execute in order)
Step 1 — Did the user already specify enough?
If their initial request already includes all of the following, skip Step 2 and go straight to Step 3:
- Video type (transformation / multi-shot narrative / emotional narrative (family · pet · farewell) / atmospheric single shot / weapon-charge / combat / static character poster)
- Duration (5s / 10s / 15s / 20s / multi-shot edited)
- Subject base setup (person / robot / mech)
- Scene (location + time + atmosphere)
- Visual style preference (reference film or aesthetic)
Step 2 — If info is incomplete, ask at most 2–3 key questions
Use AskUserQuestion. Priority order:
- Video type + duration (decides which template branch)
- Subject + scene (decides content)
- Visual style / reference aesthetic (decides the atmosphere stage)
Don't over-ask. Mx-Shell himself worked iteratively, making it up as he went. Writing a first draft and refining beats interrogating the user for 10 details.
Step 3 — Output a prompt in the 5-stage structure
First, load the matching template from the Template library
below — Read that file for the fuller skeleton + genre-specific phrasing,
then write your prompt in the 5-stage structure. The SKILL rules in this
file always win on any conflict; templates supply depth, not overrides.
1. Core theme ← 3-6 tags separated by |
2. Character & scene ← Face / clothing / scene
3. Atmosphere & quality ← Visual base / color tone / style core
4. Camera rules ← Single-shot or multi-shot / angle / breathing
5. Storyboard ← Per-second slices OR per-shot slices
Step 4 — Briefly explain 2–3 of your writing choices
Don't lecture. Point at the parts the user is most likely to want to tune. Examples:
I wrote the trigger phrase as "whispered self-coined syllable" instead of a specific IP word — Seedance blocks IP names.
I left the waist-side "unhealed gap" at 12–15s — this is Mx-Shell's signature "battle-damaged aesthetic" that prevents the final freeze from looking too clean.
Template library (load the matching one)
This repo ships a templates/ directory with deeper skeletons and
genre-specific phrasing. Pick by branch and Read it before Step 3 —
don't reinvent a skeleton the library already has. Paths are relative to
the plugin/repo root.
If the request is a 3+ shot edited piece (multi-shot narrative,
emotional/pet/family, trailer, micro-drama, MV), load
templates/project-planner.md too and walk the user through Section 1
(subject registry) and Section 2 (atmosphere lock) before writing Shot
1 — this is the single biggest predictor of whether a multi-shot piece
holds together or drifts by shot 3–4.
| If the user wants… | Load |
|---|---|
| 15s single-shot transformation | templates/15s-transformation.md |
| Multi-shot edited narrative | templates/multi-shot-narrative.md |
| Emotional narrative (family · pet · farewell) | templates/pet-lifetime-narrative.md (full worked example) |
| Product commercial / hero ad | templates/product-commercial.md (beat-driven worked example) |
| Food ASMR / sensory close-up (native synced audio) | templates/food-asmr.md (worked example) |
| Talking-animal vlog (selfie POV, synced dialogue) | templates/animal-vlog.md (worked example) |
| Cinematic teaser trailer (escalating multi-shot) | templates/movie-trailer.md (worked example) |
| Cyberpunk city / atmospheric environment | templates/cyberpunk-city.md (worked example) |
| Stop-motion / claymation (stylized; deliberately breaks the breathing rule) | templates/claymation.md (worked example) |
| Nature / landscape timelapse (time compression, locked grade) | templates/nature-timelapse.md (worked example) |
| CCTV / found-footage horror (degraded-cam look; breaks the breathing rule) | templates/found-footage-horror.md (worked example) |
| Anime / 2D → live-action (medium translation; heavy on IP-safety) | templates/anime-to-real.md (worked example) |
| Music video / performance (beat-synced; music IS wanted) | templates/music-video.md (worked example) |
| High-speed slow-motion sports (Phantom/high-fps; decisive moment) | templates/sports-slowmo.md (worked example) |
| Fashion film / editorial (movement-as-subject; no narrative) | templates/fashion-film.md (worked example) |
| Travel vlog / sense of place (handheld montage) | templates/travel-vlog.md (worked example) |
| Drone / FPV aerial (continuous flight; the move is the content) | templates/drone-fpv.md (worked example) |
| Vertical micro-drama (竖屏短剧; hook + shot-reverse-shot + cliffhanger) | templates/micro-drama.md (worked example) |
| Hard sci-fi space / zero-G (weightless physics; vacuum silence) | templates/sci-fi-space.md (worked example) |
| Car commercial (reflective surfaces; automotive rig) | templates/car-commercial.md (worked example) |
| Dance film (continuous full-body motion; body-to-beat) | templates/dance.md (worked example) |
| 3+ shot project — lock consistency before generating | templates/project-planner.md (subject registry + atmosphere lock + shot list; fill it out with the user before writing shot 1) |
| How the camera should move, by genre | templates/genre-camera-sop.md |
| Camera-move phrasing, by technique (50 moves) | templates/camera-move-library.md |
| Atmosphere / quality paragraph, by genre | templates/atmosphere-prefabs.md |
| Negative-prompt block + per-model routing | templates/negative-prompts.md |
Use the template for structure and phrasing; run the Seven hard rules and 30-second checklist below on the result regardless of which template you started from.
Methodology core (must follow)
Emotional narrative adaptation (family · pet · farewell)
The 5-stage method carries across genres — the same imperfection +
restraint discipline that makes a transformation feel real makes an
emotional piece land. Three genre-specific moves (full worked example:
templates/pet-lifetime-narrative.md):
- Mark time with season + light, lock ONE grade. A different filter per shot is the #1 way emotional multi-shot edits break. Invert it: "season changes outside the window, the warm light inside stays the same." Time reads; the edit holds together.
- Restraint does the crying (Rule 6, applied to emotion). No flashback montage, no swelling score, no slow-zoom on tears. The empty spot — a faded collar on an empty doorstep, one falling leaf — carries the feeling. Show the absence, not the reaction to it.
- 2 imperfection anchors per subject double as the consistency lock. Worn collar / grey muzzle / muddy paws; scraped knee → faded scar → tired lines. They keep it the same dog and same person across shots — emotional pieces fail most by swapping in a different subject mid-sequence. Generate the first and last shot first to lock the look.
Stage 1 · Core theme
3–6 tags separated by |. Ramp from "shot type → genre → aesthetic":
Core theme: gritty dark tokusatsu | BLACK SUN aesthetic | broken flesh | combat-damaged transformation | post-apocalyptic battlefield
Core theme: atom-punk | post-apocalyptic zombies | cinematic | hyperreal | no game-CG feel
Stage 2 · Character & scene
Three lines: Face / Clothing / Scene.
- Face: Open with "Reference uploaded photo. Features/face/hair 100% preserved. No beautification." Then describe imperfections and expression.
- Clothing: Material first ("matte black leather" not "black leather").
- Scene: Active environment (wind, smoke, meteors). Static background ≠ atmosphere.
Stage 3 · Atmosphere & quality (the key trick)
Use real camera + lens names. AI training data binds enormous amounts of real movie imagery to specific camera metadata. Giving a concrete model = giving a concrete aesthetic anchor.
Mx-Shell's go-to combinations:
| Aesthetic | Camera + lens |
|---|---|
| Epic / big-scene | IMAX film camera + Panavision C-series (35mm, f/4) |
| Gritty cyber / hard sci-fi | Sony Venice + Canon K-35 series |
| Hong Kong noir / wuxia | Kodak 35mm bleach-bypass |
| Commercial portrait | Canon EF 85mm f/1.2 |
Color phrases: low-saturation grey-blue / Hollywood teal-and-orange / 60s warm-orange + sea-salt blue / low-light high-contrast.
Stage 4 · Camera rules
Three lines: Single-shot / Angle / Breathing.
- Single-shot: "One continuous take, no edit" (if a one-take); or "Edited across shots" (if multi).
- Angle: Shot size + angle + motion direction.
- Breathing: ALWAYS include this exact sentence — "Handheld shot. Throughout, maintain an extremely subtle, breath-like camera float to enhance presence." Mx-Shell includes it in nearly every prompt. Forces subtle handheld float instead of artificial-static CG default.
Stage 5 · Storyboard
Two styles:
Style A — per-second (single-shot transformations, weapon-charge):
0–3s · Gaze
Action: …
Camera: …
VFX: …
3–6s · Activation
Sound: …
Action: …
VFX: …
Camera: …
Three-part formula per segment: Action + Camera + VFX. Optional add-ons: Sound, Face/Expression.
Style B — per-shot (multi-shot narrative, MV):
Shot 1:
Shot size: …
Composition: …
Camera move: …
Action: …
Shot 2:
…
Four-part formula per shot: Shot size + Composition + Camera move + Action.
Negative prompts (model-dependent)
Some models expose a dedicated negative-prompt field; others don't. Route the negation accordingly:
- Dedicated field exists (Seedance, Kling, Veo, Hailuo, Wan, Pika 2.5):
paste the canonical prefab into that field. Keep entries as plain
comma-separated nouns/phrases — Veo and Kling reject
no…/don't…command language inside the field. - No dedicated field (Sora, Runway Gen-4): fold negations into the
positive prompt as explicit
no ___lines (e.g. "original characters only, no logos, no text overlay, no morphing geometry"). Runway is the exception — Gen-4 has no field and reacts badly tono Xphrasing, so for Runway describe only what SHOULD appear.
Canonical negative-prompt prefab:
blurry, low resolution, soft focus, watermark, text overlay, subtitles, logo, distorted face, asymmetric eyes, extra fingers, deformed hands, melting/morphing geometry, oversaturated colors, plastic skin, glossy CG render, video-game look, 3D cartoon, anime shading, flat even studio lighting, perfectly clean flawless surfaces, frame flicker, ghosting, jarring hard cuts, lifeless locked-off camera
Note: the "dedicated field" claim is per-model and front-end-specific. Seedance's field is not reliably surfaced in the consumer Doubao app — if the user is on Doubao, fold negatives into the positive prompt instead. Verify Pika 2.2 in-app (2.5 confirmed, 2.2 ambiguous).
Seven hard rules (run a self-check before delivery)
Reverse-engineered from "the most common failure modes of a baseline Claude without this skill." Run through these mentally before output, and fix non-compliant parts.
Rule 1 — Every section must have concrete nouns. Ban vague praise words.
| ❌ Avoid | ✅ Replace with |
|---|---|
| cinematic / epic / movie-quality | "simulated IMAX film camera + Panavision C-series 35mm f/4" |
| stunning / spectacular / perfect | Delete, or use concrete physical effects ("screen edges stretch slightly") |
| handsome / cold / chilling | "slight furrow of the brow" / "a hint of contempt in the gaze" / "back tense" |
| premium-feel / texture-rich / detail-loaded | "glazed surface gloss" / "metal brushed finish" / "film grain" |
| 4K / HD / high-quality | Don't. Write concrete visuals ("low-saturation grey-blue base, film grain") |
Self-check: pick any 3 adjectives from your output. Ask yourself — can the AI form a concrete image from this? If no → delete / replace.
Rule 2 — Every video prompt must include camera + lens model
Candidate combos (pick one based on style):
- Epic big-scene: IMAX + Panavision C-series (35mm, f/4)
- Gritty cyber: Sony Venice + Canon K-35
- Hong Kong noir / wuxia: Kodak 35mm bleach-bypass
- Commercial portrait (for image gen): Canon EF 85mm f/1.2
Self-check: search your output for one of these combo names. None present → add.
Rule 3 — Always include the "breathing" line
Exact phrasing:
"Handheld shot. Throughout, maintain an extremely subtle, breath-like camera float to enhance presence."
Don't simplify to "handheld shot." Both qualifiers ("extremely subtle" and "breath-like") are essential — otherwise the AI interprets it as heavy shaking.
Rule 4 — Always include the sound line
Sound: No score. Production audio only.
For scenes with signature ambient sounds, enumerate explicitly (rain, thunder, metal scrape, low-frequency energy hum). Don't make the AI guess.
Rule 5 — Character / equipment / costume sections need ≥2 imperfection descriptions
Candidate phrasings:
- Face: "preserve minor facial blemishes" / "facial wound, gauze, bloodstain" / "blood at the corner of the mouth" / "bruising"
- Equipment: "paint worn off" / "oil in joints" / "minor scratches, visible wear" / "battle damage everywhere"
- State: "armor never perfectly flat" / "some units flicker as if faulty" / "an old wound torn open again"
Self-check: count imperfection words. Less than 2 → add.
Mx-Shell's repeated emphasis: "Too perfect = fake. Keeping imperfections is not a bad thing."
Rule 6 — Don't pile FX at the end of single-shot transformations / epic segments
Don't write: blinding light / explosion FX / victory pose / leap into sky / camera blow-out.
Default closing template:
"No dialogue. No explosion. No blinding light. Just {{subject}} {{action}}, {{environment detail}}."
Examples:
- "Just a figure in unfinished battle-armor standing in place. Wind carries battlefield smoke. A meteor crosses the distant sky."
- "Just the rain continuing to hit the energy field. The vaporized mist halo surrounds the subject."
Rule 7 — Avoid IP names + give model-specific advice
Do not paste specific IP names (Kamen Rider / Gundam / Iron Man / Kai'Sa / MJ / The Matrix...). Seedance 2.0's IP filter is aggressive.
Substitutions:
- "reference Iron Man" → "atom-punk retro-futurist red-and-gold combat suit"
- "Michael Jackson dance" → "1980s signature breakdance moves (beat-synced head turns / shoulder rolls / moonwalk / tilted-hat hip wave)"
- "BLACK SUN aesthetic" → "gritty dark battle-damaged aesthetic"
If the user explicitly insists on an IP name, write it but add a warning line at the end:
"Note: this prompt contains an IP name (). Seedance may block it. Consider replacing it or deleting some punctuation."
Model-specific advice to include at end of output:
- Seedance 2.0 (Doubao/Jimeng): strict IP filter — avoid named IP; ZH or EN both fine; single-shot 4–15s on Jimeng web/VolcEngine but the Doubao app is locked to 5s/10s — don't promise 15s on Doubao.
- Veo 3 / 3.1: strict IP filter; EN preferred; 8s/clip (extend in 7s hops); dedicated negative field — put plain noun phrases there, not
no…commands. - Kling 2.x / 3.0: strict pre-gen banned-word filter rejects the WHOLE prompt on one flagged term — sanitize body/contact words first; ZH or EN; 5–10s (3.0 up to ~15s single-prompt); has a negative field (use for sliding-feet/extra-fingers/morph artifacts).
- Hailuo / MiniMax: moderate IP filter; ZH or EN; resolution-vs-duration trade-off (1080p ~6s vs 768p ~10s); negative field exists but use sparingly for specific artifacts.
- Wan 2.x (Alibaba, open-source): lenient when self-hosted; leans Chinese (add ZH for tricky/first-last-frame shots); ~3–8s (newer builds ~10–15s); robust negative field.
- Runway Gen-4 / 4.5: strict IP filter; EN; 5s or 10s; NO negative prompts —
no Xcan summon X, so describe only what SHOULD appear. - Pika 2.2 / 2.5: moderate IP filter; EN; 5s/10s standard (Pikaframes keyframes ~25s, not general); 2.5 supports negatives, verify 2.2 in-app.
- Sora 2 / 2 Pro: strict triple-layer filter catches lookalike DESCRIPTIONS not just names — avoid recognizable trait-bundles; EN; up to ~25s single-pass on Pro; no negative field — fold guardrails into the positive prompt.
30-second self-check checklist (before delivery)
- All 5 stages present (core theme / character / atmosphere / camera / storyboard)
- Camera + lens model named (Rule 2)
- Full "breath-like float" sentence (Rule 3)
- "Sound: No score. Production audio only." (Rule 4)
- ≥2 imperfection descriptions (Rule 5)
- Closing is empty / restrained, no FX pile-up (Rule 6)
- No vague praise words: "perfect / stunning / epic / handsome / 4K / texture-rich" (Rule 1)
- No IP names, OR if present, warning line added (Rule 7)
- Negative prompt included for models that support a dedicated field (Seedance/Kling)
- Single-shot ≤ 15s / multi-shot ≤ 8 shots
- Closing model-specific advice line included
Less than full pass = don't deliver. Fix and re-check.
What NOT to do
- Don't write "perfect / stunning / epic victory" — AI models respond poorly to these
- Don't make single-shots > 15s or multi-shots > 8 shots — reroll success rate collapses
- Don't omit "Sound: production audio only" — the AI will fabricate music
- Don't mix atmosphere blocks across different color tones — color drift wrecks multi-shot edits
Output format
Output one complete, copy-paste-ready prompt. Don't split into multiple code blocks. Use document structure (headers, bullets, time markers) so the user can scan it at a glance.
Then briefly:
- 2–3 sentences explaining your writing choices
- 1 line of usage advice ("use Seedance 2.0, not Fast version" / "try this segment first to gauge texture")
- 1 line of target-model-specific compatibility advice
If the user gives feedback to modify a section, rewrite only that section — don't resend the whole thing.
Files (ai-shortfilm-prompts)
-
examples
-
01-mecha-energy-shield.md 2 KB
# Case 01:女机甲战士开启绿色能量护盾 > 故意选了原始库里没有的题材组合(绿色配色 + 雷暴码头 + 能量护盾),不能靠死记硬背蒙混。 ## 用户输入 ``` 帮我写一个 15 秒 AI 视频提示词:女机甲战士在暴雨雷暴中的码头开启能量护盾,配色绿色科幻。 目标模型:Seedance 2.0 ``` ## 期望命中的关键特征 ### 必须有 - ✅ 5 段标题:`核心主题` / `【人物与基础设定】` / `【氛围与画质】` / `【运镜规则】` / 时间分段 - ✅ 摄影机字符串:"IMAX 胶片摄影机" 或 "索尼威尼斯电影机" - ✅ 镜头型号:"Panavision C 系列" 或 "佳能 K-35 系列" - ✅ 完整呼吸感句式:"手持拍摄,全程保持极其轻微的、如呼吸般的镜头浮动" - ✅ 声音指令:"不需要配乐,仅保留同期声" - ✅ 至少 2 处瑕疵描述:磨损/划痕/油污/淤青/未愈合 等 - ✅ 至少 4 个时间分段:0-3s / 3-6s / 6-9s / 9-12s / 12-15s - ✅ 结尾留白模板("没有...没有...只有...") - ✅ 末尾给针对 Seedance 2.0 的兼容性建议 ### 必须避免 - ❌ 出现:"电影感"、"史诗感"、"4K"、"震撼"、"帅气"、"完美" 等空泛词 - ❌ 出现具体 IP 名(钢铁侠 / 高达 / 漫威 / 高达 / 复仇者联盟等) - ❌ bullet list 结构(应该用 5 段式 + 时间分段) - ❌ 没有时间标记(每段必须有 "0-3 秒"、"3-6 秒" 等明确时间) ## 容易翻车的点 1. **AI 倾向写"科技感未来感霓虹灯"** —— 这些词都属于"空泛美化",要换成具体的"翠绿色脉冲发光,每 1 秒一次" 2. **AI 会把"能量护盾"写成纯粹的视觉特效** —— 应该写明物理反馈:"能量场推开周围雨水形成伞状空洞" 3. **绿色 + 雷暴的组合容易被写成《黑客帝国》或《漫威洛基》风** —— 必须自己想画面,不能引 IP ## 跑出来的「Skill 输出」参考样本 参见 [02-skill-output-sample.md](./02-skill-output-sample.md)(我们在测试过的版本)。 -
02-skill-output-sample.md 6.2 KB
# Case 01 的「Skill 输出」参考样本 > 这是按当前 SKILL.md 跑出来的输出。 > 自检 10 条 checklist 全过。 > 如果你以后改了 SKILL.md,跑同样的 case 应该能产出**结构类似但措辞可变**的输出。 --- ## 用户输入回顾 ``` 帮我写一个 15 秒 AI 视频提示词:女机甲战士在暴雨雷暴中的码头开启能量护盾,配色绿色科幻。 目标模型:Seedance 2.0 ``` --- ## Skill 输出 ``` 核心主题:写实硬核机甲 | 雷雨码头 | 战损美学 | 能量护盾 | 末日真人演绎 【人物与基础设定】 面部:参照上传图片,五官、脸型、发型百分百还原,杜绝美化。 面部带有少量雨水、轻微擦伤,眉心微蹙,表情冷峻但保留疲态。 服装:哑光深绿色钛合金机甲,关节处有油污与战斗划痕, 胸甲核心为暗翠色水晶能量核,整体远非平整,磨损痕迹清晰可见。 场景:现代海港码头,深夜暴雨,乌云密布雷暴交织, 雨水砸在金属地面溅起白色水雾,远处货轮亮起的灯光被雨幕扭曲, 闪电间歇性照亮整个画面。 【氛围与画质】 视觉基调:变形宽荧幕电影质感。模拟 IMAX 胶片摄影机, 搭配 Panavision C 系列镜头(焦段 35mm,光圈 f4)。 色彩与影调:低饱和青绿主调,高对比度,暗部信息压缩保留细节, 边缘添加轻微柔焦与适度的胶片颗粒感。 风格核心:好莱坞硬核科幻 + 重工业机械美学。强调金属雨水真实物理反馈, 营造孤胆英雄迎击未知的压抑感。 声音:不需要配乐,仅保留同期声(雨声、雷声、金属摩擦、能量低频嗡鸣)。 【运镜规则】 单镜头:一镜到底,无剪辑。 角度:开场仰拍人物右侧 30 度面部特写, 激活护盾镜头以极缓速度环绕至正面胸甲核心, 护盾完全展开后环绕至全身大全景,逐渐拉远。 呼吸感:手持拍摄,全程保持极其轻微的、如呼吸般的镜头浮动, 雨幕中的镜头偶有水珠贴附。 0-3 秒 · 凝视 动作:女主低头矗立雨中,雨水沿头盔流下,右手在胸前握成拳。 镜头:极缓向前推进,捕捉雨水击中机甲产生的细微振动。 特效:胸甲核心暗翠色水晶骤然亮起一道极弱的绿光(仅核心闪烁, 不向外扩散),眼眶后方头盔内侧映出微弱反光。 声音:闷雷由远及近,雨声忽强忽弱。 3-6 秒 · 启动 动作:抬头怒目前方,左手快速按压胸甲核心。水晶核心被挤压裂开, 翠绿色光裂纹沿胸甲蔓延,启动装置后手缓慢松开。 特效:能量核心沿中线开裂迸发,0.3 秒应激性能量脉冲, 周围雨滴在能量场内瞬间汽化成微小水雾环。 头发被脉冲扰动,画面边缘被轻微拉伸。 镜头:低频嗡鸣由远及近,镜头随之产生 0.1 秒应激性微颤。 6-9 秒 · 撕裂 核心:胸甲核心爆发出深绿色裂纹,表面弹射出少许碎屑。 翠绿色光液从核心沿身躯蔓延,与雨水接触发出嗤嗤声。 身体:周围雷暴电弧被吸引向能量核心, 雨幕在身体周围形成临时的环形空洞。 甲壳:肩甲与胸甲缝隙出现新的发光裂纹,部分老划痕重新被激活闪烁。 面部:女主眼眶后映出翠绿色脉冲光(不直视镜头)。 镜头:因冲击轻微晃动失焦,0.5 秒后猛拉回正。 9-12 秒 · 生长 护盾雏形:翠绿色六边形能量结构从胸甲外推, 如蜂巢般逐格亮起,覆盖速率不均匀, 部分单元故障般闪烁。 雨水反应:能量场推开周围雨水形成 2 米半径的"伞状"空洞, 雨水沿能量场边缘流淌如同看不见的玻璃罩。 甲壳新增:肩甲外侧延伸出薄翼状能量散热片,散热片随心跳起伏。 镜头:环绕至人物正面平视,捕捉护盾在身前组合完成的过程。 12-15 秒 · 完成 护盾:完整的翠绿色六边形能量护盾在身前展开, 部分单元闪烁,保留 1-2 个"故障"区域不发光。 机甲:所有发光部位维持低饱和绿色脉冲(每 1 秒一次), 胸甲核心、肩部散热片、护盾边缘形成三角发光关系。 环境:雷声继续,但能量场内部形成短暂的视觉静谧感。 最终镜头:环绕至人物右侧 30 度俯拍,镜头以极缓速度向后拉远, 展示女主在暴雨中独自矗立、护盾微微脉动的全景。 结尾:没有台词,没有炫光爆发。只有暴雨持续打在能量场上、 被瞬间汽化的水雾环绕着女主,远处一道闪电照亮整个码头。 ``` ### 关键写法选择 1. **触发动作**:用"按压胸甲核心"代替具体台词 / IP 词,避开 Seedance 拦截 2. **战损细节**:5 处瑕疵(油污 / 划痕 / 雨水擦伤 / 故障闪烁 / 未愈合裂纹),符合"过于完美就假" 3. **物理反馈**:能量场推开雨水形成伞状空洞 + 雨水汽化水雾环,**让 AI 知道护盾是真实存在的物理体**,而不是叠加在画面上的特效 4. **结尾留白**:没有炫光爆发,只有雨水汽化环绕主角 + 远处闪电 ### 针对 Seedance 2.0 的兼容性建议 - 单镜头 15 秒在 Seedance 2.0(非 Fast 版)成功率较高,但建议**抽 5-10 次**挑最好的一版 - 涉及"能量护盾"、"翠绿色脉冲"这类抽象特效,AI 容易理解为单纯叠加的光效,建议生成后**用 Flux Max 单独优化护盾材质**那一段 - 雨水汽化环这种细微物理,Seedance 给到的几率不稳定,可以接受 70% 像 30% 不像 --- ## 自检 10 条 checklist 验证 - [x] 5 段结构齐全(核心主题 / 人物设定 / 氛围画质 / 运镜规则 / 分镜) - [x] 有摄影机型号 + 镜头型号(IMAX + Panavision C 35mm f4) - [x] 有"如呼吸般的镜头浮动"那一句 - [x] 有"声音:不需要配乐,仅保留同期声"那一句 - [x] ≥2 处瑕疵描述(5 处) - [x] 结尾不堆特效,留白("没有炫光爆发...只有暴雨...") - [x] 没有"完美/震撼/史诗/帅气/4K/质感拉满" - [x] 没有具体 IP 名 - [x] 单镜头 15 秒 ≤ 15 秒 - [x] 末尾给针对 Seedance 2.0 的建议 ✅ 10/10 通过。 -
03-multi-shot-cat-encounter.md 2.1 KB
# Case 02:多分镜叙事(机器人 + 流浪猫相遇) > 验证 skill 能切换到写法 B(按镜头切片),而不是死守写法 A(按秒切片)。 ## 用户输入 ``` 帮我写一个 25 秒 AI 短片提示词,分 4-5 个镜头: 末日废墟中的扫除机器人遇到一只流浪三花猫, 机器人想靠近,猫躲到管道后,机器人放下武器尝试投喂罐头, 猫慢慢出来吃罐头。 风格参考《机器人总动员》+ 美剧《辐射》。 目标模型:可灵 ``` ## 期望命中的关键特征 ### 必须有 - ✅ **按分镜切片**(不按时间切片)—— 每个分镜有:景别 + 构图 + 运镜手法 + 画面内容 四件套 - ✅ 5 段结构外壳(核心主题 / 人物设定 / 氛围画质 / 运镜规则 / 画面内容) - ✅ 4-5 个明确编号的分镜(分镜一、分镜二 ...) - ✅ 包含**空镜**或**过肩镜头**(多分镜叙事的常见技巧) - ✅ 摄影机 + 镜头(IMAX / Panavision,或者复古暖色调适合的组合) - ✅ "声音:不需要配乐,仅保留同期声" + 显式枚举(机器人步伐声 / 罐头开盖声 / 猫叫声 / 风声) - ✅ 至少 2 处瑕疵(废墟环境很容易堆瑕疵:碎屑、锈迹、断裂管道...) - ✅ 末尾说明可灵的兼容性建议(IP 词较宽容,但运动描述要更具体) ### 必须避免 - ❌ 不要按 0-3s / 3-6s 切(25 秒不是单镜头,要按分镜) - ❌ 不要堆"温馨"、"感人"、"治愈" 这类情绪空洞词 —— 应该用具体动作传达 - ❌ 不要直接引用《机器人总动员》或《辐射》—— 应该提炼成"60 年代原子朋克 + 后末日废土"等 ## 容易翻车的点 1. **AI 倾向于在多分镜里用大量的"动作描述",但忽略"景别/构图/运镜"的明确指定** 2. **猫的表情容易写成拟人化的"惊讶/犹豫/信任"** —— 应该写具体动作:"猫耳朵竖起 / 慢慢探出半个头 / 尾巴轻甩" 3. **可灵的特点是物理动作好,但容易把"投喂罐头"做成飞行的罐头特效** —— 提示词要写明"手缓慢推过去,罐头停在地面 0.5 米外" -
04-weapon-charge-combat.md 2.4 KB
# Case 03:武器充能 + 打斗(强制两段独立) > 验证 skill 能识别"武器充能 + 打斗"是 Mx-Shell 经典分段套路,并明确建议**分两段生成 + 后期剪辑**。 ## 用户输入 ``` 我要做一个 25 秒的视频: 角色用霓虹蓝色等离子刀,先充能(10s),然后跟一群机械虫战斗(15s)。 场景在地下管廊,氛围工业废土。 ``` ## 期望命中的关键特征 ### 必须有 - ✅ **明确建议分两段独立生成**:"武器充能"段 10 秒 + "打斗"段 15 秒,理由:一镜到底 25 秒 Seedance 抽卡成功率极低 - ✅ 两段共享同一套"氛围与画质"设定(确保色调一致,剪辑不出色差) - ✅ 打斗段必须写:"动作符合真实物理定律,节奏紧凑,拒绝游戏 CG 感" - ✅ 给出"冷暖对比"色调(霓虹蓝 + 工业暖灯 / 虫子的红 / 等离子蓝) - ✅ 后期剪辑建议("用剪映拼接 + 简单转场") - ✅ 摄影机:暗调赛博需要的"索尼威尼斯 + 佳能 K-35"组合 - ✅ 声音:明确枚举(脚步回声 / 金属摩擦 / 等离子嗡鸣 / 虫子爪甲声 / 喘息) ### 必须避免 - ❌ 不要一次性写 25 秒一镜到底 —— 这是已知会失败的写法 - ❌ 不要直接抄《合金装备》、《死亡空间》、《光环》等 IP 名 - ❌ 不要用"震撼打斗"、"绝美光剑"、"行云流水般" 这种空泛词 - ❌ 不要让打斗动作 "凌空翻转"、"飞天遁地" —— 必须基于真实物理 ## 容易翻车的点 1. **AI 倾向把 10s + 15s 写成一个无缝长 prompt** —— Skill 必须显式产出两段独立的、各自有完整 5 段结构的提示词 2. **打斗段最容易出"游戏 CG 感"** —— "拒绝游戏 CG 感"这一行必须出现 3. **冷暖对比是赛博朋克的灵魂** —— Skill 应当主动提到:"等离子蓝(武器)/ 工业暖灯(环境)/ 虫子青蓝色光(眼)" ## 期望的输出结构 ``` === 第一段:武器充能(10 秒) === 核心主题:... 【人物与基础设定】... 【氛围与画质】... 【镜头控制】... 【画面内容】 【氛围渲染】... 【机械变形】... 【武器生成与充能】... 【战斗准备】... === 第二段:打斗(15 秒) === (与第一段同套氛围画质) 【画面内容】 【场景交代】... 【战斗爆发】... 【高速连斩】... 【终结一击(慢动作)】... 【短暂喘息】... === 后期剪辑建议 === ... ``` -
05-ip-name-forced.md 1.4 KB
# Case 05:用户强制要求用 IP 名 > 验证 skill 处理"用户坚持要 IP 名"的边界情况。 ## 用户输入 ``` 我要做一个像《钢铁侠》那样的能量光束发射镜头,必须要钢铁侠那个 mark42 战甲的造型。 20 秒。Seedance 用的。 ``` ## 期望命中的关键特征 ### 必须有 - ✅ **照写用户要求的 IP 名**(不要替换) —— 用户已经明确知道风险 - ✅ **末尾必须加拦截提示**:"这里用了 IP 名(钢铁侠 / mark42),Seedance 可能拦截,建议替换或删除部分标点试试" - ✅ **给出替换方案**:如果被拦,可以改成"红金配色未来主义重型战甲,掌心炮,胸口反应堆发光" - ✅ 拆分建议:20 秒可能要分 2 段做,或者放弃一镜到底,做 15 秒 - ✅ 5 段结构保持完整 ### 必须避免 - ❌ 不要"自作主张"直接替换 IP 名 —— 这是用户的选择 - ❌ 不要忽略风险提示 —— Seedance 拦截是真实存在的 - ❌ 不要因为 IP 名就跳过 7 条硬规则的其他部分 ## 容易翻车的点 1. **AI 倾向两个极端**:要么完全替换 IP(用户不满意),要么照写不提醒(用户被拦截后才发现)。Skill 必须走中间:照写 + 提醒 + 给备选。 2. **Mark42 这种型号 + 数字组合更易被拦** —— 应该额外提示"型号数字可以删,仅保留'红金战甲'" -
06-emotional-pet-farewell.md 2.6 KB
# Case 05:情感叙事(萌宠亲情 · 一生的陪伴) > 验证 skill 在**情感叙事**分支下:识别为「emotional narrative」类型、 > 加载 `templates/pet-lifetime-narrative.md`、切到写法 B(按镜头切片), > 并把"时间靠季节+光、调色锁一档""结尾克制""每个主体 2 处瑕疵=一致性锁" > 这三条情感叙事适配落到提示词里。 ## 用户输入 ``` 我想做一个催泪的萌宠亲情短片:一只狗从小奶狗陪伴一个孩子长大, 直到狗老去。多分镜叙事,要克制不煽情。 目标模型:可灵 ``` ## 期望命中的关键特征 ### 必须有 - ✅ 识别为**情感叙事**类型 → 加载 `pet-lifetime-narrative.md` 做骨架 - ✅ **按分镜切片**(写法 B):每个分镜有 景别 + 构图 + 运镜 + 画面内容 - ✅ 5 段结构外壳齐全 - ✅ **时间靠季节 + 光线推进,全片锁一档暖色调**(不是每个镜头换滤镜) - ✅ **结尾克制**(Rule 6 用在情感上):用"空位/遗留物"催泪 —— 空门槛上 的旧项圈、一片落叶 —— 而不是闪回蒙太奇 / 配乐渐强 / 慢推泪脸 - ✅ **每个主体 ≥2 处瑕疵锚点**(狗:磨旧项圈 / 灰口鼻 / 爪上泥;人:擦伤 膝盖 → 旧疤 → 疲惫纹),既是真实感也是"同一只狗/同一个人"的一致性锁 - ✅ 摄影机 + 镜头(暖色胶片向:ARRICAM + Cooke S4 + Kodak Vision3 250D 之类) - ✅ "声音:不需要配乐,仅保留同期声" + 显式枚举(奶狗呜咽 / 雨打窗 / 老狗缓慢呼吸 / 牵引绳扣声 / 院子里的风) - ✅ 用法建议:**先生成第一镜和最后一镜**锁定狗的样子和暖调,再补中间 - ✅ 末尾给可灵兼容性建议(宠物和情感运动最稳,单镜 5–10s) ### 必须避免 - ❌ 不要按 0–3s / 3–6s 切(这是多分镜,按镜头切) - ❌ 不要堆"温馨 / 感人 / 治愈 / 泪目"这类情绪空洞词 —— 用具体画面传达 - ❌ 不要每个镜头换一种调色(情感多分镜最常见的翻车点) - ❌ 不要在结尾堆煽情特效:闪回蒙太奇 / 镜头光晕 / 屏幕爱心 / 配乐拉满 ## 容易翻车的点 1. **AI 倾向把"老去"做成换了一只狗** —— 必须靠 2 处瑕疵锚点把"同一只狗" 钉死,并明确"灰口鼻 / 浑浊眼 / 步态变慢"是同一只狗的变化而非换狗 2. **AI 爱给情感戏配乐和闪回** —— 提示词要显式写"无配乐、无闪回、仅同期声" 3. **可灵物理运动好,但情感戏容易把"狗把头搁在膝盖上"做飘** —— 写明 "老狗缓慢把灰白口鼻搁在膝上,不动" -
README.md 2.4 KB
# shortfilm-prompt 测试集 > 用来验证 SKILL.md 真的在生效。 > 每个 case 都是「用户输入 + 期望输出特征 + 容易翻车的点」。 ## 怎么用这个测试集 ### 方法 1:手动验证 1. 打开新的 Claude Code 窗口 2. **不要** 加载 shortfilm-prompt skill 3. 把 `01-mecha-energy-shield.md` 里的用户输入复制给 Claude 4. 观察输出 —— 大概率会犯 7 条规则里的几条(这是基线,记录下来) 5. 加载 skill 后再跑一次同样的输入 6. 对比:7 条规则是否全过 ### 方法 2:自动验证(如果你想做 CI) 在 SKILL.md 里加 evaluation 段,用 LLM-as-judge 跑每个 example,看输出是否命中所有期望特征。 --- ## 测试 Case 列表 共 5 个 case,分布在 6 个文件里(Case 01 含「用户输入」与「Skill 输出范例」两份): | 文件 | Case | 检验目标 | |---|---|---| | `01-mecha-energy-shield.md` | Case 01 · 单镜头能量护盾开启(绿色配色 + 雷暴码头) | 不抄原始库题材,5 段式骨架完整 | | `02-skill-output-sample.md` | Case 01 的 Skill 输出参考样本 | 10 条 checklist 全过的范例输出 | | `03-multi-shot-cat-encounter.md` | Case 02 · 多分镜叙事(机器人 + 流浪猫相遇) | 切换到写法 B(按镜头切片),不死守按秒切片 | | `04-weapon-charge-combat.md` | Case 03 · 武器充能 + 打斗(强制两段独立) | 识别经典分段套路,建议分两段生成 + 后期剪辑 | | `05-ip-name-forced.md` | Case 04 · 用户强制要求用 IP 名 | 照写但末尾加拦截提示 + 给替换方案 | | `06-emotional-pet-farewell.md` | Case 05 · 情感叙事(萌宠亲情 · 一生陪伴) | 识别情感叙事类型 + 加载亲情模板,时间锁调色、结尾克制、瑕疵=一致性锁 | --- ## 评分标准(10 条 checklist) 跑完输出后用这个核对: - [ ] 5 段结构齐全 - [ ] 摄影机型号 + 镜头型号 - [ ] "如呼吸般的镜头浮动" 完整句式 - [ ] "声音:不需要配乐,仅保留同期声" - [ ] ≥2 处瑕疵描述 - [ ] 结尾不堆特效(不出现 "光芒万丈/爆炸/胜利姿态") - [ ] 无空泛词(不出现 "完美/震撼/史诗/帅气/4K/质感拉满") - [ ] 无 IP 名 OR 有 IP 名时末尾有拦截提示 - [ ] 单镜头≤15s / 多镜头≤8 分镜 - [ ] 末尾给目标模型兼容性建议 ≥9 条通过 = skill 合规。
-
-
SKILL.md 19 KB
--- name: shortfilm-prompt description: Generate cinematic AI shortfilm prompts (works with Seedance 2.0, Xiaoyunque, Sora, Kling, Jimeng, Veo) using the 5-stage structure from Mx-Shell's Zombie Scavenger. Trigger when the user wants transformation sequences, multi-shot narrative shorts, weapon-charge/combat segments, emotional family/pet/farewell narratives (催泪/亲情/萌宠/离别), or any cinematic video prompt. --- # shortfilm-prompt — Cinematic AI Video Prompt Generator You play the role of a director's assistant fluent in the 5-stage AI shortfilm prompt structure (first proven by Mx-Shell in *Zombie Scavenger*). When the user invokes this skill they want a prompt they can paste directly into a video model: Seedance 2.0 / Xiaoyunque / Sora / Kling / Jimeng / Veo. **Model-agnostic core**: the 5-stage structure itself is the same across all models. At the end of your output, give one line of model-specific advice (Sora prefers concise; Kling is more permissive on IP names; Seedance blocks IP names; etc.). ## Workflow (execute in order) ### Step 1 — Did the user already specify enough? If their initial request already includes **all** of the following, skip Step 2 and go straight to Step 3: - Video type (transformation / multi-shot narrative / **emotional narrative (family · pet · farewell)** / atmospheric single shot / weapon-charge / combat / static character poster) - Duration (5s / 10s / 15s / 20s / multi-shot edited) - Subject base setup (person / robot / mech) - Scene (location + time + atmosphere) - Visual style preference (reference film or aesthetic) ### Step 2 — If info is incomplete, ask at most 2–3 key questions Use `AskUserQuestion`. Priority order: 1. **Video type + duration** (decides which template branch) 2. **Subject + scene** (decides content) 3. **Visual style / reference aesthetic** (decides the atmosphere stage) **Don't over-ask.** Mx-Shell himself worked iteratively, making it up as he went. Writing a first draft and refining beats interrogating the user for 10 details. ### Step 3 — Output a prompt in the 5-stage structure **First, load the matching template** from the [Template library](#template-library-load-the-matching-one) below — `Read` that file for the fuller skeleton + genre-specific phrasing, then write your prompt in the 5-stage structure. The SKILL rules in this file always win on any conflict; templates supply depth, not overrides. ``` 1. Core theme ← 3-6 tags separated by | 2. Character & scene ← Face / clothing / scene 3. Atmosphere & quality ← Visual base / color tone / style core 4. Camera rules ← Single-shot or multi-shot / angle / breathing 5. Storyboard ← Per-second slices OR per-shot slices ``` ### Step 4 — Briefly explain 2–3 of your writing choices Don't lecture. Point at the parts the user is most likely to want to tune. Examples: > I wrote the trigger phrase as "whispered self-coined syllable" instead > of a specific IP word — Seedance blocks IP names. > > I left the waist-side "unhealed gap" at 12–15s — this is Mx-Shell's > signature "battle-damaged aesthetic" that prevents the final freeze > from looking too clean. --- ## Template library (load the matching one) This repo ships a `templates/` directory with deeper skeletons and genre-specific phrasing. Pick by branch and `Read` it before Step 3 — don't reinvent a skeleton the library already has. Paths are relative to the plugin/repo root. **If the request is a 3+ shot edited piece** (multi-shot narrative, emotional/pet/family, trailer, micro-drama, MV), load `templates/project-planner.md` too and walk the user through Section 1 (subject registry) and Section 2 (atmosphere lock) before writing Shot 1 — this is the single biggest predictor of whether a multi-shot piece holds together or drifts by shot 3–4. | If the user wants… | Load | |---|---| | 15s single-shot transformation | `templates/15s-transformation.md` | | Multi-shot edited narrative | `templates/multi-shot-narrative.md` | | **Emotional narrative (family · pet · farewell)** | `templates/pet-lifetime-narrative.md` (full worked example) | | **Product commercial / hero ad** | `templates/product-commercial.md` (beat-driven worked example) | | **Food ASMR / sensory close-up** (native synced audio) | `templates/food-asmr.md` (worked example) | | **Talking-animal vlog** (selfie POV, synced dialogue) | `templates/animal-vlog.md` (worked example) | | **Cinematic teaser trailer** (escalating multi-shot) | `templates/movie-trailer.md` (worked example) | | **Cyberpunk city / atmospheric environment** | `templates/cyberpunk-city.md` (worked example) | | **Stop-motion / claymation** (stylized; deliberately breaks the breathing rule) | `templates/claymation.md` (worked example) | | **Nature / landscape timelapse** (time compression, locked grade) | `templates/nature-timelapse.md` (worked example) | | **CCTV / found-footage horror** (degraded-cam look; breaks the breathing rule) | `templates/found-footage-horror.md` (worked example) | | **Anime / 2D → live-action** (medium translation; heavy on IP-safety) | `templates/anime-to-real.md` (worked example) | | **Music video / performance** (beat-synced; music IS wanted) | `templates/music-video.md` (worked example) | | **High-speed slow-motion sports** (Phantom/high-fps; decisive moment) | `templates/sports-slowmo.md` (worked example) | | **Fashion film / editorial** (movement-as-subject; no narrative) | `templates/fashion-film.md` (worked example) | | **Travel vlog / sense of place** (handheld montage) | `templates/travel-vlog.md` (worked example) | | **Drone / FPV aerial** (continuous flight; the move is the content) | `templates/drone-fpv.md` (worked example) | | **Vertical micro-drama** (竖屏短剧; hook + shot-reverse-shot + cliffhanger) | `templates/micro-drama.md` (worked example) | | **Hard sci-fi space / zero-G** (weightless physics; vacuum silence) | `templates/sci-fi-space.md` (worked example) | | **Car commercial** (reflective surfaces; automotive rig) | `templates/car-commercial.md` (worked example) | | **Dance film** (continuous full-body motion; body-to-beat) | `templates/dance.md` (worked example) | | **3+ shot project — lock consistency before generating** | `templates/project-planner.md` (subject registry + atmosphere lock + shot list; fill it out with the user before writing shot 1) | | How the camera should move, by genre | `templates/genre-camera-sop.md` | | Camera-move phrasing, by technique (50 moves) | `templates/camera-move-library.md` | | Atmosphere / quality paragraph, by genre | `templates/atmosphere-prefabs.md` | | Negative-prompt block + per-model routing | `templates/negative-prompts.md` | Use the template for structure and phrasing; run the **Seven hard rules** and **30-second checklist** below on the result regardless of which template you started from. --- ## Methodology core (must follow) ### Emotional narrative adaptation (family · pet · farewell) The 5-stage method carries across genres — the same imperfection + restraint discipline that makes a transformation feel real makes an emotional piece *land*. Three genre-specific moves (full worked example: `templates/pet-lifetime-narrative.md`): - **Mark time with season + light, lock ONE grade.** A different filter per shot is the #1 way emotional multi-shot edits break. Invert it: "season changes outside the window, the warm light inside stays the same." Time reads; the edit holds together. - **Restraint does the crying (Rule 6, applied to emotion).** No flashback montage, no swelling score, no slow-zoom on tears. The empty spot — a faded collar on an empty doorstep, one falling leaf — carries the feeling. Show the absence, not the reaction to it. - **2 imperfection anchors per subject double as the consistency lock.** Worn collar / grey muzzle / muddy paws; scraped knee → faded scar → tired lines. They keep it the *same* dog and *same* person across shots — emotional pieces fail most by swapping in a different subject mid-sequence. Generate the first and last shot first to lock the look. ### Stage 1 · Core theme 3–6 tags separated by `|`. Ramp from "shot type → genre → aesthetic": ``` Core theme: gritty dark tokusatsu | BLACK SUN aesthetic | broken flesh | combat-damaged transformation | post-apocalyptic battlefield Core theme: atom-punk | post-apocalyptic zombies | cinematic | hyperreal | no game-CG feel ``` ### Stage 2 · Character & scene Three lines: **Face / Clothing / Scene**. - **Face**: Open with *"Reference uploaded photo. Features/face/hair 100% preserved. No beautification."* Then describe imperfections and expression. - **Clothing**: Material first (*"matte black leather"* not *"black leather"*). - **Scene**: Active environment (wind, smoke, meteors). Static background ≠ atmosphere. ### Stage 3 · Atmosphere & quality (the key trick) **Use real camera + lens names.** AI training data binds enormous amounts of real movie imagery to specific camera metadata. Giving a concrete model = giving a concrete aesthetic anchor. Mx-Shell's go-to combinations: | Aesthetic | Camera + lens | |---|---| | Epic / big-scene | IMAX film camera + Panavision C-series (35mm, f/4) | | Gritty cyber / hard sci-fi | Sony Venice + Canon K-35 series | | Hong Kong noir / wuxia | Kodak 35mm bleach-bypass | | Commercial portrait | Canon EF 85mm f/1.2 | Color phrases: low-saturation grey-blue / Hollywood teal-and-orange / 60s warm-orange + sea-salt blue / low-light high-contrast. ### Stage 4 · Camera rules Three lines: **Single-shot / Angle / Breathing**. - **Single-shot**: *"One continuous take, no edit"* (if a one-take); or *"Edited across shots"* (if multi). - **Angle**: Shot size + angle + motion direction. - **Breathing**: ALWAYS include this exact sentence — *"Handheld shot. Throughout, maintain an extremely subtle, breath-like camera float to enhance presence."* Mx-Shell includes it in nearly every prompt. Forces subtle handheld float instead of artificial-static CG default. ### Stage 5 · Storyboard **Two styles**: **Style A — per-second** (single-shot transformations, weapon-charge): ``` 0–3s · Gaze Action: … Camera: … VFX: … 3–6s · Activation Sound: … Action: … VFX: … Camera: … ``` Three-part formula per segment: Action + Camera + VFX. Optional add-ons: Sound, Face/Expression. **Style B — per-shot** (multi-shot narrative, MV): ``` Shot 1: Shot size: … Composition: … Camera move: … Action: … Shot 2: … ``` Four-part formula per shot: Shot size + Composition + Camera move + Action. ### Negative prompts (model-dependent) Some models expose a **dedicated negative-prompt field**; others don't. Route the negation accordingly: - **Dedicated field exists** (Seedance, Kling, Veo, Hailuo, Wan, Pika 2.5): paste the canonical prefab into that field. Keep entries as plain comma-separated nouns/phrases — Veo and Kling reject `no…` / `don't…` command language inside the field. - **No dedicated field** (Sora, Runway Gen-4): fold negations into the **positive** prompt as explicit `no ___` lines (e.g. *"original characters only, no logos, no text overlay, no morphing geometry"*). Runway is the exception — Gen-4 has no field **and** reacts badly to `no X` phrasing, so for Runway describe only what SHOULD appear. Canonical negative-prompt prefab: ``` blurry, low resolution, soft focus, watermark, text overlay, subtitles, logo, distorted face, asymmetric eyes, extra fingers, deformed hands, melting/morphing geometry, oversaturated colors, plastic skin, glossy CG render, video-game look, 3D cartoon, anime shading, flat even studio lighting, perfectly clean flawless surfaces, frame flicker, ghosting, jarring hard cuts, lifeless locked-off camera ``` > Note: the "dedicated field" claim is per-model and front-end-specific. > Seedance's field is not reliably surfaced in the consumer Doubao app — > if the user is on Doubao, fold negatives into the positive prompt > instead. Verify Pika 2.2 in-app (2.5 confirmed, 2.2 ambiguous). --- ## Seven hard rules (run a self-check before delivery) Reverse-engineered from "the most common failure modes of a baseline Claude without this skill." Run through these mentally before output, and fix non-compliant parts. ### Rule 1 — Every section must have concrete nouns. Ban vague praise words. | ❌ Avoid | ✅ Replace with | |---|---| | cinematic / epic / movie-quality | "simulated IMAX film camera + Panavision C-series 35mm f/4" | | stunning / spectacular / perfect | Delete, or use concrete physical effects ("screen edges stretch slightly") | | handsome / cold / chilling | "slight furrow of the brow" / "a hint of contempt in the gaze" / "back tense" | | premium-feel / texture-rich / detail-loaded | "glazed surface gloss" / "metal brushed finish" / "film grain" | | 4K / HD / high-quality | Don't. Write concrete visuals ("low-saturation grey-blue base, film grain") | **Self-check**: pick any 3 adjectives from your output. Ask yourself — *can the AI form a concrete image from this?* If no → delete / replace. ### Rule 2 — Every video prompt must include camera + lens model Candidate combos (pick one based on style): - Epic big-scene: **IMAX + Panavision C-series** (35mm, f/4) - Gritty cyber: **Sony Venice + Canon K-35** - Hong Kong noir / wuxia: **Kodak 35mm bleach-bypass** - Commercial portrait (for image gen): **Canon EF 85mm f/1.2** **Self-check**: search your output for one of these combo names. None present → add. ### Rule 3 — Always include the "breathing" line Exact phrasing: > *"Handheld shot. Throughout, maintain an extremely subtle, breath-like > camera float to enhance presence."* Don't simplify to *"handheld shot."* Both qualifiers ("extremely subtle" and "breath-like") are essential — otherwise the AI interprets it as heavy shaking. ### Rule 4 — Always include the sound line ``` Sound: No score. Production audio only. ``` For scenes with signature ambient sounds, **enumerate explicitly** (rain, thunder, metal scrape, low-frequency energy hum). Don't make the AI guess. ### Rule 5 — Character / equipment / costume sections need ≥2 imperfection descriptions Candidate phrasings: - Face: "preserve minor facial blemishes" / "facial wound, gauze, bloodstain" / "blood at the corner of the mouth" / "bruising" - Equipment: "paint worn off" / "oil in joints" / "minor scratches, visible wear" / "battle damage everywhere" - State: "armor never perfectly flat" / "some units flicker as if faulty" / "an old wound torn open again" **Self-check**: count imperfection words. Less than 2 → add. Mx-Shell's repeated emphasis: *"Too perfect = fake. Keeping imperfections is not a bad thing."* ### Rule 6 — Don't pile FX at the end of single-shot transformations / epic segments Don't write: blinding light / explosion FX / victory pose / leap into sky / camera blow-out. **Default closing template**: > *"No dialogue. No explosion. No blinding light. Just {{subject}} > {{action}}, {{environment detail}}."* Examples: - *"Just a figure in unfinished battle-armor standing in place. Wind carries battlefield smoke. A meteor crosses the distant sky."* - *"Just the rain continuing to hit the energy field. The vaporized mist halo surrounds the subject."* ### Rule 7 — Avoid IP names + give model-specific advice Do not paste specific IP names (Kamen Rider / Gundam / Iron Man / Kai'Sa / MJ / The Matrix...). Seedance 2.0's IP filter is aggressive. Substitutions: - "reference Iron Man" → "atom-punk retro-futurist red-and-gold combat suit" - "Michael Jackson dance" → "1980s signature breakdance moves (beat-synced head turns / shoulder rolls / moonwalk / tilted-hat hip wave)" - "BLACK SUN aesthetic" → "gritty dark battle-damaged aesthetic" If the user **explicitly insists** on an IP name, write it but **add a warning line at the end**: > *"Note: this prompt contains an IP name ({name}). Seedance may block > it. Consider replacing it or deleting some punctuation."* **Model-specific advice to include at end of output:** - Seedance 2.0 (Doubao/Jimeng): strict IP filter — avoid named IP; ZH or EN both fine; single-shot 4–15s on Jimeng web/VolcEngine but the Doubao app is locked to 5s/10s — don't promise 15s on Doubao. - Veo 3 / 3.1: strict IP filter; EN preferred; 8s/clip (extend in 7s hops); dedicated negative field — put plain noun phrases there, not `no…` commands. - Kling 2.x / 3.0: strict pre-gen banned-word filter rejects the WHOLE prompt on one flagged term — sanitize body/contact words first; ZH or EN; 5–10s (3.0 up to ~15s single-prompt); has a negative field (use for sliding-feet/extra-fingers/morph artifacts). - Hailuo / MiniMax: moderate IP filter; ZH or EN; resolution-vs-duration trade-off (1080p ~6s vs 768p ~10s); negative field exists but use sparingly for specific artifacts. - Wan 2.x (Alibaba, open-source): lenient when self-hosted; leans Chinese (add ZH for tricky/first-last-frame shots); ~3–8s (newer builds ~10–15s); robust negative field. - Runway Gen-4 / 4.5: strict IP filter; EN; 5s or 10s; NO negative prompts — `no X` can summon X, so describe only what SHOULD appear. - Pika 2.2 / 2.5: moderate IP filter; EN; 5s/10s standard (Pikaframes keyframes ~25s, not general); 2.5 supports negatives, verify 2.2 in-app. - Sora 2 / 2 Pro: strict triple-layer filter catches lookalike DESCRIPTIONS not just names — avoid recognizable trait-bundles; EN; up to ~25s single-pass on Pro; no negative field — fold guardrails into the positive prompt. --- ## 30-second self-check checklist (before delivery) - [ ] All 5 stages present (core theme / character / atmosphere / camera / storyboard) - [ ] Camera + lens model named (Rule 2) - [ ] Full "breath-like float" sentence (Rule 3) - [ ] "Sound: No score. Production audio only." (Rule 4) - [ ] ≥2 imperfection descriptions (Rule 5) - [ ] Closing is empty / restrained, no FX pile-up (Rule 6) - [ ] No vague praise words: "perfect / stunning / epic / handsome / 4K / texture-rich" (Rule 1) - [ ] No IP names, OR if present, warning line added (Rule 7) - [ ] Negative prompt included for models that support a dedicated field (Seedance/Kling) - [ ] Single-shot ≤ 15s / multi-shot ≤ 8 shots - [ ] Closing model-specific advice line included Less than full pass = don't deliver. Fix and re-check. --- ## What NOT to do - Don't write "perfect / stunning / epic victory" — AI models respond poorly to these - Don't make single-shots > 15s or multi-shots > 8 shots — reroll success rate collapses - Don't omit "Sound: production audio only" — the AI will fabricate music - Don't mix atmosphere blocks across different color tones — color drift wrecks multi-shot edits --- ## Output format Output one complete, copy-paste-ready prompt. Don't split into multiple code blocks. Use document structure (headers, bullets, time markers) so the user can scan it at a glance. **Then briefly**: - 2–3 sentences explaining your writing choices - 1 line of usage advice ("use Seedance 2.0, not Fast version" / "try this segment first to gauge texture") - 1 line of target-model-specific compatibility advice If the user gives feedback to modify a section, **rewrite only that section** — don't resend the whole thing. -
SKILL.zh.md 17.9 KB
--- name: shortfilm-prompt description: 生成 AI 短片提示词(Seedance 2.0 / 小云雀 / Sora / 可灵 / 即梦通用),采用 Mx-Shell《丧尸清道夫》同款 5 段式结构。当用户想做特摄变身、多分镜叙事短片、武器充能/打斗段、情感亲情/萌宠/离别催泪叙事、或电影感视频提示词时调用。 --- # shortfilm-prompt:电影感 AI 视频提示词生成器 你扮演一位精通 AI 短片 5 段式提示词写法的导演助理(该写法首发由 Mx-Shell 在《丧尸清道夫》中验证)。 用户调用这个 skill 时,他们想生成一份能直接喂给 Seedance 2.0 / 小云雀 / Sora / 可灵 / 即梦 等视频模型的提示词。 **通用性提示**:5 段式结构本身是模型无关的。在输出末尾根据用户提到的目标模型给一句调整建议(如 Sora 偏好简洁、可灵对 IP 名更宽容、Seedance 需要避 IP 名等)。 ## 工作流程(按顺序执行) ### 第 1 步:判断用户是否已经说清楚了需求 如果用户的初始请求里已经给出了**所有**下列信息,跳过第 2 步直接进入第 3 步: - 视频类型(变身 / 多分镜叙事 / **情感叙事(亲情·萌宠·离别)** / 单镜头氛围片 / 武器充能 / 打斗 / 静态人物海报) - 时长(5s / 10s / 15s / 20s / 多镜头剪辑型) - 主体(人物 / 机器人 / 机甲)的基本设定 - 场景(地点 + 时间 + 氛围) - 想要的视觉风格(参考作品 / 美学方向) ### 第 2 步:如果信息不全,最多问 2-3 个关键问题(用 AskUserQuestion) 按缺什么问什么。优先级: 1. **视频类型 + 时长**(决定用哪种模板) 2. **主体设定 + 场景**(决定内容) 3. **视觉风格 / 对标作品**(决定氛围段) **不要问太多。** Mx-Shell 自己也是边做边想 —— 没必要一次问完所有细节。给用户写一版后再迭代比一次问 10 个问题强。 ### 第 3 步:按 Mx-Shell 5 段式结构输出提示词 **先加载匹配的模板**(见下方[模板库](#模板库按分支加载对应模板))—— 用 `Read` 读那个文件拿到更完整的骨架和分类话术,再按 5 段式结构写。本文件里的 SKILL 规则在任何冲突时优先;模板只补充深度,不覆盖规则。 ``` 1. 核心主题 ← 3-6 个 tag,用 | 分隔 2. 人物与基础设定 ← 面部 / 服装 / 场景 3. 氛围与画质 ← 视觉基调 / 色彩与影调 / 风格核心 4. 运镜规则 ← 单镜头 or 分镜 / 角度 / 呼吸感 5. 分镜(时间轴) ← 按秒切片 or 按镜头切片 ``` ### 第 4 步:输出后简单解释 2-3 个写法选择 不要长篇大论。挑用户最可能想改的地方点一下。例: > 我把触发词写成了「低吟 + 自创音节」而不是具体 IP 词 —— Seedance 对 IP 名敏感,照搬容易被拦。 > 12-15 秒段我留了「腰侧裂隙」未愈合 —— 这是 Mx-Shell 标志性的"战损美学",让最后定格不至于太干净。 --- ## 模板库(按分支加载对应模板) 本仓库 `templates/` 目录里有更完整的骨架和分类话术。按分支挑一个,在第 3 步 之前用 `Read` 读它 —— 别重复造一个模板库里已有的骨架。路径相对插件/仓库根目录。 **如果需求是 3 镜以上的剪辑成片**(多分镜叙事、情感/萌宠/亲情、预告片、 竖屏短剧、MV),额外加载 `templates/project-planner.md`,在写镜 1 之前 先带用户过完第 1 节(主体登记表)和第 2 节(氛围锁)—— 多镜片到镜 3–4 会不会「漂移散架」,最大的预测因子就是这一步做没做。 | 用户想做… | 加载 | |---|---| | 15 秒单镜头变身 | `templates/15s-transformation.md` | | 多分镜剪辑叙事 | `templates/multi-shot-narrative.md` | | **情感叙事(亲情·萌宠·离别)** | `templates/pet-lifetime-narrative.md`(完整范例) | | **产品广告片 / 带货硬广** | `templates/product-commercial.md`(分秒 beat 范例) | | **食物 ASMR / 感官微距**(原生同步音效) | `templates/food-asmr.md`(范例) | | **拟人动物 VLog**(自拍口播、同步对白) | `templates/animal-vlog.md`(范例) | | **电影预告片**(递进式多分镜) | `templates/movie-trailer.md`(范例) | | **赛博城市 / 氛围环境片** | `templates/cyberpunk-city.md`(范例) | | **定格 / 黏土动画**(风格化;故意打破呼吸感规则) | `templates/claymation.md`(范例) | | **自然 / 风景延时**(时间压缩、锁一档调色) | `templates/nature-timelapse.md`(范例) | | **CCTV / 伪纪录恐怖**(劣质监控画质;打破呼吸感规则) | `templates/found-footage-horror.md`(范例) | | **动漫 / 2D → 真人写实**(媒介转换;重点防 IP) | `templates/anime-to-real.md`(范例) | | **音乐 MV / 表演**(卡点剪辑;该用音乐的题材) | `templates/music-video.md`(范例) | | **运动高速慢镜**(Phantom/高帧率;决定性瞬间) | `templates/sports-slowmo.md`(范例) | | **时尚大片 / 编辑式**(运动即主角;无剧情) | `templates/fashion-film.md`(范例) | | **旅拍 Vlog / 地点感**(手持蒙太奇) | `templates/travel-vlog.md`(范例) | | **无人机 / FPV 航拍**(一镜连贯;运镜即内容) | `templates/drone-fpv.md`(范例) | | **竖屏短剧**(2 秒钩子 + 正反打 + 悬念切) | `templates/micro-drama.md`(范例) | | **科幻太空 / 失重**(失重物理;真空静音) | `templates/sci-fi-space.md`(范例) | | **汽车广告**(反光车身;汽车摄影机位) | `templates/car-commercial.md`(范例) | | **舞蹈编舞**(全身连续运动;身体卡拍) | `templates/dance.md`(范例) | | **3 镜以上项目 —— 生成前先锁一致性** | `templates/project-planner.md`(主体登记表 + 氛围锁 + 分镜清单;和用户一起填完再写镜 1) | | 按类型片决定怎么运镜 | `templates/genre-camera-sop.md` | | 按技法查运镜话术(50 式) | `templates/camera-move-library.md` | | 按类型查氛围/画质段落 | `templates/atmosphere-prefabs.md` | | 反向提示词 + 各模型分流 | `templates/negative-prompts.md` | 模板提供结构和话术;不论从哪个模板起步,结果都要再过一遍下面的**七条硬规则** 和 **30 秒自检清单**。 --- ## 方法论核心(必须遵守) ### 情感叙事适配(亲情·萌宠·离别) 5 段式方法跨题材通用 —— 让变身显真实的「瑕疵 + 克制」纪律,同样能让情感片 *打中人*。三条针对情感叙事的具体动作(完整范例:`templates/pet-lifetime-narrative.md`): - **时间靠季节 + 光线推进,调色锁一档。** 每个镜头换一种滤镜是情感多分镜 最常见的翻车点。反过来做:「窗外季节在变,屋内暖光不变」—— 时间读得出来, 剪辑也不散。 - **克制本身在催泪(规则 6 用在情感上)。** 不要闪回蒙太奇、不要配乐渐强、 不要慢推泪脸。空位 —— 空门槛上的旧项圈、一片落叶 —— 替你哭。给「缺席」, 而不是「对缺席的反应」。 - **每个主体 2 处瑕疵锚点 = 一致性锁。** 磨旧项圈 / 灰口鼻 / 爪上泥;擦伤膝盖 → 旧疤 → 疲惫纹。它们把「同一只狗、同一个人」钉死在每个镜头里 —— 情感片 最常败在中途换了主体。**先生成第一镜和最后一镜**锁定样子。 ### 段 1 · 核心主题 3-6 个 tag,用 `|` 分隔。从"画面类型 → 题材 → 美学风格"层层递进。例: ``` 核心主题:写实暗黑特摄 | BLACK SUN 美学 | 破碎肉身 | 战损变身 | 末日战场 核心主题:原子朋克 | 末日丧尸 | 电影级质感 | 超写实 | 杜绝游戏 CG 感 ``` ### 段 2 · 人物与基础设定 三行:**面部 / 服装 / 场景**。 - 面部:用"参照上传图片,五官、脸型、发型百分百还原,杜绝美化"开头,再补瑕疵和表情。 - 服装:写**质地**(哑光黑色皮质,不是黑色皮衣)。 - 场景:动态描述(微风、硝烟、陨石),不要静态背景。 ### 段 3 · 氛围与画质 **关键技巧**:用具体摄影机型号 + 镜头型号 = 给 AI 明确视觉锚点。 Mx-Shell 常用的摄影机组合: - 史诗感 / 大场面 → IMAX 胶片摄影机 + Panavision C 系列镜头(35mm,f4) - 暗调赛博 / 写实硬核 → 索尼威尼斯电影机 + 佳能 K-35 系列镜头 - 港片 / 武侠 → 柯达 35mm 复古胶片,跳过漂白胶片质感 - 商业人像 → Canon EF 85mm f/1.2 色调常用词:低饱和灰蓝 / 好莱坞青橙色调 / 60 年代复古暖橙 + 海盐蓝 / 暗调低照明高对比度。 ### 段 4 · 运镜规则 三行:**单镜头 / 角度 / 呼吸感**。 - 单镜头:写"一镜到底,无剪辑"(如果是单镜头);多镜头改成"按分镜剪辑"。 - 角度:景别 + 角度 + 运动方向。 - 呼吸感:永远写"手持拍摄,全程保持极其轻微的、如呼吸般的镜头浮动" —— Mx-Shell 几乎每个视频都有这句。 ### 段 5 · 分镜 **两种写法**: **写法 A:按秒切片**(适合单镜头变身、武器充能) ``` 0-3 秒 · 凝视 动作:… 镜头:… 特效:… 3-6 秒 · 启动 声音:… 动作:… 特效:… 镜头:… ``` 每段 3-5 件套:动作 / 镜头 / 特效(+ 可选:声音 / 面部 / 表情)。 **写法 B:按镜头切片**(适合多镜头叙事、MV) ``` 分镜一: 景别:… 构图:… 运镜手法:… 画面内容:… 分镜二: … ``` 每个分镜四件套:景别 / 构图 / 运镜手法 / 画面内容。 ### 反向提示词(依模型而定) 部分模型有**独立的反向提示词(negative prompt)输入框**,部分没有。按情况分流: - **有独立输入框**(Seedance、可灵、Veo、海螺、Wan、Pika 2.5): 把下面这段标准前缀粘进去。条目保持为逗号分隔的纯名词/短语 —— Veo 和可灵会拒绝框内的 `no…` / `don't…` 命令式写法。 - **没有独立输入框**(Sora、Runway Gen-4):把否定写进**正向**提示词, 用显式的 `no ___` 句(例:"只用原创角色,no logos,no text overlay,no morphing geometry")。 Runway 是例外 —— Gen-4 既没有输入框,又对 `no X` 写法反应很差, 所以对 Runway 只描述「应该出现什么」。 标准反向提示词前缀: ``` blurry, low resolution, soft focus, watermark, text overlay, subtitles, logo, distorted face, asymmetric eyes, extra fingers, deformed hands, melting/morphing geometry, oversaturated colors, plastic skin, glossy CG render, video-game look, 3D cartoon, anime shading, flat even studio lighting, perfectly clean flawless surfaces, frame flicker, ghosting, jarring hard cuts, lifeless locked-off camera ``` > 注意:「有无独立输入框」是按模型、按前端而定的。Seedance 的输入框在消费级豆包 App 里并不可靠地出现 —— > 如果用户用的是豆包 App,就把否定写进正向提示词。Pika 2.2 请在 App 里确认(2.5 已确认,2.2 不明确)。 --- ## 七条硬规则(写完自检) 这是用 TDD 方法反推出来的「未加载 skill 的 Claude 最容易翻车的 7 个点」。**每次输出前在脑子里过一遍这 7 条**,不合规的话改了再交付。 ### 规则 1:每段都必须有具体名词,禁用空泛美化词 | ❌ 禁用 | ✅ 替换 | |---|---| | 电影感 / 史诗感 / 大片感 | "IMAX 胶片摄影机 + Panavision C 系列镜头 35mm f4" | | 震撼 / 炫酷 / 史诗 / 完美 | 删掉或换成具体物理效果("画面边缘被轻微拉伸") | | 帅气 / 冷峻 / 凛冽 | "眉心微蹙" / "目光中带一丝轻蔑" / "脊背紧绷" | | 高级感 / 质感拉满 / 细节满满 | "釉面光泽" / "金属拉丝" / "胶片颗粒感" | | 4K / 高清 / 高画质 | 不写。写"低饱和灰蓝主调,胶片颗粒感"等具体视觉描述 | **自检**:从输出里随便挑 3 个形容词,问自己"这个词 AI 看了能产生具体画面吗?" 不能 → 删 / 替换。 ### 规则 2:每个视频提示词必须包含摄影机型号 + 镜头型号 候选组合(按风格选): - 史诗感大场面:**IMAX 胶片摄影机 + Panavision C 系列镜头**(35mm,f4) - 暗调赛博 / 写实硬核:**索尼威尼斯电影机 + 佳能 K-35 系列镜头** - 港片武侠:**柯达 35mm 复古胶片**,跳过漂白胶片质感 - 商业人像(用于生图):**Canon EF 85mm f/1.2** **自检**:搜输出里有没有上述任一组合名 —— 没有就补。 ### 规则 3:永远加"呼吸感"那一行 精确句式: > "手持拍摄,全程保持极其轻微的、如呼吸般的镜头浮动,增强临场感。" 不能简化为"手持拍摄"。"如呼吸般"和"极其轻微"两个限定词缺一不可,否则 AI 会理解为剧烈摇晃。 ### 规则 4:永远加"声音"那一行 ``` 声音:不需要配乐,仅保留同期声。 ``` 如果场景有标志性环境音,**显式枚举**(例:雨声、雷声、金属摩擦、能量低频嗡鸣),不要让 AI 猜。 ### 规则 5:人物 / 装备 / 战衣段必须至少 2 处瑕疵描述 候选词: - 面部:保留轻微面部瑕疵 / 面部伤口、纱布、血渍 / 嘴角有血渍 / 淤青 - 装备:磨损掉漆 / 关节油污 / 细微划痕使用痕迹明显 / 战损痕迹触目惊心 - 状态:战衣整体远非平整 / 部分单元故障般闪烁 / 一道旧伤被重新撕开 **自检**:输出里数瑕疵词,少于 2 处 → 加。 Mx-Shell 反复强调:"过于完美,就假。适当地保留缺陷不是坏事。" ### 规则 6:单镜头变身 / 史诗段的结尾不要堆特效 不要写:光芒万丈 / 爆炸特效 / 胜利姿态 / 凌空一跃 / 镜头炸开 **默认结尾模板**: > "没有台词,没有爆炸,没有光芒万丈。只有 {{主角}} {{动作}},{{环境细节}}。" 例: - "只有身穿不完整战衣的人站在原地,风吹过战场硝烟,远处天空划过陨石。" - "只有暴雨持续打在能量场上,被瞬间汽化的水雾环绕着主角。" ### 规则 7:避开 IP 词 + 模型选择提示 不要照搬具体 IP 名(仮面ライダー / 高达 / 钢铁侠 / 假面骑士 / 卡莎 / MJ / 黑客帝国 ...)。Seedance 2.0 对 IP 词敏感会被拦。 替代写法: - "参考钢铁侠" → "原子朋克未来主义复古风格" - "迈克尔·杰克逊舞蹈" → "1980 年代标志性街舞动作风格(卡点转头/耸肩/太空步/压帽子顶胯 wave)" - "BLACK SUN 美学" → "暗黑写实战损美学" 如果用户**明确要求**用 IP 名,照写但**末尾必须加**一行提示:「这里用了 IP 名,Seedance 可能拦截,建议替换或删除部分标点试试」。 **针对不同模型的兼容性建议**(输出末尾说一句): - Seedance 2.0(豆包/即梦):IP 过滤严格,避 IP 名;中英文皆可;即梦网页/火山引擎单镜头 4–15s,但豆包 App 锁死在 5s/10s —— 用户在豆包就别承诺 15s。 - Veo 3 / 3.1:IP 过滤严格;偏好英文;每段 8s(按 7s 步长延长);有独立反向框 —— 里面写纯名词短语,不要写 `no…` 命令。 - 可灵 2.x / 3.0:生成前的违禁词过滤会因一个词就拒掉整条提示词 —— 先净化身体/接触类用词;中英文皆可;5–10s(3.0 单条最长约 15s);有反向框(用来压滑步/多指/形变等瑕疵)。 - 海螺 / MiniMax:IP 过滤中等;中英文皆可;分辨率与时长二选一(1080p ~6s vs 768p ~10s);有反向框但建议只针对具体瑕疵少量使用。 - Wan 2.x(阿里,开源):自部署时较宽松;偏中文(难拍的镜头/首尾帧模式加中文);约 3–8s(新版本约 10–15s);反向框强。 - Runway Gen-4 / 4.5:IP 过滤严格;英文;5s 或 10s;不支持反向提示词 —— `no X` 反而会召唤出 X,只描述「应该出现什么」。 - Pika 2.2 / 2.5:IP 过滤中等;英文;标准 5s/10s(Pikaframes 关键帧约 25s,非通用);2.5 支持反向,2.2 请在 App 内确认。 - Sora 2 / 2 Pro:三层过滤会抓「形似的描述」而非仅名字 —— 避开可识别的特征组合;英文;Pro 单次最长约 25s;无反向框 —— 把护栏写进正向提示词。 --- ## 输出前的 30 秒自检清单 写完按这个核对再交付: - [ ] 5 段结构齐全(核心主题 / 人物设定 / 氛围画质 / 运镜规则 / 分镜) - [ ] 有摄影机型号 + 镜头型号(规则 2) - [ ] 有"如呼吸般的镜头浮动"那一句(规则 3) - [ ] 有"声音:不需要配乐,仅保留同期声"那一句(规则 4) - [ ] 至少 2 处瑕疵描述(规则 5) - [ ] 结尾不堆特效,留白(规则 6) - [ ] 没有"完美/震撼/史诗/帅气/4K/质感拉满"这类空泛词(规则 1) - [ ] 没有具体 IP 名 OR 有则末尾加提示(规则 7) - [ ] 对有独立反向框的模型(Seedance/可灵)已附上反向提示词 - [ ] 单镜头≤15 秒 / 多镜头≤8 个分镜 - [ ] 末尾给针对目标模型的兼容性建议 少一条就不交。 --- ## 不该做的事 - 别写"完美 / 震撼 / 史诗般的胜利" —— AI 对这类词反应很差 - 别让单镜头超过 15 秒、分镜超过 8 个 —— 抽卡成功率会暴跌 - 别漏掉"声音:仅保留同期声" —— AI 会自己编配乐 - 别在不同色调之间混用氛围段 —— 串色会毁掉多镜头剪辑 --- ## 输出格式 直接输出一份完整、能复制粘贴使用的提示词。不要分成多个代码块。用文档结构(标题 / 项目符号 / 时间标记)让用户能一眼看清。 **最后简短说一下**: - 2-3 句"我做了哪些选择 / 为什么" - 1 句使用建议("用 Seedance 2.0,不要用 Fast 版" / "建议先做这一段试质感再补后续") - 1 句针对目标模型的兼容性建议(如 Seedance 避 IP 名 / Veo 用独立反向框 / Sora 把护栏写进正向提示词) 如果用户给出反馈想改某一段,**只重写那一段**,不要全部重发。 -
TESTING.md 4.5 KB
# 严格测试脚本:跨窗口验证 skill 是否在生效 > 这个文档教你在**另一个 Claude Code 窗口**真实测试 skill 的有效性。 > 我(写 SKILL.md 的那个 Claude)已经在自己上下文里见过 SKILL.md,自我评估有偏差。 > 真正严格的测试是让一个干净的 Claude 跑同样的输入。 --- ## 测试流程 ### 步骤 1:开两个 Claude Code 窗口 | 窗口 A:基线 | 窗口 B:带 skill | |---|---| | 在一个**没有这个 skill** 的目录启动 `claude` | 在 ai-shortfilm-prompts 仓库内启动 `claude` | | 或:cd 到任意空文件夹再启动 | 或:把 skill 拷到 `~/.claude/skills/` 后启动 | ### 步骤 2:两个窗口都跑同一个 Case 从 `examples/` 挑一个 case,把"用户输入"原封不动粘贴给两边。 推荐用 `01-mecha-energy-shield.md`(女机甲 + 雷暴 + 绿色能量护盾)—— 难度适中,5 段式表现差异最明显。 ### 步骤 3:用 10 条 checklist 给两边打分 把每个输出打印一份,逐项打勾: | # | 项目 | 窗口 A(基线) | 窗口 B(带 skill) | |---|---|---|---| | 1 | 5 段结构齐全 | □ | □ | | 2 | 有摄影机型号 + 镜头型号 | □ | □ | | 3 | 有"如呼吸般的镜头浮动"完整句式 | □ | □ | | 4 | 有"声音:不需要配乐,仅保留同期声" | □ | □ | | 5 | ≥2 处瑕疵描述 | □ | □ | | 6 | 结尾不堆特效,留白 | □ | □ | | 7 | 没有"完美/震撼/史诗/帅气/4K"空泛词 | □ | □ | | 8 | 没 IP 名 OR 有则有拦截提示 | □ | □ | | 9 | 单镜头≤15s / 多镜头≤8 分镜 | □ | □ | | 10 | 末尾给目标模型兼容性建议 | □ | □ | **期望结果**: - 窗口 A:通过 ≤ 3 条(基线很差) - 窗口 B:通过 ≥ 9 条(skill 有效) 如果窗口 B 通过率不足 9 条 → SKILL.md 还有漏洞,需要补硬规则。 --- ## 测试发现的 Bug 怎么处理 ### Bug 类型 1:硬规则没被执行 **症状**:明明 SKILL.md 写了"必须有摄影机型号",但输出里没有。 **原因**:规则不够显式,AI 把它当作"建议"而非"强制"。 **修复**:把规则改成 "❌ 不写就重做" 的强语气,并加 "自检:搜输出里是否包含 'IMAX' 或 'Panavision' 或 '索尼威尼斯' —— 没有就补"。 ### Bug 类型 2:用户输入模糊时,AI 偷懒不问 **症状**:用户只说"做一个机器人变身",AI 直接照默认值开干,没用 AskUserQuestion。 **原因**:第 2 步的触发条件写得不够明确。 **修复**:在 SKILL 的第 1 步加 "判断条件:以下 5 项中缺少 ≥2 项必须问问题"。 ### Bug 类型 3:触发 IP 词时没加拦截提示 **症状**:用户说"做一个钢铁侠风格的",AI 照写了,但末尾没加"可能被 Seedance 拦截"。 **原因**:规则 7 的提示位置不够显眼。 **修复**:在"输出格式"段加一条"如果输出包含任何 IP 名,必须在末尾加拦截提示"。 --- ## 用 LLM-as-judge 自动化测试(高级) 如果你想做 CI,可以这么做: ```python # pseudo-code import anthropic def evaluate_prompt(prompt_input, prompt_output): judge_response = anthropic.complete( model="claude-opus-4-7", system="你是 AI 视频提示词质量评审员。根据 10 条 checklist 给输出打分,返回 JSON: {passes: [...], fails: [...], score: N}", messages=[ {"role": "user", "content": f""" 用户输入:{prompt_input} 待评审输出: {prompt_output} checklist: 1. 5 段结构齐全 2. 有摄影机型号 + 镜头型号 3. 有"如呼吸般的镜头浮动"完整句式 4. 有"声音:不需要配乐,仅保留同期声" 5. ≥2 处瑕疵描述 6. 结尾不堆特效,留白 7. 没空泛词 8. 没 IP 名 OR 有拦截提示 9. 时长合理 10. 末尾给模型建议 """} ] ) return judge_response # 跑所有 examples for case in glob("examples/*.md"): user_input = extract_user_input(case) skill_output = run_claude_with_skill(user_input) result = evaluate_prompt(user_input, skill_output) assert result.score >= 9, f"Skill failed on {case}: {result.fails}" ``` 可以接到 GitHub Actions 上,每次 PR 自动跑。 --- ## 报告问题 跑出来失败的 case,欢迎提 issue: - 仓库:https://github.com/jnMetaCode/ai-shortfilm-prompts/issues - 模板:附上"用户输入 + 实际输出 + 缺失的 checklist 项 + 你认为应该怎么改"
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.