SKILL.md
JianYing Editor Skill
Use this skill when the user wants to automate video editing, generate drafts, or manipulate media assets in JianYing Pro.
Agent execution playbook: [docs/agent-playbook.md](docs/agent-playbook.md) Minimal command SOP: [docs/minimal-command-sop.md](docs/minimal-command-sop.md) Natural language usage guide: [usage.md](usage.md) Draft inspector CLI: python <SKILLROOT>/scripts/draftinspector.py list --limit 20 python <SKILLROOT>/scripts/draftinspector.py summary --name "DraftName" python <SKILLROOT>/scripts/draftinspector.py show --name "DraftName" --kind content --json For generic editing requests, always follow the "Quick Edit Runtime Template" and "Acceptance Checklist" in that playbook.
🚨 重要开发原则 (CRITICAL DEVELOPER RULES)
- 脚本位置:禁止在 Skill 内部目录创建剪辑脚本。所有的剪辑逻辑实现代码(
.py脚本)必须存放在用户当前项目的根目录(或子目录,如scripts/),以保持 Skill 库的纯净和可移植性。 - 版本与架构:
- 双平台适配:已全面支持 MacOS (路径探测/录屏) 与 Windows。 - Auto-healing:支持 v5.9+ (draft_info.json)。若草稿损坏或版本冲突,使用 overwrite=True 初始化 JyProject 可触发自动修复。
- 配乐选择:
- 简单演示使用默认音乐。实际项目,应优先检索并推荐 data/cloudmusiclibrary.csv 中的相关曲目,或根据视频主题(如“科技”、“温暖”)进行关键词过滤。 - 询问用户:“我发现了几首符合主题的云端音乐,要不要试试?(如:Illuminate - 科技感)”。
规则指南 (Rules)
Read the individual rule files for specific tasks and constraints:
- [rules/setup.md](rules/setup.md) - Mandatory initialization code for all scripts.
- [rules/core.md](rules/core.md) - Core operations: Saving, Exporting, and Draft management.
- [rules/cli.md](rules/cli.md) - CLI contracts and machine-readable output conventions.
- [rules/media.md](rules/media.md) - Importing assets & AI Video Analysis Optimization (30m/360p).
- [rules/text.md](rules/text.md) - Adding Subtitles, Text, and Captions.
- [rules/keyframes.md](rules/keyframes.md) - Advanced: Adding Keyframe animations.
- [rules/effects.md](rules/effects.md) - Searching for and applying Filters, Effects, and Transitions.
- [rules/recording.md](rules/recording.md) - New: Screen Recording & Smart Zoom automation.
- [rules/web-vfx.md](rules/web-vfx.md) - Advanced: Web-to-Video generation.
- [rules/generative.md](rules/generative.md) - Chain of Thought for generative editing.
- [rules/audio-voice.md](rules/audio-voice.md) - New: TTS Voiceover & BGM sourcing.
🎯 Agent Quick Routing
- 云端视频 + 云端音乐:
rules/media.md+rules/audio-voice.md->examples/cloudvideomusicttsdemo.py - 智能配音与字幕 (Script-to-Video):
rules/text.md+rules/audio-voice.md-> 核心 APIaddnarratedsubtitles - 旁白与字幕对齐:
rules/text.md+rules/audio-voice.md->examples/cloudvideomusicttsdemo.py - 录屏与智能变焦:
rules/recording.md->tools/recording/recorder.py - 批量导出/无头导出:
rules/core.md+rules/cli.md->examples/robustautoexport.py - 影视解说生成:
rules/generative.md->scripts/moviecommentarybuilder.py
📖 经典示例 (Examples)
Refer to these for complete workflows:
- [examples/myfirstvlog.py](examples/myfirstvlog.py) - A complete vlog creation demo with background music and animated text.
- [examples/simpleclipdemo.py](examples/simpleclipdemo.py) - Quick-start tutorial for basic cutting and track management.
- [examples/compoundclipdemo.py](examples/compoundclipdemo.py) - New: Professional nested project (Compound Clip) automation.
- [examples/cloudvideomusicttsdemo.py](examples/cloudvideomusicttsdemo.py) - Cloud video + cloud BGM + TTS/subtitle alignment.
- [examples/webtovideointrodemo.py](examples/webtovideointrodemo.py) - Web-to-Video intro demo (HTML animation -> timeline clip).
- [examples/robustautoexport.py](examples/robustautoexport.py) - Stable export workflow and failure handling.
- [examples/autoexposurealigndemo.py](examples/autoexposurealigndemo.py) - CV-assisted exposure alignment workflow.
- [examples/videotranscribeandmatch.py](examples/videotranscribeandmatch.py) - Advanced: AI-driven workflow (Transcribe Video -> Match B-Roll via AI semantics -> Assemble Draft).
🧠 提示词与集成工具 (Prompts & Integrated Tools)
Use these templates and scripts for complex tasks:
- Asset Search: Find filters, transitions, and animations by Chinese/English name:
``bash python <SKILLROOT>/scripts/assetsearch.py "复古" -c filters ``
- Movie Commentary Builder: Generate 60s commentary videos from a storyboard JSON:
``bash python <SKILLROOT>/scripts/moviecommentary_builder.py --video "video.mp4" --json "storyboard.json" ``
- Sync Native Assets: Import your favorited/played BGM/Styles from JianYing App to the Skill:
``bash python <SKILLROOT>/scripts/syncjyassets.py # Index cloud materials from your existing drafts python <SKILLROOT>/scripts/buildcloudmusiclibrary.py python <SKILLROOT>/scripts/buildcloudtextstyleslibrary.py ``
- README to Tutorial: Convert a project's README.md into a full installation tutorial video script:
- Read prompt: prompts/readmetotutorial.md - Inject content into {{README_CONTENT}} variable
- Screen Recorder & Smart Zoom: Record your screen and auto-apply zoom keyframes:
``bash python <SKILLROOT>/tools/recording/recorder.py # Web preview capture (high performance) python <SKILLROOT>/scripts/webrecorder.py --url "http://localhost:3000" --duration 5 # Or apply zoom to existing video: python <SKILLROOT>/scripts/jy_wrapper.py apply-zoom --name "Project" --video "v.mp4" --json "e.json" ``
- Draft Inspector: Examine draft structure and metadata (v5.9+ support):
``bash python <SKILLROOT>/scripts/draftinspector.py list --limit 20 python <SKILLROOT>/scripts/draftinspector.py summary --name "DraftName" ``
- Auto Exporter: Headless export of a draft to MP4/SRT:
``bash python <SKILLROOT>/scripts/autoexporter.py "DraftName" "output.mp4" --res 1080 --fps 60 # For SRT only: python <SKILLROOT>/scripts/jywrapper.py export-srt --name "DraftName" ``
- Template Clone & Replacer: 安全克隆模板并批量替换物料 (防止损坏原模板):
``bash # 克隆模板生成新项目 python <SKILLROOT>/scripts/jywrapper.py clone --template "酒店模板" --name "客户A_副本" ``
- API Validator: Run a quick diagnostic of your environment:
``bash python <SKILLROOT>/scripts/apivalidator.py ``
🚀 快速开始示例
import os
import sys
# 1. 环境初始化 (必须同步到脚本开头,支持 Win/Mac)
current_dir = os.path.dirname(os.path.abspath(__file__))
env_root = os.getenv("JY_SKILL_ROOT", "").strip()
# 探测 Skill 路径 (支持 Antigravity, Trae, Claude 等)
skill_root = next((p for p in [
env_root,
os.path.join(current_dir, ".agent", "skills", "jianying-editor"),
os.path.join(current_dir, ".trae", "skills", "jianying-editor"),
os.path.join(current_dir, ".claude", "skills", "jianying-editor"),
os.path.join(current_dir, "skills", "jianying-editor"),
os.path.abspath(".agent/skills/jianying-editor"),
os.path.abspath(".trae/skills/jianying-editor"),
os.path.abspath(".claude/skills/jianying-editor"),
os.path.abspath("skills/jianying-editor"),
os.path.dirname(current_dir)
] if p and os.path.exists(os.path.join(p, "scripts", "jy_wrapper.py"))), None)
if not skill_root: raise ImportError("Could not find jianying-editor skill root.")
sys.path.insert(0, os.path.join(skill_root, "scripts"))
from jy_wrapper import JyProject
if __name__ == "__main__":
# 2. 初始化工程 (支持 v5.9+ 及自修复)
project = JyProject("New AI Video", overwrite=True)
assets_dir = os.path.join(skill_root, "assets")
# 3. 智能配音与字幕 (One-click Script-to-Video)
project.add_narrated_subtitles(
text="欢迎使用剪映自动化 Skill。这是一个全面适配 MacOS 的进阶版本。",
speaker="zh_female_xiaopengyou"
)
# 4. 导入额外素材
project.add_media_safe(os.path.join(assets_dir, "video.mp4"), "0s")
project.add_media_safe(os.path.join(assets_dir, "audio.mp3"), "0s", track_name="Audio")
# 5. 添加带动画的标题
project.add_text_simple("剪映自动化开启", start_time="1s", duration="3s", anim_in="复古打字机")
project.save()
🛠️ 初始化与项目规范 (Initialization & Project Rules)
在初始化 JyProject 时,请务必根据主视频素材的比例设置分辨率。默认值为横屏 (1920x1080)。
🚨 脚本存放位置规范
禁止在 Skill 安装目录下创建你的业务剪辑脚本。
- 正确做法:将你的剪辑 Python 脚本放在项目的根目录。
- 原因:Skill 目录应该只包含工具集源码,便于后续
git pull升级。业务代码混入会导致版本管理混乱。