# Long Form Fiction

> Write novel-length fiction: design, draft, assemble.

- Skill: `wcpaka-lgtm/long-form-fiction` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wcpaka-lgtm/long-form-fiction`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wcpaka-lgtm/long-form-fiction/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: wcpaka-lgtm (https://skillmd.com/u/wcpaka-lgtm)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/wcpaka-lgtm/long-form-fiction

---


# Long-Form Fiction Writing

Write novel-length fiction (30,000–100,000+ characters) from concept to complete draft. Covers the full pipeline: design document, part-by-part drafting, assembly, and delivery format.

## When to Use

- User asks to "write a novel", "장편소설", "write a story from start to finish"
- User wants fiction in a specific author's style
- User asks for a complete narrative (not a snippet or outline)

## Workflow

### Phase 1: Design Document

Before writing prose, create a design doc (`00_설계도.md` or `00_design.md`):

1. **Concept** — one-line logline + genre blend
2. **Characters** — name, age, role, wound, want vs need
3. **Structure** — parts × chapters (e.g., 5 parts × 5 chapters = 25 chapters)
4. **Core twist/reversal** — the single biggest reveal, stated plainly
5. **Theme** — what the story is *about* underneath the plot
6. **Style guide** — sentence length, POV, tense, specific author influences and what to take from each

Write the design doc to a file. This is the contract the rest of the draft follows.

### Phase 2: Part-by-Part Drafting

Write one part (4–6 chapters) per `write_file` call. Each part file:
- Named `01_1부_발견.md`, `02_2부_규칙.md`, etc.
- Contains full prose, not summaries
- Ends at a natural break (part boundary)

Pacing rule: each chapter should end with either a revelation, a question, or a shift. Never end flat.

### Phase 3: Assembly

Merge all part files into a single complete manuscript:
- Strip line-number prefixes if using `read_file`
- Add a title page header
- Verify total character count and chapter count
- Save as `<title>_완결.md` or `<title>_complete.md`

### Phase 4: Delivery

Offer the user format options:
- Markdown file (default, via MEDIA:)
- EPUB for e-readers (use `epub-creation` skill)
- PDF (use `pdf` skill)

## Style Fusion Technique

When the user names specific authors as influences:

1. Identify 2–3 concrete craft elements from each (not vague "style")
2. State the fusion rule explicitly in the design doc
3. Apply consistently — don't drift between chapters

Example fusion rules:
- **Guillaume Musso**: short sentences, cinematic cuts, cliffhanger chapter endings, supernatural premise treated matter-of-factly
- **Higashino Keigo**: restrained emotion, logical deduction as narrative engine, precise daily-life detail, one-line emotional gut-punch at chapter end
- **Fusion**: supernatural premise described in dry procedural prose (Higashino), emotions detonate at chapter boundaries (Musso)

## Structural Patterns That Work

- **Mystery with emotional core**: the "whodunit" is secondary to "why did they do it" and "what does it cost to know"
- **Escalating cost**: each step forward costs the protagonist something irreversible
- **Parallel timelines**: past (what happened) and present (discovering what happened) alternate
- **The twist recontextualizes**: the reveal doesn't just surprise — it makes the reader re-evaluate every prior chapter

## Korean 무협 / 웹소설 Genre Conventions

When the user asks for 무협소설, 웹소설, or "먼치킨/천재형 주인공" fiction:

### Structure: 권(卷) not 부(部)
Korean web novels publish by **권 (volume)**, not 부 (part). Use `01_1권_각성.md`, `02_2권_출세.md` naming. Each 권 = 12 chapters, ~600–1,100 lines, 25–46KB. A 5권 series ≈ 150–200KB total.

### 경지 (Realm/Level) System
무협/웹소설 readers expect an explicit power-level ladder. Design it in the 설계도:
- Name each tier (e.g., 뇌신공 일~구 층 → 뇌성 → 뇌제 → 뇌원)
- Tie breakthroughs to plot events (기연, 사투, 깨달음)
- The protagonist should skip tiers or reach them absurdly fast — that's the genre promise

### Protagonist Archetypes (먼치킨/천재형)
- **폐맥 → 기연**: starts broken, gets a one-time cheat (벼락, 전승, 환생)
- **천재형**: talented from birth, but the world keeps raising the ceiling
- Growth must be **visible every chapter** — new technique, new tier, new scale
- 사이다 전개 (cathartic payoff): every 2–3 chapters, the MC humiliates someone who underestimated them

### 무협 Prose Style
- Short, punchy sentences. Fragments for impact. `검이 없었다. 그러나 뇌력이 손끝에 모였다.`
- 한자 terms in parentheses on first use: `뇌제(雷帝)`, `천뢰체(天雷體)`
- Scene breaks: `---`. Chapter titles: 4-char 한자 + Korean subtitle: `제1장 각성(覺醒)`
- Internal monologue in single quotes: `'강해져야 한다.'`
- Sound effects on their own line: `쾅—!`

### Scale Escalation Pattern
권1: 개인/문파 → 권2: 무림 전체 → 권3: 상계/이세계 → 권4: 우주적 위협 → 권5: 존재론적 초월. Each 권's antagonist must be an order of magnitude above the last.

## Iterative Expansion Workflow (Exact Char Targets)

When the user specifies a strict per-volume target (e.g. "권당 3만자"):

### Counting method (Korean, excludes markdown/whitespace):
```python
import re
with open(path, 'r', encoding='utf-8') as f:
    text = f.read()
