스토리·대사·퀘스트 — 대사를 Yarn Spinner 텍스트로 두어 git·리뷰·테스트 대상으로 만든다. 분기 설계와 현지화 대비. 트리거 "스토리", "대사", "퀘스트", "내러티브".
Scanned 9/19/2026
Install to Claude Code
npx -y skills add snwlee/Nereus --skill narrative --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Narrative?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/snwlee-narrative)More formats (shields.io, HTML) on the badges page.
---
name: narrative
description: 스토리·대사·퀘스트 — 대사를 Yarn Spinner 텍스트로 두어 git·리뷰·테스트 대상으로 만든다. 분기 설계와 현지화 대비. 트리거 "스토리", "대사", "퀘스트", "내러티브".
---
# narrative
nereus:common 규칙을 따른다. 담당 에이전트: narrative-writer.
**엔진과 무관하다** — Yarn Spinner 는 엔진 불가지론이고 런타임이 따로 있다.
## 1. 대사는 텍스트 파일이다
대사를 코드나 에디터 데이터에 묻으면 diff 가 안 되고 리뷰도 테스트도 안 된다.
`.yarn` 파일로 두면 **평범한 코드처럼** 다룰 수 있다 — 이게 이 스킬의 유일한 전제다.
```yarn
title: Intro
---
상인: 처음 보는 얼굴이군.
-> 물건을 보여줘
<<jump Shop>>
-> 아무것도 아니야
<<jump Leave>>
===
```
- 노드 하나 = 한 장면. 노드가 100줄을 넘으면 쪼갠다.
- 파일은 챕터·지역 단위로 나눈다. 한 파일에 전부 넣지 않는다.
## 2. 분기 설계
분기는 **되돌아오는 곳을 먼저 정하고** 만든다. 합류점 없는 분기는 분기 수만큼 콘텐츠를 곱한다.
| 분기 종류 | 쓸 때 | 비용 |
|---|---|---|
| 즉시 합류 | 말투·톤 선택 | 낮음. 자주 써도 된다 |
| 지연 합류 | 한 장면 뒤 다시 만남 | 중간. 상태 플래그 하나 |
| 진짜 분기 | 엔딩·진영 | 높음. 개수를 먼저 정하고 늘리지 않는다 |
플래그를 남발하면 조합 폭발이 난다. 플래그 하나를 추가할 때마다 **검증할 경우의 수가 두 배**가 된다는 것을 전제로 센다.
## 3. 게임 상태와의 결합을 최소화한다
대사가 게임 상태를 직접 바꾸면 대사 수정이 게임 로직 수정이 된다.
대사는 **신호만 내보내고**, 상태 변경은 게임 쪽이 받아서 한다.
- 좋음: 대사가 `퀘스트_수락` 이벤트를 낸다 → 게임이 받아 처리
- 나쁨: 대사 안에서 인벤토리를 직접 조작
## 4. 현지화 대비
- 문자열을 코드에 박지 않는다. 처음부터 `.yarn` 과 문자열 테이블에 둔다.
- 문장을 조각으로 이어 붙이지 않는다("당신은 " + N + "개를 얻었다"). 어순이 다른 언어에서 깨진다.
자리표시자를 가진 온전한 문장 하나로 둔다.
- 길이 여유를 UI 에 미리 둔다. 같은 문장이 언어에 따라 1.5배까지 길어진다.
## 5. 검증
- 모든 노드에 도달 가능한가. 고아 노드는 쓴 사람만 모른다
- 모든 분기가 합류하거나 명시적 종료에 닿는가
- 참조하는 플래그·변수가 실제로 정의돼 있는가
- 화자 이름이 일관된가
이 넷은 기계로 검사할 수 있다. `.yarn` 이 텍스트이기 때문에 가능한 것이다.
## 하지 말 것
- 대사를 엔진 에디터 안에만 두지 않는다.
- 합류점 없는 분기를 늘리지 않는다.
- 문장을 조각내어 이어 붙이지 않는다.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!