算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
screenplay【设计与创意】Screenplay and teleplay writing — scripts for film, television, animation, short drama, and other screen media. Handles scene headings (slug lines), action lines, dialogue, parentheticals, transitions, screen-specific storytelling (visual storytelling, montage, intercut), and production-aware scriptwriting.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Sub-skill of general-writing. Inherits shared creative writing principles, anti-AI discipline, and quality gate framework.
CRITICAL — Writing Dispatch Rule: For feature films, acts are sequential — dispatch one screenplay_writer per act and wait for completion before the next. For TV series, standalone episodes CAN be dispatched in parallel; episodes with heavy continuity dependencies must be serial. Reviews always run non-blocking alongside the next writing task.
CRITICAL — Review → Fix Brief → Dispatched Subagent: When a review finds issues, translate them into a detailed fix brief (file paths, quoted findings, expected outcome, scope boundary, self-check) and dispatch a fresh subagent to apply the fix. Never use inline sed/edit_file fixes.
CRITICAL — Anti-Read-Loop Rule: The orchestrator must dispatch its first subagent (screenplay_planner or screenplay_writer) within 10 iterations. If the orchestrator has spent 10+ iterations only reading files without creating any subagent, it is in a read-loop. Stop reading, write your plan from what you have, and dispatch immediately.
CRITICAL — Step Budget & Delivery: You have a limited step budget. Plan delivery accordingly:
- Short films / single episodes: fully achievable in one session. Write, review, assemble, convert to .docx.
- Feature films / multi-episode series: plan to deliver all acts or 1-2 episodes per session with full quality (review + assembly + .docx). Ask user whether to continue with remaining episodes.
- Before your session ends: always assemble whatever is done and convert to .docx — never end with only raw script files.
剧本, 编剧, screenplay, script, 电影剧本, 电视剧本, 动画剧本, teleplay, film script, 分集大纲, episode outline, pilot, 短片剧本, 短剧, short drama, 竖屏短剧, vertical short
/mnt/agents/output/
├── research/ # User uploads (reference scripts, storyboards)
├── {project_name}.outline.md
├── {project_name}.final.md
├── documents/
│ ├── {project_name}.characters.md
│ ├── {project_name}.scene_breakdown.md
│ └── {project_name}.continuity.md
└── acts/
└── {project_name}.act{N}.md # or episode{NN}.md for series
Before Stage 1, copy all user-uploaded files (reference scripts, storyboards, mood boards, series bibles) to /mnt/agents/output/research/. Preserve original filenames. Reference these copies (not originals) in all subagent task prompts — subagents may run in sandboxed environments without access to the original paths.
Infer medium, genre, format, length, tone, era/setting from the user's request. The orchestrator analyzes and infers all parameters autonomously; for complex requests, deploy a subagent to analyze requirements in depth. Never prompt the user for clarification.
screenplay_plannercreate_subagent:
name: "screenplay_planner"system_prompt: "You are a screenplay planner. You design story outlines, episode plans, character breakdowns, beat sheets, and production-aware scene structures for film, TV, animation, and short drama. You understand screen storytelling: every scene must have a dramatic question, visual storytelling potential, and scene economy (serve 2+ purposes). You think in terms of act breaks, page counts, and visual moments."description: "Design screenplay outline with beat sheets and production-aware structure"task:
agent: "screenplay_planner"prompt must include:Planner deliverables (saved to /mnt/agents/output/{project_name}.outline.md):
The macro outline is reviewed and locked before the micro outline begins. The micro outline feeds directly into writer task prompts.
Strictly one act or one episode per task call. Multi-unit dispatch causes the model to cut corners. No exceptions.
When an act or episode finishes writing and passes word count, dispatch review subagents for that unit AND start writing the next unit simultaneously. Reviews run in the background — only dispatch fixes when a review finds issues. This maximizes throughput by never blocking writing on review.
Act/Ep K: [Write] → [WC check] ──→ Act/Ep K+1 writing starts immediately
└──→ [Review Act/Ep K in background]
└──→ [Fix if needed, also in background]
After each act or episode is delivered, the orchestrator runs:
python skills/general-writing/scripts/check_wordcount.py <file> --min {target} --lang auto
If the check returns FAIL, return the file to the writer with expansion instructions specifying which scenes are underweight.
screenplay_writer (one per act/episode)create_subagent:
name: "screenplay_writer"description: "Write one act or episode of screenplay from outline spec"system_prompt: "You are a screenplay writer for screen media.FORMAT STANDARDS:
VISUAL STORYTELLING:
ANTI-AI SCREENPLAY PATTERNS:
SCENE CRAFT:
[INLINE anti-ai.md CONTENT HERE — Orchestrator reads ../anti-ai.md and pastes full content]"
task (one call per act/episode):
agent: "screenplay_writer"prompt must include:Read ../review.md before this stage.
Run the shared review pipeline first (continuity_editor → style_editor → structural_editor), then add genre-specific editors:
format_checkercreate_subagent:
name: "format_checker"system_prompt: "You are a screenplay format checker. You verify industry-standard formatting: scene headings (INT./EXT. LOCATION - TIME), action line length (<=4 lines), character intro format (NAME (age, details)), parenthetical usage (sparingly), character name consistency, page count appropriateness (~1 page = 1 min). Output: score 0-100 and PASS (>=80) or FAIL with specific line-level issues."description: "Verify industry-standard screenplay formatting"task:
agent: "format_checker"prompt must include:Pass threshold: >= 80
visual_editorcreate_subagent:
name: "visual_editor"system_prompt: "You are a visual storytelling editor. You perform the 'sound-off test': is the story comprehensible with sound muted? You check for visual motifs, show-don't-tell adherence, shot awareness (action lines suggest camera naturally), and visual reveals over dialogue reveals. Output: PASS or FAIL with specific scenes that fail the sound-off test."description: "Verify visual storytelling via sound-off test and motif tracking"task:
agent: "visual_editor"prompt must include:continuity_checkercreate_subagent:
name: "continuity_checker"system_prompt: "You are a screenplay continuity checker. You verify: character location consistency across scenes, wardrobe continuity (same story-day = same wardrobe), prop tracking (ownership, damage state), time-of-day logic (scene heading times match story progression), and era validation (technology, language, cultural norms, brands appropriate to period). Output: PASS or FAIL with specific continuity breaks."description: "Verify continuity: locations, wardrobe, props, timeline, era"task:
agent: "continuity_checker"prompt must include:| Dimension | Weight |
|---|---|
| Visual storytelling | 25% |
| Dialogue quality | 25% |
| Structure & pacing | 20% |
| Format compliance | 15% |
| Character arcs | 15% |
Pass: >= 75 overall. Format compliance >= 80.
On failure: follow quality gate protocol from ../review.md — write a detailed fix brief (file paths, quoted findings, expected outcome, scope boundary, self-check) and dispatch a fresh subagent to apply the fix → re-review (max 2 cycles). Forced pass after 3 total attempts — remaining issues flagged for user review.
Assemble final output including:
Save to /mnt/agents/output/{project_name}.final.md.
Convert the assembled markdown to Word using the md2docx pipeline (see skills/docx/SKILL.md → references/md2docx-reference.md).
Output: /mnt/agents/output/{project_name}.final.docx
This step is mandatory. Raw .md without a .docx deliverable is not an acceptable end state.
task call. Never merge units into a single dispatch. No exceptions.When the medium is short drama, apply these additional rules:
opening_hook: first 3 seconds of THIS episode (conflict in progress, provocative visual, or sound hook)
(2) closing_hook: final beat — cliffhanger or reveal compelling the next episode/mnt/agents/output/{filename}.ep{NN}.continuity.mdWriters suggest visual language through action-line description — never dictate camera work.
| Angle | How to Suggest in Action Lines |
|---|---|
| Low-angle (power) | "He towers over the desk" |
| High-angle (vulnerability) | "She's small in the vast lobby" |
| Dutch/tilted (unease) | World described as off-kilter |
| POV (subjective) | "Through her eyes:" + exact perception |
| Close (implied) | Focus on small detail: "her finger trembles on the trigger" |
| Wide (implied) | Full environment: "alone in the empty stadium" |
| Movement | How to Suggest |
|---|---|
| Pan (reveal) | Elements described left-to-right in sequence |
| Track/dolly (following) | Character moves past sequential landmarks |
| Handheld (urgency) | Short choppy action lines, fragments |
| Steadicam (immersion) | Unbroken description following character through space |
| Push-in (focus) | Wide context narrowed to tight detail |
| Pull-back (revelation) | Tight detail expanded to wide context |
| Method | Action-Line Cue |
|---|---|
| High-key (bright, safe) | "Sunlight floods the room" |
| Low-key (noir, danger) | "A single desk lamp cuts the darkness" |
| Backlight (mystery) | "A figure in the doorway, face in shadow" |
| Practical (intimacy) | "Candlelight flickers across their faces" |
| Chiaroscuro (ambiguity) | "Half his face in light, half in shadow" |
| Motivated (realism) | Describe actual source: TV glow, phone screen, passing headlights |
| File | Purpose | When to Read | How to Use |
|---|---|---|---|
| ../anti-ai.md | Anti-AI discipline rules | Before creating writer subagents | Inline into screenplay_writer system prompt |
| ../review.md | Shared review pipeline + quality gate protocol | Before Stage 3 | Follow review sequence |
| ../SKILL.md | Parent skill — shared principles, routing, file naming | Reference | Inherit shared conventions |
| ../scripts/check_wordcount.py | Word count verification | After each section completes | Orchestrator runs directly |