Initial commit: Novel Agent setup

- Add 3 AI agents (writing, revision, story-continuity specialists)
- Add 4 slash commands (rovel.create, write, complete, seed)
- Add novel creation/writing rules
- Add Novelpia reference data (115 works, 3328 chapters)
- Add CLAUDE.md and README.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-14 21:31:57 +09:00
commit f66fe445bf
3341 changed files with 1271187 additions and 0 deletions

568
rules/novel-creation.md Normal file
View File

@@ -0,0 +1,568 @@
# 웹소설 창작 가이드
> 레퍼런스 작품 분석 → 페르소나 설정 → 기획안 작성 → 챕터 집필
## 개요
이 가이드는 Novelpia 레퍼런스 작품을 분석하여 AI 작가 페르소나를 만들고, 새로운 작품을 기획/집필하는 전체 워크플로우를 설명합니다.
---
## ⚠️ 필수 산출물
새로운 작품을 시작할 때 **반드시** 다음 3가지를 완성해야 합니다:
| 순서 | 산출물 | 경로 | 설명 |
|------|--------|------|------|
| 1 | **기획안** | `content/rovel/{작품명}/기획안.md` | 핵심 규칙/설정 (꼭 지켜야 할 것) |
| 2 | **아웃라인** | `content/rovel/{작품명}/아웃라인.md` | 전체 줄거리/캐릭터 상세 |
| 3 | **1화 원고** | `content/rovel/{작품명}/chapters/001.md` | 첫 번째 챕터 (3,000~5,000자) |
### 레퍼런스 예시
```
content/rovel/협회 소속 양호선생님/
├── 기획안.md ← 핵심 규칙 (세계관, 당위성, 말투, 시스템창 UI)
├── 아웃라인.md ← 스토리 구조, 캐릭터 상세, 관계 발전
└── chapters/
├── 001.md ← 1화 원고
└── 002.md
```
**이 예시를 참고하여 동일한 구조로 작품을 생성하세요.**
---
## 1단계: 레퍼런스 작품 분석
### 1.1 작품 선정
```bash
# 크롤링된 작품 목록 확인
ls content/references/novelpia/
# 각 작품의 챕터 수 확인
for dir in content/references/novelpia/*/; do
echo "$(basename $dir): $(ls $dir/*.md 2>/dev/null | wc -l) chapters"
done
```
### 1.2 샘플링 전략
전체를 읽지 않고 핵심 챕터를 샘플링:
| 챕터 | 분석 목적 |
|------|----------|
| 1~3화 | 도입부 스타일, 세계관 설정 방식 |
| 10화 | 초반 전개 패턴 |
| 30화 | 중반 리듬 |
| 70화 | 후반 전개 |
| 100화+ | 장기 연재 스타일 변화 |
### 1.3 분석 항목
#### 문체 DNA
- **문장 호흡**: 평균 문장 길이 (자 수)
- **여백 활용**: 문단 간격, 빈 줄 패턴
- **의성어/효과음**: 형식 (`- 삐빅.` vs `*삐빅*`)
- **대화문 스타일**: 경어체/반말, 따옴표 사용
#### 구조적 특징
- **시점**: 1인칭/3인칭
- **장면 전환**: `***`, `---`, 빈 줄 등
- **회당 분량**: 자 수, 줄 수
#### 장르 특수 요소
- **시스템창 UI**: 형식, 인격 유무
- **로맨스 표현**: 직접적/간접적
- **유머 패턴**: 시스템 개그, 상황 코미디 등
---
## 2단계: 페르소나 생성
### 2.1 페르소나 파일 구조
```
content/personas/{작품ID}.md
```
### 2.2 필수 섹션
```markdown
# {작품ID} 작가 페르소나
> {한 줄 설명}
## 기본 정보
| 항목 | 값 |
|------|-----|
| 작품 ID | {ID} |
| 장르 | {장르} |
| 시점 | {시점} |
| 핵심 설정 | {설정} |
## 문체 DNA
### 1. 문장 호흡
### 2. 여백 활용
### 3. 의성어/효과음
### 4. 시스템창 UI (해당 시)
## 서술자 특성
### 성격
### 대화 스타일
## 캐릭터 묘사 패턴
### 외형 묘사
### 감정 반응 묘사
## 유머/코미디 패턴
## 금기 사항
## Few-shot 예시
### 예시 1: {상황}
### 예시 2: {상황}
...
## 사용 가이드
```
### 2.3 Few-shot 예시 작성법
```markdown
### 예시 1: 분위기 묘사 + 등장
\`\`\`
낮이라는 단어가, 의미를 잃은 시각.
해는 몇 분 전쯤 졌다.
- 끼익….
상담실 바깥, 대기실의 문이 조심스럽게 열렸다.
\`\`\`
```
---
## 3단계: 기획안 + 아웃라인 작성
> **중요**: 기획안과 아웃라인 두 파일을 모두 작성해야 합니다.
### 3.1 두 파일의 역할
| 파일 | 용도 | 포함 내용 |
|------|------|----------|
| **기획안.md** | 집필 시 **반드시** 지켜야 할 규칙 | 세계관 핵심, 당위성, 인물별 말투, 시스템창 UI, 문체 규칙 |
| **아웃라인.md** | 스토리 전개 참고용 | 전체 줄거리, 캐릭터 상세, 관계 발전, 예시 장면 |
```
content/rovel/{작품명}/
├── 기획안.md ← 핵심 규칙 (이것만 봐도 집필 가능)
├── 아웃라인.md ← 스토리/캐릭터 상세 (참고용)
└── chapters/
├── 001.md ← 1화 (필수)
└── ...
```
### 3.2 기획안.md 필수 섹션
**레퍼런스**: `content/rovel/협회 소속 양호선생님/기획안.md`
```markdown
# {작품명} - 기획안
> 꼭 지켜야 할 핵심 규칙과 설정
## 기본 정보
| 항목 | 내용 |
|------|------|
| 장르 | |
| 시점 | |
| 분량 | 회당 X,XXX~X,XXX자 |
| 레퍼런스 | {작품ID} |
## 세계관 핵심 설정
### 배경
### 주요 시설/장소 (상세 묘사)
## 왜 {주인공 역할}인가? (당위성 설정)
### 세계관 내 {서비스} 체계
### 캐릭터별 첫 방문 이유
## 주인공 설정
### 기본 정보
### 핵심 컨셉 (숨긴 능력자 등)
### 능력 사용 원칙
### 성격
## 인물별 말투 규칙
### {캐릭터1}
| 관계 단계 | 호칭 | 어미 | 특징 |
|-----------|------|------|------|
| 초면 | | | |
| 관심 | | | |
| 신뢰 | | | |
| 마음 연 후 | | | |
### {캐릭터2}
...
## 시스템창 UI 규칙 (해당 시)
### 스타일
### 기본 판독 형식
### 경고/알림 형식
## 야릇함 규칙 (19+ 작품)
## 문체 규칙 (페르소나)
이 작품은 `content/personas/{ID}.md`의 문체를 따릅니다.
## 집필 체크리스트
- [ ] 인물 말투가 관계 단계에 맞는가?
- [ ] 당위성 설정을 위반하지 않았는가?
- [ ] 능력 숨기기 원칙을 지켰는가?
```
### 3.3 아웃라인.md 필수 섹션
**레퍼런스**: `content/rovel/협회 소속 양호선생님/아웃라인.md`
```markdown
# {작품명} - 아웃라인
> 전체 줄거리, 캐릭터 상세, 스토리 구조
## 로그라인
**"{핵심 대사}"**
{3~4줄 설명}
## 스토리 구조
### 1부: {제목} (1~30화)
- 핵심 사건
- 등장 캐릭터
- 관계 변화
### 2부: {제목} (31~70화)
...
## 히로인 상세
### 1. {이름}
| 항목 | 내용 |
|------|------|
| 출신 | |
| 외형 | |
| 성격 | |
**상처/갈등**: ...
**관계 발전**: 처음 → 중반 → 후반
**핵심 장면 예시**:
\`\`\`
{대화/장면}
\`\`\`
## 남성 캐릭터 상세
...
## 캐릭터 상호작용
### {캐릭터A} ↔ {캐릭터B}
## 예시 장면
### 장면 1: {상황}
\`\`\`
{본문 예시}
\`\`\`
## TODO
- [ ] 1화 초안 작성
- [ ] 퇴고 (rules/novel-writer.md)
```
### 3.4 당위성 설정 (필수)
**왜 주인공에게 가야 하는가?**
모든 작품에서 가장 중요한 질문:
> "더 나은 대안이 있는데 왜 주인공에게 오는가?"
#### 당위성 없는 설정의 문제점
```
❌ 문제 예시:
- 의사가 있는데 왜 양호선생님?
- 전문 힐러가 있는데 왜 비전투 각성자?
- 상담센터가 있는데 왜 개인 상담사?
→ 독자의 몰입을 깨뜨림
→ "그냥 설정이니까"로 넘기면 안 됨
```
#### 당위성 확보 방법
**1. 우연적 상황 설계**
```
- 시간적 제약: "야간이라 다른 곳이 닫았다"
- 물리적 제약: "급해서 가장 가까운 곳에"
- 경제적 제약: "무료라서", "기록이 안 남아서"
- 특수 상황: "일반 의료진이 다루기 꺼려서"
```
**2. 첫 방문 → 진가 발견 구조**
```
1회차: 어쩔 수 없이 방문 (우연)
"다른 곳이 문 닫아서..."
2회차: 호기심으로 재방문
"이상하게 여기서 받은 치료가 더 잘 듣네?"
3회차: 신뢰 형성
"이 사람... 다른 사람들과 뭔가 다르다"
N회차: 의존/단골
"선생님 아니면 안 돼요"
```
**3. 세계관 내 의료/서비스 체계 설계**
```
반드시 정의해야 할 것:
- 1순위 대안: 왜 이용 못 하는가? (비용, 시간, 접근성)
- 2순위 대안: 왜 이용 안 하는가? (기록, 프라이버시)
- 주인공: 왜 이게 선택지가 되는가? (24시간, 무료, 비공식)
```
#### 캐릭터별 첫 방문 이유 설계
| 유형 | 예시 상황 |
|------|----------|
| 시간 제약 | "야간이라 의료센터가 닫혀서" |
| 기록 회피 | "S급이라 약점 노출되면 안 돼서" |
| 특수 케이스 | "수인이라 일반 의료진이 꺼려서" |
| 만성 문제 | "병원에서 이상 없다고 해서" |
| 비용 문제 | "힐러 비용이 너무 비싸서" |
#### 기획안에 포함할 내용
```markdown
### 왜 {주인공 역할}인가? (당위성 설정)
#### 세계관 내 {서비스} 체계
1순위: {정규 서비스} - 왜 못 쓰는가
2순위: {대안 서비스} - 왜 안 쓰는가
3순위: {주인공} - 왜 여기로 오는가
#### 캐릭터별 첫 방문 이유
| 캐릭터 | 우연적 상황 |
|--------|-------------|
| A | |
| B | |
#### 재방문/단골 전환 계기
- 진가 발견 포인트
- 입소문 확산 구조
```
---
### 3.5 캐릭터 설정 템플릿
```markdown
### {번호}. {이름} ({역할/출신})
| 항목 | 내용 |
|------|------|
| 출신 | |
| 외형 | |
| 등급 | |
| 성격 | |
**상처/갈등**:
-
**핵심 장면**:
\`\`\`
{예시 대화/장면}
\`\`\`
**관계 발전**:
- 처음:
- 중반:
- 후반:
```
---
## 4단계: 1화 집필 (필수)
> **기획안 + 아웃라인 작성 후 반드시 1화를 완성해야 합니다.**
**레퍼런스**: `content/rovel/협회 소속 양호선생님/chapters/001.md`
### 4.1 페르소나 적용 체크리스트
집필 전 확인:
- [ ] 문장 길이 (페르소나 기준 준수)
- [ ] 여백 패턴 (문단 간격)
- [ ] 의성어 형식
- [ ] 시스템창 UI 형식
- [ ] 감정 표현 방식 (직접 서술 금지)
### 4.2 챕터 구조
```markdown
# {N}화. {제목}
{본문}
***
{장면 전환 후 본문}
[다음 화에 계속]
```
### 4.3 문체 적용 예시
#### 363368 페르소나 기준
```markdown
❌ 잘못된 예:
나는 그녀를 보고 놀랐다. 그녀는 정말 아름다웠고,
나는 그녀에게 반해버렸다.
⭕ 올바른 예:
나는 그녀를 봤다.
'.......'
숨이 멎었다.
검은 머리카락.
창백한 피부.
그리고, 붉은 입술.
[경고: 심박수가 증가하고 있습니다]
[왜 그러세요?ㅋㅋㅋ]
```
### 4.4 야릇함 표현 가이드 (19+ 작품)
```markdown
❌ 노골적 표현:
"그녀의 풍만한 가슴이..."
⭕ 은근한 표현:
"붕대를 감기 위해 그녀의 등 뒤로 팔을 돌렸다.
자연스럽게, 거리가 가까워졌다.
그녀의 숨결이 느껴질 정도로."
```
---
## 5단계: 반복 및 개선
### 5.1 자체 검토
각 챕터 완성 후:
1. 페르소나 문체 일치 확인
2. 캐릭터 일관성 확인
3. 복선/떡밥 관리
4. 분량 확인 (목표 자수)
### 5.2 시리즈 관리
```markdown
## 연재 현황
| 화수 | 제목 | 상태 | 분량 |
|------|------|------|------|
| 1화 | 퇴근은 아직 | ✅ 완료 | 4,500자 |
| 2화 | | 📝 작성중 | |
```
---
## 부록: 유용한 프롬프트
### 새 작품 전체 생성 요청 (권장)
```
{페르소나ID} 페르소나를 기반으로 새로운 작품을 만들어줘.
장르는 {장르}, 컨셉은 {컨셉}.
다음 3가지를 모두 완성해줘:
1. content/rovel/{작품명}/기획안.md (핵심 규칙)
2. content/rovel/{작품명}/아웃라인.md (스토리/캐릭터)
3. content/rovel/{작품명}/chapters/001.md (1화 원고)
레퍼런스: content/rovel/협회 소속 양호선생님/ 구조 참고
```
### 페르소나 분석 요청
```
{작품ID} 작품의 1, 10, 30, 70, 100화를 분석해서
content/personas/{작품ID}.md 에 작가 페르소나를 생성해줘.
문체 DNA, 시스템창 UI, 캐릭터 묘사 패턴, Few-shot 예시를 포함해줘.
```
### 기획안 + 아웃라인 생성 요청
```
{페르소나ID} 페르소나를 기반으로 새로운 작품을 기획해줘.
장르는 {장르}, 컨셉은 {컨셉}.
content/rovel/{작품명}/ 폴더에:
- 기획안.md (핵심 규칙, 당위성, 인물별 말투)
- 아웃라인.md (스토리, 캐릭터 상세)
두 파일 모두 작성해줘.
레퍼런스: content/rovel/협회 소속 양호선생님/
```
### 1화 집필 요청
```
{작품명}의 1화를 집필해줘.
기획안과 아웃라인, 페르소나를 참고해서 문체를 맞춰줘.
분량은 3,000~5,000자.
레퍼런스: content/rovel/협회 소속 양호선생님/chapters/001.md
```
### 추가 챕터 집필 요청
```
{작품명}의 {N}화를 집필해줘.
기획안과 페르소나를 참고해서 문체를 맞춰줘.
분량은 {X,XXX}자 내외로.
```
---
## 참고 자료
- 페르소나 예시: `content/personas/363368.md`
- 기획안 예시: `content/rovel/협회 소속 양호선생님/기획안.md` (핵심 규칙)
- 아웃라인 예시: `content/rovel/협회 소속 양호선생님/아웃라인.md` (스토리/캐릭터)
- 챕터 예시: `content/rovel/협회 소속 양호선생님/chapters/001.md`