End-to-end video production orchestration for the content-creation workspace. Use when the user asks to make, recreate, package, render, QC, or archive a video; when the user says 制作待制作队列, 按交接稿制作, 制作队列视频, or points at a handoff project folder under 01-内容生产/视频工作台/待制作/ (contract file 交接稿.md inside) or an image-card handoff under 01-内容生产/图文工作台/待制作/ (its frontmatter is the binding production contract); when a request could route to HyperFrames, Remotion, captions, TTS, download/transcription, website/product videos, motion graphics, or reference replication; or when the user needs production planning before editing.
Resources
3Install
npx skillscat add pluviobyte/rnskill/ra-video-production-director Install via the SkillsCat registry.
AI 视频创作 Skill
Role
Act as the director layer above the existing video skills. Route the job, define
the acceptance standard, then coordinate production and QC. Do not replacehyperframes, remotion, ra-audio-to-subtitles, skill-captions, embedded-captions, graphic-overlays,ra-video-download, 视频转写, tts-skill, heygen-digital-avatar, or ai-video-qc-delivery; load those
skills only when their lane is selected.
If the user provides a source video URL or local file and asks for 视频洗稿,视频二创, or 洗稿并制作视频, route to ra-video-wash-pipeline before this
skill so extraction and rewrite happen first.
待制作 Queue Intake
If the input is a handoff project folder under01-内容生产/视频工作台/待制作/<日期-主题>/ (contract file 交接稿.md at its
root; or the user says 制作待制作队列, 按交接稿制作, or points at a queued
script):
- the 交接稿.md frontmatter is the binding production contract — platform, ratio,
duration_target_s,word_count,voice,caption_style,visual,illustration_skill,typographyoverride intake defaults and must never be replaced by an
execution skill's own defaults (e.g. HyperFrames TTS voices are not a
substitute for the contract voice) - before starting work, set
status: 制作中in 交接稿.md and move the whole
project folder to01-内容生产/视频工作台/制作中/<日期-主题>/, so the other
machine does not double-produce; all engineering happens inside that folder - the script segments in the handoff file are the scene units; do not re-split
or re-flow the narration - skip intake questions the contract already answers
Hard Rules
- Define the output standard before production: original video, pixel-level
alignment, visual replica, style-inspired creation, captioned footage,
narrated explainer, product promo, website tour, or motion graphic. - Do not claim pixel-level alignment for a hand-authored HyperFrames/Remotion
rebuild. Pixel-level requires source-stream reuse, original project assets,
or hard metrics such as matching hash,cmp, PSNR infinity, or SSIM 1.0. - Keep source projects and intermediates under
<WORKSPACE>/01-内容生产/视频工作台/制作中/; the workbench01-内容生产/视频工作台/holds only handoffs, transcripts, and archives. - Final deliverables stay inside the vault. Every video produced by this
system — queue or non-queue, transcript-direct, practical long-form,
translated/repackaged, or ad hoc — delivers to01-内容生产/视频工作台/已制作/<月上旬|月下旬>/<日期-主题>/成片/, with key QC images in
the sibling质检/. Use the delivery date: days 1-15 go toX月上旬
and days 16 through month-end go toX月下旬.已制作/6月历史成片库/(封存只读) and the desktop<WORKSPACE>/legacy-archive/are retired legacy history — do not
write new deliverables there. - Publish titles are not production work for 待制作 queue jobs:
ra-video-titlealready wrote 8-12 candidates into the handoff 标题候选
section at wash time, and the final title is chosen manually by the user
at publish time. Do not generate or apply publish titles and do not create视频标题.mdfor queue jobs (on-page scene titles from the script are
unaffected). Only for non-queue jobs (no handoff contract) generate 8-12
candidates withra-video-titleafter QC and let the user choose before
saving视频标题.mdnext to the final MP4. - A video is not complete until media specs, visual checks, and archive
paths are confirmed. The selected-title-file requirement applies to
non-queue jobs only; queue jobs finish without视频标题.md(title
selection stays manual with the user). - If the user explicitly names a visual or illustration skill, load and follow
that skill before designing the visual layer. Do not replace a requested
illustration skill with hand-coded shapes, CSS drawings, or "style-like"
approximations unless the user explicitly approves that substitution. - When full AI narration is required, final deliverables must use local
IndexTTS2 throughtts-skill, voice idpluvio-indextts2-calm-v1, and the
canonical lossless WAV declared inautomation/config/tts-routing.json.
MiniMax is reserved for public article/tutorial relay examples and is
forbidden for local video narration. Do not silently fall back to macOSsay, browser speech, MiniMax, or another generic/cloud voice. If the local
model or canonical WAV is missing, repair the IndexTTS2 lane or stop before
final render. - For jobs taken from the
待制作queue, delivery is not complete untilpython3 automation/scripts/check_delivery.py <交接文件> <项目目录> <成片.mp4>
exits 0, the 制作端回执 in the handoff file is filled (paths + checker
output),statusis set to已完成, and the per-project archive folder01-内容生产/视频工作台/已制作/<月上旬|月下旬>/<日期-主题>/(folder name = the
project folder name) is assembled by moving the cleaned project folder from制作中/:交接稿.mdat its root, the final MP4 in成片/, key QC frames
in质检/, minimal engineering in工程/. Non-queue jobs
assemble the same dated archive structure using a clear topic slug; copy a
production note/script/plan into the archive root when available. No job
copies a new final into已制作/6月历史成片库/(封存只读). - The 图文工作台 queue follows the same contract pattern: take
01-内容生产/图文工作台/待制作/<file>.md(frontmatter contract:
card_count, ratio, style, illustration_skill, image_skill), setstatus: 制作中on start, produce the image cards without rewriting the
copy and without generating or applying publish titles, deliver to01-内容生产/图文工作台/已制作/<日期-主题>/(handoff file moved in +
finished cards under图/), setstatus: 已完成, and register the item
under 待修改 in01-内容生产/发布看板.md. The source-privacy wall applies
unchanged. - 实操长片 projects follow the unified engineering layout under
01-内容生产/视频工作台/制作中/<日期-主题>/; do not create a separate planning directory
under视频工作台/.
the 策划稿 frontmatterstatusis the only handoff signal, and the user
handles 录制 and 剪映融合 stages personally. Codex owns three stages:
(a)status: 待粗剪— default tora-local-talking-head-cut: Seed ASR
word timestamps, terminology/uncertainty review, and a source-timeline
pre-cut SRT. Stop for explicit user approval; no EDL or render is allowed
before approval. Then perform semantic cleanup, adaptive pauses,
source-size/source-fps rendering, dialogue loudness, media QC, and final-
media subtitle generation with caption QC PASS. Usevideo-useas the
multiple-take evidence/selection layer; useAgentchengfeng/chengfeng-videocut-skillsonly for word-level web review or
an intentionally aggressive comparison; chooseAI剪口播when the user
wants waveform review and an FCPXML timeline for 剪映/Final Cut Pro. The
default MP4 workflow delivers粗剪/口播-粗剪.mp4and setsstatus: 融合中;
the FCPXML workflow moves forward only after the editor timeline is accepted;
(b)status: 待字幕— runra-audio-to-subtitlesagainst the user's
final merged cut, require word-timestamp QC to pass, then runskill-captionswith the contractcaption_style(defaultanchor-dark) to preview, burn, and validate the phrase captions; save the
matching.srtand passingcaption-render-qc.json, then setstatus: 待动画;
(c)status: 待动画— add Remotion component overlays ONLY to the
全身出镜 segments listed in the 策划稿 frontmatter, composite, deliver the
final MP4 to视频工作台/已制作/<月上旬|月下旬>/<日期-主题>/成片/, put key QC in the
sibling质检/, register on 发布看板, setstatus: 成片.
All rough-cut tools are rough-cut-only in this workspace: never use any rough-
cut tool's subtitle output as the production subtitle timeline. - For any narrated final video, the final concatenated audio or final merged
video is the only subtitle timing source. Runra-audio-to-subtitlesafter
audio is locked; archivecaptions_words.json,captions.json,captions.srt, andcaption-qc.json. Character-count interpolation,
scene-duration interpolation, and fixed-delay caption timing are preview-
only and must never enter a recommended final. - Whenever a video component, video background, or reference-video replica
reaches a rendered, QC-passed final, stop before adding it to05-视频组件/and explicitly ask the user: whether it should enter the
component library, which existing category should contain it, and whether
a new category is needed. Do not infer placement or create a category before
the user answers. If the user declines, use only the normal finished-video
archive. If the user approves, treat the confirmed05-视频组件/<中文分类>/<中文组件名>/names as canonical and make the
component directory self-contained in the same task: portable MP4,manifest.json,质检/, and工程/(the sole editable source, stripped
of node_modules/renders). No engineering mirrors, symlinks, or second
copies exist anywhere else; register the component in05-视频组件/CATALOG.mdbefore reporting completion. - Whenever the user asks for a HeyGen/digital-human/avatar video, or a video
production contract calls for the existing Pluviobyte digital human, loadheygen-digital-avatarbefore generation. Its original Digital Twin look,
CLI OAuth subscription billing, Avatar III default, local IndexTTS2 audio,
one-master reuse, and approvedheadroom_08lower-left circle layout are
binding. Only an explicit request for全屏数字人may bypass the circle
layout. - Treat any decorative focus frame enclosing over 40% of the canvas or
multiple content groups as an entrance cue only. Its total visibility must
not exceed the shorter of 2 seconds or 15% of the scene, and it must exit
before the steady information state. Persistent frames require explicit
semantic purpose and must tightly bound one local target.
Default Visual System
When the user says to make a video with this skill and does not provide a
conflicting visual direction, use a white-first visual system:
- background: pure white or warm white, with generous blank space
- for white-first AI/tool tutorials, page-based explainers, and white motion
graphics, readreferences/perspective-grid-v5.mdand start from the
workspace component05-视频组件/视频背景/透视网格背景/. The bundledassets/perspective-grid-v5/copy is the same-hash Skill mirror and fallback,
not a second independently editable baseline. Use the approved V5 loop as
the bottom-most visual layer at its native playback rate: 1920x1080, 30fps,
7.3 seconds / 219 frames, three complete grid cells per loop, and a
2.433-second single-cell period. Preserve its geometry, asymmetric color
plate, center fog, phase, and seamless-loop timing. Do not rebuild it from an
older version or an ad-hoc CSS grid. - disable the V5 grid only when source footage, full-screen talking head, dense
UI, readability, a handoff contract, or an explicit reference conflicts with
it. Record the reason in the production note. - primary marks: black text, black line art, and restrained dark UI elements
- accents: use only small amounts of red, orange, or blue for emphasis,
warnings, arrows, feedback, or state - captions: for narrated explainers over footage, screenshots, the V5 grid, or
variable backgrounds, runskill-captionsand use itsanchor-dark
shrink-wrapped panel by default. A handoffcaption_styleor explicit user
style overrides it; frameless captions require a controlled uniform light
caption zone and a recorded reason. - avoid defaulting to dark, purple, neon, or SaaS-magic styling unless the user
explicitly asks for it or the selected route requires it - use
ian-xiaohei-illustrations
as the default illustration source for page-based or scene-based videos.
Prefer the active project-local copies under.agents/skills/ian-xiaohei-illustrations/,.codex/skills/ian-xiaohei-illustrations/, and.claude/skills/ian-xiaohei-illustrations/; the shared library path<WORKSPACE>/.claude/skills/ian-xiaohei-illustrationsis only a source of
truth to repair from when the project copy is missing. - give every page or scene a meaningful Xiaohei illustration whenever possible;
skip only when footage, screenshots, dense UI, or readability would clearly be
harmed - each illustration must explain the page's core claim, process, contrast, or
state; Xiaohei should perform the core action, not appear as decoration - if the plan says "Xiaohei" or "小黑配图", create real image assets with
ian-xiaohei-illustrationsand save them into the project. A CSS/HTML
approximation of Xiaohei does not satisfy this requirement. - for page-based 16:9 Xiaohei videos, use the
xiaohei-16x9-layoutcontract
before writing the composition. The contract fixes the page skeleton first:
left-top title, left-middle note card, right-middle Xiaohei illustration,
and lower caption. Do not invent a fresh layout unless the user asks for a
different visual system.
Page-Based Explainer Defaults
For AI/tool tutorials, page-based narrated explainers, and long-form Chinese
teaching videos, apply these defaults unless the user gives a conflicting
reference:
- For 16:9 Xiaohei explainers, read
references/xiaohei-16x9-layout.mdbefore building. Copy or adapt the
template asset inassets/xiaohei-16x9-template/when the project is a
HyperFrames page-based video. - Treat the layout as a contract, not a loose suggestion. The right-side
Xiaohei image belongs to the right-middle area, not the upper-right corner.
The left note card belongs to the left-middle area, not the lower-left area.
Captions must stay below the content zones with a clear bottom safe margin. - Select a page variant before writing HTML:
standard,long-title,wide-visual, orclose. Uselong-titlefor titles that would produce
awkward automatic breaks; usewide-visualfor horizontal illustrations;
useclosefor final action or summary pages. - Manually plan title and subtitle line breaks for every page. Do not rely on
automatic wrapping when a Chinese title is long enough to create orphan
characters, single-word lines, or large gaps. - Use the
mobile-readabletypography scale inreferences/xiaohei-16x9-layout.mdas the default for 16:9 Xiaohei page
videos. Most distribution is phone-first, and horizontal pages become small
on mobile. Only use the smallerdesktop-compactexception for explicit
desktop demos, projection, course-screen playback, or similarly large-screen
viewing. Do not shrink all text to make crowded pages fit; first shorten
copy, split lines manually, or choose a layout variant. - Use a light white-first layout by default: white background, black text,
meaningful Xiaohei illustrations, and small red/orange/blue accents only for
emphasis, warnings, arrows, feedback, or state. Do not drift into dark,
neon, purple, or SaaS-promo styling by default. - Treat Xiaohei illustrations as explanation, not decoration. Each page's
illustration must show the core action or concept being explained, such as
fact-checking, division of labor, orchestration, memory, handoff, or
acceptance. - Do not let a repeated page template leave a persistent empty lower-left or
lower-middle area just because the Xiaohei illustration sits on the right.
For teaching videos, first consider adding useful light content there rather
than simply scaling the illustration larger. Good fillers are role notes,
input/action/output cards, anti-pattern reminders, acceptance criteria,
priority lists, or "next time use this" prompts. - Keep these filler modules compact and information-bearing. They should help
the viewer remember or apply the current page, not act as decorative labels.
If the content does not add a useful judgment, leave the space intentional
instead of filling it mechanically. - Reserve non-overlapping zones for narrated pages: upper content and lower
captions. Captions must not cover body content. - Use
skill-captionsand itsanchor-darkpanel by default. It must wrap the
text rather than span the frame, keep one fixed bottom anchor, scale from the
1080p baseline, and avoid text stroke, heavy shadow, and live blur. - Avoid moving, zooming, drifting, or shaking the entire page just to create
motion. A stable page base is more important than constant camera movement. - Put motion on components: title, eyebrow, accent line, cards, bullets,
Xiaohei image, and captions may enter or settle while the page base,
and content frame remain fixed. - Reveal necessary components progressively with the narration. Do not show
all page content at once when the voiceover is still introducing pieces.
Prefer a sequence such as eyebrow -> title -> accent -> illustration ->
bullets/cards. - For every narrated hero term, name, number, or reveal, derive its semantic
cue from the final word timestamps and apply the semantic-cue micro-sweep inreferences/delivery-gates.md. The hero must become readable on the spoken
cue and finish settling while that phrase is still active; a scene midpoint
alone is not enough evidence. - Prefer reveal, wipe, fade-in, and subtle settle motion. Motion should make
the explanation feel spoken into view, not make the page perform for its own
sake. - Element variation is a hard requirement, not taste: adjacent pages must not
present an identical set of info components, and every page must show at
least one component-level change (a new element entering, an emphasis, or a
state switch) within its own duration. Long videos must avoid extended
PPT-like stillness. - Page density floor: a
standardpage carries at least two info components
besides the title and the Xiaohei illustration (note card, bullets, cards,
labels, chapter cue). If a page intentionally stays sparser, record the
reason in the project note. - For substantial style, caption, or motion changes, render a 10-second sample
first and get approval before rendering the full video. - For any page-based Xiaohei video, create a pre-render contact sheet from
page midpoints before the final full render. Fix layout failures at this
stage, not after the final MP4. The contact sheet must be checked for visual
center, title breaks, note-card position, illustration position, caption
weight, and content/caption clearance. - Generate subtitles only after the final narration has been concatenated.
Page renderers must consumemedia/captions/captions.jsondirectly and must
refuse a final build whencaption-qc.jsonis absent or failed.
Workflow
1. Intake
Capture these decisions in plain language:
- goal: teach, promote, recreate, translate, caption, package, or test
- source: brief, script, URL, reference video, existing footage, audio, deck, PR
- platform and ratio: 16:9, 9:16, 1:1, or user-specified; when neither the
user nor a handoff contract specifies one, default to Douyin horizontal 16:9 - required tool: HyperFrames, Remotion, ffmpeg, or no preference
- fidelity: pixel-level, visual-level, style-level, or original creative
- visual direction, defaulting to the white-first Xiaohei system above
- final archive slug and expected delivery path
Ask only if the missing answer changes the production path. Otherwise make a
conservative assumption and proceed.
2. Route
Read references/routing.md and select the narrowest workflow. Prefer an
existing specialized skill over a broad one.
Common routes:
- custom multi-scene HyperFrames video ->
general-video+hyperframes - short unnarrated motion piece ->
motion-graphics - product or SaaS promo ->
product-launch-video - website showcase ->
website-to-video - final-audio subtitle timeline / SRT / VTT ->
ra-audio-to-subtitles - existing Pluviobyte digital human / HeyGen avatar ->
heygen-digital-avatar - designed captions on talking-head footage ->
embedded-captions - designed overlay cards on footage ->
graphic-overlays - source download ->
ra-video-download - transcription or translation ->
视频转写 - final archive and QC ->
ai-video-qc-delivery
3. Plan Before Build
Create a production note in the project directory for non-trivial work. Include:
- scene list and timing
- asset list and source paths
- page-by-page Xiaohei illustration plan, unless the route does not use pages
or illustrations - page-by-page layout variant plan, including
standard,long-title,wide-visual, orclose, plus manual title/subtitle line breaks where
needed - page-by-page content-density plan, including how persistent blank areas such
as the left-lower quadrant will be used or intentionally preserved - illustration provenance: which skill will generate each image, where the
generated originals live, and where the project-local copies will be saved - asset-text inventory: visible words, labels, badges, stamps, and UI text
already embedded in images, screenshots, and footage; planned overlays must
not repeat the same semantic label unless the repetition is intentional and
documented - audio/caption plan, including the exact final media passed to
ra-audio-to-subtitlesand the canonical caption artifact directory - voice plan: exact provider, voice id, script path, and whether fallback is
forbidden for the final render. The workspace default is local IndexTTS2
voicepluvio-indextts2-calm-v1using the canonical lossless WAV inautomation/config/tts-routing.json; MiniMax.envvalues never override
this local-video route. - platform typography plan: use
mobile-readableby default, or document the
explicit large-screen reason fordesktop-compact; list pages that need
shorter copy or manual line breaks - caption safe zones and the selected caption mode; default to
anchor-dark
fromskill-captions, or record the reason for a frameless exception - chapter grouping and real start-time boundaries for scene planning
- component-level animation plan for each page, including the order in which
key components appear with the narration - semantic-cue plan for every hero term, name, number, or reveal, using final
word timestamps rather than estimated scene timing - pre-render layout preview plan: exact timestamps or scene midpoints for a
contact sheet before full rendering - 10-second sample plan before full rendering when the visual or motion style
is not yet approved - acceptance checks
- known risks or unavailable source assets
For reference-video work, the timing table must come from extracted frames, not
from memory.
4. Build
Use the selected execution skill. Keep edits scoped to the project. Do not add
music, captions, scenes, or visual embellishment unless the user's goal needs
them or the selected workflow requires them.
Before building a page-based Xiaohei video, generate the Xiaohei images first,
store them under a project asset directory such asassets/xiaohei-illustrations/, then make the HyperFrames/Remotion layer load
those image files directly. Do not start from a CSS-drawn Xiaohei placeholder
when the requested deliverable is a Xiaohei-skill illustration video.
For 16:9 HyperFrames Xiaohei explainers, start from the template asset inassets/xiaohei-16x9-template/ or reproduce its same layout contract. Keep the
template coordinates stable unless a page variant needs a documented
adjustment. If you adjust them, generate a fresh midpoint contact sheet and
verify the page still passes the layout gate before rendering the final MP4.
For ordinary use of the V5 perspective-grid background, copy the canonical
rendered loop from 05-视频组件/视频背景/透视网格背景/ into the project's own
assets and loop it continuously as the bottom layer. Verify its SHA-256 against
the bundled assets/perspective-grid-v5/ mirror. Keep playback at 1× and
retain one continuous phase across scene boundaries; do not restart the loop on
every page. Fork the editable source only when ratio, palette, geometry, or
speed must change. A fork is a new background version and must repeat seam,
geometry, contact-sheet, and media-spec QC before becoming a recommended
baseline.
For page-based explainers, keep the base page stable and animate only the
necessary components. If the result feels like the whole page is floating,
drifting, or shaking, revise before rendering the full video.
After the final narration is concatenated, run ra-audio-to-subtitles before
building the final composition. Render captions from its captions.json; do
not derive subtitle timing from voice_manifest.json segment durations. A
missing or failed caption-qc.json blocks the final render.
Before authoring the caption layer, load skill-captions, read its registered
style contract, and consume the approved captions.json timestamps directly.
Use anchor-dark unless the handoff or user selects another style. Preserve
its shrink-wrap, fixed bottom anchor, native 4K redraw, and no-heavy-shadow
constraints, and test it over both source footage and the lightest page
background. A substantial caption-style change requires a short sample before
the full render.
5. QC And Archive
Read references/delivery-gates.md. At minimum verify:
- for 待制作 queue jobs:
automation/scripts/check_delivery.pyexits 0
against the handoff file, project dir, and final MP4; its output is pasted
into the handoff file's 制作端回执,statusbecomes已完成, and01-内容生产/视频工作台/已制作/<月上旬|月下旬>/<日期-主题>/is assembled with the handoff
file, the final MP4 copy under成片/, and key QC frames under质检/ - final MP4 exists in the unified workbench delivery location:
视频工作台/已制作/<月上旬|月下旬>/<日期-主题>/成片/for every production route - width, height, frame rate, duration, video codec, audio codec, channels
- representative contact sheets or side-by-side comparisons
- page/scene coverage: every page has a useful illustration or a stated reason
for skipping it - for page-based 16:9 Xiaohei videos, the pre-render contact sheet passes the
xiaohei-16x9-layoutgate: right visual centered, left note card centered,
no awkward title wrapping, captions below content, and no persistent
bottom-heavy page - for 16:9 Xiaohei page videos, the contact sheet and representative single
frames use themobile-readabletypography scale by default and remain
readable without zooming when reviewed at reduced size; anydesktop-compact
exception must be explicitly justified in the project note - Xiaohei provenance: when Xiaohei is requested or selected by default, the
project contains the generated image assets, the render references those
assets directly, and a contact sheet confirms the assets appear in the final
scenes - captions do not cover content; the default
anchor-darkpanel fromskill-captionswraps the text, preserves one fixed baseline, remains inside
the lower safe zone, and introduces no heavy-filter warning or full-width
lower-third - caption artifacts come from
ra-audio-to-subtitles,caption-qc.json
reportsstatus: pass, timing source isvolcengine-word-timestamps, and
alignment coverage meets the contract (0.90 by default) - component order and animation are visible in extracted frames
- asset-embedded text has been compared with authored overlays/chrome and no
accidental duplicate semantic label remains - every narrated hero term, name, number, or reveal passes the semantic-cue
micro-sweep defined inreferences/delivery-gates.md - subtitles/audio sync when captions or narration exist
- voice provenance: final narration must identify local IndexTTS2, voice id
pluvio-indextts2-calm-v1, and the canonical reference WAV SHA-256. If the
manifest showssay, browser/generic speech, MiniMax, another cloud provider,
or any fallback segment, the MP4 is a draft and must not be archived as the
recommended final. - reference alignment report when a reference video exists
- when the V5 perspective grid is active: the project uses the canonical loop
at1×, the phase remains continuous across scene boundaries, and foreground
content does not destroy the intentional center whitespace or reduce text
readability - publish-title handoff: queue jobs skip this entirely — candidates already
live in the handoff file's 标题候选 section and the user picks manually at
publish time; do not create视频标题.md. Only for non-queue jobs, usera-video-titleto produce 8-12 candidates after QC, return them for user
selection, then create or update视频标题.mdnext to the final MP4. Do not
silently overwrite an existing title unless the user has selected the
replacement.
Contact sheets and QC frames are required for review. Keep full QC in the
engineering project and copy the key frames into the unified archive at已制作/<月上旬|月下旬>/<日期-主题>/质检/ for every production route.
Output
Return the recommended final MP4 path, the key QC artifact path, confirmed
specs, and any limitation that remains. For 待制作 queue jobs, also return the
updated handoff file path under 已制作/ with the checker result. Keep the
response concise.