편집 — 게이트웨이
사용자는 폴더, 경로, 터미널에 대해 알 필요가 없습니다. 그녀는 휴대폰으로 촬영하고, 컴퓨터(다운로드, 바탕화면, WhatsApp Web, Google Drive…)로 영상을 옮긴 후 포르투갈어로 여러분과 대화합니다. 그녀가 보는 모든 것은 응답과 완성된 영상입니다. 짧고, 간단한 포르투갈어로, 전문 용어 없이 말하세요.
M=.claude/skills/_motor · K = videos-opus 스킬 실행기: "<VO>\bin\node.exe" "<VO>\scripts\video.mjs" kit,
여기서 <VO>는 videos-opus 스킬 폴더입니다(이 가이드를 읽도록 한 SKILL.md가 있는 폴더). 실행기는 경로에 휴대용 프로그램을 추가하고 킷 작업 폴더에서 모든 것을 실행합니다($K pasta로 확인). 이 가이드의 경로(video-projects/…, prontos/…, perfil.json)는 해당 폴더를 기준으로 합니다: 파일을 읽거나 편집하려면 이 경로와 결합하세요. $K --em <하위폴더> …는 하위폴더 내에서 실행됩니다. npx, Python, 또는 분리된 node는 사용하지 않습니다: 모든 것은 $K를 통해 실행됩니다.
프리미엄 비주얼 표준(필수, 모든 스타일에 적용): 글자에 외곽선 절대 사용 금지, 광선/나선, 불꽃, 흰색 플래시 또는 떨림 금지; 부드러운 그림자 또는 어두운 베일로 가독성 확보; 느리고 부드러운 움직임; 은은한 사운드. 세부 사항은 videos-opus 스킬의 SKILL.md에 있는 "프리미엄 비주얼 표준" 섹션 참조. 이는 스타일 가이드의 내용보다 우선합니다.
단계 0 — 재개 또는 조정?
새 영상을 찾기 전에 상태를 확인하세요:
- 조정 요청("…부분 빼 줘", "자막 바꿔 줘", "마지막 영상") →
prontos/ULTIMO.json을 읽습니다: 마지막으로 전달된 영상의slug와 프로젝트가 나와 있습니다. 해당 프로젝트의 조정으로 바로 이동합니다. - 최근 24시간 내에 수정된
video-projects/*/projeto.json에서etapa가entregue와 다른 경우 → "<slug>(이)라는 영상이<etapa>단계에서 중단되었습니다. 계속하시겠습니까?"라고 묻습니다. 예인 경우 해당 단계부터 재개합니다. - 진행 중인 렌더링(
video-projects/<slug>/renders/progresso.json에서fase: renderizando) →$K node $M/renderizar.mjs <slug> --esperar실행.
단계 1 — 영상 찾기
| 사용자가 말한 경우 | 실행 |
|---|---|
| 경로 붙여넣기(따옴표 포함 또는 미포함) | $K node $M/achar-video.mjs "<경로>" |
| "내 마지막 영상", "방금 보낸 것", 또는 아무 말 없음 | $K node $M/achar-video.mjs --ultimo |
| "어떤 영상인지 맞춰 봐?", 또는 이전 실행에서 여러 개가 나온 경우 | $K node $M/achar-video.mjs |
JSON {ok, video, motivo, aviso, confirmar, candidatos[], checks{}}를 읽으세요:
ok: true이고confirmar: false인 경우 →video로 진행합니다(스크립트가 이미meus-videos/에 복사본을 저장했습니다). 한 줄로 확인: "IMG_2041.mp4찾았습니다, 오늘 14:02, 3분 — 편집 중."ok: true이고confirmar: true인 경우 → 시간 소모 전에 물어보세요: "이 영상인가요:IMG_2041.mp4, 어제 14:02에 수신, 3분?" (meus-videos에 없거나 2시간 이상 전에 도착한 영상 — Downloads의 WhatsApp 영상일 수 있음).aviso(3분 이상 영상) → 말하고 어떤 부분을 사용할지 물어보세요; Reel은 최대 90초입니다.motivo: "vários candidatos; escolher"인 경우 → 최대 4개의candidatos를 이름, 날짜/시간, 크기와 함께 보여주고 질문합니다. 그런 다음 선택한 경로로 다시 실행하세요.motivo: "nenhum vídeo recente encontrado"인 경우 → 설명: "새로운 영상을 찾을 수 없습니다. 휴대폰에서 컴퓨터로 영상을 옮기고(예: WhatsApp Web으로 자신에게 보내고 다운로드; Downloads에 저장됩니다) 알려주세요, 또는 파일 경로를 여기에 붙여넣으세요."- 다른
motivo(소리 없음, 가로, 짧음, 도착 중, 공간 부족) → 한 문장으로 이유를 반복하고 중단하세요. 가로 영상: 세로로 다시 촬영하도록 제안하세요. 적합하지 않은 영상에 분석 시간을 소비하지 마세요.
스크립트는 이미 다운로드가 완료될 때까지 파일 크기가 증가하는 것을 기다립니다. 우회하지 마세요.
단계 2 — 스타일
요청을 이해하세요:
| 사용자 말 | 스타일 | 스킬 |
|---|---|---|
| 셀룰러, 날것, "인스타그램에서 편집한 것 같아", 자연스러움, 단순함, 스타일 언급 없고 영상은 그녀가 말하는 것 | 셀룰러 | estilo-celular |
| 에디토리얼, 잡지, 고급스러움, 우아함, "편집된 느낌", 세리프체 | 에디토리얼 | estilo-editorial |
| 설명형, 뉴스, 설명, "위에 이미지 있는", 교훈적 | 설명형 | estilo-explicativo |
| 콜라주, 오려내기, 오려낸 사진, 스크랩북 | 콜라주 | estilo-colagem |
| 광고, ad, 트래픽, 스폰서, 판매, 제안 | 광고 | estilo-anuncio |
사용자가 말하지 않았고 추론할 수 없는 경우, 한 번만 물어보고 카탈로그를 5줄(이름 + 1문장)로 보여주세요. 해당 스타일의 스킬이 이 설치에 아직 존재하지 않는 경우, 그 점을 알리고 셀룰러 스타일을 제안하세요.
단계 3 — 프로필
킷 작업 폴더에서 perfil.json을 읽으세요. 존재하지 않거나 nome/usuario가 누락된 경우, .claude/skills/perfil-criadora.md를 따라 모든 것을 한 번에 물어보세요. 계속하기 전에 저장하세요.
단계 4 — 추가 사항(의미 있는 경우에만)
- 프린트(기본값: 프린트 없음). 영상이 결과, 숫자, 댓글, 게시물 또는 프로필에 대해 이야기하는 경우, 지금, 분석 전에 한 줄로 물어보세요: "영상에 프린트를 추가하시겠습니까? 지금 바탕화면의 내 프린트 폴더에 넣어주세요; 그렇지 않으면 추가하지 않고 진행하며, 나중에 요청하실 수 있습니다." 응답 없이 기다리지 마세요: 응답이 없으면 프린트 없이 진행하고 전달 시 조정으로 제안하세요. 이는 스타일 스킬이 정확한 화면을 요청하라고 말하는 것보다 우선합니다. 최대 12개의 가장 최근 프린트만, 연락처 시트 형식으로 확인하세요.
- 광고: 제품/제안과 CTA를 하나의 질문으로 물어보세요.
- 프린트, 숫자, 로고 또는 사용후기를 절대 임의로 만들지 마세요. 누락된 경우 정확한 화면을 요청하거나 생략하세요.
단계 5 — 위임
선택한 스타일의 SKILL.md를 읽고 처음부터 끝까지(프로젝트 → 컷 → 확인 → 프린트 → 구성 → 스냅샷 → renderizar.mjs) 흐름을 따르세요. 프로젝트 slug: 주제의 2-4개 단어, 소문자, 하이픈 사용(duas-noites-engrene). novo-projeto에서 이름이 이미 존재한다고 말하면, 제안하는 이름을 사용하세요(-2).
각 느린 단계 전에 한 줄: "분석 중 — 몇 분 정도 걸릴 수 있습니다." / "최종 영상 렌더링 중…". 콜라주 스타일: 가장 오래 걸린다고 미리 알리고(사람 오려내기 + 렌더링: 그래픽 카드가 없는 PC에서 40분 이상 소요 가능) 계속할지 또는 셀룰러를 선호하는지 물어보세요. 오려내기는 백그라운드에서 실행하세요.
단계 6 — 전달
이전 단계의 renderizar.mjs는 이미 확인, 렌더링, 검증 및 prontos/와 바탕화면의 편집된 영상 폴더로 복사합니다 — prontos.mjs를 다시 실행하지 마세요. 코드 3으로 종료된 경우, --esperar를 실행하여 PRONTO가 나타날 때까지 기다리세요.
최종 응답, 3~5줄:
- 위치: "완료! 편집된 영상 폴더, 바탕화면에
duas-noites-engrene-2026-10-09.mp4(65초)로 저장되었습니다." - 컷한 내용: 일시 정지, 반복, 제외된 구간(초 단위가 아닌 그녀의 언어로).
- 사용한 자료: 프린트 및 제목.
- 의문점: 분석 도구가 잘못 인식했을 수 있는 이름, 확실하지 않은 구간.
- 조정 방법: "무언가 바꾸시겠습니까? 예: '가격 부분 빼 줘' 또는 '자막을 더 아래로'."
영상을 게시, 전송 또는 삭제하지 마세요. 원본은 원래 위치에 남아 있습니다(킷의 meus-videos/에 복사본).
조정(전달 후 사용자가 돌아온 경우)
사용자가 요청한 부분만 수정하고, prontos/ULTIMO.json의 프로젝트(또는 사용자가 지정한 프로젝트)에서 $K node $M/renderizar.mjs <slug>로 한 번 렌더링하세요. 빠른 맵:
| 요청 | 수정 대상 | 재실행 |
|---|---|---|
| 구간 제거/단축 | assets/keeps.json | 컷 → 분석 → 조립 → 렌더링 |
| 자막 더 위/아래 | reel.json(capTop) | 조립 → 렌더링 |
| 프린트 또는 제목 교체/제거 | src/index.template.html | 조립 → 스냅샷 → 렌더링 |
| 자막 오타 | assets/caption-fixes.json({"틀린": "맞음"}, 대소문자/구두점 무관) | 조립 → 렌더링 |
| 다른 강조 단어 | assets/enfase.json(에디토리얼) / assets/emphasis.json(콜라주) | 조립 → 렌더링 |
| 다른 스타일 | 다른 slug로 새 프로젝트 | 모든 것 |
renderizar.mjs는 -v2, -v3 등으로 덮어쓰지 않고 전달합니다. 구간을 자른 후 요소의 시간이 변경됩니다: 조립 전에 ancoras.mjs로 다시 계산하세요.