ScreenKite에서 .skbundle 녹화를 열고, AI 에이전트(Claude Code, Codex, Gemini CLI 또는 ScreenKite의 MCP 도구를 가진 모든 에이전트)에게 지시를 내리세요. 에이전트는 두 가지를 처리합니다: 트랜스크립트 컷과 씬 레이아웃을 사용한 B-Roll 생성. 당신이 검토하고 승인하면, 에이전트가 실행합니다.
커뮤니티 워크플로, 프롬프트, 스킬 팩: github.com/ScreenKite/awesome-ai-video-editing
사전 점검: 로컬 모델 준비 상태
에이전트가 WhisperKit을 사용해 트랜스크립트를 작성하려면, 모델 파일이 디스크에 존재해야 합니다. 에이전트 CLI는 시작 시 이를 확인합니다 — 선택한 모델 경로가 없거나 오래된 경우 다음 메시지가 표시됩니다:
WhisperKit transcription is not configured. Open Settings → Transcription and download a WhisperKit model. Stop here and ask the human to configure a transcription provider before continuing.
해결 방법:
- **Settings(설정) → Transcription(트랜스크립션)**을 엽니다.
- Word-Level(단어 수준) 하위 탭을 선택합니다.
- 제공자를 **Local(로컬)**로 설정합니다(ElevenLabs를 우선하고 WhisperKit을 폴백으로 사용하려면 Automatic(자동) 선택).
- WhisperKit model(WhisperKit 모델) 섹션에서 메뉴의 모델을 선택하고, **Download Selected Model(선택한 모델 다운로드)**을 클릭합니다.
- 진행 표시줄이 완료될 때까지 기다립니다. 레이블이 **Model downloaded(모델 다운로드 완료)**로 변경됩니다.
- 에이전트 명령을 다시 실행합니다 — 준비 상태 확인이 통과됩니다.
에이전트에게 지시하기
코드를 작성하지 않아도 됩니다. 문장을 작성하세요. 에이전트가 대신 ScreenKite의 CLI와 MCP 도구를 호출합니다.
Claude Code
# 프로젝트 폴더에서 인터랙티브 세션 시작 claude # 그런 다음 입력: Open ~/Desktop/Recording.skbundle and do a transcript cut. Plan the cuts first.
# 또는 터미널에서 한 번에 실행 claude "Open ~/Desktop/Recording.skbundle, transcribe the mic with ElevenLabs, plan all cuts before executing"
Codex CLI
codex "Open ~/Desktop/Recording.skbundle and do a transcript cut — plan first, then wait for my approval"
# B-Roll 한 번에 codex "Open ~/Desktop/Recording.skbundle, transcribe and cut, then add medium-density B-roll with a centered layout"
Gemini CLI
gemini "Open ~/Desktop/Recording.skbundle. Transcribe the mic, plan the cuts, and show me the list before touching the timeline."
에이전트가 실제로 호출하는 것
내부적으로 모든 세션은 다음으로 시작됩니다:
# 프로젝트 열기
'/Applications/ScreenKite.app/Contents/MacOS/ScreenKite' agent project open \
--path ~/Desktop/Recording.skbundle --json
# 프로젝트 상태 읽기
'/Applications/ScreenKite.app/Contents/MacOS/ScreenKite' agent tool call \
--name getProjectState --input-json '{"scope":"summary"}' --json
언제든지 이 명령을 직접 실행해 상태를 확인할 수 있습니다. 각 호출에 --json을 붙이면 출력이 기계 판독 가능해집니다.
스킬
스킬은 사전 구축된 프롬프트 번들로, 에이전트에게 전체 워크플로를 가르쳐 처음부터 설명하지 않아도 됩니다. 한 번 설치하고 모든 세션에서 이름으로 참조하세요.
설치
npx skills add ScreenKite/awesome-ai-video-editing
사용 가능한 스킬
use-screenkite-advanced-b-roll — 완전한 파이프라인: ElevenLabs로 트랜스크립트 작성, 구문 뷰로 패킹, 고유명사 교정, 밀도 번들이 포함된 시각적 메뉴 제안, Hyperframes 컴포지션 병렬 생성, MP4로 렌더링, magicMove 전환으로 setSceneLayout DSL 적용.
claude "use the use-screenkite-advanced-b-roll skill on ~/Desktop/Recording.skbundle. Cute visuals, centered layout, medium density."
video-use — 트랜스크립트 중심 편집: 트랜스크립트 작성, 패킹, 컷 계획, 확인, 실행. ScreenKite 외부에서 작업 시 FFmpeg를 통한 컬러 그레이드, 자막, 애니메이션 오버레이도 처리합니다.
claude "use the video-use skill. Transcribe ~/Desktop/Recording.skbundle and plan a cut."
Claude Code에서 스킬 호출하기
Claude Code를 인터랙티브하게 열어 놓은 경우, 스킬 이름을 슬래시 명령으로 입력합니다:
/use-screenkite-advanced-b-roll
스킬이 지시사항을 로드하고 녹화 경로를 입력하도록 요청합니다.
파트 1 — 트랜스크립트 기반 컷
에이전트가 하는 일
- ElevenLabs Scribe로 마이크 트랙 트랜스크립트 작성 — 단어 수준 타임스탬프, 캐시되어 동일한 파일을 재업로드하지 않음
- 원시 JSON을 읽기 쉬운 구문 뷰로 패킹(구문은 ≥ 0.5s 침묵에서 분리)
- 웹 검색으로 모든 제품명이나 고유명사 교정 — ASR은 이름을 자주 잘못 듣습니다(예: "ScreenKite"가 "Screencast"로 전사); 잘못된 이름은 모든 다운스트림 자막과 비주얼에 전파됨
- 정확한 시간 범위와 각 컷의 알기 쉬운 이유가 담긴 컷 목록 제안
- 타임라인에 손대기 전에 승인 대기
동일한 단어 타임스탬프가 생성된 자막을 구동합니다. 에이전트가 ScreenKite에서 자막을 생성할 때, 구성된 Word-Level(단어 수준) 트랜스크립션 제공자를 사용하고 긴 문장 블록 대신 구어된 단어마다 하나의 자막 큐를 가져옵니다. 앱 측 설정은 Word-Level Generated Captions(단어 수준 생성 자막)를 참조하세요.
샘플 프롬프트
Open ~/Desktop/Recording.skbundle and transcribe + cut. Show me the cut plan first, don't touch the timeline yet. ElevenLabs key is in ~/.config/env/elevenlabs.env
에이전트는 다음과 같은 내용을 반환합니다:
[000.06–000.66] "HelloPro." → false start [002.14–002.56] "Hello." → second false start --- CUT [0 → 2.98s] --- [011.84–012.18] "Uh," → filler CUT [8.72–10.00] [043.60–045.16] "And let's see." → transition CUT [40.48–42.60] Result: 58.8s → 51.2s Apply these 3 cuts?
yes라고 답하면 모든 컷이 editTimeline(action: "cut", {ranges: [...]})의 한 번의 호출로 적용됩니다.
잘리는 내용
- 거짓 시작 — 실제 첫 문장 앞의 모든 것(마이크 테스트, 반복된 인사)
- 필러 단어 — 양쪽에 충분한 침묵이 있는 독립된 "어," "음," "그러니까"
- 전환 구문 — "한번 봅시다," "OK 그래서," "어쨌든" 등 비트 사이를 채우는 표현
에이전트는 절대 단어 중간에서 자르지 않으며, 각 컷 가장자리를 단어 경계에서 100–150ms 패딩하고, ≥ 400ms의 침묵을 컷 대상으로 선호합니다.
파트 2 — 자동 B-Roll 생성
컷 후, 에이전트는 트랜스크립트를 비트에 매핑하고 Hyperframes(HTML + GSAP → MP4)를 사용하여 각 비트에 대한 애니메이션 비주얼을 생성합니다. 각 비주얼은 magicMove 전환이 있는 씬 레이아웃으로 ScreenKite에 배치됩니다.
레이아웃 스타일
Corner PiP — 화면 녹화가 캔버스를 채우고, B-Roll이 코너 악센트로 나타납니다(너비 40–42%). 화면 콘텐츠가 주요 스토리인 튜토리얼에 최적입니다.
Centered B-roll — 화면 녹화가 왼쪽 상단으로 최소화되고(약 38%), B-Roll이 중앙에서 재생됩니다(너비 약 56%). 비주얼이 부각되어야 하는 제품 소개에 최적입니다.
# Corner PiP(기본값) claude "add B-roll with corner layout" # 중앙 배치 claude "add B-roll — minimize the screen to top left, B-roll centered, medium density, cute visuals"
에이전트가 하는 일
- 비트 매핑 — 컷된 트랜스크립트 구문을 비트에 매핑: 제품명, 핵심 기능, 워크플로, CTA
- 밀도 선택 — Sparse(4), Medium(7), Dense(10) 제안; 슬롯 메뉴 표시; 선택 대기
- 병렬 생성 — 슬롯당 서브 에이전트를 동시에 배포; 각 에이전트가 완전한 1920×1080 Hyperframes 컴포지션 작성
- 직렬 렌더링 — 각 슬롯을 MP4로 순차 렌더링(병렬 Chrome은 프레임을 손상시킴)
- DSL 적용 — 선택한 레이아웃으로 각 시간 창에
setSceneLayout호출
비주얼 계약
생성된 각 비주얼은 다음 규칙을 따릅니다:
- 풀프레임 콘텐츠 — 1920×1080 MP4가 PiP 프레임; 콘텐츠는 가장자리까지 채웁니다(대부분 비어 있는 프레임 안에 작은 카드를 배치하면 코너의 코너에 묻힙니다)
- 입장 → 유지 → 내부 퇴장 없음 — 비주얼이 애니메이션으로 입장(0–1.5s)하고, 읽기 쉬운 유지 상태로 안정되고, 멈춥니다.
magicMove가 퇴장을 처리합니다. 내부 페이드아웃은 깨진 이중 퇴장을 만듭니다. - 큰 타이포그래피 — 디스플레이 텍스트 160–220px, 본문 48–72px; 너비 40–56%에서도 화면에서 읽기 쉬운 크기
밀도 번들
| 번들 | 슬롯 | 간격 | 느낌 |
|---|---|---|---|
| Sparse | 4 | 약 13s 간격 | 깔끔, 다큐멘터리 |
| Medium | 7 | 약 7s 간격 | 균형(기본값) |
| Dense | 10 | 약 5s 간격 | 설명 에너지 |
샘플 프롬프트
Recording is cut. Add B-roll: - Centered layout (screen top-left, B-roll center) - Medium density - Cute, warm visuals - All text in English
하나의 슬롯 반복하기
Slot 3 should show a Swift logo instead of the Apple emoji. Re-render slot 3 and re-apply.
에이전트는 해당 슬롯만 재생성하고 DSL 창을 다시 적용합니다. 나머지는 그대로 유지됩니다.
모두 합치기
# 1. 프로젝트 폴더에서 Claude Code 시작 claude # 2. 트랜스크립트 컷 "Open ~/Desktop/Recording.skbundle. Transcribe and plan cuts. ElevenLabs key at ~/.config/env/elevenlabs.env" # → 컷 목록 검토 → "yes" # 3. B-Roll "Add B-roll — centered layout, medium density, cute English visuals" # → 7슬롯 비트 메뉴 검토 → "Medium, looks good" # → 에이전트가 병렬로 생성, 직렬로 렌더링, DSL 적용(약 3분) # 4. 스팟 체크 "Show me slot 4 at 18s" # → ScreenKite에서 스크럽 # 5. 필요시 조정 "Slot 4 — change the node diagram to use mint green for all nodes"
실제 작업 시간: 5분 미만. 렌더링 시간: 7슬롯에 약 2–3분.
더 많은 워크플로, 샘플 프롬프트, 커뮤니티 스킬: github.com/ScreenKite/awesome-ai-video-editing