Productivity

jianying-editor

luoluoluo22/jianying-editor-skill · updated Apr 8, 2026

$npx skills add https://github.com/luoluoluo22/jianying-editor-skill --skill jianying-editor
summary

Use this skill when the user wants to automate video editing, generate drafts, or manipulate media assets in JianYing Pro.

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 升级。业务代码混入会导致版本管理混乱。