Convert long spoken-word recordings into auditable keep/drop decisions and isolated drafts. Cut points come from audio facts and semantics, not manual estimation.
When to use
- The user explicitly requests the Jianying (CapCut) capability corresponding to this skill's title and accepts processing through the unified Rust
jianyingCLI. - The user needs auditable planning, execution, or verification evidence, rather than just a conceptual answer.
- When the requirement is not yet clear, first hand it to
jianying-draft-userouting; this skill should not be used for other editors, general video knowledge Q&A, or speculative execution lacking necessary assets.
Capability boundaries
- ✅ Can do: Generate deterministic plans based on real paths and probe results; when capability is
supported, execute operations in this domain; output the evidence level actually achieved. - ⚠️ Requires conditions: Writes must use isolated copies; costs, external services, and native application actions must have precise approval; playback or export conclusions must have corresponding runtime evidence.
- ❌ Out of scope: Does not auto-install or upgrade the CLI, does not generate Python draft scripts, does not call external headless checkout, does not overwrite source drafts, and does not fabricate resource IDs, media facts, or success states.
Step 1 — Establish a factual baseline
Record the user's goal, absolute paths, host platform, target deliverables, and permitted side effects; when information is insufficient, first provide a read-only diagnostic plan and list the missing facts item by item.
Step 2 — Handshake capabilities
Run version, doctor, and capabilities checks. A satisfying version does not mean a capability is available;partial、external_dependency or missing states must enter the degraded path.
Step 3 — Validate inputs
Probe media, drafts, configuration, or task states; reject nonexistent paths, out-of-range times, unknown schemas, mismatched hashes, and approvals that cannot be bound to a target.
Step 4 — Form a deterministic plan
Write the operations, parameters, output paths, risk levels, confirmation points, and expected evidence into the plan. Order multiple tasks as "read-only facts → reversible writes → external/native actions".
Step 5 — Execute or stop before the gate
Execute only steps that are supported and authorized. When output is ambiguous, times out, or partially succeeds, retain the task ID, audit logs, and artifacts; do not automatically retry.
Step 6 — Verify and deliver
Run structural validation, then append cold-reopen, playback, or native export evidence according to the goal; report the actual level, failed fields, recoverable actions, and unverified items.
Rules
- The media durations, dimensions, streams, hashes, and draft versions in the plan must come from tool output.
- Approval must be bound to the command, parameters, target, validity period, and budget; any change to any field requires re-confirmation.
- User data is processed only within local target paths and the declared external Provider boundary; unrelated credentials must not be collected, uploaded, or recorded.
- When current evidence is insufficient, use
UNVERIFIED、BLOCKEDorAMBIGUOUS; it is forbidden to fill in results with inference.
Gotchas
- Treating version as capability: Always check the specific capability; do not execute directly just because the CLI version is new enough.
- Treating structural validation as final acceptance:
project verifyproves only the structural layer; playback and native export require independent evidence. - Directly modifying the source draft: First create an isolated copy and record the input hash; any in-place overwrite request must be stopped and changed to a new output.
- Automatically retry ambiguous: First query the task, audit, and external artifacts; only after confirming no side effects occurred can the user approve a retry.
- Filling in resources or times from memory: Resource IDs come from the catalog, and times come from probe/ASR/project data; if they cannot be obtained, explicitly block.
- Vaguely asking for more information: First give an executable read-only plan, then explicitly list the gaps such as paths, delivery level, or authorization.
Verification checklist
- CLI identity, version, and capability have been recorded.
- All input paths, media facts, and hashes can be reviewed.
- Write targets are isolated from source drafts, and confirmation points are precisely bound.
- Failure and ambiguous paths retain the task ID, logs, and recovery suggestions.
- The final wording is consistent with the actual evidence level.
Run contract
- Trigger conditions: the user requests precise spoken-word editing, removal of pauses/retakes, generation of sentence-by-sentence subtitles, or reuse of a transcript.
- Required capability:
media.probe、media.asr_whisper_cpp、media.asr_ledger、timeline.edit。 - Minimum CLI version:
1.6.0; before using local transcription, also pin the reviewed whisper.cpp executable/model. - Default risk:
external_native_execution; pure local analysis can be downgraded to read_only. - Input facts: source media hash/duration/audio stream, existing transcript, ASR provider identity, budget, protected words, and target pacing.
- Confirmation points: paid ASR/TTS, writing to an existing draft, playback, or native execution each require precise confirmation.
- Success evidence:
playback; keep-list or structural verification cannot replace listening. - Prohibited actions: must not generate Python draft scripts, must not call external headless checkout, must not manually estimate word-level cut points, silently resubmit ambiguous ASR, or delete uncertain numbers/proper names.
Workflow
- Probe the material and pin the content SHA-256.
- For local transcription, first use
media transcribe ... --planto pin the executable/model hash, content hash, and request; remove--planand then execute; the success record is reused from the ledger. media.asr_whisper_cppStop when it is not supported, the model license/hash has not been reviewed, or there is only a genericmedia.asr_provider=partial; do not use a general text-generation model as a transcriber.- Combine silence, repeated segments, and semantics to generate the keep/protect list; cut points fall in word gaps.
- Execute timeline trim/move/remove in the isolated copy, keeping the main track continuous.
- Import subtitles, verify structure, cold reopen, and audition cuts, sibilance, semantics, and synchronization.
The film commentary workflow first freezes the manually reviewed commentary storyboard, then reconciles the narration artifacts, subtitle cues, and B-roll semantic slots separately. Storyboard suggestions cannot directly generate delete/replace commands, nor bypass material copyright and spoiler confirmation.
For the ledger and cut-point rules, see references/workflow.md. For the isolated editing Job, see examples/minimal-job.json。
Progressive materials
- On first execution, load normal path to obtain the end-to-end sequence.
- When encountering a failure or unknown state, load failure recovery and error recovery table。
- When the user requests exceeding authority, overwriting, or automatic retry, load boundary refusal。
- Complete each item before delivery verification checklist, and do not claim completion based solely on plans or the existence of files.