Skip to main content

webtoon-consistency-qa

생성된 웹툰 이미지·HTML 페이지를 캐릭터 시트·스타일 바이블·컷 리스트와 교차 비교하여 일관성 위반을 잡아내는 QA 스킬. 캐릭터 외형 드리프트, 시그니처 누락, 색 위반, 스크롤 호흡 깨짐, 텍스트 불일치 4축으로 검수한다. consistency-qa 에이전트가 호출한다.

Source facts

Repository
revfactory/systemless-player
Last source activity
May 18, 2026 at 00:19
Detected SKILL.md language
Korean
Stars
1
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
webtoon-consistency-qa
description
생성된 웹툰 이미지·HTML 페이지를 캐릭터 시트·스타일 바이블·컷 리스트와 교차 비교하여 일관성 위반을 잡아내는 QA 스킬. 캐릭터 외형 드리프트, 시그니처 누락, 색 위반, 스크롤 호흡 깨짐, 텍스트 불일치 4축으로 검수한다. consistency-qa 에이전트가 호출한다.
# Webtoon Consistency QA — 4축 교차 비교 검수 ## 핵심 원칙 **"존재 확인"이 아니라 "교차 비교"**가 본질. 단순히 "캐릭터가 있다"가 아니라 "캐릭터의 머리 색이 sheet.json의 #2A2624와 일치하는가"를 본다. ## 검수 시점 (점진적 QA) 1. **시즌 시작 직후** — character-designer가 5인 시트 완성 직후 (1회) 2. **각 회차 prompts 생성 직후** — image-prompt-engineer 완료 직후 (회차당 1회) 3. **각 회차 이미지 생성 직후** — image-generator 완료 직후 (회차당 1회) 4. **각 회차 HTML 조립 직후** — panel-assembler 완료 직후 (회차당 1회) **전체 완성 후 1회 검수보다 각 단계 직후 점진 검수가 훨씬 효율적이다.** 빨리 잡고 빨리 고친다. ## 4축 검수 매트릭스 ### 축 1 — 캐릭터 일관성 (Character Drift) 매 컷에 대해: 1. `shot_list.json`의 `characters` 필드에서 등장 캐릭터 추출 2. 각 캐릭터의 `_workspace/characters/{kebab}/sheet.json`을 로드 3. `_workspace/characters/{kebab}/portrait_front.png`를 Read로 열어 시각 비교 4. 생성된 `cut_{NN}.png`를 Read로 열어 다음 항목 검증: - 머리 색이 sheet.json의 hair.color_hex와 일치하는가 - 의상이 default_outfit과 일치하는가 - signature_items가 모두 보이는가 (특히 always_visible:true인 것) - negative_descriptors가 나타나지 않는가 - 박재준 같은 변형 캐릭터는 applies_from_episode 기준에 맞는 sheet 사용했는가 ### 축 2 — 시각 시그니처 준수 (Signature Compliance) 매 컷에 대해: - `signatures_used`에 `cyan_grid`가 있는데 이미지에 청록 격자가 안 보이면 → blocker - `cyan_grid`가 없는데 도현 시점인데 청록 UI가 들어가 있으면 → blocker (도현 시점은 공허 흑이어야) - `signatures_used`에 `memory_silhouette`가 있는데 흑백 실루엣이 없으면 → blocker - `glitch: true`인데 자홍 픽셀 글리치가 안 보이면 → warning - 회차 전체 시그니처 카운트: - signature_1 (POV 비교): ≥ 1 필수 - signature_2 (흑백 실루엣, 던전 회차만): ≥ 1 필수 - 자홍 글리치 수 = magenta_glitch_quota (정확 일치) ### 축 3 — 스크롤 호흡 (Rhythm Validation) - 컷 수: 8-15 사이 - scroll_length 합: ≤ 25 - 침묵 컷(scroll_length:1): 임팩트 컷(scroll_length 3-4) 직전 1컷 존재 - 마지막 컷: scroll_length ≥ 2 + 클리프행어 텍스트 또는 시각 닻 - 표정 클로즈업 컷 수: 3-5 사이 ### 축 4 — 텍스트 정합 (Text Consistency) - 모든 dialogue / narration_doh_yun / system_ui_text / operator_text / monster_emotion 텍스트가 shot_list 메타와 index.html 렌더링 결과가 일치 - 한글이 깨지거나 빈 문자열로 렌더된 곳이 없는가 - 이미지에 한글이 박혀 있으면 즉시 blocker (텍스트는 HTML 오버레이여야) ## 검수 절차 ### Step 1 — 입력 수집 ``` characters/ → sheet.json 5개, portrait_*.png style_bible/ → style_bible.json episodes/ep{NN}/ → shot_list.json, prompts.json, images/cut_*.png, index.html ``` ### Step 2 — 캐릭터 등장 매트릭스 작성 각 컷 × 등장 캐릭터를 표로 만들고, 검수 우선순위 정렬: - 임팩트 컷(scroll_length 3-4): 전수 검수 - 일반 컷: 30% 무작위 샘플 ### Step 3 — 컷별 비교 검수 각 대상 컷에 대해 4축 매트릭스 적용. 발견 시 `findings`에 기록. ### Step 4 — qa_report.json 작성 ```json { "episode": 1, "checked_at": "2026-05-17T20:05:00Z", "verdict": "pass | pass_with_warnings | needs_revision", "findings": [ { "severity": "blocker | warning | info", "axis": "character | signature | rhythm | text", "cut_id": 4, "issue": "도현의 머리카락이 sheet.json의 #2A2624이 아닌 #000000으로 렌더링됨", "expected": "#2A2624 어두운 갈색, 헝클어진 짧은 컷", "observed": "#000000 순흑", "suggested_fix": "prompts.json cut_4의 positive에 'dark brown #2A2624 hair' 토큰 강조 → image-generator 재실행", "owner": "image-prompt-engineer" } ], "stats": { "cuts_checked": 8, "blockers": 0, "warnings": 1, "info": 2, "cuts_passed": 7 } } ``` ### Step 5 — 결과에 따른 조치 - `pass`: 오케스트레이터에 회차 완성 통보 - `pass_with_warnings`: 오케스트레이터에 출시 가능 통보 + 차회차 개선 권고 - `needs_revision`: blocker 별로 owner 에이전트에 수정 작업 TaskCreate. blocker 해결 후 재검수. ## 시즌 일관성 검수 (별도) 회차 N의 캐릭터 시트가 회차 N+1 작업 도중 갱신되면, 회차 N의 이미지가 옛 시트 기준이라 드리프트 발생 가능. 이런 경우 "시즌 일관성 경고"로 별도 보고 — 전체 회차에 영향 평가 후 재생성 우선순위 결정. ## 검수 실패 패턴 — 자주 발견되는 문제 1. **도현 머리색이 회차마다 다름** — prompt_block 미사용 → image-prompt-engineer에 강조 토큰 추가 2. **윤세아 한쪽 은귀걸이가 사라짐** — signature_items.always_visible:true 표시 → 프롬프트에 강조 3. **도현 시점 컷에 청록 UI 들어감** — negative 강화 토큰 누락 4. **흑백 실루엣이 너무 디테일하게 그려짐** — "single outline only, no detail" 강화 필요 5. **이미지에 한글 텍스트 박힘** — 모델이 텍스트를 그리려 함 → "text in image"를 negative에 추가 + post overlay로만 처리 ## 체크리스트 - [ ] 4축 모두 검사 - [ ] 임팩트 컷 전수 검수, 일반 컷 30% 샘플 - [ ] qa_report.json verdict 명확 - [ ] blocker 발견 시 owner 에이전트에 수정 작업 자동 생성 - [ ] 시즌 일관성 경고 별도 보고
View on GitHub