chars = re.sub(r'[\s#*\->|]', '', text)
print(f'글자수: {len(chars)}')
```

### Workflow:
1. Write 12-chapter skeleton (~12,000–15,000 chars initial draft)
2. Measure with counting script above
3. Calculate deficit: `target - current = remaining`
4. Expand chapters in priority order: **climax → emotional → transitions**
5. Re-measure after each batch of `patch` calls (NOT full rewrites)
6. Repeat until within ±300 chars of target
7. Final micro-expansion: 1–2 paragraphs to close last gap

### Expansion techniques (per chapter, in order of impact):
- Add sensory detail to combat (색, 소리, 냄새, 진동)
- Insert internal monologue connecting to backstory/trauma
- Add dialogue exchanges revealing character relationships
- Insert callback scenes (flowers, stars, hands) echoing earlier volumes
- Expand emotional beats: fear → resolve → relief patterns
- Add "night before" or "morning after" reflective scenes

### Key rules:
- Use `patch` tool to expand, NEVER `write_file` (full rewrites lose prior work)
- Re-measure after every 2–3 patches, not after every single one
- Expansion priority: climax chapters first (they need the most words), then emotional turning points, then setup/transition chapters last
- For 30,000자 target: 12장 × ~2,500자. Climax chapters get 3,000+, setup chapters get 2,000–2,500
- **Multi-session reality**: 5 volumes × 30,000자 = 150,000자. This WILL span multiple sessions. Track progress with a todo list. At session end, report: which volumes are done, current char count of in-progress volume, and what remains. The user will say "계속" to resume.

## Pitfalls

- **Don't outline too much.** The design doc is a skeleton, not a straitjacket. Let characters surprise you within the structure.
- **Don't summarize when you should dramatize.** "He was sad" → show the scene. The design doc can summarize; the prose must dramatize.
- **Watch repetition across parts.** When writing part 3, you've lost direct sight of part 1's exact phrasing. Vary your sentence openers and imagery.
- **Korean fiction conventions**: dialogue uses 「」 or "" (both acceptable), scene breaks use --- or * * *, chapter titles are short (2–4 words).
- **Length management**: 25 chapters × ~2,000 chars each = ~50,000 chars (원고지 ~250매). A "proper" Korean novel is 300–400매. Adjust chapter count accordingly.
- **write_file truncation on long content**: `write_file` silently truncates very large content (~30KB+). After writing each 권, ALWAYS verify the file ends with the expected closing marker (e.g., `*제N권 끝*`) by reading the last 10 lines. If truncated, use `patch` (mode=replace) to append the missing tail — find the last complete paragraph and replace it with itself + the remaining content. This happened on 3 of 5 volumes in a real session.
- **Don't re-patch identical text**: if `patch` returns "old_string and new_string are identical", the file was already complete — verify with `read_file` at the tail offset instead of retrying.
- **Duplicate scenes from iterative patching**: when expanding multiple chapters via patch, earlier patches can leave orphaned duplicate text (e.g. a battle scene appears twice because a later patch re-inserted content that an earlier patch already added). After major expansion passes, search for repeated dialogue lines or scene markers to catch duplicates.
- **Korean char count ≠ byte count ≠ word count**: 3만자 = ~30,000 Korean characters excluding spaces/markdown. Always use the regex counting method, never estimate from file size.

## Related skills

`humanizer` (anti-AI-slop pass on prose), `epub-creation` (ebook delivery), `pdf` (print-ready delivery).

