使い方
- インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
- 必要なツール、認証情報、対応環境を原文で確認します。
- 入力と成果物を指定し、出力を資料と照合します。
npx skills add https://github.com/nextwork-projects/ai-video-editor-cooked --skill start開始前の確認
- 導入にはモデル契約、API枠、ファイルへのアクセス許可は含まれません。
- スター数や導入数は活動の指標であり、独立した品質・安全性試験ではありません。
見出し、例、コード、表、リンク、参照画像を含む原文を表示しています。
Start
Paths: ${CLAUDE_SKILL_DIR} means the folder containing this SKILL.md, and ${CLAUDE_PLUGIN_ROOT} the plugin folder two levels above it.
Read ${CLAUDE_PLUGIN_ROOT}/PRINCIPLES.md first: the rules every video follows (where, asking, looking real, motion, story, privacy, cost).
Every question goes in the question box: the AskUserQuestion tool (2-4 options, recommended first). Only in an agent without it, ask numbered questions in text. Attached images: <paths> in an answer: Read each first.
The user's whole job: drop a video, answer a few questions, approve the cut, approve the stills, both on the review page. Everything else is this skill's job.
P="${CLAUDE_PLUGIN_ROOT}/lib/ai_editor/profile.py". Run it with python3 on Mac and Linux, py on Windows.
First run (the session-start line says so, or setup.py doctor --quiet prints a line): the setup skill's step 0 first (window, then installs in the background), then carry on here.
0. Links first
If the message has any link, @handle or file path, route it before anything else. Never ask what a link is; the classifier knows.
L="${CLAUDE_PLUGIN_ROOT}/lib/ai_editor/links.py"
python3 "$L" route "<the user's whole message>" [--own]--own only when the user says the video link is theirs ("my video", "I posted this"). It prints a list, already in the order to handle it: questions, creators, own footage, long videos, websites, music. Each item has a kind:
| kind | do |
|---|---|
ask | One question box for all ask items together (at most four): each item's question word for word, its options labels in order, the first marked "(Recommended)". The answer becomes the kind. |
creator | creator-teardown quick mode on handle and platform (no platform: ask, TikTok first). With urls, write them to picks.txt and use list <handle> --urls picks.txt. Save it as the profile creator. |
own | python3 "$L" fetch "<url>" edits/<name> (name is in the item). It prints the file path; that is the video for step 1. |
long | the clips skill, with this link as its source. |
product | the product-video skill with this URL. A plain website (not a video site, file or share link) is always product, even after "edit my video": go straight to its brief, with no "did you mean your own footage" line. |
music | the music question with rights (style-edit, or product-video's music step). |
unsupported | say its note to the user, word for word, and go on with the rest. |
An item with a note (Instagram profiles, Spotify, app stores, OneDrive): say the note once. fetch exit 3 means the site wants a login: ask in the question box "Use your browser's login for this one download?" (No, I'll download it myself (Recommended) / Yes, Chrome / Yes, another browser), and only on a yes re-run with --cookies-from-browser <browser>. Exit 1: say its message. Only download what the user may edit; a creator's video is for the teardown, not to re-edit.
1. The video
"Open the home page" (nextwork-editor, /ai-editor:start), "listen for jobs" or "take job <id>": references/home.md. No video, link or creator (a bare "edit my video"): ask Open the home page (Recommended) / I'll give the path / Use the sample take (cut's "No video yet?"). Edit folder: IMG_1234.MOV -> edits/img-1234.
2. Intake: ask nothing the profile or style answers
python3 "$P" missing --style # answered at setup, or by the style picked in the windowA JOB video (the window picked the style), "just edit it", or no id printed: run python3 "$P" defaults and ask nothing. It keeps every saved answer and fills the rest with the first option (audience "people curious about the topic", goal follow, names found in what they say). Post no status about defaults: the review page shows an audience only when the user gave one (review.py <edit> status "For <their audience>"). Otherwise read references/intake.md and ask the printed ids in one question box. Profile: python3 "$P" show.
3. Route
Do each step in order, skipping what is already done. Read each skill's SKILL.md before its step.
- setup, if any step fails because a tool is missing (
setup.py doctorsaysFIX). - creator-teardown in quick mode (its SKILL.md "Quick mode") for every profile creator without
creator-teardowns/<handle>/style.json. Say the time first (about a minute per creator). Run several creators in parallel when the platform allows.
- Blend the style:
python3 "$P" style edits/<name>writesedits/<name>/style.jsonfrom the
parts the user ticked for each creator, with the caption and sound answers laid over (no creator: the default style). It prints the copied style's skill (skill: edit-like-<h> -> <path>): read it and follow its learned rules through the cut and the edit. no creator style.json found: run step 2 again.
- cut on the raw take, from its step 0b (start has already decided: cut, wait for the cut page
approval, then style). The user approves the cut page. This is approval 1 of 2.
- style-edit with
edits/<name>/style.json. Renders on the cut's approve; the edit is approval 2. It reads the
profile itself: the brand kit sets the look, names get real logos and captures, assets_dir images go on screen first, avoid is enforced by plan.py. Letterbox (wide take, title on top): cut --max-pause 0.5, --layout letterbox. skill=<skill> on the job: step 5 is that skill, not style-edit (references/home.md, Skill style).
Between steps say one line about what is next. Never ask the user to do a step the skill can do.
4. After
The render is handed over on the review page (style-edit step 8). Corrections go to the taste skill; a change of brand, creators or platform goes back into the profile with python3 "$P" set ....


