Community程式設計與開發github.com

bounce12340/josh-video-skills

使用 Playwright 錄製公開網頁的操作畫面(捲動、滑過、點擊連結、高亮重點、章節卡),輸出 1080x1920 直式 mp4,作為 Reel 的工具/網站導覽素材。觸發語:「錄一段網頁操作」「網站導覽素材」「螢幕錄影素材」「screen record」。僅錄製公開頁面,不登入、不發文。

josh-video-skills 是什麼?

這個技能(bounce12340/josh-video-skills)專為使用 Playwright 自動化錄製公開網頁操作而設計,產出 1080x1920 直式 mp4 影片,適合做為 Instagram Reel 或短影音平台的網站導覽素材。它內建嚴格的安全防護機制:每次啟動全新的記憶體瀏覽器、不載入任何 cookies 或儲存狀態、拒絕所有登入與表單操作、並擋掉所有 POST/PUT/PATCH/DELETE 請求,確保只處理公開頁面。 技能支援 Playwright CLI 與自訂 spec.json 檔案,可定義包含 scroll、highlight、click、hover、chapter 等多種動作步驟,並支援 viewport 與輸出尺寸調整、手機模擬、顏色主題設定等。輸出影片可透過 contact_sheet.sh 產生縮圖拼板,並整合進 stock-footage-reel 或 OpenMontage 等後製流程。 此技能主要適用於 Claude Code、Cursor 或 Codex 等支援 Playwright 的 AI 代理環境,幫助開發者與內容創作者快速產生高品質的網頁操作示範影片,用於教學、評論或產品介紹。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bounce12340/josh-video-skills/tree/HEAD/screen-record

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

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

說明文件

screen-record:公開網頁操作錄影(Reel 素材)

Josh 2026-10-11 核准安裝,用途只有一個:錄公開網頁的操作畫面,當 IG Reel 的影片素材。 發文流程完全不變(IG/Threads 照舊用 box 瀏覽器那套方法),這個工具不碰發文。

硬規則(每次都要遵守)

  1. 每次都用全新、暫存、只在記憶體裡的瀏覽器(chromium.launch() + newContext(),不給 userDataDir)。
  2. 絕不指向 box 已登入的瀏覽器設定檔;絕不用 --extension、attach、CDP/wsEndpoint 連到 box 瀏覽器;絕不載入 cookies 或 storageState;不用 --persistent/--profile。
  3. 不登入任何網站、不輸入文字、不送出表單、不發文、不留言、不按讚。
  4. 只錄公開頁面(http/https,不可 localhost/內網)。IG、Threads、FB 只能在「未登入」狀態看公開頁,遇到登入牆就換來源,不要嘗試登入。
  5. record.mjs 內建防護:spec 出現 storageState/cookies/userDataDir/profile/cdp/extension/login/password/fill/type 等欄位直接拒絕;所有 POST/PUT/PATCH/DELETE 請求一律擋掉(log 會出現 blocked POST ...,正常);拒絕點表單送出鈕;非 http(s) 或內網網址拒絕。
  6. 不要為了繞過防護去改 record.mjs。真的需要登入後的畫面,停下來問 Josh。

已安裝

  • Playwright(Node 函式庫)1.64.0:裝在本資料夾 node_modules/(Apache-2.0)
  • Playwright CLI @playwright/cli 0.1.22:全域指令 playwright-cli(~/.local/bin,Apache-2.0)。預設 session 是記憶體設定檔,可以臨時手動看頁面、截圖;不要加 --persistent、--profile、attach --extension。
  • Chromium:npx playwright install chromium(~/.cache/ms-playwright/chromium-1248、chromium_headless_shell-1248)
  • 沒有裝 @playwright/mcp(CLI+本腳本已足夠,Microsoft 也建議 agent 用 CLI)。

用法

cd <SKILLS_DIR>/screen-record
node record.mjs spec.json                 # 輸出到 spec.out
node record.mjs spec.json --out /path/x.mp4
./contact_sheet.sh x.mp4 x_sheet.jpg 4 3  # 4x3 縮圖拼板,用 Read 看

範例:examples/playwright-mcp.json(測試片:<YOUR_WORKSPACE>/media-team/03-drafts/screen-record-test/test.mp4,19.8 秒,4.1 MB)。

spec.json

