Communitygithub.com

nolan

소프트웨어 데모를 위한 시나리오 보드 작성, 실제 앱 녹화, 내레이션 및 동영상 제작을 자동화하는 AI 스킬입니다.

nolan란 무엇인가요?

nolan은 소프트웨어 데모 제작을 전문적으로 돕는 AI 스킬입니다. 감독이 영화를 찍듯이, nolan은 기능을 시나리오 보드로 변환하고, 실제 앱을 구동하며, 각 단계를 제품 관리자가 사용자에게 시연하는 듯한 내레이션을 추가하고, 장면별로 깔끔한 동영상을 캡처합니다. 이 스킬은 런칭 클립, 기능 소개, 랜딩 페이지 히어로 동영상, 온보딩 워크스루 및 릴리스 노트 GIF와 같이 '이 제품으로 무언가를 하는 모습을 처음 보는 사람에게 보여줄 시청 가능한 동영상'을 제작해야 할 때 사용합니다. nolan은 Storyboard(시나리오 보드 작성), Record(녹화), Polish(다듬기)의 세 단계로 작업하며, 제품 관리자의 목소리로 가치를 전달하고, 일반 사용자가 이해할 수 있는 친근한 콘텐츠를 화면에 표시하며, 보여준 후에 설명하는 순서를 따르고, 실제 앱에서 완전한 동작을 수행하는 네 가지 원칙을 준수합니다. Python, Playwright, 그리고 실행 중인 실제 앱이 필요하며, 선택적으로 ElevenLabs나 OpenAI 등의 TTS를 이용한 음성 내레이션을 추가할 수 있습니다.

지원 대상~Claude Code✓Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/pur4v/nolan/tree/main/skills/nolan

즐겨 사용하는 AI에게 물어보기

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

문서

nolan은(는) 무엇을 하나요?

감독은 레코드 버튼을 누르고 결과를 기대하지 않습니다. 그들은 샷의 스토리보드를 작성하고, 각 샷을 구성하며, 완전한 테이크를 촬영합니다. nolan은 소프트웨어 데모에 대해 이를 수행합니다. 기능을 스토리보드로 바꾸고, 화면에서 실제 앱을 구동하며, 제품 관리자가 사용자에게 제품을 보여주는 것처럼 각 단계를 설명하고, 장면당 깨끗한 비디오를 캡처합니다.

결과물은 스모크 테스트가 아닌 데모입니다. 랜딩 페이지에 게시하거나 고객에게 보낼 수 있는 종류의 클립으로, 처음 보는 사람이 무슨 일이 일어나고 있는지와 그것이 왜 중요한지를 모두 이해할 수 있습니다.

이 스킬을 사용해야 할 때

실제 작업이 *"이 제품이 특정 작업을 수행하는, 본 적 없는 사람을 위한 시청 가능한 비디오를 제작하는 것"*인 경우 사용하세요. 여기에는 출시 클립, 기능 소개, 랜딩 페이지 히어로 비디오, 온보딩 워크스루, 릴리스 노트 GIF 등이 포함됩니다.

흐름을 테스트하기 위해 사용하지 마십시오 — 그것은 엔드투엔드 테스트이며, 간결하고 헤드리스여야 합니다. nolan은 그 반대인 가독성, 페이싱, 인간 청중을 위한 내레이션에 최적화되어 있습니다.

워크플로 — 세 단계

단계질문…nolan이 생성하는 것참조 문서
🎬 스토리보드"기능 X의 데모 계획"장면별 스토리보드(JSON): 제목 카드, 캡션, 정확한 클릭/입력, 대기할 내용reference/storyboard.md
🎥 녹화"녹화해 줘"장면당 하나의 .webm, 실행 중인 앱에 대해 실시간 구동, 오버레이된 제목 카드 + 자막 캡션 포함reference/recording.md
✨ 다듬기"이걸 시청 가능하게 만들어 줘"검토 및 재촬영된 테이크: 수정된 페이싱, 완전한 동작, 읽기 쉬운 캡션, 수정된 프레이밍reference/polish.md

단계는 연결됩니다: 스토리보드 → 녹화 → 다시 보기 → 다듬기 → 재녹화. 스토리보드가 진실의 원천이며, 녹화는 이로부터 결정론적으로 이루어집니다.

네 가지 원칙 (절대적, 모든 비디오)

이것들은 데모를 화면 캡처와 구분짓는 요소입니다. 선택 사항이 아닙니다.

  1. 제품 관리자의 목소리, 스모크 테스트가 아님. 사용자에게 가치를 설명하십시오 — 이를 통해 무엇을 할 수 있고 왜 좋은지 — 테스트의 메커니즘은 절대 설명하지 마십시오. 모든 캡션은 PM이 고객에게 제품을 안내하는 것처럼 읽혀야 합니다. reference/pm-voice.md를 참조하십시오.

  2. 일상적이고 공감할 수 있는 콘텐츠를 화면에 표시. 일반 사용자가 이미 이해하는 입력만 UI에 표시됩니다 — 평범한 질문, 실제 예시(예: "귀리 우유 구매", "동료에게 감사 메모"). 절대 전문 용어, 내부 코드명, 또는 시청자가 해독해야 하는 "이질적인" 개념을 사용하지 마십시오. 접근성이 최우선입니다.

  3. 보여준 다음, 말하십시오. 모든 장면은 전체 화면 제목 카드(제품 + 장면 이름)로 시작하고 내장 자막 캡션(상단 배너)을 포함하여 각 단계가 발생할 때 설명하므로 시청자는 절대 길을 잃지 않습니다. reference/captions.md를 참조하십시오.

  4. 실제 앱에서 완전한 테이크를 수행. 실제 제품을 실시간으로 구동 — 눈에 보이고 사람 속도의 타이핑과 실제 클릭 — 그리고 각 동작이 완전히 끝날 때까지 기다린 후 다음으로 넘어가며, 읽을 수 있도록 잠시 멈춥니다. 답변이나 전환을 중간에 자르지 마십시오. 길이는 완전성을 위해 제공됩니다.

