STEP 0: 시놉시스 사전 분석
원작의 강점과 장편 전환 보완점을 먼저 정리합니다. 이 결과는 이후 모든 단계의 기준 문서가 됩니다.
- 입력: `config.yaml`, 시놉시스, 선택 레퍼런스
- 점검: 구조, 영상적 묘사, 서브텍스트, 이미지 시스템, 캐릭터, 복선, 장편 호흡
- 출력: `output/step_00_critique.md`
`sero12journey/synopsis-to-scenario`는 1~3페이지 시놉시스를 한국어 장편 영화 시나리오로 확장하기 위한 Claude Code 직접 실행형 멀티 에이전트 워크플로우입니다. 이 매뉴얼은 저장소의 README, CLAUDE.md, 프롬프트, 스크립트, 설계 문서를 바탕으로 실제 사용 순서대로 재구성했습니다.
Python은 프로젝트 폴더 초기화와 `.docx` 변환 같은 보조 작업만 담당합니다. 실제 창작 워크플로우는 Claude Code가 프롬프트 파일과 이전 산출물을 읽고, 단계별 Markdown 결과물을 저장하는 방식으로 진행됩니다.
저장소를 받은 뒤 프로젝트 이름으로 작업 폴더를 만들고, `config.yaml`과 `state.json`을 준비합니다.
git clone https://github.com/sero12journey/synopsis-to-scenario.git
cd synopsis-to-scenario
python scripts/init_project.py my-project
실행 후 `projects/my-project/config.yaml`, `projects/my-project/state.json`, `input/`, `input/references/`, `output/` 폴더가 생성됩니다.
첫 실행 품질은 `config.yaml`의 명확성, 시놉시스 파일, 레퍼런스 배치에 크게 좌우됩니다.
title: "작품 가제"
source_format: "webtoon"
target_duration: 90
genre: ["심리 스릴러", "미스터리"]
tone: "로맨스에서 스릴러로 전환"
theme_direction: "믿음이 집착으로 변하는 순간"
synopsis_file: "synopsis.md"
reference_files: ["screenplay_theory.md"]
설계/가이드 일부에서는 `synopsis_doc`, `reference_docs` 같은 이름도 보이지만, 현재 템플릿은 `synopsis_file`, `reference_files`를 사용합니다.
각 단계는 이전 산출물을 읽고 다음 산출물을 만듭니다. 버튼을 눌러 단계별 목적, 입력, 결과물을 확인하세요.
원작의 강점과 장편 전환 보완점을 먼저 정리합니다. 이 결과는 이후 모든 단계의 기준 문서가 됩니다.
90분 장편을 기준으로 3막 구조와 씬 수 분포를 설계합니다.
Blake Snyder 기반 15비트 구조로 사건, 전환점, 미드포인트, 결말 이미지를 배치합니다.
반복 이미지, 공간 메타포, 시각적 모티프를 설계해 영화적 일관성을 만듭니다.
인물의 시각적 식별자, 행동적 소개, 능동성, 입체적 적대자를 정리합니다.
구조와 인물을 15~20페이지 분량의 산문형 설계도로 확장합니다.
트리트먼트를 70~85개 씬으로 분해해 막별 집필 가능한 청사진으로 만듭니다.
한 번에 전체를 쓰지 않고 막 1, 막 2a, 막 2b, 막 3으로 나눠 씁니다.
Critic이 1고를 진단한 뒤 Writer가 진단 결과를 반영해 최종본을 만듭니다.
README와 프롬프트 파일은 `STEP 5 트리트먼트`, `STEP 6 씬 리스트` 순서입니다. 현재 `state_schema.json`의 일부 name 라벨은 이 순서와 다르게 보일 수 있습니다.
Critic은 리뷰를 제공하지만, 최종 승인·수정·중단 결정은 사용자가 합니다. Writer가 자기 결과물을 평가하지 않도록 역할을 분리한 것이 이 저장소의 핵심 설계입니다.
| 체크포인트 | 위치 | 검토 내용 | 사용자 선택 |
|---|---|---|---|
| A 구조 확정 | STEP 2 이후 | 막 균형, 미드포인트, 주인공 능동성, 15비트 완성도, STEP 0 보완점 반영 | 승인, 수정 요청, 중단 |
| B 비주얼/인물 확정 | STEP 4 이후 | 이미지 시스템, 캐릭터 식별자, 적대자 입체성, 공간/모티프 전략 | 승인, 수정 요청, 중단 |
| C 초고 전 최종 리뷰 | STEP 6 이후 | 트리트먼트, 씬 리스트, 씬 수, 구조-장면 대응, 초고 진입 가능성 | 승인, 수정 요청, 중단 |
승인합니다. STEP 3으로 진행해주세요.
수정 요청입니다.
STEP 1에서 2막 후반의 씬 수를 줄이고,
STEP 2에서 주인공이 직접 선택하는 비트를 하나 더 강화해주세요.
진행 상태는 `projects/{name}/state.json`에 저장됩니다. 새 세션에서는 CLAUDE.md와 state.json을 읽고 이어서 진행합니다.
워크플로우 이어서 진행해 주세요.
프로젝트는 projects/my-project 입니다.
Orchestrator는 `state.json`의 `current_step`을 기준으로 이어서 진행합니다.
체크포인트에서 STEP N을 수정하면 N을 다시 실행하고, 그 다음 단계부터 체크포인트 직전까지 다시 생성한 뒤 리뷰를 재실행합니다. 저장소 기준 최대 수정 횟수는 체크포인트당 3회입니다.
최종 Markdown이 `projects/my-project/output/final_screenplay.md`에 생성되면, 보조 스크립트로 Word 문서로 변환할 수 있습니다.
pip install python-docx
python scripts/md_to_docx.py projects/my-project/output/final_screenplay.md
출력 파일명을 직접 지정하려면 두 번째 인자를 추가합니다.
이 프로젝트는 자동 CLI 앱이 아니라 파일과 프롬프트를 읽는 작업 방식이므로, 경로와 상태 파일을 명확히 유지해야 합니다.
같은 이름의 `projects/{name}` 폴더가 있으면 덮어쓰지 않습니다. 새 이름을 쓰거나 기존 폴더를 확인하세요.
`config.yaml`의 `synopsis_file` 값과 `projects/{name}/input/` 안의 실제 파일명이 일치해야 합니다.
`step_05_treatment.md`, `step_06_scene_list.md` 순서로 진행합니다.
막별 분할 집필과 사용자 점검을 유지해야 장면 밀도와 맥락 손실을 줄일 수 있습니다.
스크립트가 ImportError를 내면 `pip install python-docx` 후 다시 실행합니다.
저장소는 CC BY-NC-SA 4.0로 배포됩니다. 생성된 시나리오 권리는 사용자에게 귀속된다고 README에 명시되어 있습니다.