@oh-story/dsh 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -12
- package/lib/client.js +2707 -268
- package/lib/client.js.map +4 -4
- package/lib/drama/manifest.json +136 -101
- package/lib/drama/skills/short-drama/SKILL.md +61 -1
- package/lib/drama/skills/short-drama/references/contract-and-ownership.md +7 -4
- package/lib/drama/skills/short-drama/references/creator-documents.md +133 -8
- package/lib/drama/skills/short-drama/references/creator-workflow.md +38 -2
- package/lib/drama/skills/short-drama/references/knowhow-index.md +3 -0
- package/lib/drama/skills/short-drama/references/reference-roles.md +10 -7
- package/lib/drama/skills/short-drama/references/runtime-preflight.md +3 -0
- package/lib/drama/skills/short-drama/scripts/creator_markdown_check.py +1002 -0
- package/lib/drama/skills/short-drama/scripts/project_tool.py +485 -5
- package/lib/drama/skills/short-drama-assets/SKILL.md +13 -3
- package/lib/drama/skills/short-drama-assets/references/continuity-lock.md +116 -0
- package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +2 -1
- package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +19 -0
- package/lib/drama/skills/short-drama-assets/references/stage-contract.md +2 -0
- package/lib/drama/skills/short-drama-assets/scripts/asset_check.py +1 -1
- package/lib/drama/skills/short-drama-image-prompts/SKILL.md +6 -2
- package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +4 -3
- package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +1 -1
- package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +1 -1
- package/lib/drama/skills/short-drama-image-prompts/references/stage-contract.md +3 -1
- package/lib/drama/skills/short-drama-image-prompts/scripts/image_prompt_check.py +8 -8
- package/lib/drama/skills/short-drama-image-prompts/scripts/selftest.py +4 -2
- package/lib/drama/skills/short-drama-produce/SKILL.md +46 -10
- package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +65 -8
- package/lib/drama/skills/short-drama-produce/references/providers/minimax-h3-video.md +85 -0
- package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +27 -10
- package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +362 -3
- package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +627 -40
- package/lib/drama/skills/short-drama-produce/scripts/selftest.py +5 -4
- package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +12 -0
- package/lib/drama/skills/short-drama-review/scripts/review_check.py +1 -1
- package/lib/drama/skills/short-drama-storyboard/SKILL.md +76 -7
- package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +1 -1
- package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +6 -2
- package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +19 -4
- package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +5 -2
- package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +16 -0
- package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +8 -3
- package/lib/drama/skills/short-drama-storyboard/scripts/storyboard_check.py +1 -1
- package/lib/drama/skills/short-drama-video-prompts/SKILL.md +81 -13
- package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +6 -1
- package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +17 -1
- package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +21 -1
- package/lib/drama/skills/short-drama-video-prompts/references/minimax-h3.md +154 -0
- package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +24 -6
- package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +11 -7
- package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.0.md +41 -0
- package/lib/drama/skills/short-drama-video-prompts/references/seedance-2.5.md +66 -0
- package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +5 -2
- package/lib/drama/skills/short-drama-video-prompts/references/target-model-profile.md +115 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/container_check.py +1 -1
- package/lib/drama/skills/short-drama-video-prompts/scripts/music_spec_check.py +1 -1
- package/lib/drama/skills/short-drama-write/SKILL.md +3 -2
- package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +1 -1
- package/lib/drama/skills/short-drama-write/scripts/screenplay_index.py +2 -2
- package/lib/drama/skills/short-drama-write/scripts/voice_sheet_check.py +1 -1
- package/lib/index.js +865 -33
- package/lib/index.js.map +4 -4
- package/lib/novel-to-game/LICENSE +21 -0
- package/lib/novel-to-game/README.md +180 -0
- package/lib/novel-to-game/README_ZH.md +178 -0
- package/lib/novel-to-game/VERSION +1 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/BUILD_BRIEF.md +217 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/.vercelignore +3 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/RUN.md +130 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/bg/compound_new_guofeng.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/fate_coda.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/meng.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/pan.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/pinger.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/xuee.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/finale/yue.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_accord_five.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_afterglow_five.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/inner_court_alliance.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/public_day10.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/public_day15.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/public_day5.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/group/title_new_guofeng.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/pan_pinger.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/pan_xuee.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/yue_meng.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/yue_pan.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/joint/yue_pinger.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/meng/explicit.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/meng/prelude.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/meng.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/pan.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/pinger.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/xuee.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/milestone/yue.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/pan/explicit.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/pan/prelude.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/pinger/explicit.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/pinger/prelude.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/xuee/explicit.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/xuee/prelude.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/yue/explicit.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/cg/yue/prelude.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/meng/night.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/pan/night.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/pinger/night.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/xuee/night.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/heroine/yue/night.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/household/li_jiaoer.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/assets/scene/gate_collector.webp +0 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/new-guofeng.css +1105 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/css/style.css +2539 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/index.html +18 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/assets.js +147 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/audio.js +332 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/data.js +7472 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/engine.js +13077 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/main.js +3028 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/js/text.js +32 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/package.json +10 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/app/vercel.json +23 -0
- package/lib/novel-to-game/examples/jin-ping-mei/build/art/generated-art.json +161 -0
- package/lib/novel-to-game/examples/jin-ping-mei/example.json +12 -0
- package/lib/novel-to-game/examples/jin-ping-mei/qa/README.md +31 -0
- package/lib/novel-to-game/examples/jin-ping-mei/qa/playable-model.json +99 -0
- package/lib/novel-to-game/examples/jin-ping-mei/qa/verification.json +41 -0
- package/lib/novel-to-game/examples/jin-ping-mei/qa/verify_playable_model.mjs +129 -0
- package/lib/novel-to-game/manifest.json +508 -0
- package/lib/novel-to-game/skills/game-art-direction/SKILL.md +73 -0
- package/lib/novel-to-game/skills/game-art-direction/agents/openai.yaml +4 -0
- package/lib/novel-to-game/skills/game-art-direction/references/art-direction-method.md +119 -0
- package/lib/novel-to-game/skills/game-build/SKILL.md +84 -0
- package/lib/novel-to-game/skills/game-build/agents/openai.yaml +4 -0
- package/lib/novel-to-game/skills/game-build/references/build-brief-contract.md +109 -0
- package/lib/novel-to-game/skills/game-build/references/generative-media-pipeline.md +56 -0
- package/lib/novel-to-game/skills/game-build/references/playable-model-contract.md +81 -0
- package/lib/novel-to-game/skills/game-build/references/tts-production-contract.md +37 -0
- package/lib/novel-to-game/skills/game-concept/SKILL.md +72 -0
- package/lib/novel-to-game/skills/game-concept/agents/openai.yaml +4 -0
- package/lib/novel-to-game/skills/game-concept/references/concept-method.md +94 -0
- package/lib/novel-to-game/skills/game-qa/SKILL.md +50 -0
- package/lib/novel-to-game/skills/game-qa/agents/openai.yaml +4 -0
- package/lib/novel-to-game/skills/game-qa/references/qa-contract.md +66 -0
- package/lib/novel-to-game/skills/game-qa/references/test-design-method.md +45 -0
- package/lib/novel-to-game/skills/game-world-design/SKILL.md +63 -0
- package/lib/novel-to-game/skills/game-world-design/agents/openai.yaml +4 -0
- package/lib/novel-to-game/skills/game-world-design/references/dialogue-design-method.md +59 -0
- package/lib/novel-to-game/skills/game-world-design/references/game-writing-craft.md +53 -0
- package/lib/novel-to-game/skills/game-world-design/references/narrative-design-method.md +84 -0
- package/lib/novel-to-game/skills/game-world-design/references/numeric-design-method.md +56 -0
- package/lib/novel-to-game/skills/game-world-design/references/world-design-method.md +124 -0
- package/lib/novel-to-game/skills/novel-game-analyze/SKILL.md +77 -0
- package/lib/novel-to-game/skills/novel-game-analyze/agents/openai.yaml +4 -0
- package/lib/novel-to-game/skills/novel-game-analyze/references/gameability-protocol.md +65 -0
- package/lib/novel-to-game/skills/novel-to-game/SKILL.md +71 -0
- package/lib/novel-to-game/skills/novel-to-game/agents/openai.yaml +4 -0
- package/lib/novel-to-game/skills/novel-to-game/references/intake-benchmark-reference.md +42 -0
- package/lib/novel-to-game/skills/novel-to-game/references/intake-method.md +51 -0
- package/lib/novel-to-game/skills/novel-to-game/references/pipeline-contract.md +65 -0
- package/lib/oh-story/manifest.json +415 -305
- package/lib/oh-story/roles/consistency-checker.md +1 -1
- package/lib/oh-story/roles/narrative-writer.md +32 -33
- package/lib/oh-story/roles/story-architect.md +16 -26
- package/lib/oh-story/skills/browser-cdp/SKILL.md +1 -1
- package/lib/oh-story/skills/story/SKILL.md +16 -9
- package/lib/oh-story/skills/story/VERSION +1 -1
- package/lib/oh-story/skills/story/references/author-memory.md +163 -0
- package/lib/oh-story/skills/story/scripts/author_memory_commit.py +871 -0
- package/lib/oh-story/skills/story-cover/SKILL.md +1 -1
- package/lib/oh-story/skills/story-deslop/SKILL.md +10 -5
- package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +2 -1
- package/lib/oh-story/skills/story-deslop/references/author-memory.md +163 -0
- package/lib/oh-story/skills/story-deslop/references/banned-words.md +6 -4
- package/lib/oh-story/skills/story-deslop/scripts/author_memory_commit.py +871 -0
- package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +64 -1
- package/lib/oh-story/skills/story-import/SKILL.md +19 -10
- package/lib/oh-story/skills/story-import/references/format-and-structure.md +9 -10
- package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +2 -2
- package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +1 -1
- package/lib/oh-story/skills/story-import/references/tracking-transaction.md +14 -6
- package/lib/oh-story/skills/story-import/scripts/check-outline-contract.js +251 -0
- package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +98 -9
- package/lib/oh-story/skills/story-import/scripts/wordcount_core.py +246 -0
- package/lib/oh-story/skills/story-long-analyze/SKILL.md +4 -4
- package/lib/oh-story/skills/story-long-scan/SKILL.md +1 -1
- package/lib/oh-story/skills/story-long-write/SKILL.md +35 -21
- package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +2 -1
- package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +7 -3
- package/lib/oh-story/skills/story-long-write/references/author-memory.md +163 -0
- package/lib/oh-story/skills/story-long-write/references/banned-words.md +6 -4
- package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +6 -6
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/genre-readers.md +1 -1
- package/lib/oh-story/skills/{story-setup/references/agent-references/hooks-chapter.md → story-long-write/references/long-chapter-hooks.md} +5 -5
- package/lib/oh-story/skills/story-long-write/references/{quality-checklist.md → long-chapter-quality.md} +2 -1
- package/lib/oh-story/skills/story-long-write/references/long-format.md +42 -0
- package/lib/oh-story/skills/{story-setup/references/agent-references/genre-catalog.md → story-long-write/references/long-genre-catalog.md} +11 -97
- package/lib/oh-story/skills/{story-setup/references/agent-references/genre-core-mechanics.md → story-long-write/references/long-genre-mechanics.md} +1 -1
- package/lib/oh-story/skills/{story-short-write/references/reversal-toolkit.md → story-long-write/references/long-reversal.md} +18 -32
- package/lib/oh-story/skills/story-long-write/references/{hooks-suspense.md → long-suspense.md} +6 -6
- package/lib/oh-story/skills/story-long-write/references/opening-design.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +1 -1
- package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +14 -6
- package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +32 -27
- package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +4 -4
- package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +2 -2
- package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +14 -14
- package/lib/oh-story/skills/story-long-write/references/writing-craft.md +54 -54
- package/lib/oh-story/skills/story-long-write/scripts/author_memory_commit.py +871 -0
- package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +64 -1
- package/lib/oh-story/skills/story-long-write/scripts/check-outline-contract.js +251 -0
- package/lib/oh-story/skills/story-long-write/scripts/storyctl.py +303 -0
- package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +98 -9
- package/lib/oh-story/skills/story-long-write/scripts/wordcount_core.py +246 -0
- package/lib/oh-story/skills/story-review/SKILL.md +26 -17
- package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +2 -1
- package/lib/oh-story/skills/story-review/references/author-memory.md +163 -0
- package/lib/oh-story/skills/story-review/references/banned-words.md +6 -4
- package/lib/oh-story/skills/story-review/references/{quality-checklist.md → review-quality.md} +22 -21
- package/lib/oh-story/skills/story-review/references/tracking-transaction.md +14 -6
- package/lib/oh-story/skills/story-review/scripts/author_memory_commit.py +871 -0
- package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +64 -1
- package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +98 -9
- package/lib/oh-story/skills/story-review/scripts/wordcount_core.py +246 -0
- package/lib/oh-story/skills/story-setup/SKILL.md +74 -33
- package/lib/oh-story/skills/story-setup/references/agent-references/agent-quality.md +72 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/agent-reference-profiles.md +55 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +2 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +6 -4
- package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +9 -10
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +1 -1
- package/lib/oh-story/skills/{story-short-analyze/references/hooks-chapter.md → story-setup/references/agent-references/long-chapter-hooks.md} +5 -5
- package/lib/oh-story/skills/story-setup/references/agent-references/long-emotional-methods.md +209 -0
- package/lib/oh-story/skills/{story-long-write/references/genre-catalog.md → story-setup/references/agent-references/long-genre-catalog.md} +11 -97
- package/lib/oh-story/skills/{story-long-write/references/genre-core-mechanics.md → story-setup/references/agent-references/long-genre-mechanics.md} +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/long-quality.md +40 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/{reversal-toolkit.md → long-reversal.md} +18 -32
- package/lib/oh-story/skills/{story-short-write/references/hooks-suspense.md → story-setup/references/agent-references/long-suspense.md} +6 -6
- package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/{emotional-methods.md → short-emotional-methods.md} +4 -4
- package/lib/oh-story/skills/{story-long-write/references/genre-writing-formulas.md → story-setup/references/agent-references/short-genre-formulas.md} +32 -44
- package/lib/oh-story/skills/story-setup/references/agent-references/short-quality.md +39 -0
- package/lib/oh-story/skills/{story-long-write/references/reversal-toolkit.md → story-setup/references/agent-references/short-reversal.md} +29 -23
- package/lib/oh-story/skills/story-setup/references/agent-references/{hooks-suspense.md → short-suspense.md} +31 -31
- package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +1 -1
- package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +55 -55
- package/lib/oh-story/skills/story-short-analyze/SKILL.md +28 -28
- package/lib/oh-story/skills/story-short-analyze/references/{character-basics.md → analysis-character-basics.md} +1 -1
- package/lib/oh-story/skills/story-short-analyze/references/{character-design-methods.md → analysis-character-design.md} +1 -1
- package/lib/oh-story/skills/story-short-analyze/references/{character-relations.md → analysis-character-relations.md} +1 -1
- package/lib/oh-story/skills/story-short-analyze/references/{hooks-paragraph.md → analysis-paragraph-hooks.md} +1 -1
- package/lib/oh-story/skills/story-short-analyze/references/{genre-readers.md → analysis-reader-profile.md} +2 -2
- package/lib/oh-story/skills/story-short-analyze/references/analysis-report-style.md +45 -0
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-genres.md +65 -0
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-hooks.md +77 -0
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-mechanics.md +82 -0
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-patterns.md +50 -0
- package/lib/oh-story/skills/story-short-analyze/references/analysis-short-suspense.md +98 -0
- package/lib/oh-story/skills/story-short-analyze/references/{genre-writing-techniques.md → analysis-writing-techniques.md} +21 -19
- package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +1 -1
- package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +21 -28
- package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +1 -1
- package/lib/oh-story/skills/story-short-analyze/references/output-templates.md +17 -17
- package/lib/oh-story/skills/story-short-analyze/references/{quality-checklist.md → source-story-quality.md} +28 -49
- package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +2 -2
- package/lib/oh-story/skills/story-short-scan/SKILL.md +1 -1
- package/lib/oh-story/skills/story-short-write/SKILL.md +78 -55
- package/lib/oh-story/skills/story-short-write/references/author-memory.md +163 -0
- package/lib/oh-story/skills/story-short-write/references/banned-words.md +6 -4
- package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +3 -3
- package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +4 -4
- package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +3 -3
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +2 -2
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +3 -3
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +6 -6
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +3 -3
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +4 -4
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +7 -7
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +5 -5
- package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +4 -4
- package/lib/oh-story/skills/story-short-write/references/genre-styles//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272.md +3 -3
- package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +32 -44
- package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +20 -18
- package/lib/oh-story/skills/story-short-write/references/output-contract.md +1 -1
- package/lib/oh-story/skills/story-short-write/references/short-craft.md +18 -18
- package/lib/oh-story/skills/story-short-write/references/short-deslop.md +1 -1
- package/lib/oh-story/skills/story-short-write/references/short-format.md +38 -8
- package/lib/oh-story/skills/story-short-write/references/{quality-checklist.md → short-prose-quality.md} +22 -21
- package/lib/oh-story/skills/story-short-write/references/short-reversal.md +355 -0
- package/lib/oh-story/skills/{story-short-analyze/references/hooks-suspense.md → story-short-write/references/short-suspense.md} +31 -31
- package/lib/oh-story/skills/story-short-write/references/submission-craft.md +2 -2
- package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +31 -22
- package/lib/oh-story/skills/story-short-write/scripts/author_memory_commit.py +871 -0
- package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +64 -1
- package/lib/oh-story/skills/story-short-write/scripts/check-delivery-contract.js +212 -0
- package/lib/oh-story/skills/story-short-write/scripts/check-phase2-contract.js +363 -0
- package/lib/types/client/drama-production-view.d.ts +34 -0
- package/lib/types/client/drama-production-view.d.ts.map +1 -0
- package/lib/types/client/drama-production.d.ts +92 -0
- package/lib/types/client/drama-production.d.ts.map +1 -0
- package/lib/types/client/file-activity.d.ts +4 -2
- package/lib/types/client/file-activity.d.ts.map +1 -1
- package/lib/types/client/index.d.ts +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/production-intents.d.ts +9 -0
- package/lib/types/client/production-intents.d.ts.map +1 -0
- package/lib/types/client/production-prompts.d.ts +9 -0
- package/lib/types/client/production-prompts.d.ts.map +1 -0
- package/lib/types/client/production-runtime.d.ts +58 -0
- package/lib/types/client/production-runtime.d.ts.map +1 -0
- package/lib/types/client/video-studio.d.ts +41 -0
- package/lib/types/client/video-studio.d.ts.map +1 -0
- package/lib/types/client/workbench-ui.d.ts +5 -0
- package/lib/types/client/workbench-ui.d.ts.map +1 -0
- package/lib/types/game-verification.d.ts +16 -0
- package/lib/types/game-verification.d.ts.map +1 -0
- package/lib/types/index.d.ts +3 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/production-intent.d.ts +21 -0
- package/lib/types/production-intent.d.ts.map +1 -0
- package/lib/types/production-tool.d.ts +5 -0
- package/lib/types/production-tool.d.ts.map +1 -0
- package/lib/types/role-tool.d.ts.map +1 -1
- package/lib/types/skill-provider.d.ts +7 -0
- package/lib/types/skill-provider.d.ts.map +1 -1
- package/lib/types/video-project.d.ts +42 -0
- package/lib/types/video-project.d.ts.map +1 -0
- package/lib/types/workspace-request-trust.d.ts +6 -0
- package/lib/types/workspace-request-trust.d.ts.map +1 -1
- package/lib/types/workspace-route.d.ts +20 -0
- package/lib/types/workspace-route.d.ts.map +1 -1
- package/lib/video-recap/CHANGELOG.md +282 -0
- package/lib/video-recap/LICENSE +21 -0
- package/lib/video-recap/README.en.md +257 -0
- package/lib/video-recap/README.md +255 -0
- package/lib/video-recap/manifest.json +684 -0
- package/lib/video-recap/skills/video-assemble/SKILL.md +97 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/LICENSE.duo-video +21 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/SOURCE.md +15 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/empty_draft_meta_info.json +69 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_combination_segment.json +84 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_combination_video_material.json +98 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_draft.json +204 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_material_video.json +83 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_meta_material_value.json +23 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_project_info.json +133 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_segment.json +70 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/empty_jy_text_styles.json +30 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/empty_yj_material_audio.json +41 -0
- package/lib/video-recap/skills/video-assemble/references/jianying/empty_yj_material_text.json +109 -0
- package/lib/video-recap/skills/video-assemble/scripts/artifacts.py +88 -0
- package/lib/video-recap/skills/video-assemble/scripts/assemble.py +345 -0
- package/lib/video-recap/skills/video-assemble/scripts/assemble_constants.py +34 -0
- package/lib/video-recap/skills/video-assemble/scripts/assembly_contract.py +305 -0
- package/lib/video-recap/skills/video-assemble/scripts/assembly_settings.py +94 -0
- package/lib/video-recap/skills/video-assemble/scripts/audio_automation.py +205 -0
- package/lib/video-recap/skills/video-assemble/scripts/audio_mix.py +555 -0
- package/lib/video-recap/skills/video-assemble/scripts/export_jianying.py +261 -0
- package/lib/video-recap/skills/video-assemble/scripts/jianying_builders.py +767 -0
- package/lib/video-recap/skills/video-assemble/scripts/jianying_model.py +111 -0
- package/lib/video-recap/skills/video-assemble/scripts/jianying_optional.py +24 -0
- package/lib/video-recap/skills/video-assemble/scripts/jianying_schema.py +109 -0
- package/lib/video-recap/skills/video-assemble/scripts/jianying_templates.py +37 -0
- package/lib/video-recap/skills/video-assemble/scripts/jianying_timeline_contract.py +191 -0
- package/lib/video-recap/skills/video-assemble/scripts/jianying_tracks.py +75 -0
- package/lib/video-recap/skills/video-assemble/scripts/jianying_writer.py +394 -0
- package/lib/video-recap/skills/video-assemble/scripts/lib.py +239 -0
- package/lib/video-recap/skills/video-assemble/scripts/media.py +243 -0
- package/lib/video-recap/skills/video-assemble/scripts/narration_audio.py +477 -0
- package/lib/video-recap/skills/video-assemble/scripts/render_preflight.py +46 -0
- package/lib/video-recap/skills/video-assemble/scripts/source_subtitles.py +486 -0
- package/lib/video-recap/skills/video-assemble/scripts/subtitle_core.py +376 -0
- package/lib/video-recap/skills/video-assemble/scripts/subtitle_render.py +88 -0
- package/lib/video-recap/skills/video-assemble/scripts/timeline.py +248 -0
- package/lib/video-recap/skills/video-assemble/scripts/timeline_emit.py +89 -0
- package/lib/video-recap/skills/video-assemble/scripts/visual_render.py +512 -0
- package/lib/video-recap/skills/video-cut/SKILL.md +90 -0
- package/lib/video-recap/skills/video-cut/scripts/cut.py +67 -0
- package/lib/video-recap/skills/video-cut/scripts/cut_cli.py +320 -0
- package/lib/video-recap/skills/video-cut/scripts/cut_contract.py +545 -0
- package/lib/video-recap/skills/video-cut/scripts/cut_render.py +348 -0
- package/lib/video-recap/skills/video-cut/scripts/lib.py +77 -0
- package/lib/video-recap/skills/video-cut/scripts/media_geometry.py +341 -0
- package/lib/video-recap/skills/video-cut/scripts/narration_mapping.py +249 -0
- package/lib/video-recap/skills/video-cut/scripts/sentence_boundaries.py +745 -0
- package/lib/video-recap/skills/video-recap/SKILL.md +216 -0
- package/lib/video-recap/skills/video-recap/references/config-playbook.md +61 -0
- package/lib/video-recap/skills/video-recap/references/creative-editing-playbook.md +225 -0
- package/lib/video-recap/skills/video-recap/references/data-schema.md +534 -0
- package/lib/video-recap/skills/video-recap/references/research-guide.md +74 -0
- package/lib/video-recap/skills/video-recap/references/shift-left-qc-schema.md +23 -0
- package/lib/video-recap/skills/video-recap/references/timeline-and-jianying.md +251 -0
- package/lib/video-recap/skills/video-recap/scripts/doctor.py +483 -0
- package/lib/video-recap/skills/video-recap/scripts/final_qc.py +737 -0
- package/lib/video-recap/skills/video-recap/scripts/lib.py +242 -0
- package/lib/video-recap/skills/video-recap/scripts/materials.py +457 -0
- package/lib/video-recap/skills/video-recap/scripts/mimo_qc.py +95 -0
- package/lib/video-recap/skills/video-recap/scripts/mimo_qc_client.py +18 -0
- package/lib/video-recap/skills/video-recap/scripts/mimo_qc_contract.py +9 -0
- package/lib/video-recap/skills/video-recap/scripts/mimo_qc_evidence.py +371 -0
- package/lib/video-recap/skills/video-recap/scripts/mimo_qc_observations.py +201 -0
- package/lib/video-recap/skills/video-recap/scripts/mimo_qc_payload.py +227 -0
- package/lib/video-recap/skills/video-recap/scripts/mimo_qc_report.py +362 -0
- package/lib/video-recap/skills/video-recap/scripts/mimo_qc_runner.py +129 -0
- package/lib/video-recap/skills/video-recap/scripts/qc_contract.py +338 -0
- package/lib/video-recap/skills/video-recap/scripts/recap.py +9 -0
- package/lib/video-recap/skills/video-recap/scripts/recap_cli.py +140 -0
- package/lib/video-recap/skills/video-recap/scripts/recap_inspect.py +550 -0
- package/lib/video-recap/skills/video-recap/scripts/recap_review.py +77 -0
- package/lib/video-recap/skills/video-recap/scripts/recap_runner.py +654 -0
- package/lib/video-recap/skills/video-recap/scripts/recap_runtime.py +335 -0
- package/lib/video-recap/skills/video-recap/scripts/recap_stage_qc.py +217 -0
- package/lib/video-recap/skills/video-recap/scripts/recap_timeline.py +795 -0
- package/lib/video-recap/skills/video-script/SKILL.md +248 -0
- package/lib/video-recap/skills/video-script/references/creative-editing-playbook.md +225 -0
- package/lib/video-recap/skills/video-script/references/research-guide.md +75 -0
- package/lib/video-recap/skills/video-script/scripts/agent_brief.py +399 -0
- package/lib/video-recap/skills/video-script/scripts/agent_text.py +410 -0
- package/lib/video-recap/skills/video-script/scripts/brief_context.py +403 -0
- package/lib/video-recap/skills/video-script/scripts/brief_inputs.py +332 -0
- package/lib/video-recap/skills/video-script/scripts/brief_timeline.py +442 -0
- package/lib/video-recap/skills/video-script/scripts/deslop_qc.py +237 -0
- package/lib/video-recap/skills/video-script/scripts/evidence_bundle.py +492 -0
- package/lib/video-recap/skills/video-script/scripts/lib.py +327 -0
- package/lib/video-recap/skills/video-script/scripts/narration.py +12 -0
- package/lib/video-recap/skills/video-script/scripts/narration_lint.py +678 -0
- package/lib/video-recap/skills/video-script/scripts/review.py +42 -0
- package/lib/video-recap/skills/video-script/scripts/review_grounding.py +262 -0
- package/lib/video-recap/skills/video-script/scripts/review_response.py +761 -0
- package/lib/video-recap/skills/video-script/scripts/review_runner.py +200 -0
- package/lib/video-recap/skills/video-script/scripts/speech_ownership.py +204 -0
- package/lib/video-recap/skills/video-script/scripts/timeline_fusion.py +199 -0
- package/lib/video-recap/skills/video-script/scripts/validate.py +164 -0
- package/lib/video-recap/skills/video-understanding/SKILL.md +75 -0
- package/lib/video-recap/skills/video-understanding/references/data-schema.md +299 -0
- package/lib/video-recap/skills/video-understanding/references/prompt-templates.md +37 -0
- package/lib/video-recap/skills/video-understanding/references/research-guide.md +74 -0
- package/lib/video-recap/skills/video-understanding/scripts/agent_brief.py +399 -0
- package/lib/video-recap/skills/video-understanding/scripts/agent_text.py +410 -0
- package/lib/video-recap/skills/video-understanding/scripts/asr.py +260 -0
- package/lib/video-recap/skills/video-understanding/scripts/brief.py +12 -0
- package/lib/video-recap/skills/video-understanding/scripts/brief_context.py +403 -0
- package/lib/video-recap/skills/video-understanding/scripts/brief_inputs.py +332 -0
- package/lib/video-recap/skills/video-understanding/scripts/brief_timeline.py +442 -0
- package/lib/video-recap/skills/video-understanding/scripts/consolidate.py +647 -0
- package/lib/video-recap/skills/video-understanding/scripts/deslop_qc.py +237 -0
- package/lib/video-recap/skills/video-understanding/scripts/detect.py +513 -0
- package/lib/video-recap/skills/video-understanding/scripts/extract.py +62 -0
- package/lib/video-recap/skills/video-understanding/scripts/lib.py +470 -0
- package/lib/video-recap/skills/video-understanding/scripts/narration_lint.py +678 -0
- package/lib/video-recap/skills/video-understanding/scripts/speech_ownership.py +204 -0
- package/lib/video-recap/skills/video-understanding/scripts/storyboard.py +507 -0
- package/lib/video-recap/skills/video-understanding/scripts/timeline_fusion.py +199 -0
- package/lib/video-recap/skills/video-understanding/scripts/understand.py +9 -0
- package/lib/video-recap/skills/video-understanding/scripts/understanding_brief.py +216 -0
- package/lib/video-recap/skills/video-understanding/scripts/understanding_cache.py +327 -0
- package/lib/video-recap/skills/video-understanding/scripts/understanding_runner.py +367 -0
- package/lib/video-recap/skills/video-understanding/scripts/understanding_storyboard.py +162 -0
- package/lib/video-recap/skills/video-understanding/scripts/vlm.py +705 -0
- package/lib/video-recap/skills/video-voiceover/SKILL.md +81 -0
- package/lib/video-recap/skills/video-voiceover/scripts/dub.py +637 -0
- package/lib/video-recap/skills/video-voiceover/scripts/fish_audio.py +109 -0
- package/lib/video-recap/skills/video-voiceover/scripts/lib.py +421 -0
- package/lib/video-recap/skills/video-voiceover/scripts/tts_audio.py +113 -0
- package/lib/video-recap/skills/video-voiceover/scripts/voiceover.py +782 -0
- package/package.json +55 -40
- package/lib/oh-story/skills/story-deslop/scripts/check-outline-copy.js +0 -241
- package/lib/oh-story/skills/story-long-write/references/format-and-structure.md +0 -169
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-writing-formulas.md +0 -444
- package/lib/oh-story/skills/story-setup/references/agent-references/quality-checklist.md +0 -247
- package/lib/oh-story/skills/story-short-analyze/references/anti-ai-writing.md +0 -582
- package/lib/oh-story/skills/story-short-analyze/references/banned-words.md +0 -147
- package/lib/oh-story/skills/story-short-analyze/references/genre-catalog.md +0 -490
- package/lib/oh-story/skills/story-short-analyze/references/genre-core-mechanics.md +0 -425
- package/lib/oh-story/skills/story-short-analyze/references/genre-writing-formulas.md +0 -453
- /package/lib/oh-story/skills/{story-long-write/references/hooks-chapter.md → story-setup/references/agent-references/short-chapter-hooks.md} +0 -0
- /package/lib/oh-story/skills/{story-long-write/references/hooks-paragraph.md → story-setup/references/agent-references/short-paragraph-hooks.md} +0 -0
package/lib/drama/manifest.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"upstream": {
|
|
4
|
-
"repository": "https://github.com/
|
|
5
|
-
"commit": "
|
|
4
|
+
"repository": "https://github.com/zenstory-ai/drama-skills.git",
|
|
5
|
+
"commit": "ebcb02ea488132da9211f8c76e71e03b6f1956a0"
|
|
6
6
|
},
|
|
7
|
-
"generatedAt": "2026-
|
|
7
|
+
"generatedAt": "2026-09-02T02:39:35.239Z",
|
|
8
8
|
"skills": [
|
|
9
9
|
"short-drama",
|
|
10
10
|
"short-drama-assets",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
"path": "skills/short-drama-assets/SKILL.md",
|
|
28
|
-
"sha256": "
|
|
29
|
-
"bytes":
|
|
28
|
+
"sha256": "a8d3a4568b98ce256b8340bea221bb03f2cd8839f80485e46fae5a164c7bd737",
|
|
29
|
+
"bytes": 5321
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
"path": "skills/short-drama-assets/agents/openai.yaml",
|
|
@@ -88,10 +88,15 @@
|
|
|
88
88
|
"sha256": "9406f36b5d3ba9697760773480f6b3101b81e0e645ec6d2569ef6e571f3a2b4b",
|
|
89
89
|
"bytes": 7322
|
|
90
90
|
},
|
|
91
|
+
{
|
|
92
|
+
"path": "skills/short-drama-assets/references/continuity-lock.md",
|
|
93
|
+
"sha256": "5ba6bfa82597c89756b765263f618a21f98d9b534d9f2ee3c23308c026f97f41",
|
|
94
|
+
"bytes": 6746
|
|
95
|
+
},
|
|
91
96
|
{
|
|
92
97
|
"path": "skills/short-drama-assets/references/identity-vs-variant.md",
|
|
93
|
-
"sha256": "
|
|
94
|
-
"bytes":
|
|
98
|
+
"sha256": "06eac61e6b6b497f1071775903d85f5a08b27917805847cc3b9842022e0e3a23",
|
|
99
|
+
"bytes": 7911
|
|
95
100
|
},
|
|
96
101
|
{
|
|
97
102
|
"path": "skills/short-drama-assets/references/location-and-view.md",
|
|
@@ -105,13 +110,13 @@
|
|
|
105
110
|
},
|
|
106
111
|
{
|
|
107
112
|
"path": "skills/short-drama-assets/references/prop-and-state.md",
|
|
108
|
-
"sha256": "
|
|
109
|
-
"bytes":
|
|
113
|
+
"sha256": "66e9eaa6e31a0ee5f74cabd6a19f2c4b38a6595fe9433fd1b323ff80bce42b4b",
|
|
114
|
+
"bytes": 6962
|
|
110
115
|
},
|
|
111
116
|
{
|
|
112
117
|
"path": "skills/short-drama-assets/references/stage-contract.md",
|
|
113
|
-
"sha256": "
|
|
114
|
-
"bytes":
|
|
118
|
+
"sha256": "ddfe599f7d1b86669b999a2483093bd9d90572adbb749233f5a434e1b741e81b",
|
|
119
|
+
"bytes": 4141
|
|
115
120
|
},
|
|
116
121
|
{
|
|
117
122
|
"path": "skills/short-drama-assets/references/voice-direction.md",
|
|
@@ -120,8 +125,8 @@
|
|
|
120
125
|
},
|
|
121
126
|
{
|
|
122
127
|
"path": "skills/short-drama-assets/scripts/asset_check.py",
|
|
123
|
-
"sha256": "
|
|
124
|
-
"bytes":
|
|
128
|
+
"sha256": "e19bf29a16d407c4b397fe721267ddffe5000f280db43fe89b5436a7db0bc9a7",
|
|
129
|
+
"bytes": 10260
|
|
125
130
|
},
|
|
126
131
|
{
|
|
127
132
|
"path": "skills/short-drama-assets/scripts/selftest.py",
|
|
@@ -295,8 +300,8 @@
|
|
|
295
300
|
},
|
|
296
301
|
{
|
|
297
302
|
"path": "skills/short-drama-image-prompts/SKILL.md",
|
|
298
|
-
"sha256": "
|
|
299
|
-
"bytes":
|
|
303
|
+
"sha256": "a3341fc0c5562ab2808c3e61ed5b9c57e720ea339bea58cf3a65268660d9032f",
|
|
304
|
+
"bytes": 4255
|
|
300
305
|
},
|
|
301
306
|
{
|
|
302
307
|
"path": "skills/short-drama-image-prompts/agents/openai.yaml",
|
|
@@ -335,8 +340,8 @@
|
|
|
335
340
|
},
|
|
336
341
|
{
|
|
337
342
|
"path": "skills/short-drama-image-prompts/references/common-recipe.md",
|
|
338
|
-
"sha256": "
|
|
339
|
-
"bytes":
|
|
343
|
+
"sha256": "a185edab74e7cf2c68e9c21057c13808a366b319787ecd0307ac4f6c475a32bb",
|
|
344
|
+
"bytes": 15099
|
|
340
345
|
},
|
|
341
346
|
{
|
|
342
347
|
"path": "skills/short-drama-image-prompts/references/edit-and-revision.md",
|
|
@@ -355,8 +360,8 @@
|
|
|
355
360
|
},
|
|
356
361
|
{
|
|
357
362
|
"path": "skills/short-drama-image-prompts/references/lookdev-frame.md",
|
|
358
|
-
"sha256": "
|
|
359
|
-
"bytes":
|
|
363
|
+
"sha256": "7977688d131689bc29d08bbc17237c7b626e70bd768bbc30c8e5af9b2d96212f",
|
|
364
|
+
"bytes": 2407
|
|
360
365
|
},
|
|
361
366
|
{
|
|
362
367
|
"path": "skills/short-drama-image-prompts/references/production-sheet-recipes.md",
|
|
@@ -370,23 +375,23 @@
|
|
|
370
375
|
},
|
|
371
376
|
{
|
|
372
377
|
"path": "skills/short-drama-image-prompts/references/review-and-fixtures.md",
|
|
373
|
-
"sha256": "
|
|
374
|
-
"bytes":
|
|
378
|
+
"sha256": "6da6d575617c7caf3983ec17e2c4d6af24443a210e109651e70708745f552e65",
|
|
379
|
+
"bytes": 5354
|
|
375
380
|
},
|
|
376
381
|
{
|
|
377
382
|
"path": "skills/short-drama-image-prompts/references/stage-contract.md",
|
|
378
|
-
"sha256": "
|
|
379
|
-
"bytes":
|
|
383
|
+
"sha256": "7813c87297ef94ec26178cc59bf3a59a93b47fc19be2793a7e80cdc9d3c5ebb9",
|
|
384
|
+
"bytes": 3712
|
|
380
385
|
},
|
|
381
386
|
{
|
|
382
387
|
"path": "skills/short-drama-image-prompts/scripts/image_prompt_check.py",
|
|
383
|
-
"sha256": "
|
|
384
|
-
"bytes":
|
|
388
|
+
"sha256": "a6e3217410e366f0626766218e41e5d41501efde87f5f2283c65c7e7adb901f4",
|
|
389
|
+
"bytes": 17936
|
|
385
390
|
},
|
|
386
391
|
{
|
|
387
392
|
"path": "skills/short-drama-image-prompts/scripts/selftest.py",
|
|
388
|
-
"sha256": "
|
|
389
|
-
"bytes":
|
|
393
|
+
"sha256": "9cc21ea2b835df84289d3d1f6bd363ed20c2cb2f81870a69e75bd53052c01968",
|
|
394
|
+
"bytes": 3862
|
|
390
395
|
},
|
|
391
396
|
{
|
|
392
397
|
"path": "skills/short-drama-novel-analyze/SKILL.md",
|
|
@@ -440,8 +445,8 @@
|
|
|
440
445
|
},
|
|
441
446
|
{
|
|
442
447
|
"path": "skills/short-drama-produce/SKILL.md",
|
|
443
|
-
"sha256": "
|
|
444
|
-
"bytes":
|
|
448
|
+
"sha256": "e9f3678b49a156ada1d777457101f6bc6703f5d1c77a737099a51bd4cc41dbde",
|
|
449
|
+
"bytes": 11989
|
|
445
450
|
},
|
|
446
451
|
{
|
|
447
452
|
"path": "skills/short-drama-produce/agents/openai.yaml",
|
|
@@ -450,14 +455,19 @@
|
|
|
450
455
|
},
|
|
451
456
|
{
|
|
452
457
|
"path": "skills/short-drama-produce/references/adapter-contract.md",
|
|
453
|
-
"sha256": "
|
|
454
|
-
"bytes":
|
|
458
|
+
"sha256": "a2825dd9dee723fbc0cf24486348df9fd0a7cb2fcb39b384179a8302677fe4b1",
|
|
459
|
+
"bytes": 9863
|
|
455
460
|
},
|
|
456
461
|
{
|
|
457
462
|
"path": "skills/short-drama-produce/references/providers/gpt-image-2.md",
|
|
458
463
|
"sha256": "823735597abc95ee34ef82d0869c368feb1e732ffc6bd2a4a061f3b0fcd08ee4",
|
|
459
464
|
"bytes": 1329
|
|
460
465
|
},
|
|
466
|
+
{
|
|
467
|
+
"path": "skills/short-drama-produce/references/providers/minimax-h3-video.md",
|
|
468
|
+
"sha256": "ed2ebb0234cf841442f54342196b52df65c6f42a74a5bdfe80bc774bf6911e54",
|
|
469
|
+
"bytes": 5531
|
|
470
|
+
},
|
|
461
471
|
{
|
|
462
472
|
"path": "skills/short-drama-produce/references/providers/minimax-music.md",
|
|
463
473
|
"sha256": "ef1d00a430edf31a451b3ed588b5e5775a7f61376a4f74d6fe75139f8f1c49cc",
|
|
@@ -465,8 +475,8 @@
|
|
|
465
475
|
},
|
|
466
476
|
{
|
|
467
477
|
"path": "skills/short-drama-produce/references/providers/seedance.md",
|
|
468
|
-
"sha256": "
|
|
469
|
-
"bytes":
|
|
478
|
+
"sha256": "0c5672a8c6a1d9e47f7b950773d4a12843df92aa5ec4b67b053cc8e17de84ada",
|
|
479
|
+
"bytes": 3380
|
|
470
480
|
},
|
|
471
481
|
{
|
|
472
482
|
"path": "skills/short-drama-produce/scripts/fixture_adapter.py",
|
|
@@ -475,18 +485,18 @@
|
|
|
475
485
|
},
|
|
476
486
|
{
|
|
477
487
|
"path": "skills/short-drama-produce/scripts/production_tool.py",
|
|
478
|
-
"sha256": "
|
|
479
|
-
"bytes":
|
|
488
|
+
"sha256": "6b13682f4769495ee1cddb678651c48572623a1480c070d1b2565262761388df",
|
|
489
|
+
"bytes": 77848
|
|
480
490
|
},
|
|
481
491
|
{
|
|
482
492
|
"path": "skills/short-drama-produce/scripts/provider_adapters.py",
|
|
483
|
-
"sha256": "
|
|
484
|
-
"bytes":
|
|
493
|
+
"sha256": "056f49984683bffd7f7c8e13faa3aee3b7d73bc0f22e33d8f06b054bceb9ce67",
|
|
494
|
+
"bytes": 62022
|
|
485
495
|
},
|
|
486
496
|
{
|
|
487
497
|
"path": "skills/short-drama-produce/scripts/selftest.py",
|
|
488
|
-
"sha256": "
|
|
489
|
-
"bytes":
|
|
498
|
+
"sha256": "d93f6717f3a347be3188d0619946002d1e49e86db5315fb550e7cd8c314bcac3",
|
|
499
|
+
"bytes": 4122
|
|
490
500
|
},
|
|
491
501
|
{
|
|
492
502
|
"path": "skills/short-drama-review/SKILL.md",
|
|
@@ -560,8 +570,8 @@
|
|
|
560
570
|
},
|
|
561
571
|
{
|
|
562
572
|
"path": "skills/short-drama-review/references/rubric-visual-motion.md",
|
|
563
|
-
"sha256": "
|
|
564
|
-
"bytes":
|
|
573
|
+
"sha256": "03b14c6b8d708b0f3b24a6f8693f5b43343b20c7197690e472f94376cf334cca",
|
|
574
|
+
"bytes": 9951
|
|
565
575
|
},
|
|
566
576
|
{
|
|
567
577
|
"path": "skills/short-drama-review/references/stage-contract.md",
|
|
@@ -570,8 +580,8 @@
|
|
|
570
580
|
},
|
|
571
581
|
{
|
|
572
582
|
"path": "skills/short-drama-review/scripts/review_check.py",
|
|
573
|
-
"sha256": "
|
|
574
|
-
"bytes":
|
|
583
|
+
"sha256": "01503d966920ff9b931eaa50fb7aebc6500c94e75e2ae0e387a2bac8c7c3c27a",
|
|
584
|
+
"bytes": 12684
|
|
575
585
|
},
|
|
576
586
|
{
|
|
577
587
|
"path": "skills/short-drama-review/scripts/selftest.py",
|
|
@@ -580,8 +590,8 @@
|
|
|
580
590
|
},
|
|
581
591
|
{
|
|
582
592
|
"path": "skills/short-drama-storyboard/SKILL.md",
|
|
583
|
-
"sha256": "
|
|
584
|
-
"bytes":
|
|
593
|
+
"sha256": "e3d444376dd3a6e8e51efe3b03bc1167eeadb3005d1a9dd7ed42399256359275",
|
|
594
|
+
"bytes": 14011
|
|
585
595
|
},
|
|
586
596
|
{
|
|
587
597
|
"path": "skills/short-drama-storyboard/agents/openai.yaml",
|
|
@@ -620,8 +630,8 @@
|
|
|
620
630
|
},
|
|
621
631
|
{
|
|
622
632
|
"path": "skills/short-drama-storyboard/assets/shot-template.jsonl",
|
|
623
|
-
"sha256": "
|
|
624
|
-
"bytes":
|
|
633
|
+
"sha256": "e40ec0f0e7b7f36095fbfe4484dae5ec8efeeaf06937def309a3141ca8718e65",
|
|
634
|
+
"bytes": 3590
|
|
625
635
|
},
|
|
626
636
|
{
|
|
627
637
|
"path": "skills/short-drama-storyboard/references/blocking-playbooks.md",
|
|
@@ -640,18 +650,18 @@
|
|
|
640
650
|
},
|
|
641
651
|
{
|
|
642
652
|
"path": "skills/short-drama-storyboard/references/keyframe-craft.md",
|
|
643
|
-
"sha256": "
|
|
644
|
-
"bytes":
|
|
653
|
+
"sha256": "02c095439f73211817a3f75ae2af264459356060755eecaf51ce11c1512ce2ca",
|
|
654
|
+
"bytes": 10255
|
|
645
655
|
},
|
|
646
656
|
{
|
|
647
657
|
"path": "skills/short-drama-storyboard/references/production-shot-grammar.md",
|
|
648
|
-
"sha256": "
|
|
649
|
-
"bytes":
|
|
658
|
+
"sha256": "c8723d9f628ea7b546a2e4a558f9d5463da8296286c15a1eeb146e492b6fe04f",
|
|
659
|
+
"bytes": 21127
|
|
650
660
|
},
|
|
651
661
|
{
|
|
652
662
|
"path": "skills/short-drama-storyboard/references/review-and-fixtures.md",
|
|
653
|
-
"sha256": "
|
|
654
|
-
"bytes":
|
|
663
|
+
"sha256": "c71f525973c895849e7b1cb8807ddac9e60c31afe16dd8e521960ca8cc178d51",
|
|
664
|
+
"bytes": 3067
|
|
655
665
|
},
|
|
656
666
|
{
|
|
657
667
|
"path": "skills/short-drama-storyboard/references/scene-visual-plan.md",
|
|
@@ -660,8 +670,8 @@
|
|
|
660
670
|
},
|
|
661
671
|
{
|
|
662
672
|
"path": "skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md",
|
|
663
|
-
"sha256": "
|
|
664
|
-
"bytes":
|
|
673
|
+
"sha256": "85b2db8f0ba9c476c5c216170482cd9f6e1e4963f6ab97bace51fe4cb0386ab5",
|
|
674
|
+
"bytes": 7882
|
|
665
675
|
},
|
|
666
676
|
{
|
|
667
677
|
"path": "skills/short-drama-storyboard/references/shot-craft.md",
|
|
@@ -675,8 +685,8 @@
|
|
|
675
685
|
},
|
|
676
686
|
{
|
|
677
687
|
"path": "skills/short-drama-storyboard/references/stage-contract.md",
|
|
678
|
-
"sha256": "
|
|
679
|
-
"bytes":
|
|
688
|
+
"sha256": "2aabdd9043869ec87569b61f70e593517c91cdfc605c1deaa7f781241da6a86e",
|
|
689
|
+
"bytes": 8691
|
|
680
690
|
},
|
|
681
691
|
{
|
|
682
692
|
"path": "skills/short-drama-storyboard/scripts/selftest.py",
|
|
@@ -685,13 +695,13 @@
|
|
|
685
695
|
},
|
|
686
696
|
{
|
|
687
697
|
"path": "skills/short-drama-storyboard/scripts/storyboard_check.py",
|
|
688
|
-
"sha256": "
|
|
689
|
-
"bytes":
|
|
698
|
+
"sha256": "0f9956fd53782b6da43ab0d63bfda1f3b7be3ceb4a776d32f3272088f7be912d",
|
|
699
|
+
"bytes": 31133
|
|
690
700
|
},
|
|
691
701
|
{
|
|
692
702
|
"path": "skills/short-drama-video-prompts/SKILL.md",
|
|
693
|
-
"sha256": "
|
|
694
|
-
"bytes":
|
|
703
|
+
"sha256": "de7681a06df9f7fa78d609065400ce1588fc929853614b125a231c4257dc5a34",
|
|
704
|
+
"bytes": 14289
|
|
695
705
|
},
|
|
696
706
|
{
|
|
697
707
|
"path": "skills/short-drama-video-prompts/agents/openai.yaml",
|
|
@@ -710,8 +720,8 @@
|
|
|
710
720
|
},
|
|
711
721
|
{
|
|
712
722
|
"path": "skills/short-drama-video-prompts/assets/motion-spec.jsonl.md",
|
|
713
|
-
"sha256": "
|
|
714
|
-
"bytes":
|
|
723
|
+
"sha256": "b7b03298bbedc14143ed136e009021a5673e6e99677ccc985aba2b73db5ce736",
|
|
724
|
+
"bytes": 7956
|
|
715
725
|
},
|
|
716
726
|
{
|
|
717
727
|
"path": "skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl",
|
|
@@ -730,8 +740,8 @@
|
|
|
730
740
|
},
|
|
731
741
|
{
|
|
732
742
|
"path": "skills/short-drama-video-prompts/assets/video-prompts.md",
|
|
733
|
-
"sha256": "
|
|
734
|
-
"bytes":
|
|
743
|
+
"sha256": "e6aa175dc99c14d593b9bd61bf99c581f9986bf03fda4da28a4a5f3596045a39",
|
|
744
|
+
"bytes": 4634
|
|
735
745
|
},
|
|
736
746
|
{
|
|
737
747
|
"path": "skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl",
|
|
@@ -745,18 +755,23 @@
|
|
|
745
755
|
},
|
|
746
756
|
{
|
|
747
757
|
"path": "skills/short-drama-video-prompts/references/delivery-profile.md",
|
|
748
|
-
"sha256": "
|
|
749
|
-
"bytes":
|
|
758
|
+
"sha256": "ce88cbc66e52246e2a4a77fc9db272c32db9fe6cb28d2d439d7ca5bfd6f0cf0f",
|
|
759
|
+
"bytes": 20373
|
|
750
760
|
},
|
|
751
761
|
{
|
|
752
762
|
"path": "skills/short-drama-video-prompts/references/generability.md",
|
|
753
763
|
"sha256": "c8ef1a75f24fdb1ad633e294a89b78e09589d2bd2177a31d252e25a7f5d2d79d",
|
|
754
764
|
"bytes": 5233
|
|
755
765
|
},
|
|
766
|
+
{
|
|
767
|
+
"path": "skills/short-drama-video-prompts/references/minimax-h3.md",
|
|
768
|
+
"sha256": "1f1e619cf0e5b5a84bb7d09d65748d5df11aba79bbbeb7d614240957a9905f9c",
|
|
769
|
+
"bytes": 9840
|
|
770
|
+
},
|
|
756
771
|
{
|
|
757
772
|
"path": "skills/short-drama-video-prompts/references/motion-recipe.md",
|
|
758
|
-
"sha256": "
|
|
759
|
-
"bytes":
|
|
773
|
+
"sha256": "60fecef7a573b364ddb3d13708a6d2adc432e939fefd09653d2749a23b91c87b",
|
|
774
|
+
"bytes": 20275
|
|
760
775
|
},
|
|
761
776
|
{
|
|
762
777
|
"path": "skills/short-drama-video-prompts/references/performance-action-timing.md",
|
|
@@ -765,23 +780,38 @@
|
|
|
765
780
|
},
|
|
766
781
|
{
|
|
767
782
|
"path": "skills/short-drama-video-prompts/references/production-prompt-grammar.md",
|
|
768
|
-
"sha256": "
|
|
769
|
-
"bytes":
|
|
783
|
+
"sha256": "774b3fc3949a92ee3d1fe4f1daa2f278d5ecf2e4d93b19fb282ae0123b179abc",
|
|
784
|
+
"bytes": 23136
|
|
770
785
|
},
|
|
771
786
|
{
|
|
772
787
|
"path": "skills/short-drama-video-prompts/references/review-and-fixtures.md",
|
|
773
788
|
"sha256": "75b516ce26ffe0eb23893048eeabb86b3f90390bca35b5c398f24b86002172ec",
|
|
774
789
|
"bytes": 9313
|
|
775
790
|
},
|
|
791
|
+
{
|
|
792
|
+
"path": "skills/short-drama-video-prompts/references/seedance-2.0.md",
|
|
793
|
+
"sha256": "24a7a6f6b15088a015d7e646458de109017e1f52ba45f4171c46c5121f7f88f9",
|
|
794
|
+
"bytes": 2466
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"path": "skills/short-drama-video-prompts/references/seedance-2.5.md",
|
|
798
|
+
"sha256": "c0365b29478aa81f5eeea78f07c83f1a8caff3f5ac56b4372ea629207835fdd6",
|
|
799
|
+
"bytes": 4427
|
|
800
|
+
},
|
|
776
801
|
{
|
|
777
802
|
"path": "skills/short-drama-video-prompts/references/stage-contract.md",
|
|
778
|
-
"sha256": "
|
|
779
|
-
"bytes":
|
|
803
|
+
"sha256": "adc27a15538db3db3fb8d04278653c6cedb0c5944b1103559c4926549d69a4eb",
|
|
804
|
+
"bytes": 9932
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
"path": "skills/short-drama-video-prompts/references/target-model-profile.md",
|
|
808
|
+
"sha256": "0eb11385cb1a9d8108bc42044562e3b86f316acbc3752ea06fa1aba1fde6e1c1",
|
|
809
|
+
"bytes": 8709
|
|
780
810
|
},
|
|
781
811
|
{
|
|
782
812
|
"path": "skills/short-drama-video-prompts/scripts/container_check.py",
|
|
783
|
-
"sha256": "
|
|
784
|
-
"bytes":
|
|
813
|
+
"sha256": "74650a2e5c9fa982f82df17a4b5796f2f80280a1d4a6af69cf67fcafcb351837",
|
|
814
|
+
"bytes": 12662
|
|
785
815
|
},
|
|
786
816
|
{
|
|
787
817
|
"path": "skills/short-drama-video-prompts/scripts/motion_timing_check.py",
|
|
@@ -790,8 +820,8 @@
|
|
|
790
820
|
},
|
|
791
821
|
{
|
|
792
822
|
"path": "skills/short-drama-video-prompts/scripts/music_spec_check.py",
|
|
793
|
-
"sha256": "
|
|
794
|
-
"bytes":
|
|
823
|
+
"sha256": "abcbd5d3fc55b281b5b05989b81919a0a8477bb85d4c580d47cc7de22b95c493",
|
|
824
|
+
"bytes": 12502
|
|
795
825
|
},
|
|
796
826
|
{
|
|
797
827
|
"path": "skills/short-drama-video-prompts/scripts/selftest.py",
|
|
@@ -800,8 +830,8 @@
|
|
|
800
830
|
},
|
|
801
831
|
{
|
|
802
832
|
"path": "skills/short-drama-write/SKILL.md",
|
|
803
|
-
"sha256": "
|
|
804
|
-
"bytes":
|
|
833
|
+
"sha256": "859d01337ed392be36393d444d0222ee4742bafac8cd6cf4e3e8bcdd659a90cf",
|
|
834
|
+
"bytes": 8719
|
|
805
835
|
},
|
|
806
836
|
{
|
|
807
837
|
"path": "skills/short-drama-write/agents/openai.yaml",
|
|
@@ -875,13 +905,13 @@
|
|
|
875
905
|
},
|
|
876
906
|
{
|
|
877
907
|
"path": "skills/short-drama-write/scripts/duration_estimate.py",
|
|
878
|
-
"sha256": "
|
|
879
|
-
"bytes":
|
|
908
|
+
"sha256": "7e885c057d389a15ad47546890ad530cc2ec4ee860bc801959d3b838b2e341a8",
|
|
909
|
+
"bytes": 12407
|
|
880
910
|
},
|
|
881
911
|
{
|
|
882
912
|
"path": "skills/short-drama-write/scripts/screenplay_index.py",
|
|
883
|
-
"sha256": "
|
|
884
|
-
"bytes":
|
|
913
|
+
"sha256": "11ce6307b615e91ea9ff277212875c3adf5aafb58289bed5ff54f0f2d877dec9",
|
|
914
|
+
"bytes": 43578
|
|
885
915
|
},
|
|
886
916
|
{
|
|
887
917
|
"path": "skills/short-drama-write/scripts/selftest.py",
|
|
@@ -890,13 +920,13 @@
|
|
|
890
920
|
},
|
|
891
921
|
{
|
|
892
922
|
"path": "skills/short-drama-write/scripts/voice_sheet_check.py",
|
|
893
|
-
"sha256": "
|
|
894
|
-
"bytes":
|
|
923
|
+
"sha256": "c3862db34546c6bad280e44c5cb08d680c250b7f62c73cb8bfe33876a9494753",
|
|
924
|
+
"bytes": 15353
|
|
895
925
|
},
|
|
896
926
|
{
|
|
897
927
|
"path": "skills/short-drama/SKILL.md",
|
|
898
|
-
"sha256": "
|
|
899
|
-
"bytes":
|
|
928
|
+
"sha256": "8cec2c92391c017074dd3a4fc8c3ab00a85b5e9c2f52870423499e488b88fc45",
|
|
929
|
+
"bytes": 9371
|
|
900
930
|
},
|
|
901
931
|
{
|
|
902
932
|
"path": "skills/short-drama/agents/openai.yaml",
|
|
@@ -930,18 +960,18 @@
|
|
|
930
960
|
},
|
|
931
961
|
{
|
|
932
962
|
"path": "skills/short-drama/references/contract-and-ownership.md",
|
|
933
|
-
"sha256": "
|
|
934
|
-
"bytes":
|
|
963
|
+
"sha256": "8db8bda47e74619ad68bbd86dd0e63e3f6c9c27fb1a8a599a79950755c2507f3",
|
|
964
|
+
"bytes": 2419
|
|
935
965
|
},
|
|
936
966
|
{
|
|
937
967
|
"path": "skills/short-drama/references/creator-documents.md",
|
|
938
|
-
"sha256": "
|
|
939
|
-
"bytes":
|
|
968
|
+
"sha256": "d4e0c13e41859cc78aa902561060dcb2fde39b72a01edcf5924b58b19d17989a",
|
|
969
|
+
"bytes": 14026
|
|
940
970
|
},
|
|
941
971
|
{
|
|
942
972
|
"path": "skills/short-drama/references/creator-workflow.md",
|
|
943
|
-
"sha256": "
|
|
944
|
-
"bytes":
|
|
973
|
+
"sha256": "b7a6ef8d2fafce3fab1efbb91531dfa70a3d2713003f2cc1e3a14fc4d7afb626",
|
|
974
|
+
"bytes": 5660
|
|
945
975
|
},
|
|
946
976
|
{
|
|
947
977
|
"path": "skills/short-drama/references/form-cards/Q版表达.md",
|
|
@@ -975,8 +1005,8 @@
|
|
|
975
1005
|
},
|
|
976
1006
|
{
|
|
977
1007
|
"path": "skills/short-drama/references/knowhow-index.md",
|
|
978
|
-
"sha256": "
|
|
979
|
-
"bytes":
|
|
1008
|
+
"sha256": "bfcf27e6456a2a4fac69e97b1b3c5beee29ced1422c5d8e80d1a8c9a0af7f6bc",
|
|
1009
|
+
"bytes": 9477
|
|
980
1010
|
},
|
|
981
1011
|
{
|
|
982
1012
|
"path": "skills/short-drama/references/look-development.md",
|
|
@@ -995,18 +1025,23 @@
|
|
|
995
1025
|
},
|
|
996
1026
|
{
|
|
997
1027
|
"path": "skills/short-drama/references/reference-roles.md",
|
|
998
|
-
"sha256": "
|
|
999
|
-
"bytes":
|
|
1028
|
+
"sha256": "536b50bdff1194ed3a8d3f72c3f1a4a75aa851fb30ce0a173853b469d4c26260",
|
|
1029
|
+
"bytes": 2873
|
|
1000
1030
|
},
|
|
1001
1031
|
{
|
|
1002
1032
|
"path": "skills/short-drama/references/runtime-preflight.md",
|
|
1003
|
-
"sha256": "
|
|
1004
|
-
"bytes":
|
|
1033
|
+
"sha256": "6f4473e6d8dc00ad4843d26c6c34c4560ef8ed8a457c23ea4f2236d2a14e9df4",
|
|
1034
|
+
"bytes": 1226
|
|
1035
|
+
},
|
|
1036
|
+
{
|
|
1037
|
+
"path": "skills/short-drama/scripts/creator_markdown_check.py",
|
|
1038
|
+
"sha256": "2ea4596b7f2de62065186fb09208baa86a345a54be1fd596630a7d5d702dd16e",
|
|
1039
|
+
"bytes": 43157
|
|
1005
1040
|
},
|
|
1006
1041
|
{
|
|
1007
1042
|
"path": "skills/short-drama/scripts/project_tool.py",
|
|
1008
|
-
"sha256": "
|
|
1009
|
-
"bytes":
|
|
1043
|
+
"sha256": "5a195d69a256056940af74e89cae862ad7af12b350e2554376df445747a19f69",
|
|
1044
|
+
"bytes": 95059
|
|
1010
1045
|
},
|
|
1011
1046
|
{
|
|
1012
1047
|
"path": "skills/short-drama/scripts/selftest.py",
|
|
@@ -43,6 +43,14 @@ license: MIT
|
|
|
43
43
|
3. 只有真实创作分叉才询问;不要拿 schema、目录、事务或检查器询问创作者。
|
|
44
44
|
4. 范围完成后一次回报完成内容、关键决定、真实未决项和可选下一步。
|
|
45
45
|
5. 不自动开始用户没点名的审查、归档或生产。
|
|
46
|
+
6. 请求横跨视觉设定、图片提示词、分镜或视频提示词时,结束前按当前五文档做一次视觉依赖对账;
|
|
47
|
+
不因图片提示词和分镜可并行,就把后完成的一支留在另一支的旧引用之外。
|
|
48
|
+
7. 视频提示词请求遇到「输入参考图:无」或仍带「待补参考图」时,先路由分镜 owner 检查项目已有图片并刷新绑定。有匹配图就同请求续跑;有必要图缺失就列表停下。
|
|
49
|
+
只有用户明确选择文生视频才允许无图续跑,不把“没有手工指定”当成这个选择。这一轮如果镜头还缺「视觉依据」,
|
|
50
|
+
同时按已成稿的冻结关键帧回填;两条依据描述同一格画面,不要只补一条。
|
|
51
|
+
8. 用户在会话里点名目标视频模型(“按 MiniMax H3 写”“用 Seedance 2.5”)而 `short-drama.json` 的
|
|
52
|
+
`production_profile` 还是 `unset` 时,先把这个选择连同它带来的原生时长、参考方式和正文语言写进档案,
|
|
53
|
+
再继续下游阶段。会话里的一句点名不落到档案上,下一轮就会退回通用路径,方言和时长要重猜。
|
|
46
54
|
|
|
47
55
|
## 初始化与 Dashboard
|
|
48
56
|
|
|
@@ -52,13 +60,51 @@ license: MIT
|
|
|
52
60
|
python3 {技能目录}/scripts/project_tool.py init ./my-drama --title "示例短剧"
|
|
53
61
|
```
|
|
54
62
|
|
|
63
|
+
直接输入已经确认创作者说明语言、提示词语言、画幅、集数或单集目标时长时,首次 `init` 就带上对应的
|
|
64
|
+
`--language`、`--prompt-language`、`--aspect-ratio`、`--episode-count`、`--target-seconds`;只省略
|
|
65
|
+
未确认项,不让 Brief 中的确定事实留成配置里的 `null`。写入已确认的生产档案时,状态统一为
|
|
66
|
+
`accepted`;`unset` 只表示尚未决定,不另造中间状态。
|
|
55
67
|
`init` 只建立配置和空目录;第一次创作时再把文档写入 `剧集/<EP>/`,不预建空文件。
|
|
68
|
+
项目已经建好、用户之后才定下目标视频模型时,把选择写进档案,并同时展示它对时长区间、参考方式和
|
|
69
|
+
正文语言的影响。档案只接受已发布并已接受的创作者决策,所以是三步,不是一步。先写一行决策记录
|
|
70
|
+
(`accepted_value` 就是要落进 `choices` 的对象本身,不要再包一层 `choices`):
|
|
71
|
+
|
|
72
|
+
```jsonl
|
|
73
|
+
{"decision_id":"CD-H3","status":"accepted","target_locators":[{"src":"short-drama","field":"/creator_authority/production_profile/choices"}],"accepted_value":{"target_video_model":"minimax-h3","video_prompt_dialect":"minimax-h3","video_prompt_language":"en","native_duration_seconds":{"min":4,"max":15},"supported_generation_modes":["text","first_frame","first_last_frame","reference"],"audio_generation":"same_pass"}}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
再发布、接受、写入:
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
python3 {技能目录}/scripts/project_tool.py publish <project> --owner short-drama \
|
|
80
|
+
--artifact-id AR-PROFILE --output "创作者决策/production-profile.jsonl=输入/profile.jsonl"
|
|
81
|
+
python3 {技能目录}/scripts/project_tool.py accept <project> --artifact-id AR-PROFILE --decision accepted
|
|
82
|
+
python3 {技能目录}/scripts/project_tool.py set-authority <project> \
|
|
83
|
+
--field /creator_authority/production_profile/choices \
|
|
84
|
+
--decision-ref "创作者决策/production-profile.jsonl#CD-H3"
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
各字段取值由命中的模型方言给出:`$short-drama-video-prompts` 的 MiniMax H3 / Seedance 方言文件都写了
|
|
88
|
+
推荐档案。写完用 `status` 复核 `video_model_profile` 是否已经出现。
|
|
89
|
+
|
|
56
90
|
项目定位与安全写入见 [运行预检](references/runtime-preflight.md)。用户明确要求 Dashboard 时运行:
|
|
57
91
|
|
|
58
92
|
```bash
|
|
59
|
-
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --port 0 --open
|
|
93
|
+
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --port 0 --detach --open
|
|
60
94
|
```
|
|
61
95
|
|
|
96
|
+
`--detach` 让服务进程脱离当前 shell 独立运行,会话结束、终端关闭或智能体退出都不会带走它;
|
|
97
|
+
链接因此在整个创作期间保持有效。运行中的地址、端口和 pid 记录在
|
|
98
|
+
`<workspace>/.short-drama/dashboard.json`(仅本人可读),日志在同目录 `dashboard.log`:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --status # 打印当前链接
|
|
102
|
+
python3 {技能目录}/scripts/dashboard_server.py --workspace <workspace> --stop # 停止
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
同一 workspace 已有在跑的 Dashboard 时,再次启动只会打印同一个链接,不再开第二个端口;确实要换
|
|
106
|
+
端口或换令牌时加 `--restart`。不加 `--detach` 时行为不变:前台运行,Ctrl-C 结束。
|
|
107
|
+
|
|
62
108
|
Dashboard 展示和编辑创作文件,不负责工作流编排或媒体生产。
|
|
63
109
|
|
|
64
110
|
## 项目级创作决定
|
|
@@ -81,6 +127,20 @@ Look Development 是可选分支,不是进入图片提示词或分镜的固定
|
|
|
81
127
|
外部生产永远保留 `preview -> explicit confirm -> run`。归档只复制用户点名的当前文档和成品,排除
|
|
82
128
|
私有输入、凭据、绝对路径与隐藏运行状态;不为归档补造审批、哈希或第二套内容。
|
|
83
129
|
|
|
130
|
+
用户问“做完了怎么导出/交付给我”时,用 `export` 打包当前状态:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
python3 {技能目录}/scripts/project_tool.py export <project> --out <项目外目录>
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
它把每集现有的五份创作文档和 `剧集/<EP>/制作成果/` 复制到 `--out`,附 `manifest.json` 与
|
|
137
|
+
`checksums.sha256`,并排除 `输入/`、`交付/` 和 `.short-drama/`。只要一部分时加
|
|
138
|
+
`--episode EP001`(可重复);只要文字时加 `--no-media`;覆盖旧目录加 `--overwrite`。
|
|
139
|
+
`--out` 必须在项目之外。
|
|
140
|
+
|
|
141
|
+
`export` 是**当前状态快照**,manifest 里 `asserts_approval` 恒为 `false`:它不声称任何审查或
|
|
142
|
+
创作者接受。需要带审批证据的正式交付包仍然只有 `package`/`verify` 那条路径。
|
|
143
|
+
|
|
84
144
|
## 安装维护
|
|
85
145
|
|
|
86
146
|
只有安装、升级或排障时运行 `python3 scripts/selftest.py`。
|
|
@@ -16,14 +16,17 @@
|
|
|
16
16
|
| 内容 | 有项目配置时 | 独立任务默认 |
|
|
17
17
|
|---|---|---|
|
|
18
18
|
| 创作者可读说明与审查 | `short-drama.json#/language` | 用户当前语言 |
|
|
19
|
-
|
|
|
19
|
+
| 图片、关键帧的可复制正文 | `short-drama.json#/format/prompt_language` | `en` |
|
|
20
|
+
| 视频的可复制正文 | 目标视频模型档案的 `production_profile.choices.video_prompt_language`;未声明时回退 `format.prompt_language` | 根据目标视频模型确认;未声明时使用用户当前语言 |
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
创作者说明、通用提示词语言和视频模型提示词语言互相独立;画面中的对白和可读文字来自剧本/视觉事实,
|
|
23
|
+
不由描述语言推断。
|
|
22
24
|
|
|
23
25
|
## 稳定身份与引用
|
|
24
26
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
创作文档条目使用创作者可见的稳定 ID:`EP001-SC001`、`IMG-...`、`SHOT-...`、`MOTION-...`。其中 `IMG-...` 专属《图片提示词.md》的提示词标题,不代表已有图片。显示名可以改变,身份不因此改变。跨文档条目引用直接写这些 ID;不写哈希、内部路径、隐藏状态或第二套 record ID。
|
|
28
|
+
|
|
29
|
+
真实输入参考图不是图片提示词条目,所以每张图使用独立稳定的 `REF-...` 槽位,槽位内写显式顺序、可见项目相对路径、中文名称、用途和控制范围。它不使用 `IMG-...`;路径只用 `/` 分隔,不写绝对路径、Windows 盘符/网络路径或项目外路径。
|
|
27
30
|
|
|
28
31
|
## 规则分级
|
|
29
32
|
|