표준 절차

  1. 데모 범위 지정. 어떤 제품, 어떤 기능, 어떤 URL에서 제공되는지, 청중은 누구인지 확인합니다. 앱이 실행 중이고 접근 가능한지 확인합니다(nolan은 라이브 앱을 촬영하며, 모의 앱을 만들지 않습니다).
  2. 스토리보드. storyboard.json을 작성합니다 — 아이디어당 하나의 장면, 각각 제목 카드, 순서가 지정된 단계(입력 / 클릭 / 선택 / 대기), PM 목소리의 캡션을 포함합니다. assets/storyboard-template.json을 형태로 사용합니다. 프롬프트는 일반적으로 유지합니다(§2).
  3. 선택자 드라이런. 전체 촬영 전에 스토리보드가 대상으로 하는 플레이스홀더 / 역할 / 텍스트가 실제로 DOM에 존재하는지 확인합니다(잘못된 선택자는 전체 테이크를 망칩니다). reference/recording.md에는 강력한 선택 방법이 설명되어 있습니다.
  4. 녹화. scripts/record.py storyboard.json [scene ...]를 실행합니다. 캡션/제목 카드 오버레이를 주입하고, 각 장면을 구동하며, 완료를 기다리고, 장면당 하나의 .webm을 스토리보드의 out_dir에 저장합니다.
  5. 다시 보고 다듬기. 각 원칙을 reference/polish.md와 비교하여 확인합니다 — 잘린 부분은 없는지, 캡션에 전문 용어는 없는지, 타이핑이 사람처럼 읽히는지, 모든 동작이 완료되었는지 확인합니다. 스토리보드를 수정하고 영향을 받은 장면만 다시 촬영합니다.
  6. 전달. 파일이 저장된 위치, 크기/길이, 장면당 한 줄 설명을 보고합니다. 필요하다면 포스터 프레임이나 GIF를 제공합니다.

nolan이 예상하는 설정

  • Python + Playwright (pip install playwright && playwright install chromium). scripts/record.py는 동기 API와 record_video_dir을 사용하여 .webm을 캡처합니다.
  • 머신이 도달할 수 있는 URL에서 실행 중인 앱(로컬 개발 서버 또는 촬영이 허용된 배포 환경).
  • 앱에 로드된 현실적이고 민감하지 않은 데모 데이터 — 원칙 §2 및 SECURITY.md의 데이터 참고 사항을 참조하십시오. 실제 고객 데이터나 비밀을 절대 촬영하지 마십시오.
  • 선택 사항 — 음성 내레이션. 기본적으로 데모는 무음입니다(캡션이 역할을 합니다). 인간 같은 음성 해설을 추가하려면 스토리보드에 voice 블록을 추가하고 단계에 vo 줄을 추가하십시오. 이 경우 ffmpeg(brew install ffmpeg)와 TTS 공급자가 필요합니다 — ElevenLabs / OpenAI / Deepgram(API 키, 가장 인간적), Piper(오프라인, 오픈소스), macOS say(무료, 로봇 음성), 또는 command 템플릿을 통한 모든 도구. reference/narration.md를 참조하십시오.

자세한 내용은 reference/recording.md에서 하네스 세부 사항, 오버레이 기술, 스토리보드 단계 참조를 확인하십시오.

내레이션 추가 (선택 사항)

내레이션은 스토리보드에 voice 블록이 없으면 꺼져 있습니다. 누군가 오디오 / 음성 해설 / "인간처럼 들리게" 해달라고 요청할 때:

  1. 사용할 공급자를 묻습니다. 진정한 인간 음성 오디오를 위해서는 클라우드 공급자를 사용하고 사용자가 API 키를 가지고 있거나 추가할 것인지 확인합니다: ELEVENLABS_API_KEY, OPENAI_API_KEY, 또는 DEEPGRAM_API_KEY. 또한 자신의 TTS 도구를 command로 지정할 수 있습니다.
  2. 키가 없는 경우, 무료/오프라인 대체 수단을 제공합니다(Piper는 괜찮은 품질, macOS say는 설정 없이 사용 가능하지만 로봇 음성) — 또는 "provider": "auto"를 사용하여 사용 가능한 최상의 것을 사용합니다.
  3. 둘 다 원하지 않는 경우, voice를 빼거나("provider": "none") — 비디오는 이전과 같이 무음으로 녹화됩니다.

그런 다음 캡션과 동일한 PM 목소리로 vo 줄을 작성하고 평소처럼 녹화합니다. record.py가 오디오를 합성하고 장면당 믹싱합니다. 자세한 내용: reference/narration.md.

출력 원칙

  • 장면당 하나의 비디오, NN-slug.webm으로 명명되므로 장면을 독립적으로 다시 촬영할 수 있습니다.
  • 핸드오프 시 시청 가능한 결과(각 클립이 보여주는 것)를 먼저 안내한 다음, 메커니즘(경로, 크기, 재녹화 방법)을 안내합니다.
  • 하나의 긴 클립보다는 여러 개의 짧고 완전한 장면을 선호합니다 — 다시 촬영하고 재사용하기 쉽습니다.
  • 테이크를 중간에 잘라야 하거나 캡션이 플레이스홀더인 경우, 솔직히 말하십시오 — "3번 장면은 다시 촬영이 필요합니다"라는 정직한 말이 잘린 데모를 제공하는 것보다 낫습니다.

관련 스킬