name: webtoon-character-design
description: 웹툰 캐릭터의 시각 레퍼런스 시트(외형 JSON + 정면/측면/표정/포즈 이미지)를 만들어 시즌 내내 캐릭터 일관성을 보장하는 스킬. 새 캐릭터 셋업, 기존 캐릭터 외형 변형(예: 부상으로 의상·신체 변화) 추가, 시트 갱신이 필요할 때 사용. character-designer 에이전트가 호출한다.
Webtoon Character Design — 캐릭터 시트 작성 워크플로우
목적
모든 후속 이미지 생성이 참조할 단일 진실원(SSOT)을 만든다. 이 시트의 prompt_block이 회차 간 캐릭터 외형 일관성의 단일 근거다.
워크플로우 (한 캐릭터 기준)
Step 1 — 디스크립터 추출
원본 01_world_chars.md와 03_visual.md에서 다음 항목을 뽑는다:
- 나이·성별·체형(한 줄)
- 머리(색·길이·정돈도) — HEX 색 명시
- 얼굴 특징(점·흉터·표정 베이스)
- 기본 의상(상하의·신발·계절감)
- 시그니처 소품(반드시 매 컷에 살아남아야 할 1-3개)
- 시그니처 색 팔레트
- 부정 디스크립터(절대 그리지 말 것)
Step 2 — sheet.json 작성
경로: _workspace/characters/{kebab-name}/sheet.json
{
"name": "한도현",
"kebab": "han-do-hyun",
"age": 23,
"build": "마른 편 173cm, 어깨 안쪽으로 말림",
"hair": {"color_hex": "#2A2624", "style": "짧은 컷 헝클어진"},
"face": ["다크서클", "갈라진 입술"],
"default_outfit": {"top": "회색 후드 #6E6E72", "bottom": "검정 카고팬츠", "shoes": "낡은 운동화"},
"signature_items": [
{"name": "손목 환자 식별 밴드", "color_hex": "#C8362F", "wrist": "left", "always_visible": true}
],
"palette": {"primary": "#050608", "accent": "#6E6E72"},
"negative_descriptors": ["근육질", "잘생긴 미남상", "양복", "안경", "환한 미소"],
"prompt_block": "23yo Korean man Han Do-hyun, short messy dark brown #2A2624 hair, dark circles, cracked lips, slouched, grey hoodie #6E6E72, black cargo pants, red hospital ID band on left wrist, void-black peripheral vision (no HUD), Korean webtoon style"
}
Step 3 — 레퍼런스 이미지 생성 (codex-image 병렬)
codex-image 스킬로 5장 병렬 생성. 한 캐릭터당 다음 5장이 기본:
portrait_front.png — 정면 상반신, 무표정
portrait_side.png — 측면 전신
expression_neutral.png — 가장 자주 쓰일 표정
expression_signature.png — 캐릭터 시그니처 감정(도현=공포/슬픔 잠식, 윤세아=흔들리는 동공 등)
pose_signature.png — 시그니처 자세(도현=후드를 만지작, 박재준=손목시계 보기, 강도경=금반지 손 들기 등)
각 이미지의 프롬프트는 sheet.json의 prompt_block + 컷별 추가 디스크립터(예: "front view, plain white background, character reference sheet style").
Step 4 — 시즌 도중 외형 변형
박재준은 24화에서 오른팔 절단된다. 이런 변형은:
- 기존
sheet.json을 덮어쓰지 않는다
sheet_v2.json을 추가, applies_from_episode: 24 필드 명시
prompt_block_v2 필드 새로 추가 (예: "missing right arm, empty sleeve flutters in wind")
INDEX.md에 변형 시점 기록
Step 5 — INDEX.md 갱신
경로: _workspace/characters/INDEX.md
# 캐릭터 색인 (시즌 1)
| 이름 | kebab | 시트 | 변형 시점 | 시그니처 식별점 |
|---|---|---|---|---|
| 한도현 | han-do-hyun | sheet.json | - | 회색 후드 + 손목 빨간 밴드 + 공허 흑 시야 |
| 윤세아 | yoon-se-ah | sheet.json | ep29: 청록 UI 꺼짐 → sheet_v2.json | 백금발 + 한쪽 은귀걸이 + 광택 청록 UI |
| 박재준 | park-jae-jun | sheet.json | ep24: 오른팔 절단 → sheet_v2.json | 왼턱 흉터 + 차콜 그레이 + 황동 액세서리 |
| 정하린 | jung-ha-rin | sheet.json | - | 무테 안경 + 단발 + 한 손가락 빨간 매니큐어 |
| 강도경 | kang-do-gyeong | sheet.json | - | 가야 금장 + 굵은 금반지 + 묵청록 정장 |
산출물 체크리스트
주의
- 캐릭터 외형은 시즌 시작 전에 모두 확정. 회차 작업 중 임의 변경 금지(작업 중 바뀌면 이전 회차들이 드리프트).
- "잘생긴", "예쁜" 같은 주관 형용사를 prompt_block에 넣지 않는다. 색·형상·각도만 명시.