創作者拆解分析 是做什麼的?
路徑:${CLAUDE_SKILL_DIR} 代表包含此 SKILL.md 的資料夾。在 Windows 上,請使用 py 代替以下指令中的 python3。
所有向使用者提出的問題都應使用問題框:呼叫 AskUserQuestion 工具(提供 2-4 個選項,建議選項排第一)。只有在不支援該工具的代理中,才以文字方式提出編號問題。
輸出
creator-teardowns/<handle>/:teardown.md(分析報告)、teardown.html(供使用者檢視的頁面)、look.md(Claude 讀取的內容)、style.json(所有測量數據,用於以此風格進行編輯),以及 ${CLAUDE_SKILL_DIR}/references/outputs.md 中所列的每部影片檔案。編輯計畫會輸出至 edit-plans/<name>/。判斷編輯是否符合此風格:scripts/match.py(references/outputs.md 的「符合檢查」)。
第一步:診斷
python3 "${CLAUDE_SKILL_DIR}/scripts/fetch.py" doctor
在每次工作階段第一次拆解前執行。顯示 Ready. 表示就緒。如果顯示 Not ready,或使用者要求安裝或設定此技能,請遵循 ${CLAUDE_SKILL_DIR}/references/setup.md。ElevenLabs 金鑰為選用。請勿在對話中詢問:使用者應在自己的終端機中使用 setkey 儲存金鑰。
VPY="${CLAUDE_SKILL_DIR}/scripts/run.py";下方使用 python3 "$VPY"(Windows 上使用 py)會以工具虛擬環境中的 Python 執行腳本,無論 AI_EDITOR_HOME 設定在何處。
管線
快速模式(由 ai-editor 的 start、setup 或 style-edit 呼叫)
當其他技能僅需要 style.json 時,請依序執行:步驟 1 list、步驟 2 的指令加上 --top 5(5 部外加 2 部對照與 2 部備用;貼上連結則全部處理)、步驟 3b 的四個指令、步驟 3c 的四個指令,然後停止。步驟 0 的問題部分僅在呼叫者尚未詢問時提出。跳過 metrics.py、步驟 3 的文字分析階段以及步驟 4-6。每個創作者在 14 核心 Mac 上約需 3 分鐘(實際測量 2-3 分鐘;備用影片最多增加 1 分鐘),8 核心筆電則需兩倍時間。請先告知使用者。
步驟 0:提問,僅一次
跳過訊息中已回答的部分。僅一次問題框呼叫:
- 哪些創作者? 他們指定的名稱或連結(建議) / 我將貼上更多。一次分析多位是常見的:有人喜歡某位創作者的字幕,另一位則喜歡其節奏。每位創作者的風格視為一種格式。
- 若有多位:想從誰身上複製哪個部分? 還不確定(建議):在步驟 3b 後再次詢問,屆時可比較每位創作者的
look.md;或指定:字幕、節奏(剪輯、縮放、動態)、視覺(圖形、臉部構圖、卡片)、聲音。
步驟 1:取得影片
python3 "${CLAUDE_SKILL_DIR}/scripts/fetch.py" list <handle> --platform tiktok --limit 40 # 或 youtube
python3 "${CLAUDE_SKILL_DIR}/scripts/fetch.py" list <name> --urls picks.txt # 貼上的連結,每行一個
輸出排名表格(顯示觀看數與中位數倍率),並寫入 videos.json;* 標記為中位數 3 倍的影片。
Instagram: list <handle> --platform instagram 會透過使用者在瀏覽器中登入的 instagram.com 帳號(僅傳送至 instagram.com)讀取最新的 Reels 及其觀看數。若未登入:會以一行訊息結束並退出(exit 1);請告知使用者,或提供 6 個以上的 Reel 連結放入 picks.txt 並使用 --urls(按讚數排名;請說明)。
步驟 2:下載並轉錄頂尖影片與對照組
python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/visual.py" download <handle>
python3 "${CLAUDE_SKILL_DIR}/scripts/fetch.py" transcribe <handle>
--top N 會下載並轉錄 N 部影片,加上 2 部對照影片(最接近中位數的 2 部;--control 可更改此數量)以及 2 部備用影片供格式檢查使用(--spare),所有影片均為創作者的常見長度(若數量足夠)。貼上連結則處理所有影片。預設 --top 8 為 12 部影片;--top 5(快速模式)為 9 部;請將此參數同時傳遞給兩個指令。兩者會先輸出影片數量。--ids <id>,<id> 可指定特定影片。中位數影片作為對照組:一個同時出現在 50 萬觀看影片和 3 千觀看影片的動作,是該創作者的習慣,而非 50 萬影片成功的原因。請保留至少 2 部對照影片。
每個測量腳本都能同時處理多部影片(CT_JOBS=1 可在小筆電上關閉此功能)。
請先告知時間(下載加轉錄,在 14 核心 Mac 上每部影片約 10 秒)。Whisper(免費、本地)為預設選項;若有 ElevenLabs 金鑰,transcribe 會使用 Scribe,可保留所有填充詞(每小時音訊 $0.22;超過 10 部影片時請先提供估計費用)。如果填充詞計數依賴於 Whisper 轉錄結果,請在拆解報告中說明。
步驟 3:測量,然後分析
python3 "${CLAUDE_SKILL_DIR}/scripts/metrics.py" <handle>
寫入 metrics.json(每三分之一段的每分鐘字數、停頓、填充詞、句子長度、你/我/我們、重複片語),所有數據皆來自文字時間戳。
先執行步驟 3b,以便分析階段跳過 format.json 排除的影片。然後載入 ${CLAUDE_SKILL_DIR}/references/analysis-framework.md 並執行其分析階段。對於階段 1,為每部影片啟動一個 video-analyst 代理,全部放在同一則訊息中(它們會同時執行):為每個代理提供絕對路徑 creator-teardowns/<handle>/ 和一個 ID。每個代理會回傳一個 JSON 節拍圖;將它們合併成表格。如果沒有 Agent 工具,請自行閱讀 transcripts/<id>.timed.txt,一次一部影片。切勿完整讀取 transcripts/<id>.json 或 metrics.json:
- 節拍圖 + 時間點。 每部影片分割成帶有標籤的節拍,附帶秒數標記與字數。
- 語音/詞彙設定檔。 句子長度、人稱、命令句、重複片語,以及使用者不會使用的動作。
- 視覺分析。 一律執行:步驟 3b。這是讓使用者能以此風格編輯自己影片的關鍵。
- 卡片事件,僅當詢問範圍涵蓋創作者的卡片與圖形,或即將產生編輯計畫時執行。會寫入符合
${CLAUDE_SKILL_DIR}/references/edit-plan.md格式的events.json。scripts/strip.py需要 ffmpeg、numpy和pillow。
切勿省略時間點:「鉤子在前 3 秒內出現,長度 14 個字,每個項目持續 8-11 秒」才是可供拍攝的格式;「鉤子,然後列表,然後結尾」則不是。
步驟 3b:視覺分析(測量式,無需您閱讀圖片)
python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/visual.py" measure <handle>
python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/look.py" measure <handle>
python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/format_check.py" check <handle>
接著執行工作表階段(下方第 4 點),然後執行 python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/lookpass.py" merge <handle>。
在 transcribe 之後執行(look.py 會將 OCR 文字與口語文字進行比對)。
visual.py:剪輯及其種類、鏡頭長度、縮放、平移與晃動。look.py:每秒 3 幀進行 OCR 並偵測 YuNet 人臉:字幕(位置、大小、文字、大小寫、顏色、粗細、入場動畫)、臉部構圖、圖形佔比、調色盤、動態特徵。每部影片約需 40 秒。format_check.py:一個風格就是一種格式,而非他們發佈內容的混合體。它會根據幀、臉部、字幕、鏡頭長度和影片長度將影片分組;保留 3 個以上的多數群組,其餘移至video/left-out/(format.json會說明原因;請參考references/look-pass.md)。當出現不同時,請告知使用者其第一行(「使用 4/6 部:2 部看起來是不同格式」);如果混合不明,請要求更多同一類型的影片。- 工作表階段:一次 Agent 呼叫,使用
model: "haiku",為每部保留的影片讀取sheets/<id>.jpg(每部一張 3x3 工作表,由visual.py產生),並根據lookpass.py prompt寫入video/<id>.look-ai.json:字體、圖形風格、轉場、非通用元素。永不包含數字。確切指令在references/look-pass.md中。lookpass.py merge會將結果合併到 style.json 中。
然後閱讀 look.md(少於 48 行)。請勿開啟影格或工作表。 每個欄位都在 ${CLAUDE_SKILL_DIR}/references/look-pass.md 中定義。style.json 中的數字來自程式碼;請勿手動編輯。當 look.md 與模型的文字描述不一致時(例如測量顯示 motion: punchy,但模型命名為 smooth),以測量結果為準,並在拆解報告中同時列出兩者。
無 OCR 引擎(診斷工具顯示可選):captions 保持未測量狀態,look.md 也會說明。請安裝它(doctor 會顯示安裝指令),而不是自行閱讀工作表。
步驟 3c:深入分析與頁面生成
python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/graphics.py" measure <handle>
python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/sound.py" measure <handle>
python3 "$VPY" "${CLAUDE_SKILL_DIR}/scripts/report.py" build <handle>
每個測量指令會輸出一行摘要與其寫入的檔案(--json 會輸出完整區塊;非必要:look.md 已包含數據)。在步驟 3b 之後執行(graphics.py 會使用 look.py 的人臉資訊遮蓋說話者)。它們會添加:每個圖形(已裁切、其種類、位置、進出場方式,以配適的 GSAP 緩動函數表示)、剪輯種類與攝影機移動(來自 visual.py)、音效與音樂、每部影片的前 3 秒、頂尖影片與對照組的比較,以及對創作者自身外觀的 AI 辨識掃描。欄位、方法、上限與成本:請參考 ${CLAUDE_SKILL_DIR}/references/teardown-page.md。
在 graphics.py measure 之後,執行該參考文件中的 haiku 種類分析(否則種類會保留為程式的猜測),然後執行 sound.py 和 report.py。
然後為使用者開啟 creator-teardowns/<handle>/teardown.html(Mac 使用 open,Windows 使用 start,Linux 使用 xdg-open),並提供將其發布為 artifact 的選項。請勿自行閱讀該頁面或其圖片:look.md 已包含數據。用兩三行向使用者說明頂尖影片的不同之處(look.md 中的 Winners: 行,並附上數量 n),以及他們外觀中任何 BAN 級別的 AI 辨識徵兆。
然後在問題框中提問(頁面僅顯示證據,沒有可供勾選的項目),一個多選問題:「你的編輯應該複製 @ 的哪些部分?」選項:字幕、節奏、圖形種類、入場動畫、佈局、音效(每個問題最多 4 個選項:必要時分成兩個問題),每個選項的描述來自 look.md 的一行測量結果(例如「以超調效果在 0.25 秒內滑入」)。如果他們選擇的部分包含任何 BAN 徵兆,請在他們確認前告知。儲存答案:
python3 "${CLAUDE_SKILL_DIR}/scripts/editplan.py" blend <handle>-mine --from <handle> \
--take captions,pace,graphics,entrances,layout,sound # 僅挑選的部分
style-edit 會讀取 creator-teardowns/<handle>-mine/style.json;未選取的部分使用預設值。report.py build 和 editplan.py blend 會輸出此風格的技能名稱(skill edit-like-<handle> -> <path>,需安裝 ai-editor):告知使用者其名稱。針對該風格編輯的意見回饋會影響該技能。
步驟 3d:多位創作者(當使用者指定多位時)
遵循 ${CLAUDE_SKILL_DIR}/references/blend.md:對每位創作者執行步驟 1 到 3b,並列顯示 look.md,然後執行 editplan.py blend。
步驟 4:撰寫拆解報告
將 ${CLAUDE_SKILL_DIR}/references/teardown-template.md 填入 creator-teardowns/<handle>/teardown.md。每部影片都需包含統計行、逐字轉錄稿、含時間的節拍表、應保留的模式以及應拒絕的模式。
步驟 5(可選):轉換為技能
詢問該格式是否值得保留。如果是,請遵循 ${CLAUDE_SKILL_DIR}/references/skill-handoff.md(格式技能,與風格自身的技能並列)。
步驟 6(可選):以創作者的風格規劃使用者的影片
當使用者提供自己的影片時,請遵循 ${CLAUDE_SKILL_DIR}/references/edit-plan.md。它需要來自視覺分析的創作者 events.json;它不會進行渲染。
如果腳本停止
| 訊息 | 處理方式 |
|---|---|
doctor Not ready: ... | 針對其列出的每一行,遵循 references/setup.md |
yt-dlp returned nothing / parsed 0 videos | 閱讀其輸出的提示:更新 yt-dlp(doctor 會顯示方法),或要求單一影片連結並使用 --urls |
| Instagram 個人檔案失敗 | 輸出其訊息:在 Chrome 中登入 instagram.com,或提供 6 個以上 Reel 連結(步驟 1 的「Instagram」) |
... Fix the key, then rerun (transcribe) | ElevenLabs 金鑰錯誤:使用者在自己的終端機中用 setkey 重新儲存,或放棄使用並改用 Whisper |
no videos in ... Run download first | 執行 visual.py download <handle> |
download failed: <ids> (exit 1) | 使用其輸出的 --ids 重新執行;如果再次失敗,告知樣本數較少並繼續 |
yt-dlp not found | 執行 fetch.py doctor 並修復其列出的項目 |
| 部分影片轉錄失敗 | 使用 --ids 重試,然後告知哪些失敗;切勿填補空缺 |
嚴格規則
- 真實數據,否則不分析。 每個關於「有效」的聲明都必須附帶旁邊的觀看數。切勿在沒有數字的情況下說影片「爆紅」。
- 僅使用逐字轉錄稿。 切勿摘要未經轉錄的影片。
- 複製結構,而非語調。 每個拆解報告都必須說明應拒絕的內容。
- 中位數對照組。 至少轉錄兩部中等表現的影片,否則分析無法區分格式與創作者的習慣。
- 切勿虛構轉錄行,或為卡片虛構統計數據或引言。如果轉錄失敗,使用
--ids重試,然後告知失敗。 - 切勿在對話中詢問 ElevenLabs 金鑰。
- style.json 中只能有測量數值。
pace和zoom來自visual.py;captions、face、graphics和motion來自look.py;只有文字(look、font_match)來自模型。 - 閱讀 look.md,而非影格。 僅在解決 look.md 無法回答的問題時才開啟影格,並說明開啟了哪個。使用者得到 teardown.html;Claude 得到 look.md。
- 頂尖 vs. 對照:附上數量 n。 切勿稱某種差異為「已證實」;「所有頂尖影片都……」僅表示在此樣本中無例外。