@oh-story/dsh 0.1.3 → 0.1.5
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 +58 -12
- package/lib/client.js +2970 -537
- package/lib/client.js.map +4 -4
- package/lib/drama/manifest.json +218 -178
- package/lib/drama/skills/short-drama/SKILL.md +110 -117
- package/lib/drama/skills/short-drama/references/audience-reveal.md +14 -67
- package/lib/drama/skills/short-drama/references/contract-and-ownership.md +26 -77
- package/lib/drama/skills/short-drama/references/creator-documents.md +204 -0
- package/lib/drama/skills/short-drama/references/creator-workflow.md +73 -63
- package/lib/drama/skills/short-drama/references/knowhow-index.md +5 -0
- package/lib/drama/skills/short-drama/references/look-development.md +2 -3
- package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +14 -48
- package/lib/drama/skills/short-drama/references/production-form-profiles.md +1 -1
- package/lib/drama/skills/short-drama/references/reference-roles.md +32 -135
- package/lib/drama/skills/short-drama/references/runtime-preflight.md +16 -19
- 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 +59 -170
- package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +18 -25
- package/lib/drama/skills/short-drama-assets/references/character-and-look.md +13 -15
- package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +11 -14
- 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 +6 -12
- package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +8 -11
- package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +21 -2
- package/lib/drama/skills/short-drama-assets/references/stage-contract.md +12 -105
- package/lib/drama/skills/short-drama-assets/references/voice-direction.md +12 -32
- package/lib/drama/skills/short-drama-assets/scripts/asset_check.py +1 -1
- package/lib/drama/skills/short-drama-image-prompts/SKILL.md +45 -155
- package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +12 -13
- package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +12 -13
- package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +39 -51
- package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +3 -4
- package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +15 -14
- package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +11 -15
- package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +1 -1
- package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +4 -7
- package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +23 -23
- package/lib/drama/skills/short-drama-image-prompts/references/stage-contract.md +8 -65
- 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 +67 -15
- 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/SKILL.md +61 -123
- package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +10 -15
- package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +15 -16
- package/lib/drama/skills/short-drama-review/references/project-calibration.md +7 -9
- package/lib/drama/skills/short-drama-review/references/review-method.md +8 -9
- package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +9 -13
- package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +104 -4
- package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +27 -19
- package/lib/drama/skills/short-drama-review/references/stage-contract.md +4 -63
- package/lib/drama/skills/short-drama-review/scripts/review_check.py +1 -1
- package/lib/drama/skills/short-drama-storyboard/SKILL.md +116 -238
- package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +1 -1
- package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +9 -34
- package/lib/drama/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
- package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +5 -10
- package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +12 -7
- 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 +27 -62
- package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +16 -25
- package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +21 -23
- package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +8 -10
- package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +9 -13
- package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +16 -71
- package/lib/drama/skills/short-drama-storyboard/scripts/storyboard_check.py +1 -1
- package/lib/drama/skills/short-drama-video-prompts/SKILL.md +123 -230
- 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/camera-audio-continuity.md +10 -8
- package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +24 -6
- package/lib/drama/skills/short-drama-video-prompts/references/generability.md +2 -2
- 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 +35 -27
- package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +8 -11
- package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +13 -10
- package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +34 -63
- 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 +17 -73
- 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 +74 -268
- package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +7 -0
- package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +17 -43
- package/lib/drama/skills/short-drama-write/references/screenplay-format.md +15 -15
- package/lib/drama/skills/short-drama-write/references/script-craft.md +208 -21
- package/lib/drama/skills/short-drama-write/references/stage-contract.md +11 -70
- 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 +971 -46
- 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 +419 -309
- package/lib/oh-story/roles/character-designer.md +4 -4
- package/lib/oh-story/roles/consistency-checker.md +1 -1
- package/lib/oh-story/roles/narrative-writer.md +41 -42
- package/lib/oh-story/roles/story-architect.md +19 -23
- package/lib/oh-story/roles/story-explorer.md +8 -5
- 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 +21 -8
- 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-long-write/references/{genre-core-mechanics.md → long-genre-mechanics.md} +1 -1
- package/lib/oh-story/skills/story-long-write/references/{reversal-toolkit.md → 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 +5 -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 +17 -11
- 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 +85 -41
- 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-setup/references/agent-references/{genre-core-mechanics.md → 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-short-write/references/reversal-toolkit.md → story-setup/references/agent-references/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-setup/references/agent-references/{reversal-toolkit.md → 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 +9 -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 +5 -2
- 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/reference-tool.d.ts +6 -0
- package/lib/types/reference-tool.d.ts.map +1 -0
- package/lib/types/role-provider.d.ts.map +1 -1
- package/lib/types/role-tool.d.ts +3 -1
- 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 +57 -41
- package/lib/drama/skills/short-drama/references/lifecycle-commands.md +0 -130
- 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
|
@@ -97,8 +97,7 @@ def main() -> int:
|
|
|
97
97
|
== "gpt-image-2",
|
|
98
98
|
"GPT Image 2 profile compiled the wrong model",
|
|
99
99
|
)
|
|
100
|
-
|
|
101
|
-
compile_seedance_payload(
|
|
100
|
+
seedance = compile_seedance_payload(
|
|
102
101
|
{
|
|
103
102
|
"modality": "video",
|
|
104
103
|
"prompt": "slow push in",
|
|
@@ -109,8 +108,10 @@ def main() -> int:
|
|
|
109
108
|
model="configured-endpoint",
|
|
110
109
|
allowed_ratios={"9:16"},
|
|
111
110
|
duration_range=(5, 10),
|
|
112
|
-
|
|
113
|
-
|
|
111
|
+
)
|
|
112
|
+
require(
|
|
113
|
+
seedance.get("ratio") == "9:16" and seedance.get("duration") == 5,
|
|
114
|
+
"Seedance profile did not compile explicit API parameters",
|
|
114
115
|
)
|
|
115
116
|
require(
|
|
116
117
|
compile_minimax_music_payload(
|
|
@@ -1,45 +1,40 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: short-drama-review
|
|
3
|
-
description:
|
|
3
|
+
description: 审查短剧项目中的原著分析、故事、剧本、视觉设定、图片提示词、分镜、冻结关键帧、视频提示词和已有媒体。用户提出“审稿/检查剧本”“检查资产或连续性”“检查图片/视频提示词”“检查原著分析”“审查模板感”“根据生产观察做项目校准”时使用;只写审查问题、结论和修订要求,不代替 owner 修改来源文件。
|
|
4
4
|
license: MIT
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# 短剧审查
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
优先由未参与当前版本创作的 reviewer 执行;条件不允许时可以自检并如实说明。审查与修改是两个工作
|
|
10
|
+
单元:本技能只定位问题、影响和必须达到的修订结果,不在同一轮替 owner 改来源。
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
使用的语言,不在本技能内硬编码语言。稳定的规则编号和 ID 保持原样。
|
|
14
|
-
本技能从不撰写提示词正文:引用被审查的提示词时按其原样引用,不译成审查语言,
|
|
15
|
-
也不因为提示词语言与项目语言不同就判为缺陷——`#/format/prompt_language` 是创作者的选择。
|
|
12
|
+
## Quick Start
|
|
16
13
|
|
|
17
|
-
|
|
14
|
+
直接读取用户点名的当前文件。单集审查需要落盘时写 `审查/EP001-审查.md`;独立文件审查使用
|
|
15
|
+
`审查/<主题>-审查.md`。用户只要口头结论时直接回复,不为“完整”创建审查文件。
|
|
18
16
|
|
|
19
|
-
|
|
20
|
-
`short-drama` 项目且项目工具可用,可以读取 `status` 并使用其发布生命周期,但缺少 core
|
|
21
|
-
或任何其他技能都不是审查工作的阻断条件。[阶段契约](references/stage-contract.md) 给出
|
|
22
|
-
本阶段边界、制作形态输入与规则表,无需读取其他技能的文件。
|
|
17
|
+
审查 Markdown 建议结构:
|
|
23
18
|
|
|
24
|
-
|
|
19
|
+
```markdown
|
|
20
|
+
# EP001 审查
|
|
25
21
|
|
|
26
|
-
|
|
22
|
+
- 范围:剧本、分镜、视频提示词
|
|
23
|
+
- 结论:REVISE
|
|
24
|
+
- 复核方式:独立 reviewer / 自检
|
|
27
25
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
## Blocker · REV-001 · 画面文字未被镜头承载
|
|
27
|
+
- 位置:剧本.md / EP001-SC002;分镜.md / SHOT-EP001-004
|
|
28
|
+
- 证据:……
|
|
29
|
+
- 影响:……
|
|
30
|
+
- 修订结果:由 short-drama-storyboard 补入准确文字及可读条件。
|
|
31
|
+
- 规则:SHT-01 · reviewed_invariant
|
|
33
32
|
```
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
一致性;它不代替语义审查,也不要求独立 reviewer provenance。输入路径不存在于当前目录时,
|
|
37
|
-
会相对本技能目录解析。
|
|
34
|
+
引用只使用文件名、标题 ID、行号或短引文;不建立 sources 声明、哈希、record ID 或第二套状态。
|
|
38
35
|
|
|
39
36
|
## 选择审查范围
|
|
40
37
|
|
|
41
|
-
声明一个或多个范围:
|
|
42
|
-
|
|
43
38
|
- `source_analysis`
|
|
44
39
|
- `story_script`
|
|
45
40
|
- `assets_continuity`
|
|
@@ -51,128 +46,71 @@ python3 {技能目录}/scripts/selftest.py
|
|
|
51
46
|
- `delivery_privacy`
|
|
52
47
|
- `project_calibration`
|
|
53
48
|
|
|
54
|
-
|
|
55
|
-
[rubric-source-analysis.md](references/rubric-source-analysis.md)——它审的是原著分析层
|
|
56
|
-
(索引、快评、逐章提取、剧情单元、人物候选、改编价值与分集候选),不审剧本内容,
|
|
57
|
-
也不替 `$short-drama-develop` 决定改编方案。完整审查先读
|
|
58
|
-
[review-method.md](references/review-method.md),再读三份审查表;制作端常见缺陷
|
|
59
|
-
与各环节判据见 [production-quality-gates.md](references/production-quality-gates.md)。
|
|
60
|
-
有创作者提供或授权形成的生产观察,需要绑定准确版本、诊断并路由项目内校准时读
|
|
61
|
-
[project-calibration.md](references/project-calibration.md);没有观察记录时只报文字风险。
|
|
62
|
-
涉及参考图权限、遮挡式揭示或补拍版与替代版关系时加读
|
|
63
|
-
[阶段契约](references/stage-contract.md) 的参考媒体与补拍一节。
|
|
64
|
-
不预先加载所有创作资料。
|
|
65
|
-
证据来自项目产物和已接受限制,而非负责人的自我解释。
|
|
66
|
-
只有审查问题涉及“模板感、重复手法或 AI 味”时才读
|
|
67
|
-
[anti-template-repair.md](references/anti-template-repair.md),用其诊断、修订示范与误报反例。
|
|
68
|
-
|
|
69
|
-
## 每轮的工作单元
|
|
70
|
-
|
|
71
|
-
一轮审查一批明确选定的产物或一段连续范围:记录 verdict 与按 owner 路由的 findings,
|
|
72
|
-
报告已审范围和剩余范围,然后交还控制权。产物由各自的 owner 修改;修订与之后的复审
|
|
73
|
-
各自是独立的工作单元,由创作者明确请求时开始。
|
|
74
|
-
|
|
75
|
-
## 工作流
|
|
76
|
-
|
|
77
|
-
### 1. 确定范围与复核方式
|
|
78
|
-
|
|
79
|
-
记录要审查的当前产物、已接受限制和范围。优先让未参与该版本创作的人或隔离上下文复核,
|
|
80
|
-
因为这能减少自证偏差;条件不允许时可直接自检,并在 reviewer 标签或备注中如实说明。
|
|
81
|
-
不要为“独立性”制造运行时证明、上下文 ID 或 provenance schema。
|
|
49
|
+
只读对应资料,不预加载整个项目:
|
|
82
50
|
|
|
83
|
-
|
|
51
|
+
- 原著分析:[原著分析审查表](references/rubric-source-analysis.md)
|
|
52
|
+
- 故事、场景、行动与对白:[故事剧本审查表](references/rubric-story-script.md)
|
|
53
|
+
- 身份、变体、连续性与图片提示词:[资产提示词审查表](references/rubric-assets-prompts.md)
|
|
54
|
+
- 原文落实、镜头、关键帧与视频运动:[视觉运动审查表](references/rubric-visual-motion.md)
|
|
55
|
+
- 完整审查方法:[审查方法](references/review-method.md)
|
|
56
|
+
- 制作端常见缺陷:[生产质量门](references/production-quality-gates.md)
|
|
57
|
+
- 授权生产观察的项目内校准:[项目校准](references/project-calibration.md)
|
|
58
|
+
- 模板感、重复手法或 AI 味:[反模板修订](references/anti-template-repair.md)
|
|
59
|
+
- 阶段边界、参考媒体与规则表:[阶段契约](references/stage-contract.md)
|
|
84
60
|
|
|
85
|
-
|
|
61
|
+
## 工作流
|
|
86
62
|
|
|
87
|
-
|
|
88
|
-
- 原文落实、资产版本、时间总和与连续性;
|
|
89
|
-
- 负责人权限、隐私边界和当前项目状态。
|
|
63
|
+
### 1. 冻结范围
|
|
90
64
|
|
|
91
|
-
|
|
65
|
+
写清当前要审哪些文件、章节、镜头或提示词,以及创作者已经明确的限制。目标在审查中发生变化时,
|
|
66
|
+
重新读取再下结论。
|
|
92
67
|
|
|
93
|
-
###
|
|
68
|
+
### 2. 先查可证明事实
|
|
94
69
|
|
|
95
|
-
|
|
70
|
+
- 五文档的可见 ID、引用和时长是否一致;
|
|
71
|
+
- 剧本对白、动作、声音、画面文字是否都有画面/声音承载;
|
|
72
|
+
- 人物、地点、道具状态和镜头起止是否连续;
|
|
73
|
+
- 提示词是否从准确起点到准确终点;
|
|
74
|
+
- 私有输入、凭据、绝对路径或内部流程文字是否泄漏。
|
|
96
75
|
|
|
97
|
-
|
|
98
|
-
- 必要的短引文或冲突字段;
|
|
99
|
-
- 对观众理解或制作的影响;
|
|
100
|
-
- 必须达到的修订结果、负责技能、严重程度和状态。
|
|
76
|
+
缺少必要输入时只停止依赖它的判断,其他问题可以继续汇总。
|
|
101
77
|
|
|
102
|
-
|
|
103
|
-
校准 finding 还要说明它观察的是输入参考还是生成结果、适用配置和观察限制。
|
|
78
|
+
### 3. 带证据审内容
|
|
104
79
|
|
|
105
|
-
|
|
80
|
+
每个 finding 包含:位置、必要短引文或冲突事实、观众/制作影响、必须达到的修订结果、owner、严重
|
|
81
|
+
程度和规则等级。不能只说“AI 味”“不够电影感”或给无证据分数。
|
|
106
82
|
|
|
107
|
-
|
|
83
|
+
### 4. 跨文档综合
|
|
108
84
|
|
|
109
85
|
```text
|
|
110
|
-
剧本事实 ->
|
|
86
|
+
剧本事实 -> 视觉设定 -> 镜头职责与边界 -> 冻结关键帧 -> 视频运动 -> 下一状态
|
|
111
87
|
```
|
|
112
88
|
|
|
113
|
-
|
|
89
|
+
优先守住原意、知情时机与连续性,不奖励脱离来源的华丽提示词。
|
|
90
|
+
|
|
91
|
+
### 5. 结论与分派
|
|
114
92
|
|
|
115
93
|
- `APPROVE`:没有阻断问题;
|
|
116
94
|
- `APPROVE_WITH_NOTES`:只有不阻断的改进;
|
|
117
95
|
- `REVISE`:存在结构、内容或限制冲突;
|
|
118
96
|
- `PROVISIONAL`:关键输入不足,暂时无法完成判断。
|
|
119
97
|
|
|
120
|
-
按 owner
|
|
121
|
-
重新读取当前版本并只复查受影响范围;本轮不自动进入修改或复审。
|
|
122
|
-
CLI 的 `review` 记录 verdict、reviewer 标签和备注;详细 finding 文件用于创作沟通,不是批准所需的
|
|
123
|
-
密码学证据包。
|
|
124
|
-
|
|
125
|
-
## 审查表
|
|
126
|
-
|
|
127
|
-
- 故事承诺、因果、场景、行动、对白:
|
|
128
|
-
[rubric-story-script.md](references/rubric-story-script.md)
|
|
129
|
-
- 资产身份/变体、连续性、资产图片提示词:
|
|
130
|
-
[rubric-assets-prompts.md](references/rubric-assets-prompts.md)
|
|
131
|
-
- 原文落实、镜头、关键帧、视频提示词和跨镜状态:
|
|
132
|
-
[rubric-visual-motion.md](references/rubric-visual-motion.md)
|
|
98
|
+
按 owner 分组修订要求。本轮完成后交还控制权;修改和复审只有用户明确请求时开始。
|
|
133
99
|
|
|
134
|
-
##
|
|
100
|
+
## 严重程度
|
|
135
101
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
102
|
+
- `blocker`:不安全、不可交付或会让流程走错;
|
|
103
|
+
- `major`:明显破坏剧情理解、连续性或制作结果;
|
|
104
|
+
- `minor`:有具体影响但不阻断;
|
|
105
|
+
- `note`:创作选择或可选润色。
|
|
139
106
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
每个文件先声明本次引用到的上游快照,每条引用再指名快照和记录。
|
|
143
|
-
|
|
144
|
-
findings.jsonl 首行是声明记录:
|
|
145
|
-
|
|
146
|
-
```json
|
|
147
|
-
{"record_type":"sources","schema_version":"1.0.0","sources":{"screenplay":{"owner":"short-drama-write","artifact":"剧集/EP001/screenplay.md"}}}
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
verdict.json 用顶层 `sources` 对象声明同样的内容。键取产物文件名,短、小写,
|
|
151
|
-
文件内唯一且稳定;同一产物的两个快照用后缀区分。
|
|
152
|
-
|
|
153
|
-
引用写成:
|
|
154
|
-
|
|
155
|
-
```json
|
|
156
|
-
{"src": "screenplay", "record_id": "EP001-SC001"}
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
指向整个产物或产物内某个字段时只写 `{"src": "screenplay"}`,需要时加 `field`;
|
|
160
|
-
`authority`、`role`、`value_seconds` 记在各自的引用上。
|
|
161
|
-
|
|
162
|
-
- `fatal`:不安全或非公开内容被交付、交付包损坏、缺少授权;
|
|
163
|
-
- `error`:阻断当前检查的结构或内容错误;
|
|
164
|
-
- `warning`:有具体影响的常用做法问题;
|
|
165
|
-
- `note`:创作选择、问题或不阻断交付的润色建议。
|
|
107
|
+
## 边界
|
|
166
108
|
|
|
167
|
-
|
|
168
|
-
|
|
109
|
+
- 不提交图片、视频、TTS 或音乐任务,不配置 adapter,不把 Dashboard 操作当生产授权。
|
|
110
|
+
- 无法读取媒体时明确限制,不从文字或 adapter 状态推断脸部一致、表演、口型、混音或市场表现。
|
|
111
|
+
- 生产观察必须绑定准确输入、提示词、参考、配置和结果版本;不能泛化成通用规则。
|
|
112
|
+
- 审查文件只保留修订所需的最小证据,不复制完整私有输入。
|
|
169
113
|
|
|
170
|
-
##
|
|
114
|
+
## 安装维护
|
|
171
115
|
|
|
172
|
-
|
|
173
|
-
- `production_outputs` 只复核项目内当前版本的已有媒体;运行环境不能读取或播放时明确记录
|
|
174
|
-
限制,不从文字产物或 adapter 状态推断脸部一致、表演、口型、混音、剪辑或市场表现。
|
|
175
|
-
- 生产观察必须绑定准确的 prompt/spec/reference/config 与结果版本,并保留其范围与限制。
|
|
176
|
-
- 不把非公开制作观察变成通用审查标准。
|
|
177
|
-
- 审查问题只带创作者修订所需的必要证据;不泄露非公开输入、完整创作文本、
|
|
178
|
-
网址或机器路径。
|
|
116
|
+
只有安装、升级或排障时运行 `python3 scripts/selftest.py`。
|
|
@@ -89,26 +89,21 @@ Reviewer 必须说明:重复是否是 creator choice、第二次新增了什
|
|
|
89
89
|
|
|
90
90
|
## 4. Finding 示例
|
|
91
91
|
|
|
92
|
-
~~~
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
"required_change": "保留两项事实,但让至少一项揭示由主角有代价的策略触发",
|
|
101
|
-
"owner_skill": "short-drama-write",
|
|
102
|
-
"severity": "warning"
|
|
103
|
-
}
|
|
92
|
+
~~~markdown
|
|
93
|
+
## Major · REV-003 · 连续两集用同一种自曝完成揭示
|
|
94
|
+
- 位置:剧本.md / EP002-SC003;剧本.md / EP003-SC002
|
|
95
|
+
- 证据:两场都由主管主动说出隐藏事实,主角没有选择。
|
|
96
|
+
- 影响:主角策略不参与揭示,连续两集的回报来自对手自曝。
|
|
97
|
+
- 修订结果:保留两项事实,但让至少一项揭示由主角有代价的策略触发。
|
|
98
|
+
- Owner:short-drama-write
|
|
99
|
+
- 规则:SCR-04 · craft_default
|
|
104
100
|
~~~
|
|
105
101
|
|
|
106
|
-
|
|
107
|
-
`{"src": "<sources 键>", "record_id": "<记录 ID>"}`,快照由文件的 `sources` 声明绑定。
|
|
102
|
+
位置只使用文件名、标题 ID、行号或必要短引文。不要复制上游快照,也不要为审查另建记录 ID。
|
|
108
103
|
|
|
109
104
|
## 5. 分级
|
|
110
105
|
|
|
111
|
-
- structural_invariant:finding
|
|
106
|
+
- structural_invariant:finding 的位置、严重程度、owner 与结论明确且可复核。
|
|
112
107
|
- reviewed_invariant:下游没有改写 source meaning;需证据判断。
|
|
113
108
|
- craft_default:避免无意义的因果/策略/表达/镜头重复;可由创作者说明覆盖。
|
|
114
109
|
- taste_option:类型惯例、仪式重复、running gag、固定镜头风格本身不阻断。
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
## 一、先分清什么问题必须阻断
|
|
20
20
|
|
|
21
|
-
- `structural_invariant
|
|
21
|
+
- `structural_invariant`:可见引用、明确时长、同一区间摄影机指令冲突、已声明
|
|
22
22
|
起点/终点不一致等可以直接证明的问题;本地检查可以阻断。
|
|
23
23
|
- `reviewed_invariant`:剧情意义是否丢失、人物反应是否承接后果、动作是否可执行、
|
|
24
24
|
指令是否被改写;审查者引用资料给 `REVISE`。
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
|
|
39
39
|
检查:
|
|
40
40
|
|
|
41
|
-
-
|
|
41
|
+
- 是否能从剧本的每个制作相关段落直接追到承担它的镜头或声音;
|
|
42
42
|
- 每个有明确来源的动作是否只实现一次;
|
|
43
43
|
- 关键结果落地后,观众是否能看到受影响者的反应或后果;
|
|
44
44
|
- 重新编组前后,原文段落、镜头目的、起点/终点与声音引用是否仍相同。
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
先核对负责环节的起止边界和资产版本;若剧情确实需要变化,向对应技能
|
|
56
56
|
请求状态或镜头修改,不在提示词里偷偷补故事。
|
|
57
57
|
|
|
58
|
-
选择性环境变换还要核对 `VID-11
|
|
58
|
+
选择性环境变换还要核对 `VID-11`:触发、准确目标范围、结束几何/状态与保持项
|
|
59
59
|
是否同时存在;相邻但非目标的人物、道具、文字承载面和空间锚点是否保持原位置、数量与
|
|
60
60
|
状态。只写“门消失”“地面折叠”而不写留下什么及什么必须不变,属于无法确认能否执行的问题。
|
|
61
61
|
|
|
@@ -79,14 +79,14 @@
|
|
|
79
79
|
|
|
80
80
|
### 6. 版本和执行状态冒充内容权威
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
同一集、镜头或提示词可能保留多个历史版本。审查前先读取当前 creator-visible 文档,并按文件名、
|
|
83
|
+
标题 ID 和文中明确写出的母版/替代关系判断当前版本;文件更新时间、编号大小、默认展示项或最近一次
|
|
84
|
+
执行状态只能帮助定位,不能替代创作者当前决定。下游仍引用旧标题时,即使内容看似合理也要报告
|
|
85
|
+
版本引用过期,而不是把旧稿重新解释成现行要求。
|
|
86
86
|
|
|
87
87
|
生成或处理任务的技术状态只说明某次执行结束到哪一步,不证明语义质量。任何状态为成功的
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
历史记录都必须写明当时准确的提示词标题、资产/镜头引用与配置;审查仍比较这些文字是否
|
|
89
|
+
覆盖当前创作者可见文档。没有看过媒体时,不得从技术状态、重试次数或结果地址声称画面、
|
|
90
90
|
表演、文字和连续性已经正确。
|
|
91
91
|
|
|
92
92
|
## 三、指令优先级与改写回归(REV-09)
|
|
@@ -126,11 +126,10 @@
|
|
|
126
126
|
不能证明提示词覆盖了原动作、反应、台词与已确认的项目指令。审查者必须比较
|
|
127
127
|
改写前后必须保留的内容。
|
|
128
128
|
|
|
129
|
-
缩短修改若形成补拍或替代版,必须在 `
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
指名替代版或母版的记录,不能回写运动规格制造循环引用。若有内容丢失,再由
|
|
129
|
+
缩短修改若形成补拍或替代版,必须在 `视频提示词.md` 中标明版本类型、同一文件内的母版或补充
|
|
130
|
+
`MOTION-...` 标题,并把每项原文要求对应到当前版本或说明去向。普通母版不为“没有版本关系”制造
|
|
131
|
+
占位账目。补拍默认不替代母版;替代版只能提出替代请求,最终由审查结论直接指名保留哪一个标题,
|
|
132
|
+
不能让两个版本互相声明对方才是当前版本。若有内容丢失,再由
|
|
134
133
|
分镜或视频提示词技能决定保留其他镜头、拆镜、延长、删减或请求上游修改。
|
|
135
134
|
|
|
136
135
|
## 四、各环节证据问题
|
|
@@ -155,8 +154,8 @@
|
|
|
155
154
|
`no-text` 删除参考像素?
|
|
156
155
|
- 每张参考图的 `role`、可参考内容与不可照搬内容是否明确?构图、尺度或效果参考有没有
|
|
157
156
|
改写本来不该由它决定的身份、内容、文字或状态?
|
|
158
|
-
-
|
|
159
|
-
|
|
157
|
+
- 像素、文字、水印或裁切检查是否有准确的观察记录;没有时是否明确写“未观察”,
|
|
158
|
+
而不是从文件引用或负面词推断已经看过输入参考图?
|
|
160
159
|
- 定点修改是否写准确目标、`changes` 与 `preserve_set`?
|
|
161
160
|
- 同一地点在同一时间/天气 state 下的各观察方向板,主光来源、冷暖主次、光比方向与实际
|
|
162
161
|
灯具开关是否对齐(`IMG-10`)?不一致时是否有已记录的成因与对应 delta?逐板单独看
|
|
@@ -9,15 +9,13 @@
|
|
|
9
9
|
- `generated_result`:某个准确提示词/规格版本、参考槽位集合和制作配置下的结果观察;它可以支持
|
|
10
10
|
项目内校准,但不能自动变成跨项目、跨配置或跨制作方式的定律。
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
`inputs/production-observations.jsonl`),由创作者或获授权观察者提供;它不属于任何 skill 的
|
|
20
|
-
可发布产物,也不进入文本交付包。公共 `assets/production-observation.example.jsonl` 只是空白示例。
|
|
12
|
+
两种记录都要写明被观察的媒体、观察方法、准确的文档标题引用、观察区域/时间段、限制与观察者。
|
|
13
|
+
生成结果还要写明对应提示词或镜头标题、参考图顺序、制作形态/配置和结论适用范围。审查只读取
|
|
14
|
+
项目提供的记录,不在公开运行时找数据。记录仍可使用只代表这份有界观察可复核,不表示创作内容
|
|
15
|
+
已接受或质量通过;证据被撤回、媒体已经换过或来源无法复核时,不沿用它做校准,并写明失效原因。
|
|
16
|
+
|
|
17
|
+
实际项目记录可以由创作者放在受保护的 `原始资料/生产观察.md`,也可以直接在当前请求中提供;它不属于
|
|
18
|
+
五份单集创作文档,也不进入文本交付包。
|
|
21
19
|
|
|
22
20
|
## 选择有内容代表性的试跑
|
|
23
21
|
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
|
|
20
20
|
## Review scope
|
|
21
21
|
|
|
22
|
-
Start from the current
|
|
23
|
-
context when available; otherwise perform an honest self-check
|
|
24
|
-
reviewer label
|
|
22
|
+
Start from the current creator-visible files and the constraints the creator has explicitly chosen. Prefer an
|
|
23
|
+
uninvolved reviewer or isolated context when available; otherwise perform an honest self-check and say so in the
|
|
24
|
+
review Markdown. A reviewer label is disclosure, not authenticated identity.
|
|
25
25
|
|
|
26
26
|
If a target changes during review, reread that target before recording the verdict. Do not recursively invalidate
|
|
27
27
|
unrelated findings.
|
|
@@ -30,11 +30,11 @@ unrelated findings.
|
|
|
30
30
|
|
|
31
31
|
Mechanical examples:
|
|
32
32
|
|
|
33
|
-
-
|
|
33
|
+
- missing or duplicate Markdown IDs, broken links or unresolved references;
|
|
34
34
|
- unknown asset variants or contradictory camera flags;
|
|
35
35
|
- explicit segments not matching their declared duration;
|
|
36
36
|
- readable text conflicting with the accepted text policy;
|
|
37
|
-
-
|
|
37
|
+
- a stage document silently taking over facts owned by another document;
|
|
38
38
|
- delivery containing private or unapproved material.
|
|
39
39
|
|
|
40
40
|
Semantic examples:
|
|
@@ -51,7 +51,7 @@ Semantic examples:
|
|
|
51
51
|
A useful finding contains:
|
|
52
52
|
|
|
53
53
|
1. stable diagnostic/rule ID when one exists;
|
|
54
|
-
2. project-relative
|
|
54
|
+
2. project-relative file plus heading ID, line number or shot when useful;
|
|
55
55
|
3. bounded quotation or conflicting facts;
|
|
56
56
|
4. audience, continuity or production impact;
|
|
57
57
|
5. required outcome and preserve set, not ghostwritten replacement prose;
|
|
@@ -60,9 +60,8 @@ A useful finding contains:
|
|
|
60
60
|
“The dialogue is weak” is invalid. A finding should identify the exact exchange, say what fails to change, and tell
|
|
61
61
|
the write owner what outcome must be restored.
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
of reviewer independence.
|
|
63
|
+
The review Markdown cites the current file name, heading ID, line number or a necessary short quotation directly.
|
|
64
|
+
It does not copy upstream snapshots, invent record IDs or create another version of the source material.
|
|
66
65
|
|
|
67
66
|
## Cross-layer synthesis
|
|
68
67
|
|
|
@@ -26,32 +26,28 @@ creator-approved idealization or deliberate counter-casting remains a taste choi
|
|
|
26
26
|
|
|
27
27
|
### Voice direction (optional, `AST-07`–`AST-12`)
|
|
28
28
|
|
|
29
|
-
Only reviewed when a
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
a
|
|
29
|
+
Only reviewed when `视觉设定.md` records a voice direction. Timbre is carried by a
|
|
30
|
+
named reference recording, not by prose: identity is the reference plus the
|
|
31
|
+
creator's current pronunciation choices, and the text alongside it exists to
|
|
32
|
+
select or judge a voice, never to stand in for one.
|
|
33
33
|
|
|
34
34
|
Fail when:
|
|
35
35
|
|
|
36
36
|
- a project has no reference and a paragraph of adjectives is standing in for
|
|
37
|
-
identity —
|
|
37
|
+
identity — the voice section must say `待选型` instead;
|
|
38
38
|
- a binding omits what it controls and what it must not, or lets the take's
|
|
39
39
|
emotion, the recording space (reverb, mic distance) or background noise into
|
|
40
40
|
identity (`AST-08`);
|
|
41
41
|
- a claim about what is audible in a reference has no creator description and no
|
|
42
|
-
authorized listening observation, yet
|
|
43
|
-
- one proper noun appears with two accepted spellings anywhere in
|
|
42
|
+
authorized listening observation, yet is written as established fact (`AST-09`);
|
|
43
|
+
- one proper noun appears with two accepted spellings anywhere in `视觉设定.md`
|
|
44
44
|
(`AST-10`) — this one is structural and blocks;
|
|
45
45
|
- two characters designed together are bound to confusable references and no
|
|
46
46
|
distinguishing trait names the nearest neighbour (`AST-11`);
|
|
47
47
|
- a selection criterion is an emotion word, carries no counter-example, or the
|
|
48
48
|
list has grown past a handful (`AST-12`);
|
|
49
49
|
- reference audio bytes, a provider parameter, a model name, a task field or a
|
|
50
|
-
URL appear in
|
|
51
|
-
|
|
52
|
-
The rendered `voice-casting.md` is a cache. A finding against it is a finding
|
|
53
|
-
against the accepted record it projects, routed to assets — never a request to
|
|
54
|
-
hand-edit the derived text.
|
|
50
|
+
URL appear in `视觉设定.md` or the delivery package.
|
|
55
51
|
|
|
56
52
|
### Location / View
|
|
57
53
|
|
|
@@ -107,7 +103,7 @@ apply type-specific criteria:
|
|
|
107
103
|
- prop has no scale or text state;
|
|
108
104
|
- negative constraints contradict the required visible fact;
|
|
109
105
|
- edit request says “make better” without target/change/preserve;
|
|
110
|
-
-
|
|
106
|
+
- `图片提示词.md` contradicts the current identity, state or text policy in `视觉设定.md`;
|
|
111
107
|
- private URL, source ID, provider task field, or operator complaint leaks in.
|
|
112
108
|
- “use the whole reference” does not say what may or may not be copied.
|
|
113
109
|
|