diff --git a/.agents/skills/short-video-images/SKILL.md b/.agents/skills/short-video-images/SKILL.md new file mode 100644 index 0000000..b036495 --- /dev/null +++ b/.agents/skills/short-video-images/SKILL.md @@ -0,0 +1,42 @@ +--- +name: short-video-images +description: 승인된 짧은 영상의 컷별 시작·끝 이미지 요청서를 작성하고 11 이미지의 실제 PNG와 장면 연속성을 검증할 때 사용한다. +--- + +# 컷 이미지 요청과 결과 확인 + +11-images만 담당한다. 각 컷에 시작과 끝 프레임이 필요하며 요청서만으로 생성 완료를 보고하지 않는다. + +## 읽을 자료와 시작 조건 + +- [공통 계약](../../../docs/workflow-contracts.md): 입력·선행 버전·경로·승인·실제 미디어 완료 기준. +- [제작 지침](../../../docs/short-video-guide.md): 근거와 숫자, 화면의 역할, 연속 연결, 그림체와 주석. +- [11 양식](../../../templates/stages/11-images.json), [결과 스키마](../../../contracts/artifact.schema.json), [검토 양식](../../../templates/review.md). +- [그림체 기준](../../../references/1.png): 실제 이미지를 열어 가는 윤곽선·단순 형태·정돈된 색면·제한적인 음영을 확인한다. + +1. 제작물의 `topic`, `language`를 보존하고 세로 9:16, 전체 180000ms 이내, 각 컷 0ms 초과 5000ms 이하 조건을 확인한다. +2. 같은 제작물의 유효한 02-research, 03-script, 07-cuts, 08-scenes, 09-entities, 10-references를 읽고 실제 사용 버전을 `inputs`에 기록한다. 10의 모든 필요한 기준 PNG와 참조가 검증되어야 한다. 자료가 없거나 stale·부분 결과이면 먼저 해결할 단계와 이유를 총괄에 보고한다. +3. scenes 검토의 실제 사용자 응답과 `artifact_refs`가 사용하는 07·08·09 버전을 승인했는지 확인한다. 10이 이 승인 전에 진행되었다면 유효한 선행 완료로 취급하지 않는다. topic·story 등 앞선 승인도 유효해야 한다. 개별 호출로 선행 결과·승인을 우회하지 않으며 같은 승인 버전에 재승인을 요구하지 않는다. + +## 컷별 요청서 작성 + +`payload.request`의 기존 `model`, `frames`만 사용하며 모델은 `gpt-image-2.5-sunburst`다. 스타일은 10의 기준 결과와 원본 `references/1.png`에 연결한다. + +- 각 frame은 유일한 `id`, `cut_id`, `position`, `prompt`, `reference_ids`를 가진다. 07의 모든 컷마다 `position=start`와 `position=end`가 정확히 하나씩 있어야 한다. 추가 컷·중복 위치·누락은 허용하지 않는다. +- `cut_id`는 07·08의 같은 컷을 가리키고, `reference_ids`는 10의 요청 `id`와 결과 `reference_id`가 일치하는 검증된 기준 이미지를 참조한다. 스타일 및 해당 컷의 인물·배경 기준을 포함하고 09의 등장 인물·배경 ID를 프롬프트에 연결한다. +- `prompt`는 03의 관련 블록·주장, 02의 확인한 근거, 08의 해당 start_state/end_state와 camera를 따른다. 인물·배경의 고정 특징을 유지하고 의상·표정·시간 변화는 장면에 근거해 명시한다. 원본 스타일 이미지의 등장인물을 모든 영상의 고정 인물로 삼지 않는다. +- 작동 원리와 단면·지도·주석의 구조·재료·방향·수치를 조사·대본과 대조한다. 근거가 없거나 선행 설계와 충돌하면 임의로 도해하지 말고 수정할 단계·컷을 보고한다. 단순화해도 사실에 중요한 차이를 남긴다. +- 그림체는 첨부의 가는 윤곽선·단순 형태·색면·제한적 음영을 따른다. 참고 Shorts의 입체 렌더링이나 캠핑 소재·상표 복제를 강제하지 않는다. 부정확한 생성 글자·숫자는 검증한 텍스트로 합성하도록 메모한다. + +## 인접 프레임 연결 + +08의 `connections.mode`와 `reason`을 따른다. continuous는 앞 컷 end와 다음 컷 start의 같은 인물·배경·물체 위치·행동 진행·흐름 방향·카메라 상태를 맞춘다. 동일한 이미지를 공유할 수 있으나 각 컷·위치에는 별도 frame ID를 유지하고, 두 결과의 실제 `media.path` 및 공유하는 end/start frame ID 관계를 `review.md`에 명시한다. cut은 위치·시간·시점이 어떻게 바뀌는지 프롬프트와 검토 메모에서 설명한다. 장면 연결을 이미지 단계에서 임의로 변경하지 않는다. + +## 실제 결과 확인과 전달 + +실제 제작 시 해당 모델과 세로 출력 지원을 확인한다. 확인하지 않은 API 파라미터를 고정하거나 다른 모델로 무단 대체하지 않는다. 지원이 확인되지 않거나 실제 결과가 없으면 요청서를 보존하고 `result=null`, `awaiting_input`을 총괄에 보고한다. + +- 실제 부분 결과는 `payload.result.frames`에 보존한다. 각 결과는 `frame_id`, `media`이며 frame_id는 요청 frame의 `id`와 일치해야 한다. 모든 요청의 start/end 결과가 누락·중복 없이 검증되기 전 전체 complete로 보고하지 않는다. +- `media`는 기존 `{path, kind, verified, duration_ms, width, height}`를 사용한다. 경로는 저장소 루트 기준이다. 실제 파일 존재·PNG 내용 형식·해상도와 화면을 확인한 경우만 `verified=true`다. `kind=image`, `duration_ms=null`, 크기는 실제 측정값이며 미확인 값은 null이다. 확장자·요청 크기·예제 경로만으로 검증하지 않는다. 실제 세로 9:16, 컷 상태·고정 특징·근거·연속성도 확인한다. +- 자기 단계의 새 `stages/11-images/r/artifact.json`과 `review.md`만 작성하고 이전 버전을 덮어쓰지 않는다. 메모에 적용 원칙과 결과, 비적용 이유, 실제 모델·지원 확인, 컷·프레임·파일별 검증과 미확인 사항을 적는다. 새 JSON 필드·필수 입력·승인 지점은 만들지 않는다. +- 모든 컷의 두 위치와 결과 검증을 대조해 준비 여부·남은 문제·후속 영향과 수정할 단계를 총괄에 보고한다. `project.json`, 상태·현재 포인터·사용자 승인은 총괄만 변경한다. diff --git a/.agents/skills/short-video-references/SKILL.md b/.agents/skills/short-video-references/SKILL.md new file mode 100644 index 0000000..9bfe055 --- /dev/null +++ b/.agents/skills/short-video-references/SKILL.md @@ -0,0 +1,38 @@ +--- +name: short-video-references +description: 승인된 짧은 영상 장면과 반복 요소를 바탕으로 10 기준 이미지 요청서를 작성하고 실제 PNG 결과를 검증할 때 사용한다. +--- + +# 기준 이미지 요청과 결과 확인 + +10-references만 담당한다. 요청서 작성은 이미지 생성 성공이나 단계 완료가 아니다. + +## 읽을 자료와 시작 조건 + +- [공통 계약](../../../docs/workflow-contracts.md): 입력·버전·경로·선행 결과·승인·미디어 완료 기준. +- [제작 지침](../../../docs/short-video-guide.md): 근거와 숫자, 화면의 역할, 깔끔한 그림체와 작동 방식. +- [10 양식](../../../templates/stages/10-references.json), [결과 스키마](../../../contracts/artifact.schema.json), [검토 양식](../../../templates/review.md). +- [그림체 기준](../../../references/1.png): 실제 이미지를 열어 가는 윤곽선·단순 형태·정돈된 색면·제한적인 음영을 확인한다. + +1. 제작물의 `topic`, `language`, 현재 결과와 검토 기록을 확인한다. 세로 9:16, 전체 180000ms 이내, 각 컷 0ms 초과 5000ms 이하 조건을 보존한다. +2. 같은 제작물의 유효한 02-research, 08-scenes, 09-entities 결과를 읽고 실제 사용 버전을 `inputs`에 기록한다. 필요한 선행 자료가 없거나 stale이면 총괄에 보완할 단계와 이유를 보고한다. +3. 사용자가 07-cuts·08-scenes·09-entities의 현재 사용 버전을 scenes 검토에서 승인했는지 실제 응답과 `artifact_refs`로 확인한다. 그 전에 10 요청을 작성하거나 생성으로 넘어가지 않는다. topic·story 등 앞선 승인 경계도 유효해야 하며, 개별 호출은 선행 결과나 승인을 우회하지 않는다. 같은 승인 버전은 재승인을 요구하지 않는다. + +## 요청서 작성 + +`payload.request`의 기존 `model`, `style_reference`, `items`만 사용한다. 모델은 `gpt-image-2.5-sunburst`, 그림체 경로는 `references/1.png`다. 이 경로와 모든 JSON 미디어 경로는 저장소 루트 기준이다. + +- 각 item은 유일한 `id`, `kind`, `entity_id`, `prompt`를 가진다. `kind=style`만 `entity_id=null`이며, character/background는 09의 해당 인물/배경 ID를 참조한다. 스타일과 09에서 필요한 모든 인물·배경을 빠짐없이 다룬다. +- 프롬프트에 08의 장면·컷 ID, 09의 인물·배경 ID와 고정 특징을 연결한다. 고정 특징을 유지하고 의상·표정·시간에 따른 변화는 해당 장면에서 허용된 변화로 명시한다. 기준 이미지에 등장한 인물을 모든 영상의 고정 인물로 지정하지 않는다. +- 02의 확인한 주장·출처를 근거로 작동 원리와 단면·지도·주석의 구조·재료·방향·수치를 점검한다. 선행 장면이 근거와 충돌하면 임의로 바꾸지 말고 수정할 단계와 문제를 보고한다. +- 첨부 그림체를 적용하며 참고 Shorts의 입체 렌더링을 강제하지 않는다. 캠핑 소재·인물·상표를 복제하지 않는다. 표현을 단순화해도 사실에 중요한 재료·구조의 차이는 남긴다. 부정확한 생성 글자·숫자는 검증한 텍스트를 합성 단계에 배치하도록 보고한다. + +실제 제작 시 해당 모델과 세로 출력 지원을 확인한다. 확인하지 않은 API 파라미터를 고정하거나 다른 모델로 무단 대체하지 않는다. 지원·결과가 확인되지 않으면 요청서와 미확인 내용을 남긴다. + +## 결과 검증과 전달 + +- 결과가 없으면 `payload.result=null`로 두고 총괄에 `awaiting_input`을 보고한다. 실제 받은 부분 결과는 `result.items`에 보존하되 전체 완료로 보고하지 않는다. +- 각 결과는 `reference_id`, `media`를 사용한다. `reference_id`는 요청 item의 `id`와 일치해야 하며, 중복·누락·알 수 없는 ID가 없어야 한다. 모든 스타일·인물·배경 요청의 실제 결과와 고정 특징을 대조한다. +- `media`는 기존 `{path, kind, verified, duration_ms, width, height}`만 사용한다. 실제 파일 존재·PNG 내용 형식·해상도를 확인하고 화면을 열어 확인한 경우만 `verified=true`로 기록한다. `kind=image`, `duration_ms=null`, width/height는 실제 측정값이다. 미확인 파일은 false, 미확인 크기는 null이며 예제 경로를 실제 결과로 기록하지 않는다. 세로 출력 조건도 실제 해상도로 확인한다. +- 자기 단계의 새 `stages/10-references/r/artifact.json`과 `review.md`만 작성하고 이전 버전을 덮어쓰지 않는다. 검토 메모에 사용한 원칙·적용 결과·소재에 맞지 않아 적용하지 않은 원칙의 이유, 실제 모델·지원 확인 근거, 파일별 검증 결과와 남은 문제를 적는다. 새로운 JSON 필드·필수 입력·승인 지점은 만들지 않는다. +- 요청 전체와 실제 결과 검증이 충족되면 준비 여부를 총괄에 보고한다. `project.json`, 단계 상태·현재 포인터·사용자 승인은 총괄만 변경한다. 변경이 후속 이미지에 미치는 영향도 함께 보고한다.