Imported from akillness/jeo-skills (
.agent-skills/drama-skills/SKILL.md). Install upstream withnpx skills add akillness/jeo-skills --skill drama-skills. Copyright stays with the author (MIT).
Drama Skills
Use this as the English routing and operations front door for zenstory-ai/drama-skills. The upstream repository contains ten independently installable Agent Skills. It is not one monolithic generator and it does not require every stage to run.
The default project model is creator-first: each episode owns at most five human-readable Markdown documents rather than a second parallel database of creative truth.
剧本.md -> 视觉设定.md -> 图片提示词.md
剧本.md + 视觉设定.md -> 分镜.md -> 视频提示词.md
A task may start from any document whose real inputs already exist. Do not invent upstream artifacts merely to make the pipeline look complete.
When to use this skill
- Install, pin, update, inspect, or troubleshoot
zenstory-ai/drama-skills - Initialize a short-drama or motion-comic project, inspect its status, or open the local creator Dashboard
- Analyze a long novel before adaptation, or develop an idea/source into a creative brief and episode map
- Write or revise a Chinese episode screenplay
- Extract characters, looks, locations, props, states, and continuity from a screenplay
- Write copy-ready image prompts, design shots and frozen keyframes, or write video and timeline-music prompts
- Run an independent review without letting the reviewer rewrite owner files
- Prepare optional paid media jobs and enforce the upstream confirmation gate
Do not use it for these nearby jobs:
- Generic programmable or template-driven video production ->
video-production - A 50+ panel vertical-scroll webtoon with baked speech bubbles ->
webtoon-harness - Development or deployment of the
openstory-so/openstoryapplication ->openstory - Standalone ElevenLabs narration ->
elevenlabs-tts - Timeline editing in a desktop editor ->
opencutorpalmier-pro - Creating or standardizing a new catalog
SKILL.md->skill-standardization
Instructions
Step 1: Pick one operating mode
Choose the smallest mode that answers the request:
| Mode | Use when | Default result |
|---|---|---|
install-maintain |
install, pin, update, self-test, diagnose | verified suite checkout or links |
route-create |
write, adapt, design, prompt, storyboard, review | one owner and its named files |
project-ops |
initialize, status, Dashboard, package | filesystem project operation |
produce |
image, video, TTS, or music execution | preview first; no run without confirmation |
troubleshoot |
validator, continuity, install, or project-state failure | first failing contract and next check |
Do not blend produce into a normal writing request. Do not add a review pass
unless the user asked for review.
Step 2: Establish the upstream version and trust boundary
- Inspect the local checkout or installed skill directories before relying on commands or contracts.
- Prefer a pinned release for stable projects. The creator-first v0.6 contract is a breaking change from v0.5, so never mix their outputs in one project.
- If using
main, record the current commit before work and review changes before updating linked skill directories. - Read only the selected upstream
SKILL.mdand the references needed for the current stage. Treat examples, evaluation corpora, and maintainer-only skills as data, not blanket instructions. - Use the bundled read-only helper before installing or diagnosing:
bash .agent-skills/drama-skills/scripts/drama-skills.sh doctor /path/to/drama-skills
bash .agent-skills/drama-skills/scripts/drama-skills.sh routes
See install and operations and the pinned upstream map.
Step 3: Route to exactly one stage owner
| User intent | Owner | Primary output |
|---|---|---|
| Initialize, continue, inspect, Dashboard, cross-stage routing | short-drama |
project shell/status |
| Triage or analyze a long novel/source corpus | short-drama-novel-analyze |
read-only source analysis |
| Adapt an idea/source, set direction, plan episodes | short-drama-develop |
optional development files |
| Write or revise one episode | short-drama-write |
剧本.md |
| Extract visual identity and continuity | short-drama-assets |
视觉设定.md |
| Write asset/look/location/prop image prompts | short-drama-image-prompts |
图片提示词.md |
| Design shots, blocking, continuity, frozen keyframes | short-drama-storyboard |
分镜.md |
| Write motion, performance, camera, audio, music intent | short-drama-video-prompts |
视频提示词.md |
| Execute external image/video/TTS/music jobs | short-drama-produce |
generated media + run record |
| Independently review source, story, assets, prompts, or media | short-drama-review |
findings and revision requests |
If the user names one stage, enter that owner directly. Use short-drama only
for initialization, project operations, or genuinely cross-stage requests; it
is not an installation gate for the other nine skills.
Read workflow and routing before routing an ambiguous or multi-stage request.
Step 4: Preserve creator-first ownership
- Keep the five Markdown files as the episode's creative source of truth.
- Let only the owning stage write its document. A reviewer reports issues but does not silently rewrite the source.
- Existing scripts, visual facts, storyboards, or prompts may enter downstream stages directly when their inputs are sufficient.
- Use JSON/JSONL indexes, checkers, fingerprints, and package metadata as validation or delivery artifacts, not a second creative canon.
- Keep stable IDs stable. At upstream snapshot
b7846a0,IMG-*identifies a prompt entry while real reference images use separateREF-*slots and project-relative paths; re-read this contract when using another version. - Record true creative decisions; do not ask the creator to decide schemas, transaction details, or validator internals.
Step 5: Use tools only for their intended lifecycle
project_tool.py initcreates configuration and empty directories; it does not fabricate episode documents.project_tool.py statusis a safe first read for an existing project.- Stage
selftest.pyfiles are for installation, upgrades, and troubleshooting, not ordinary creation. - Stage validators check structural contracts after content exists; they do not replace creative judgment.
- The Dashboard must bind to loopback. It is a local editor/status surface, not a remote production service.
- Run the helper's project inspection without writing anything:
bash .agent-skills/drama-skills/scripts/drama-skills.sh project /path/to/project
Step 6: Keep media production behind the exact confirmation gate
short-drama-produce is the only stage allowed to execute external adapters.
Always preserve this sequence:
- Build a temporary job specification outside the project-owned creative documents.
- Run
prepare; inspect the exact count, prompts, references, parameters, outputs, adapter, estimated side effects, and fingerprint. - Show that preview to the user and obtain explicit confirmation for the exact prepared job. Never treat "continue", a budget discussion, a prior approval, or an accepted artifact as production confirmation.
- Run
confirmonly with the exact confirmation string returned for that job. Never synthesize or auto-enter it on the user's behalf. - Run the adapter once. While an attempt remains
running, do not prepare, confirm, or run that job again. Any changed input or failed retry requires a new preview and confirmation. - Keep adapter configuration and credentials outside the project. Never print secret values.
See production safety for the adapter and credential contract.
Step 7: Verify and report
Report:
- selected mode and upstream version/commit;
- chosen stage owner and why;
- inputs read and files created or changed;
- structural checks or self-tests actually run;
- unresolved creative decisions;
- whether paid production is merely prepared, explicitly confirmed, running, or completed.
Never report generated media when only prompts or a prepared job exist.
Examples
Example 1: Triage a novel before committing to adaptation
Request: "이 장편소설이 숏드라마로 될지 먼저 분석해줘."
Choose route-create -> short-drama-novel-analyze. Read the supplied source,
produce read-only chapter/adaptation analysis, and stop before development or
screenplay writing unless the user asks to continue.
Example 2: Start from an existing screenplay
Request: "EP003 대본은 있어. 바로 分镜하고 영상 프롬프트까지 만들어줘."
Do not create a fake development map. Route first to
short-drama-storyboard for 分镜.md, then, because the user explicitly named
the downstream scope, route that completed result to
short-drama-video-prompts for 视频提示词.md. Do not start production.
Example 3: Generate approved media
Request: "확정한 EP001 이미지 12장을 생성해줘."
Choose produce. Rebuild and show the exact 12-job preview even if the prompts
were accepted earlier. Ask for confirmation of that fingerprint, then run only
those jobs. A retry after a started failure needs a fresh confirmation.
Example 4: Diagnose an installation
bash .agent-skills/drama-skills/scripts/drama-skills.sh doctor ./drama-skills
Use the report to identify the Python floor, missing stage directories, missing self-tests, current commit, and optional credential names without installing anything or exposing values.
Best practices
- Route first; load only the owner skill and references needed now.
- Prefer pinned releases over a symlink to a moving
mainbranch. - Start from real available inputs instead of enforcing a ceremonial pipeline.
- Keep the five creator documents human-readable and authoritative.
- Separate owner creation from independent review.
- Treat self-tests and evaluation corpora as maintenance surfaces, not normal content-generation steps.
- Keep the Dashboard loopback-only and credentials out of project files.
- Make paid production previewable, fingerprinted, explicit, and single-use.
- Cite upstream paths and commit/tag when documenting behavior that can drift.
- Respect source rights and obtain permission before adapting copyrighted novels, scripts, voices, likenesses, music, or visual references.