CommunityCodierung & Entwicklunggithub.com

bounce12340/josh-video-skills

Aufnahme von Bildschirmvorgängen auf öffentlichen Webseiten (Scrollen, Hovern, Klicken, Hervorheben, Kapitelmarken) als 1080x1920 Hochformat-MP4-Video – ideal als Reel- oder Website-Touren-Material. Auslöser: „錄一段網頁操作“, „網站導覽素材“, „螢幕錄影素材“, „screen record“. Nur öffentliche Seiten, keine Logins, keine Posts.

Was ist josh-video-skills?

Diese Fähigkeit ermöglicht es einem KI-Agenten, Bildschirmvideos von öffentlichen Webseiten aufzunehmen, die speziell für Social-Media-Reels (z. B. Instagram) oder Website-Tour-Videomaterial optimiert sind. Der Agent verwendet Playwright, um einen Browser im Arbeitsspeicher zu starten, und führt eine Folge von Aktionen wie Scrollen, Klicken auf Links, Hover-Effekte, Hervorhebung von Elementen und Kapitelmarken aus. Das Ergebnis ist ein 1080x1920 Hochformat-MP4-Video, das mit weichen Übergängen und optionalen Beschriftungen versehen ist. Die Fähigkeit ist auf absolute Sicherheit ausgelegt: Sie greift niemals auf bereits angemeldete Browserprofile zu, speichert keine Cookies, sendet keine Formulare, führt keine POST/PUT/DELETE-Anfragen aus und verweigert den Zugriff auf interne Netzwerke. Der Agent kann das Video entweder in den Reel-Workflow (über JSON-Dateien für den Schnitt) oder in das OpenMontage-System einbinden. Das Skill beschreibt auch die erforderlichen Berechtigungen für die Nutzung fremder Webseiten.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bounce12340/josh-video-skills/tree/HEAD/screen-record

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

screen-record:Aufnahme öffentlicher Webseiten (Reel-Material)

Josh 2026-10-11 genehmigt. Verwendung nur für eines: Aufnahme von öffentlichen Webseiten als Video-Material für IG Reels. Der Veröffentlichungsprozess bleibt komplett unverändert (IG/Threads wie gewohnt mit der Box-Browser-Methode); dieses Tool erstellt keine Posts.

Harte Regeln (jedes Mal zu befolgen)

  1. Verwende jedes Mal einen frischen, temporären, nur im Arbeitsspeicher befindlichen Browser (chromium.launch() + newContext(), kein userDataDir).
  2. Niemals auf das bereits angemeldete Box-Browser-Profil verweisen; niemals --extension, attach, CDP/wsEndpoint zum Verbinden mit dem Box-Browser verwenden; niemals Cookies oder storageState laden; niemals --persistent/--profile.
  3. Keine Anmeldung auf irgendeiner Website, keine Texteingabe, kein Absenden von Formularen, keine Posts, keine Kommentare, keine Likes.
  4. Nur öffentliche Seiten aufnehmen (http/https, kein localhost/internes Netz). IG, Threads, FB nur im „nicht angemeldeten“ Zustand für öffentliche Seiten; bei Login-Wänden Quelle wechseln, nicht versuchen, sich anzumelden.
  5. record.mjs hat eingebaute Schutzmechanismen: Spec mit storageState/cookies/userDataDir/profile/cdp/extension/login/password/fill/type wird direkt abgelehnt; alle POST/PUT/PATCH/DELETE-Anfragen werden blockiert (Log zeigt „blocked POST ...“ – normal); das Absenden von Formular-Schaltflächen wird verweigert; nicht-http(s)- oder interne URLs werden abgelehnt.
  6. Nicht record.mjs ändern, um den Schutz zu umgehen. Wenn du wirklich eine Seite nach dem Anmelden benötigst, halte an und frage Josh.

Installierte Abhängigkeiten

  • Playwright (Node-Bibliothek) 1.64.0: Installiert in node_modules/ (Apache-2.0)
  • Playwright CLI @playwright/cli 0.1.22: Globaler Befehl playwright-cli (~/.local/bin, Apache-2.0). Standard-Session ist ein In-Memory-Profil; kein --persistent, --profile, attach --extension hinzufügen.
  • Chromium: npx playwright install chromium (~/.cache/ms-playwright/chromium-1248, chromium_headless_shell-1248)
  • @playwright/mcp ist nicht installiert (CLI + dieses Skript reichen aus; Microsoft empfiehlt ebenfalls die CLI für Agenten).

