编写或修订可拍摄的中文短剧、漫剧单集 Markdown 剧本,也负责保留作者原文地规范化现成剧本。用户提出“写/改一集短剧”“把大纲写成剧本”“优化场景/对白”“去模板感”“去 AI 味润色”“续写下一集”或提供剧本要求进入后续制作时使用;不负责资产、分镜、媒体提示词或终审。
npx skills add https://github.com/zenstory-ai/drama-skills --skill short-drama-write
把单集意图写成可表演、可拍摄、会改变故事状态的 剧集/<EP>/剧本.md。
只维护一份剧本 Markdown,不另建 episode card、beats、block index、录音表、QA 或接受记录。
一级标题使用 # EP001 集名,场景标题使用 ## EP001-SC001 内 · 地点 · 时间/天气。
对白写 角色(可选表演提示):台词;生产标签使用 [VO]、[OS]、[SFX]、[画面文字]、
[连续性]、[转场]。不要把含冒号的动作叙述误写成对白。
开发大纲和长篇分析都是可选上游;当前材料足够时直接写。
必须/禁止、题材观看契约和退出状态;本技能的审查项与手艺默认只帮助实现这些要求,不能反过来补造题面没有的精确数字、记录、资源、程序、关系或机关。[连续性] 只交接由前文动作已经建立、又容易在下游丢失的状态;不能用作者标签证明镜头外从未发生某事,也不复述正文已清楚呈现的结果。默认只读本 SKILL 和直接输入。出现下列明确信号时,在写正文前读取对应知识;同一输入有多个不同问题
可以分别读取,但不遍历无关引用:
用户问时长时才把索引写入系统临时目录。先用 Python 查询跨平台临时目录,把第一条命令打印的完整
路径原样替换进后两条命令的引号内。以下每条都是一行完整命令,不依赖 shell 变量或续行符;Windows
没有 python3 命令时使用 py -3。--speaker 的示例值必须替换为本集实际说话者;只有存在项目
配置时才添加 --project short-drama.json:
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 "粘贴第一条命令输出的完整路径"
估算是参考,不是门禁;没有语速或动作段速率时只报告可数事实,不猜秒数。但任务已给目标时长时,
写作者仍须用真实朗读和动作通读判断能否容纳,并直接压缩重复节拍;“不能精确估秒”不是忽略目标的理由。
点名范围已写入、场景因果连贯、对白与行动可表演、承诺有兑现或有意延迟、结尾完成本集预定的戏剧或情绪功能,即完成。最后一拍可以推进,也可以安静收束、形成余韵或让既有动作变义;判断它是否有效,不用“是否又发生一件事”代替。
资产、分镜、审查与生产只有用户点名时开始。
只有安装、升级或排障时运行 python3 scripts/selftest.py。
Take zenstory-ai/short-drama-write from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.