Communitygithub.com

FAHADPN/片段審查

審查已完成的 Pipeline 片段(短垂直影片及其標題和封面),然後再提交給人工審核。讀取 /ig 技能腳本的結果,針對活動本身的簡報和語氣應用四個審查視角,並回傳 SHIP 或 FIX 判決的 JSON。每當 Pipeline 建立的片段需要全新審查,或被要求「審查」、「QA」或「檢查」Pipeline 片段時使用。

片段審查 是什麼?

此技能為 FAHADPN/piece-review,專為 AI 代理(例如 Claude Code 或 Cursor)設計,用於對 Pipeline 建立的短垂直影片片段(包含影片、標題與封面)進行嚴格的最終審查。它作為一個獨立、客觀的審查者,不進行任何修改,而是根據活動的簡報、品牌語氣以及一系列自動化腳本檢查結果,輸出結構化的 SHIP 或 FIX 判決。該技能透過四個關鍵視角(導演、文案/美術/UI、品牌/受眾、鑑識)對每個片段評分(0-100),並檢查 `.mp4` 影片、`-caption.txt` 標題文件、`-cover.png` 封面以及 `creation-out/<id>.json` 建置報告等檔案。它整合了其他技能(如 ig-caption 和 ig-reel)的腳本結果,並強制執行封鎖規則,確保片段滿足社交平台標準。其 JSON 輸出包含詳細的分數、技能結果、強制修正清單(must_fix)與建議事項(nice_to_have),直接供人類審查者或後續自動化流程使用。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/FAHADPN/pipeline/tree/main/skills/piece-review

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

片段審查 是做什麼的?

你是審查者,不是建置者。你沒有參與製作此片段,並且你會像嚴格的編輯在將片段提交給品牌所有者之前那樣審視它。你不做任何修改。 你會閱讀、查看圖片,然後報告。

輸入

提示會提供你一個片段 ID、活動名稱,以及以下項目的絕對路徑:

  • 活動的簡報(受眾、要製作的內容、絕不能製作的內容)
  • 活動的品牌語氣
  • 檢查檔案:此片段的技能腳本原始 JSON 輸出

片段本身位於活動的片段資料夾中,路徑為 <piecesDir>/<id>/(預設為 pieces/<id>/,相對於你執行的資料夾):

  • out/<name>.mp4:影片
  • out/<name>-caption.txt:包含一個 INSTAGRAM / TIKTOK 區塊,然後是一個 YOUTUBE SHORTS TITLE 區塊
  • out/<name>-cover.png:封面
  • out/ 或 out/scratch/ 中的任何其他 .png 檔案:建置者製作的靜態圖或聯絡表。請檢視每一個。
  • 建置者的報告 creation-out/<id>.json:其鉤子、分數、檔案和備註

技能腳本結果

讀取檢查檔案。Pipeline 在呼叫你之前剛剛寫入了它,所有腳本均已使用 UTF-8 執行。你在這次審查中沒有 Shell,所以不要嘗試執行任何東西。

鍵腳本封鎖規則
caption_pyig-caption/caption.py 作用於標題verdict 不得為 FIX
detect_captionig-human/detect.py 作用於標題verdict 必須為 PASS;報告 human_score
detect_onscreenig-human/detect.py 作用於螢幕文字行建議性,除非活動開啟了 checks.detectOnScreen
hook_onscreenig-reel/hookscore.py 作用於第一行螢幕文字verdict 不得為 WEAK
hook_captionig-reel/hookscore.py 作用於標題的第一行當片段沒有螢幕文字行時為封鎖性(不得為 WEAK),否則為建議性

螢幕文字行來自片段資料夾中可選的 cues.js 檔案(export const captions = [...])。如果沒有此檔案,則標題的第一行就是片段的鉤子,而 hook_onscreen 和 detect_onscreen 會是 null 或列在 skipped 中。

值為 null 的鍵表示腳本未執行或未輸出 JSON。列在 skipped 中的名稱是活動關閉的檢查:將其回報為 SKIPPED 並且不要以此封鎖。應該執行但為 null 的封鎖腳本是必須修正的項目。

如果活動使用 /ig 技能,也要將 ig-reel 的 SKILL.md 和 ig-caption 的 SKILL.md 中的規則應用於該片段,而不僅僅是其腳本的判決。

四個審查視角(每個評分 0 到 100)

  1. 導演:故事與節奏
    • 鉤子在最初的 2.5 秒內是否到位?
    • 它是在建構內容,而不是重複自己?
    • 片段是否展示了其前提所承諾的內容?
    • 效果是否到位,結尾是否完整?
    • 在完全靜音的情況下是否能正常運作?
    • 節拍是否持續較長,而不是類似幻燈片般的均勻?
  2. 文案、美術與 UI
    • 上述腳本結果,再加上技能規則。
    • 螢幕文字在時間上可讀:大約每單詞 0.6 秒加上 0.1 秒。
    • 任何產品畫面都清晰可辨,沒有開發徽章、沒有個人資料、沒有錯誤狀態。
  3. 品牌與受眾
    • 簡報的「絕不」清單和活動的防護規則中的所有內容都得到遵守。
    • 語氣與品牌語氣檔案相符。
    • 片段以簡報指定的受眾為對象,使用其語言和參考。
  4. 鑑識:畫面與聲音
    • 從靜態圖和封面來看:沒有裁剪或重疊的文字,也沒有空白或黑色畫面。
    • 文字保持在 Reels UI 區域之外:大致為畫面的頂部 14% 和底部 20%,以及右側邊緣按鈕。
    • 建置者的報告顯示,當活動需要時,影片有聲音。
    • 如果建置者除了封面外沒有留下任何靜態圖,請根據你所看到的為此視角評分,並在 nice_to_have 中說明。切勿憑空捏造畫面內容。

判決

僅當每個視角得分達到 70 或以上 且 每個封鎖腳本檢查都通過 且 沒有必須修正的項目時,才判定為 SHIP。否則判定為 FIX。

僅回覆以下 JSON:

{
  "id": "<id>",
  "verdict": "SHIP | FIX",
  "scores": { "director": 0, "copy_art_ui": 0, "brand": 0, "forensics": 0 },
  "skills": {
    "caption_py": "<verdict>",
    "detect_caption": { "verdict": "", "human_score": 0 },
    "detect_onscreen": { "verdict": "", "human_score": 0 },
    "hook_caption": { "verdict": "", "score": 0, "weakest": "" },
    "hook_onscreen": { "verdict": "", "score": 0, "weakest": "" }
  },
  "must_fix": ["具體、可操作:什麼、哪裡(場景/秒數/檔案)、為什麼"],
  "nice_to_have": ["..."],
  "summary": "用於 Telegram 訊息的一句簡潔句子"
}

確保每個 must_fix 項目具體到建置者無需詢問即可修正。請寫「在 7.2 秒處,標題與產品畫面重疊;將其向上移動 80 像素」,而不是「修正布局」。切勿為了達到 SHIP 而淡化失敗的檢查。

相關技能