jianying-editor

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 Minimal command SOP: docs/minimal-command-sop.md Draft inspector CLI: python <SKILL_ROOT>/scripts/draft_inspector.py list --limit 20 python <SKILL_ROOT>/scripts/draft_inspector.py summary --name "DraftName" python <SKILL_ROOT>/scripts/draft_inspector.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)

  1. 脚本位置禁止在 Skill 内部目录创建剪辑脚本。所有的剪辑逻辑实现代码(.py 脚本)必须存放在用户当前项目的根目录(或子目录,如 scripts/),以保持 Skill 库的纯净和可移植性。
  2. 配乐选择
    • 简单演示使用默认音乐。实际项目,应优先检索并推荐 data/cloud_music_library.csv 中的相关曲目,或根据视频主题(如“科技”、“温暖”)进行关键词过滤。
    • 询问用户:“我发现了几首符合主题的云端音乐,要不要试试?(如:Illuminate - 科技感)”。

规则指南 (Rules)

Read the individual rule files for specific tasks and constraints:

🎯 Agent Quick Routing

  • 云端视频 + 云端音乐:rules/media.md + rules/audio-voice.md -> examples/cloud_video_music_tts_demo.py
  • 旁白与字幕对齐:rules/text.md + rules/audio-voice.md -> examples/cloud_video_music_tts_demo.py
  • 录屏与智能变焦:rules/recording.md -> tools/recording/recorder.py
  • 批量导出/无头导出:rules/core.md + rules/cli.md -> examples/robust_auto_export.py
  • 影视解说生成:rules/generative.md -> scripts/movie_commentary_builder.py

📖 经典示例 (Examples)

Refer to these for complete workflows:

🧠 提示词与集成工具 (Prompts & Integrated Tools)

Use these templates and scripts for complex tasks:

  • Asset Search: Find filters, transitions, and animations by Chinese/English name:
    python <SKILL_ROOT>/scripts/asset_search.py "复古" -c filters
    
  • Movie Commentary Builder: Generate 60s commentary videos from a storyboard JSON:
    python <SKILL_ROOT>/scripts/movie_commentary_builder.py --video "video.mp4" --json "storyboard.json"
    
  • Sync Native Assets: Import your favorited/played BGM from JianYing App to the Skill:
    python <SKILL_ROOT>/scripts/sync_jy_assets.py
    
  • README to Tutorial: Convert a project's README.md into a full installation tutorial video script:
    • Read prompt: prompts/readme_to_tutorial.md
    • Inject content into {{README_CONTENT}} variable
  • Screen Recorder & Smart Zoom: Record your screen and auto-apply zoom keyframes:
    python <SKILL_ROOT>/tools/recording/recorder.py
    # Or apply zoom to existing video:
    python <SKILL_ROOT>/scripts/jy_wrapper.py apply-zoom --name "Project" --video "v.mp4" --json "e.json"
    
  • Auto Exporter: Headless export of a draft to MP4/SRT:
    python <SKILL_ROOT>/scripts/auto_exporter.py "DraftName" "output.mp4" --res 1080 --fps 60
    # For SRT only:
    python <SKILL_ROOT>/scripts/jy_wrapper.py export-srt --name "DraftName"
    
  • Template Clone & Replacer: 安全克隆模板并批量替换物料 (防止损坏原模板):
    # 克隆模板生成新项目
    python <SKILL_ROOT>/scripts/jy_wrapper.py clone --template "酒店模板" --name "客户A_副本"
    
  • API Validator: Run a quick diagnostic of your environment:
    python <SKILL_ROOT>/scripts/api_validator.py
    

🚀 快速开始示例

import os
import sys

# 1. 环境初始化 (必须同步到脚本开头)
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.dirname(current_dir) # 如果在 examples/ 目录下
] 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__":
    project = JyProject("My Video Project")
    assets_dir = os.path.join(skill_root, "assets")

    # 2. 导入视频与配乐
    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")

    # 3. 添加带动画的标题
    project.add_text_simple("剪映自动化开启", start_time="1s", duration="3s", anim_in="复古打字机")

    project.save()

🛠️ 初始化与项目规范 (Initialization & Project Rules)

在初始化 JyProject 时,请务必根据主视频素材的比例设置分辨率。默认值为横屏 (1920x1080)

🚨 脚本存放位置规范

禁止在 Skill 安装目录下创建你的业务剪辑脚本

  • 正确做法:将你的剪辑 Python 脚本放在项目的根目录。
  • 原因:Skill 目录应该只包含工具集源码,便于后续 git pull 升级。业务代码混入会导致版本管理混乱。
Weekly Installs
162
GitHub Stars
478
First Seen
Feb 2, 2026
Installed on
gemini-cli158
codex158
opencode156
cursor154
github-copilot153
kimi-cli152