Community코딩 & 개발github.com

bounce12340/josh-video-skills

Playwright를 사용하여 공개 웹페이지의 조작 과정(스크롤, 호버, 링크 클릭, 하이라이트, 챕터 카드)을 녹화하고 1080x1920 세로 MP4 파일을 출력합니다. IG Reel이나 웹사이트 소개 자료로 활용하세요. 트리거: '웹페이지 조작 녹화', '웹사이트 소개 자료', '스크린 레코드', 'screen record'. 공개 페이지만 녹화하며, 로그인하거나 게시하지 않습니다.

josh-video-skills란 무엇인가요?

이 스킬은 Playwright를 이용해 공개 웹페이지의 조작 과정을 녹화하여 IG Reel, Threads, 또는 웹사이트 소개에 적합한 1080x1920 세로 MP4 영상을 생성하는 전문 도구입니다. 언제나 완전히 새로운 임시 브라우저 인스턴스(chromium.launch() + newContext())를 사용하며, 기존에 로그인된 브라우저 프로필이나 쿠키, storageState를 절대 사용하지 않습니다. 로그인이 필요한 페이지나 내부 네트워크, localhost는 녹화 대상에서 제외되며, POST/PUT/DELETE 등 데이터 변경 요청은 모두 차단됩니다. spec.json 파일로 녹화할 URL, 뷰포트 크기, 출력 해상도, 그리고 단계별 액션(스크롤, 하이라이트, 클릭, 호버, 챕터 등)을 상세히 정의할 수 있으며, 선택적으로 숨길 요소나 모바일 시뮬레이션 옵션도 설정 가능합니다. 녹화 결과물은 stock-footage-reel, OpenMontage 등 다른 비디오 제작 파이프라인에 바로 통합될 수 있으며, 저작권 표시를 위한 credits 기록 규칙도 포함되어 있습니다.

지원 대상~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에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

screen-record: 공개 웹페이지 조작 녹화 (Reel 소재)

Josh 2026-10-11 승인 설치, 용도는 단 하나: 공개 웹페이지의 조작 화면을 녹화하여 IG Reel의 영상 소재로 사용합니다. 발행流程은 전혀 변경되지 않으며 (IG/Threads는 기존 box 브라우저 방식을 그대로 사용), 이 도구는 발행을 건드리지 않습니다.

하드 규칙 (매번 준수)

  1. 매번 완전히 새롭고, 임시이며, 메모리 내에서만 동작하는 브라우저를 사용합니다 (chromium.launch() + newContext(), userDataDir 사용 금지).
  2. 절대 box에 이미 로그인된 브라우저 프로필을 가리키지 않습니다. 절대 --extension, attach, CDP/wsEndpoint를 사용하여 box 브라우저에 연결하지 않습니다. 절대 쿠키나 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 요청은 차단됩니다 (로그에 blocked POST ...가 나타나는 것은 정상입니다). 양식 제출 버튼 클릭을 거부합니다. http(s)가 아니거나 내부 네트워크 URL은 거부합니다.
  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). 기본 세션은 메모리 프로필이며, 임시로 수동으로 페이지를 보고 스크린샷을 찍을 수 있습니다. 절대 --persistent, --profile, attach --extension을 추가하지 마십시오.
  • Chromium: npx playwright install chromium (~/.cache/ms-playwright/chromium-1248, chromium_headless_shell-1248)
  • @playwright/mcp는 설치되지 않음 (CLI + 이 스크립트로 충분하며, Microsoft도 에이전트에 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 스크롤 시간 (ease in-out).
  • 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":"<사이트>의 스크린 레코딩","author":"<사이트 소유자>"}
  • OpenMontage (openmontage-house 경유): 로컬 클립으로素材 목록에 추가하거나, screen-demo流程의 실녹화 소스로 사용.
  • 본가 규칙 그대로: 세로 1080x1920, Sarah Explains 내레이션, 번체 중문 자막 + 작은 영어 자막, B컷 Vox 표지, IG 완성 영상 45 MB 이하.
  • credits.json에 한 줄 추가: {"source":"screen-record","credit":"<사이트>의 스크린 레코딩","url":"<URL>","recorded":"YYYY-MM-DD"}; 영상末尾 출처를 "<사이트>의 스크린 레코딩"으로 표시.
  • 녹화 대상은 타사 웹사이트: 소개/리뷰 용도로만 사용하며, 개인정보, 타인 쪽지, 페이월 콘텐츠는 녹화하지 마십시오.

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

관련 스킬