Express camera movement with keyframes, transforms, animation, and speed; confirm capability first, then generate verifiable edits.
When to Use
- The user explicitly requests the CapCut capability corresponding to this skill's title and accepts handling it through the unified Rust
jianyingCLI. - The user needs auditable plans, execution, or verification evidence, rather than only a conceptual answer.
- When requirements are not yet clear, first hand off to
jianying-userouting; this skill should not be used for other editors, general video knowledge Q&A, or speculative execution lacking the necessary materials.
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: Writes must use an isolated copy; costs, external services, and native application actions must have precise approval; playback or export conclusions must have corresponding runtime evidence.
- ❌ Out of scope: Do not automatically install or upgrade the CLI, do not generate Python draft scripts, do not call external headless checkout, do not overwrite source drafts, and do not fabricate asset IDs, media facts, or success states.
Step 1 — Establish a Fact Baseline
Record the user's goal, absolute paths, host platform, target deliverables, and allowed 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 the capability is available;partial、external_dependency or a missing state must enter the degradation path.
Step 3 — Validate Inputs
Probe media, drafts, configuration, or task state; 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 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, and do not automatically retry.
Step 6 — Verify and Deliver
Run structural validation, then append cold-reopen, playback, or native export evidence according to the target; report the actual level, failed fields, recoverable actions, and unverified items.
Rules
- The material 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; if any field changes, reconfirm.
- User data is processed only within local target paths and the declared external Provider boundaries; unrelated credentials must not be collected, uploaded, or logged.
- 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 verifyIt only proves 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 stop and be changed to a new output.
- Automatic retry for ambiguous: first query the task, audit, and external artifacts; only after confirming no side effects occurred may the user approve a retry.
- Filling in resources or times from memory: resource IDs come from the catalog, times come from probe/ASR/project data; if they cannot be obtained, block explicitly.
- 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 capabilities are recorded.
- All input paths, media facts, and hashes are verifiable.
- Write targets are isolated from source drafts, and confirmation points are precisely bound.
- Failure and ambiguous paths retain the task ID, logs, and recovery recommendations.
- The final wording matches the actual evidence level.
Run contract
- Trigger conditions: the user requests scaling, position shift, rotation, opacity, keyframes, entrance/exit animations, or speed changes.
- Required capabilities:
timeline.keyframe、timeline.animation、timeline.quantization_report。 - Minimum CLI version:
1.6.0; when any required capability is partial, full execution must not be promised. - Default risk:
reversible_write。 - Input facts: clip ID/duration, source range, project FPS, asset resolution, target motion, and allowed quantization error.
- Confirmation points: confirm the target copy and application scope before writing to an existing draft and before native playback verification.
- Success evidence:
playback; field persistence and structural validation cannot prove the motion feel. - Prohibited actions: do not generate Python draft scripts, do not call external headless checkout, do not silently quantize, do not skip edge-exposure checks, and do not falsely claim support when a capability is partial.
Workflow
- Read clip and asset facts, and confirm the source range and target duration after speed changes.
- Quantize time points to the project frame grid; stop directly on unsafe offsets.
- Keyframes for each property must strictly increase in intra-segment time and remain within the segment length range.
- Express the target with the fewest properties, and check whether scaling/position shift causes edge exposure.
- Accept progressively through isolated writes, structural validation, cold reopen, and playback.
For recipes, quantization, and failure recovery, see references/workflow.md. For isolated editing Jobs, see examples/minimal-job.json。
Progressive materials
- On first execution, load normal path to get the end-to-end order.
- When encountering a failure or unknown state, load failure recovery and error recovery table。
- When the user requests privilege escalation, overwrite, or automatic retry, load boundary refusal。
- Before delivery, complete verification checklistitem by item; do not claim completion based only on a plan or the existence of files.