{
  "url": "https://github.com/microsoft/playwright-mcp",
  "out": "<YOUR_WORKSPACE>/media-team/03-drafts/<題目>/work/screen/clip01.mp4",
  "viewport": {"width": 720, "height": 1280},
  "outSize": {"width": 1080, "height": 1920},
  "hide": [".cookie-banner"],
  "steps": [
    {"action": "chapter", "title": "Playwright MCP", "description": "github.com/microsoft/playwright-mcp", "ms": 2200},
    {"action": "scroll", "by": 500, "ms": 2000},
    {"action": "scroll", "role": "heading", "name": "Key Features", "ms": 2000},
    {"action": "highlight", "role": "heading", "name": "Key Features", "label": "Key Features", "ms": 2500},
    {"action": "hover", "text": "Getting started"},
    {"action": "click", "text": "Apache-2.0 license"},
    {"action": "goto", "url": "https://playwright.dev"},
    {"action": "wait", "ms": 1000}
  ]
}
  • 找元素三選一:selector(CSS)、role+name(最穩)、text(可加 exact)。
  • scroll:by 像素,或用 to/role/text 捲到某元素(offset 預設離頂端 25%),ms 捲動時間(緩入緩出)。
  • highlight:黃框+可選標籤,ms 後移除。
  • chapter:Playwright 原生章節卡(模糊背景+標題)。
  • click、hover 有 Playwright 原生 showActions:動畫游標+目標外框+動作說明("showActions": false 可關)。
  • 其他選項:fps(預設 30)、crf(預設 23)、mobile(手機模擬)、colorScheme、locale、tail、keepWebm。

畫面尺寸

Playwright 的 screencast 用 CSS 像素錄(deviceScaleFactor 不會反映到影片),所以:

  • 預設 viewport 720x1280 錄,再用 lanczos 放大到 1080x1920:版面像大手機、字夠大,畫質略軟但 Reel 夠用。
  • 要最銳利:"viewport": {"width":1080,"height":1920}(桌面版面、字比較小)。
  • 要橫式錄再裁直式:"viewport": {"width":1280,"height":720}, "cropTo916": true(可加 "cropX": 200 指定裁切起點),輸出仍是 1080x1920,但只保留中間一條,通常不如直接用直式 viewport。

放進成片

  • stock-footage-reel:在 shots.json 該鏡寫 "pick": {"source":"file","path":"/abs/clip01.mp4","license":"Screen recording of <site>","author":"<site 擁有者>"}
  • OpenMontage(經 openmontage-house):當本機素材(local clip)丟進素材清單,或 screen-demo 流程的實錄來源。
  • 本家規則照舊:直式 1080x1920、Sarah Explains 配音、繁中主字幕+小字英文、B 剪報 Vox 封面、IG 成片 45 MB 以下。
  • credits.json 加一筆:{"source":"screen-record","credit":"Screen recording of <site>","url":"<網址>","recorded":"YYYY-MM-DD"};片尾出處寫「Screen recording of 」。
  • 錄的是別人的網站:只當介紹/評論畫面使用,不要錄有個資、別人私訊或付費牆內容。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

bounce12340/josh-video-skills

「名人訪談/演講片段」直式 Reel(Fox Hsiao 式「解說穿插原聲」):配音依語言選聲(中文用「<YOUR_VOICE_NAME>」<YOUR_ELEVENLABS_VOICE_ID>;英文用 Sarah Explains)+繁中主字幕的解說段落,中間穿插 15 到 30 秒的名人原聲片段(16:9 置中、上下模糊底、「原聲 姓名|場合|日期」出處標籤、左上「影片/原頻道」),結尾拋問題給觀眾。一份 JSON spec 一路做到成片、720p 預覽、聯絡表、credits.json、封面。觸發語:「名人訪談」、「演講片段」、「訪談 Reel」、「Fox 式」、「解說加原聲」、「interview reel」。

bounce12340/josh-video-skills

收到「做一支影片/Reel」時先用:判斷影片類型、轉給對應的影片 skill,套用共用本家規則並交給事實編輯。只做草稿,不發文。

bounce12340/josh-video-skills

用 OpenMontage(開源 AI 影片製作流水線,<SKILLS_DIR>/OpenMontage)做 Josh 的影片時的「本家規則」轉接層。適用:長片剪成多支短片(clip-factory)、真實螢幕錄製教學(screen-demo)、翻譯配音(localization-dub)、Podcast 轉影片(podcast-repurpose)、「照這支參考影片做」(reference video 分析)、無旁白紀錄片蒙太奇(documentary-montage),以及幫 stock-footage-reel 加抓 NASA/國會圖書館/NARA/Archive.org 老片。觸發語:「用 OpenMontage」、「長片切短片」、「照這支 Reel 做」、「翻譯配音」、「螢幕教學影片」。

bounce12340/josh-video-skills

「真實素材剪輯」直式短影音(AYi @ayi_ainotes 那種紀錄片風):照口播稿每一句,自動搜尋並下載免費可商用素材(Pexels、Mixkit Free、Wikimedia Commons),加上洋紅調的 1950 到 70 年代 Prelinger 公有領域老片,硬切剪輯,燒上雙語字幕(繁中+英文,重點字金色),左上固定標題,ElevenLabs 配音,暗色合成器配樂,片尾金句卡加出處小字,再用 B 剪報 Vox 樣板出封面。觸發語:「做一支真實素材剪輯」、「stock footage reel」、「AYi 風格」、「素材庫剪輯」。

相關技能