Files
ShortVideoGenerator/.agents/skills/short-video-review/SKILL.md
T
2026-10-08 00:54:01 +09:00

6.3 KiB

name, description
name description
short-video-review 13-compose의 실제 완성본을 여섯 영역에서 검수해 14-review의 근거·수정할 단계와 컷·추천을 작성하고 사용자 final 검토를 준비한다.

최종 영상 검수

시작 조건

공통 계약의 저장·전달, 승인·수정, 검수 판정 규칙과 제작 지침의 최종 영상 검토를 읽는다. 14 양식과 결과 스키마의 14-review 정의를 사용하며 새로운 입력·필드·검토 지점을 만들지 않는다.

개별 호출에서도 같은 제작물의 유효한 13-compose와 검수에 직접 사용한 선행 결과를 확인하고 실제 사용한 {stage_id, revision}을 inputs에 기록한다. 대본·제목·근거, 실측 음성·컷, 장면·인물·배경·이미지·영상은 검수에 필요한 해당 결과와 그 선행 관계를 읽는다. 다른 제작물·오래된 버전·stale 결과를 섞지 않는다.

project.json에서 story·scenes가 사용 버전과 연결된 실제 사용자 승인인지 확인한다. pending·changes_requested·stale 승인을 우회하지 않으며 같은 승인 버전은 재승인을 요구하지 않는다. 선행 조건인 Qwen3-TTS 음성, gpt-image-2.5-sunburst 이미지, references/1.png 그림체를 유지한다. 이 스킬은 실제 모델 API·영상 생성·합성 실행이나 엔진 선택을 담당하지 않는다.

13의 실제 MP4·SRT를 열고 영상을 끝까지 시청·청취한다. media.verified=true만으로 검수자의 관찰을 대신하지 않는다. 실제 최종 영상이 없거나 재생해 볼 수 없으면 recommendation=incomplete이며 확인하지 못한 영역은 not_checked로 남긴다. 빠진 결과·파일·승인과 돌아갈 단계를 총괄에 보고한다. 선행 파일 미확인은 verified=false, 미확인 메타데이터는 null로 취급하며 부분 결과의 완료를 인정하지 않는다.

여섯 영역의 실제 근거

payload.checks에 아래 area를 각각 한 번 포함하고 기존 {area, verdict, evidence}를 사용한다. verdict는 pass/fail/not_checked이며 증거 없이 pass로 만들지 않는다. evidence에 실제 파일·관찰/청취 구간·관련 블록/주장/자막/컷 ID와 확인 결과를 적는다. 검수하지 못한 이유도 이 필드에 남긴다.

area 실제 완성본에서 확인할 내용
story 중심 질문에 답하고 쉬운 말·구체적 행동으로 이해와 재미를 주는가. 블록 연결·근거의 범위가 유지되고 도입과 선정 제목의 약속을 끝에서 회수하는가. 확인한 02 주장과 03 블록·04 제목, 실제 영상 구간을 연결한다.
visual 설명에 필요한 상태 변화·동작·카메라가 보이고 시작/끝 상태가 맞는가. 구조·수치·주석이 조사 근거와 맞으며 장식적 움직임이 설명을 가리지 않는가. 실제 컷과 관찰 내용을 기록한다.
audio 실제 청취에서 내레이션의 의미·발음·음량이 자연스럽고 누락·중복이 없는가. 배경음·효과음이 있다면 말을 가리는지도 듣는다. 텍스트·파일 존재만으로 통과시키지 않는다.
captions 실제 SRT와 표시 자막이 입력 언어·원문 의미·표시 순서를 지키고 음성 시간에 맞는가. 자막과 도해 주석의 역할, 모바일에서 대비·글자 크기·줄바꿈·표시 시간·가림을 확인한다.
timing MP4 실측 길이가 양수·180000ms 이하, width:height가 9:16인가. 모든 실제 컷이 양수·5000ms 이하이고 요청/클립 길이, 통합 음성·영상·자막 구간이 일치하며 빈 구간·겹침이 없는가.
consistency 인접 컷의 끝/시작 상태, 인물·배경 고정 특징, 위치·방향·카메라·그림체가 일관되는가. continuous 연결과 cut 전환이 승인된 장면 이유를 지키는가. 연결 컷 쌍으로 기록한다.

문제와 추천

payload.findings는 {severity, description, stage_id, cut_id}다. severity는 blocking/minor, stage_id는 실제 수정할 단계, cut_id는 해당 컷 ID이며 전체 문제는 null이다. description에 실제 증상·구간·기대 결과·수정 방향을 적고 evidence와 일치시킨다.

대본·제목·근거 문제는 03/04/02, 음성 누락·중복은 05/06, 컷·자막 시간은 07, 장면 연결·고정 특징은 08/09, 이미지 문제는 10/11, 동작·클립 길이는 12, 합성·배치·SRT 문제는 13으로 보고한다. 정확한 stage_id 값을 사용하며 원인에 맞춰 돌아갈 단계를 고른다. 실제 클립 길이가 요청과 다른 것을 요청값으로 덮거나 재생 속도로 감추지 않는다.

recommendation은 다음 기존 값만 사용한다.

  • pass: 여섯 영역이 모두 실제 근거를 가진 pass이고 fail/not_checked와 blocking 발견이 없을 때만 사용한다.
  • revise: 확인된 실패나 blocking 문제를 수정해야 할 때 사용하고 담당 단계·컷을 연결한다. minor 발견도 보존하고 수정 필요성을 설명한다.
  • incomplete: 실제 최종 영상이 없거나 볼 수 없고, 필수 영역·선행 자료를 확인하지 못해 판정을 완료할 수 없을 때 사용한다. 이미 확인한 실패도 findings에 보존한다.

저장과 사용자 final 검토

담당은 projects/<project_id>/stages/14-review/r<revision>/artifact.json과 같은 버전 review.md만 작성하고 이전 버전을 보존한다. 검토 양식에 여섯 영역의 checks.evidence·findings·추천을 같은 의미로 요약하고, 제작 지침을 적용한 실제 결과와 소재에 맞지 않아 적용하지 않은 구성의 이유를 적는다.

총괄만 project.json의 상태·현재 포인터·승인을 작성한다. 담당은 검수 준비 여부·미확인 내용·수정 단계/컷과 영향받는 후속 결과·승인을 총괄에 보고한다. 13 실제 완성본과 14 보고서를 사용자 final 검토에 제시하며 검수자의 pass는 사용자 승인이 아니다. 응답 없음이나 담당의 추천을 승인으로 기록하거나 사용자 final 승인 전 제작 완료를 선언하지 않는다.