This skill only retains general-purpose capabilities:
- Generate new drafts based on existing CapCut draft templates
- Extract subtitle styles, transitions, animations, and effects from templates
- Verify whether a draft will be indexed and displayed by CapCut
- Extract frames from AI videos or CapCut drafts for AI trace inspection
- Generate repair windows for obvious AI traces
- Use local RIFE for high-quality frame interpolation preprocessing
Default CapCut draft root directory:
$HOME/Movies/CapCut/User Data/Projects/com.lveditor.draft
If your CapCut draft directory is different, set CAPCUT_DRAFT_ROOT or pass --output-dir / --draft-root。
Generate draft
node <skill-dir>/scripts/create-capcut-draft.mjs \
--template "PL-magicrep-PV-001" \
--video "/path/to/ai-video.mp4" \
--name "ai-video-capcut-001" \
--captions "Line 1\nLine 2\nLine 3" \
--split-at 7.5
Common parameters:
| Parameter | Description |
|---|---|
--template |
Name of an existing CapCut draft directory |
--video |
Local AI video path |
--name |
New draft directory name and home page display name |
--captions |
Subtitle text, can use \n for line breaks |
--srt |
SRT subtitle file, replaces --captions |
--split-at |
Video split points; transitions will be attached to the segment before the split point |
--no-transition |
Do not copy template transitions |
--no-captions |
Do not generate subtitle track |
--output-dir |
Custom CapCut draft root directory |
--force |
Replace first if a draft with the same name already exists |
The script will synchronize these files that CapCut reads, to avoid the draft directory existing but not showing on the home page:
draft_info.jsondraft_meta_info.jsondraft_info.json.baktemplate-2.tmpTimelines/project.jsonTimelines/<draft_info.id>/draft_info.jsonTimelines/<draft_info.id>/template.tmpTimelines/<draft_info.id>/template-2.tmproot_meta_info.json
After generation, if CapCut is already open, fully exit and reopen it so the home page reloads root_meta_info.json。
Verify draft
node <skill-dir>/scripts/validate-capcut-draft.mjs \
--draft "ai-video-capcut-001" \
--stale-marker "OLD_TEMPLATE_NAME"
Verification points include:
- Whether the root index has a corresponding entry
draft_info.idandTimelines/<id>、project.jsonare consistent- Whether top-level and nested
draft_info/templatecopies are synchronized - Whether the video material path exists
- Whether there are residual old template names or old material paths
Extract template styles
node <skill-dir>/scripts/extract-template-styles.mjs \
--template "PL-magicrep-PV-001" \
--output ./capcut-template-styles.json
The output includes subtitle styles, transitions, animations, effects, canvas, and track structure.
AI trace inspection
Extract frames from a single video:
node <skill-dir>/scripts/extract-ai-artifact-frames.mjs \
--video "/path/to/ai-video.mp4" \
--output-root ./ai-artifact-qa
Extract frames from a CapCut draft timeline:
node <skill-dir>/scripts/extract-ai-artifact-frames.mjs \
--draft "ai-video-capcut-001" \
--output-root ./ai-artifact-qa
Batch inspect a local directory:
node <skill-dir>/scripts/extract-ai-artifact-frames.mjs \
--video-dir "/path/to/videos" \
--output-root ./ai-artifact-qa
Read references/ai-artifact-qa.md to get the判定 criteria and review JSON structure.
Repair planning
node <skill-dir>/scripts/plan-ai-artifact-fixes.mjs \
--review ./ai_artifact_review.json \
--output ./ai_artifact_fix_plan.json
RIFE frame interpolation
Read references/smart-frame-interpolation.md. Common commands:
node <skill-dir>/scripts/smart-frame-interpolate.mjs \
--input "/path/to/source.mp4" \
--output "/path/to/source_60fps_rife.mp4"
Troubleshooting
First run:
node <skill-dir>/scripts/validate-capcut-draft.mjs --draft "<draft-name>"
For common issues, see references/failure-modes.md。
Script list
| Script | Purpose |
|---|---|
scripts/create-capcut-draft.mjs |
Generate a displayable CapCut draft based on a template |
scripts/validate-capcut-draft.mjs |
Verify a single draft's structure and index |
scripts/extract-template-styles.mjs |
Extract template styles |
scripts/extract-ai-artifact-frames.mjs |
Extract frames from videos/drafts to generate contact sheets |
scripts/plan-ai-artifact-fixes.mjs |
Plan repair windows based on review JSON |
scripts/smart-frame-interpolate.mjs |
Local RIFE frame interpolation |