short-drama-write
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese短剧写作
Short Drama Writing
把单集意图写成可表演、可拍摄、会改变故事状态的 。
剧集/<EP>/剧本.mdWrite a single episode's intention into a performable, shootable, story-state-changing script at .
剧集/<EP>/剧本.mdQuick Start
Quick Start
只维护一份剧本 Markdown,不另建 episode card、beats、block index、录音表、QA 或接受记录。
一级标题使用 ,场景标题使用 。
对白写 ;生产标签使用 、、、、
、。不要把含冒号的动作叙述误写成对白。
# EP001 集名## EP001-SC001 内 · 地点 · 时间/天气角色(可选表演提示):台词[VO][OS][SFX][画面文字][连续性][转场]Maintain only one script Markdown; do not create additional episode cards, beats, block indexes, recording sheets, QA, or acceptance records.
Top-level headings use , scene headings use .
Write dialogue as ; use production tags , , , , , . Do not mistake action descriptions containing colons for dialogue.
# EP001 Episode Title## EP001-SC001 Interior · Location · Time/WeatherCharacter (optional performance note): line[VO][OS][SFX][Screen Text][Continuity][Transition]入口
Entry Points
- 有分集规划:读取本集进入状态、目标、转折、回报和交接事实。
- 只有想法/大纲:在上下文形成最小单集契约和因果节拍,再直接写剧本。
- 已有剧本:保留作者语言,只做用户点名的定点修订。
- 非规范文本要进入制作:保留原文,只做必要的场景、动作、对白和生产标签规范化。
开发大纲和长篇分析都是可选上游;当前材料足够时直接写。
- With an episode plan: read this episode's entry state, objective, turning point, payoff, and handoff facts.
- With only an idea/outline: form a minimal episode contract and causal beats in context, then write the script directly.
- With an existing script: preserve the author's language and only make targeted revisions the user names.
- With non-standard text that needs to enter production: preserve the original and only normalize necessary scenes, action, dialogue, and production tags.
Developing an outline and long-form analysis are optional upstream steps; write directly when current material is sufficient.
工作流
Workflow
- 锁定本集承诺的观看体验、谁现在要什么、阻力、当集兑现和退出状态。
- 只识别本集实际存在的发动机:若主打艰难选择,检查两边价值;若判断转折依赖争议证据,检查证明边界;若前景化精确死线,检查动作容量;若题面限定次数、轮次、呼吸或节拍,检查每个单位是否在边界内完成所需状态。没有时不强行补齐;输入已经以它为主发动机时,要让它真正改变行动、关系或结果,不只在台词中点名。
- 在上下文排“因为—行动—结果—下一股压力”,不落盘节拍表;让物件、对白、沉默、空间或声音按本集题材承担必要工作,不预设某一种载体。
- 逐场确定不可替代的功能、可见变化与场尾状态;由争取或冲突组织的场景再明确焦点议程与阻力。承担主要戏剧功能的配角要有自己的策略,事务性或环境性角色保持简洁即可。
- 把动作、对白、画外音、声音事实和画面文字写入同一份剧本。
- 用户要求整集就写完整集,场景批次自动续跑。
- 交稿前静默反查:只看剧本能否接收到本集承诺、人物行动是否有因果、题材语气是否一致;再对本集确实使用的选择、证据、有限单位或精确死线做专项检查。若自检让剧本长出输入没有要求的机关,撤掉机关而不是替它找理由。
- 局部修订保留无关段落;明确问题直接修正,只把真实剧情分叉交给用户。
- Lock in the viewing experience this episode promises, who wants what now, the obstacle, what is paid off in this episode, and the exit state.
- Identify only the engines actually present in this episode: if centered on a hard choice, examine both sides' values; if a turning point depends on disputed evidence, examine the proof boundaries; if a precise deadline is foregrounded, examine action capacity; if the premise limits counts, rounds, breaths, or beats, examine whether each unit completes the required state within the boundary. Do not forcibly add them when absent; when the input already makes one the main engine, let it truly change actions, relationships, or results, not just name it in dialogue.
- Arrange "because—action—result—next pressure" in context without writing a beat sheet to disk; let objects, dialogue, silence, space, or sound carry necessary work according to the episode's genre, without assuming a predefined medium.
- Determine each scene's irreplaceable function, visible change, and end-of-scene state; for scenes organized by struggle or conflict, also specify the focal agenda and obstacle. Supporting characters who carry major dramatic functions should have their own strategies; transactional or environmental characters stay concise.
- Write action, dialogue, voiceover, sound facts, and screen text into the same script.
- If the user asks for a full episode, write the full episode, automatically continuing scene batches.
- Before delivery, do a silent reverse check: see whether the script alone can receive the episode's promise, whether character actions have causality, and whether genre tone is consistent; then run specific checks on choices, evidence, limited units, or precise deadlines actually used. If the self-check makes the script grow mechanisms the input did not ask for, remove the mechanism instead of making excuses for it.
- For localized revisions, preserve irrelevant passages; correct clear problems directly, and only escalate genuine narrative forks to the user.
写作要求
Writing Requirements
- 先服从输入已经给出的事实、、题材观看契约和退出状态;本技能的审查项与手艺默认只帮助实现这些要求,不能反过来补造题面没有的精确数字、记录、资源、程序、关系或机关。
必须/禁止 - 每场改变信息、权力、关系、情绪、物理状态或风险;无变化的场删掉或合并。核心阻力的转向要有可追溯的事实、筹码、权限、代价或人物行动,不能只靠对手停止反应。
- 对白必须在争取、回避、试探、逼迫或重新定义关系;用可见、可听、可触的行为表现状态,不用解释替代行动,也不把已经演清的机制再说一遍。
- 观众理解当前行动所必需的赌注要进入剧本,但载体服从题材;选择、证据、有限单位、精确死线等专项规则只在输入真正以它为发动机时启用,并按需读取剧作手艺,普通决定、普通物件和模糊时间压力不升级成同一套机关。
- 压缩过程时只保留会改变策略、关系、风险或结果的节点。资源与外部反应必须来自输入或前文建立,且不能替人物完成最难的戏剧行动。
- 承担主要冲突的角色要保持相称的目标、判断或策略;事务性、环境性角色保持简洁,不为检查表硬加秘密、反转或人物弧。
- 已建立的代价、不可逆后果、关键持物、空间和知识状态要进入可追溯的退出状态;结尾可推进、留白、反讽、安静收束或形成余韵,不强制追加外部事件。
- 只交接由前文动作已经建立、又容易在下游丢失的状态;不能用作者标签证明镜头外从未发生某事,也不复述正文已清楚呈现的结果。
[连续性] - 交稿前静默做一次经济性检查:是否增加了输入没有要求的精确数字或记录链;是否用标签/对白重复动作;是否在回报后堆了多个同方向后果。没有新作用的内容删掉,knowhow 本身不删。
- 输入给出目标时长时按真实表演、动作和停顿通读压稿,先删重复验证、解释和同义收尾;不用统一字数、镜头数或节拍数填模板。
- 用户原文优先;“去 AI 味”是定点修订,不抹平作者个性。
- First obey the facts, , genre viewing contract, and exit state already provided by the input; this skill's review items and craft defaults only help implement them, and must not conversely invent precise numbers, records, resources, procedures, relationships, or mechanisms missing from the prompt.
must/must not - Every scene must change information, power, relationships, emotion, physical state, or stakes; delete or merge scenes with no change. A turn in core resistance must be traceable to facts, leverage, authority, cost, or character action; it cannot rely solely on the opponent stopping their reaction.
- Dialogue must contend, evade, probe, pressure, or redefine relationships; express state with visible, audible, touchable behavior instead of substituting explanation for action, and do not restate mechanisms already dramatized.
- Stakes the audience needs to understand current action must enter the script, but the vehicle follows the genre; special rules for choices, evidence, limited units, precise deadlines, etc., are enabled only when the input truly uses them as an engine, and script craft is read on demand; ordinary decisions, ordinary objects, and vague time pressure are not escalated into the same mechanisms.
- When compressing processes, keep only nodes that change strategy, relationships, stakes, or results. Resources and external reactions must come from the input or earlier established material, and cannot complete the character's hardest dramatic action for them.
- Characters carrying primary conflict maintain proportionate goals, judgments, or strategies; transactional and environmental characters stay concise, and do not force secrets, twists, or character arcs for a checklist.
- Established costs, irreversible consequences, key carried items, space, and knowledge states must enter a traceable exit state; endings may advance, leave gaps, be ironic, close quietly, or form resonance; do not force additional external events.
- only hands off states already established by prior action and easily lost downstream; do not use an author tag to prove that something never happened off-screen, and do not restate results already clear in the body.
[Continuity] - Before delivery, silently run an economy check: did you add precise numbers or record chains the input did not require? Did you repeat action with tags/dialogue? Did you stack multiple consequences in the same direction after payoff? Delete content with no additional function; know-how itself is not deleted.
- When the input gives a target duration, read through with real performance, action, and pauses to compress; first delete repeated verification, explanation, and synonymous endings; do not fill a template with uniform word counts, shot counts, or beat counts.
- User's original text takes priority; "de-AI flavor" is targeted revision and does not flatten the author's personality.
按需知识
On-Demand Knowledge
默认只读本 SKILL 和直接输入。出现下列明确信号时,在写正文前读取对应知识;同一输入有多个不同问题
可以分别读取,但不遍历无关引用:
- 阶段边界与规则分级:阶段契约
- 场景标题、对白和生产标签语法,或把创作者带来的现成剧本规范化:剧本格式
- 项目特有的制作稿方言:制作格式方言
- 输入含核心选择、有限次数/轮次/呼吸/节拍、精确倒计时或会改变人物判断的关键物证:剧作手艺
- 过去关系必须通过对白进入,或关键人物容易只剩说明功能:对白手艺
- 声源、留白与 sound bridge:场景声音戏剧
- 同一故事义务的不同可拍实现:可替代实现
- 长单集跨上下文时的最小交接:场景交接胶囊,只留在上下文
By default, only read this SKILL and direct input. When any of the following explicit signals appears, read the corresponding knowledge before writing the body; multiple issues in the same input can be read separately, but do not traverse unrelated references:
- Stage boundaries and rule hierarchy: Stage Contract
- Scene heading, dialogue, and production tag syntax, or normalizing existing scripts from creators: Screenplay Format
- Project-specific production script dialect: Production Format Dialect
- Input contains core choice, limited counts/rounds/breaths/beats, precise countdown, or key physical evidence that changes a character's judgment: Script Craft
- Past relationships must enter through dialogue, or key characters risk becoming mere exposition: Dialogue Craft
- Sound sources, silence, and sound bridge: Scene Sound Dramaturgy
- Different shootable realizations of the same story obligation: Substitutable Realization
- Minimal handoff for long episodes across contexts: Scene Handoff Capsule, keep in context only
时长估算(按需)
Duration Estimation (On Demand)
用户问时长时才把索引写入系统临时目录。先用 Python 查询跨平台临时目录,把第一条命令打印的完整
路径原样替换进后两条命令的引号内。以下每条都是一行完整命令,不依赖 shell 变量或续行符;Windows
没有 命令时使用 。 的示例值必须替换为本集实际说话者。
只加在第三条命令上( 才接受它,
没有这个参数,加上去会直接报 ),且只在项目
配置确实存在时加:
python3py -3--speaker--project short-drama.jsonduration_estimate.pyscreenplay_index.pyunrecognized argumentstext
python3 -c "from pathlib import Path; import tempfile, uuid; print(Path(tempfile.gettempdir()) / ('short-drama-' + uuid.uuid4().hex + '.jsonl'))"
python3 "{技能目录}/scripts/screenplay_index.py" "剧集/EP001/剧本.md" --output "粘贴第一条命令输出的完整路径" --speaker "本集角色一" --speaker "本集角色二"
python3 "{技能目录}/scripts/duration_estimate.py" "剧集/EP001/剧本.md" --index "粘贴第一条命令输出的完整路径"改稿后重跑:第二条命令写过一次的输出路径不能直接再写一次,会以 失败。
要保留原有块 ID 就加 ,要从头重编号就加 ;
或者干脆回到第一条命令另取一个临时路径。
already holds an index--previous-index <同一路径>--no-previous估时前区分计数口径: 包含标点,视频提示词中的参考语速按可发声字数计算。
按语速换算时排除标点,并按实际读法处理数字和缩写;不把两个计数混用。
dialogue_characters估算是参考,不是门禁;没有语速或动作段速率时只报告可数事实,不猜秒数。但任务已给目标时长时,
写作者仍须用真实朗读和动作通读判断能否容纳,并直接压缩重复节拍;“不能精确估秒”不是忽略目标的理由。
Only write an index to the system temporary directory when the user asks about duration. First use Python to query the cross-platform temporary directory, and replace the full path printed by the first command verbatim into the quotes of the next two commands. Each of the following is a complete one-line command, not relying on shell variables or continuation characters; use on Windows when is unavailable. The example values of must be replaced with the actual speakers in this episode. must be added only to the third command ( accepts it; has no such parameter and will report if added), and only when a project configuration actually exists:
py -3python3--speaker--project short-drama.jsonduration_estimate.pyscreenplay_index.pyunrecognized argumentstext
python3 -c "from pathlib import Path; import tempfile, uuid; print(Path(tempfile.gettempdir()) / ('short-drama-' + uuid.uuid4().hex + '.jsonl'))"
python3 "{技能目录}/scripts/screenplay_index.py" "剧集/EP001/剧本.md" --output "粘贴第一条命令输出的完整路径" --speaker "本集角色一" --speaker "本集角色二"
python3 "{技能目录}/scripts/duration_estimate.py" "剧集/EP001/剧本.md" --index "粘贴第一条命令输出的完整路径"Re-run after revision: the output path written once by the second command cannot be written again directly; it will fail with . To keep original block IDs, add ; to renumber from scratch, add ; or go back to the first command and choose another temporary path.
already holds an index--previous-index <same path>--no-previousBefore estimating, distinguish the counting calibers: includes punctuation; reference speaking rates in video prompts are calculated by pronounceable character count. When converting by speaking rate, exclude punctuation and treat numbers and abbreviations according to actual pronunciation; do not mix the two counts.
dialogue_charactersEstimation is a reference, not a gate; when no speaking rate or action-segment rate is available, only report countable facts and do not guess seconds. But when the task already gives a target duration, the writer must still use real reading and action pacing to judge whether it fits, and directly compress repeated beats; "cannot precisely estimate seconds" is not a reason to ignore the target.
完成
Completion
点名范围已写入、场景因果连贯、对白与行动可表演、承诺有兑现或有意延迟、结尾完成本集预定的戏剧或情绪功能,即完成。最后一拍可以推进,也可以安静收束、形成余韵或让既有动作变义;判断它是否有效,不用“是否又发生一件事”代替。
资产、分镜、审查与生产只有用户点名时开始。
五份创作文档齐备后,可转 对跨文档结构做一次机械核对;内容质量仍由创作者审查。
$short-dramaCompletion is achieved when the named scope is written, scenes are causally coherent, dialogue and action are performable, promises are paid off or deliberately delayed, and the ending completes the episode's intended dramatic or emotional function. The final beat may advance, close quietly, form resonance, or re-contextualize existing action; judge whether it works by whether it works, not by substituting "did one more thing happen."
Assets, storyboards, review, and production begin only when the user names them. After the five creative documents are complete, you may turn to for a mechanical cross-document consistency check; content quality remains with the creator's review.
$short-drama安装维护
Installation & Maintenance
只有安装、升级或排障时运行 。
python3 scripts/selftest.pyRun only when installing, upgrading, or troubleshooting.
python3 scripts/selftest.py