Verwendung

cd <SKILLS_DIR>/screen-record
node record.mjs spec.json                 # Ausgabe nach spec.out
node record.mjs spec.json --out /path/x.mp4
./contact_sheet.sh x.mp4 x_sheet.jpg 4 3  # 4x3 Miniaturansichten-Raster; mit Read ansehen

Beispiel: examples/playwright-mcp.json (Testvideo: <YOUR_WORKSPACE>/media-team/03-drafts/screen-record-test/test.mp4, 19.8 Sekunden, 4.1 MB).

spec.json

{
  "url": "https://github.com/microsoft/playwright-mcp",
  "out": "<YOUR_WORKSPACE>/media-team/03-drafts/<Thema>/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}
  ]
}
  • Element finden – eine von drei Optionen: selector (CSS), role + name (am stabilsten), text (mit optionalem exact).
  • scroll: Pixelanzahl (by) oder zu einem Element (to/role/text) (Standardabstand (offset) 25% vom oberen Rand); ms ist die Scroll-Dauer (mit Beschleunigungs-/Verzögerungskurve).
  • highlight: Gelber Rahmen + optionales Label; nach ms entfernt.
  • chapter: Playwright-native Kapitelkarte (unscharfer Hintergrund + Titel).
  • click, hover haben Playwright-native showActions: animierter Cursor + Zielrahmen + Aktionsbeschreibung (mit "showActions": false deaktivierbar).
  • Weitere Optionen: fps (Standard 30), crf (Standard 23), mobile (Handy-Simulation), colorScheme, locale, tail, keepWebm.

Bildschirmgrößen

Playwrights Screencast zeichnet in CSS-Pixeln auf (deviceScaleFactor hat keinen Einfluss auf das Video). Daher:

  • Standardmäßig wird mit Viewport 720x1280 aufgezeichnet und dann mit Lanczos auf 1080x1920 vergrößert: Das Layout sieht aus wie auf einem großen Handy, die Schrift ist groß genug, die Qualität ist etwas weich, aber für Reels ausreichend.
  • Für maximale Schärfe: "viewport": {"width":1080,"height":1920} (Desktop-Layout, Schrift kleiner).
  • Für horizontale Aufnahme mit anschließendem Zuschnitt auf Hochformat: "viewport": {"width":1280,"height":720}, "cropTo916": true (optional mit "cropX": 200 für den Startpunkt des Zuschnitts); Ausgabe ist dennoch 1080x1920, behält aber nur den mittleren Streifen; meist weniger geeignet als die direkte Hochformat-Viewport-Methode.

Einbinden in das fertige Video

  • stock-footage-reel: Im entsprechenden Einzelbild (shot) der shots.json schreiben: "pick": {"source":"file","path":"/abs/clip01.mp4","license":"Bildschirmaufnahme von <Seitenname>","author":"<Besitzer der Seite>"}
  • OpenMontage (über openmontage-house): Als lokales Clip-Material in die Materialliste einfügen oder als Quelle für eine Bildschirm-Demo verwenden.
  • Hausregeln bleiben bestehen: Hochformat 1080x1920, Sarah-Erklärt-Voiceover, traditionelle chinesische Untertitel + kleine englische Untertitel, B-Schnitt als Vox-ähnliches Cover, IG-Endvideo unter 45 MB.
  • credits.json einen Eintrag hinzufügen: {"source":"screen-record","credit":"Bildschirmaufnahme von <Seitenname>","url":"<URL>","recorded":"YYYY-MM-DD"}; im Abspann „Bildschirmaufnahme von “ angeben.
  • Du nimmst die Website einer anderen Person auf: Verwende sie nur als Einführungs-/Kommentarmaterial; nimm keine persönlichen Daten, privaten Nachrichten oder Paywall-Inhalte auf.

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 風格」、「素材庫剪輯」。

Verwandte Skills