| name | book-editing |
| description | Integrate all finished chapters into a single book-ready manuscript โ polish chapter transitions, unify terminology, insert cross-chapter callbacks, and write front/back matter (preface, epilogue, references). Produce a manuscript + book_manifest.json for EPUB build. Use when chapters are individually complete and need to become a coherent book. |
Book Editing
์์ฑ๋ ์ฑํฐ๋ค์ ํ ๊ถ์ ์ฑ
์ผ๋ก ์ง์กฐํ๋ค. ๋ด์ฉ์ ์๋ก ์ฐ์ง ์๊ณ , ํ๋ฆ๊ณผ ์ผ๊ด์ฑ๋ง ๋ค๋ฌ๋๋ค.
์ ์ฐจ
- ํ์ธ โ ๋ชจ๋
{NN}_final.md ์กด์ฌ ์ฌ๋ถ
- ์ํ ์ฝ๊ธฐ โ 1์ฅ๋ถํฐ ๋ง์ง๋ง๊น์ง ์์๋๋ก
- ์ ํ๋ถ ์ ๊ฒ โ ๊ฐ ์ฑํฐ ๋ ๋จ๋ฝ๊ณผ ๋ค์ ์ฑํฐ ์์ ๋จ๋ฝ์ ์ฐ๊ฒฐ ํ์ง
- ์ฉ์ด ํต์ผ โ ๋ถ์ผ์น ๋ฐ๊ฒฌ ์ ํ์ชฝ์ผ๋ก ์ ๋ ฌ (๊ธฐ์ค์
02_plan.md์ ์ฉ์ด ํ๊ธฐ๋ฅผ ๋ฐ๋ฆ)
- ์ฝ๋ฐฑ ์ฝ์
โ ๋ค ์ฑํฐ๊ฐ ์ ๊ฐ๋
์ ์ธ๊ธํ ๋ ์์ฐ์ค๋ฌ์ด ์ฐธ์กฐ ์ถ๊ฐ
- ๋ถ์ ์๋ฃ ์์ฑ โ ์๋ฌธ, ์ํ๋ก๊ทธ, ์ฐธ๊ณ ๋ฌธํ, (์ ํ) ์ฉ์ด์ง. ์ฅ๋ฅด์ ๋ง์ถ๋ค: narrative=์๊ฐ์ ๋ง/ํ์ฌ(์ฐธ๊ณ ๋ฌธํ ๋ณดํต ์๋ต), practical="์ด ์ฑ
ํ์ฉ๋ฒ"+์ค๋น๋ฌผ ์ด์ ๋ฆฌ, essay=์งง์ ๋จธ๋ฆฌ๋ง, tech-book=ํํ ๊ทธ๋๋ก
- ํตํฉ โ
04_manuscript.md๋ก ํฉ๋ณธ ์ ์ฅ
- ๋ถ๋ ๊ท ํ ์ ๊ฒ โ ์ฑํฐ๋ณ ๋ถ๋ ํธ์ฐจ ํ์ธ (์๋ "๋ถ๋ ๊ท ํ ์ ๊ฒ" ์ ์ฐจ)
- ๋งค๋ํ์คํธ ์์ฑ โ
book_manifest.json ์์ฑ
- ์คํ์ผ ์ ๊ฒ ์์ฒญ โ
style-guardian์๊ฒ ํตํฉ ์๊ณ ์ ์ฒด ๋ณ์ฃผ ์ ๊ฒ(์ฑ
๋จ์ whole-book ์ ๊ฒ)์ ๋ฐ๋์ ์์ฒญํ๋ค. ์ด ๋จ๊ณ๋ ์๋ตํ์ง ์๋๋ค โ ์ต์ข
ํ์ ์ ์ฑ
์ ์ฒด์ ๋ฌธ์ฅยท์คํ๋ ๋ณ์ฃผ๊ฐ ํ ๋ฒ ๋ ๊ฒ์๋์ด์ผ ํ๋ค
์ ํ๋ถ ์ฒดํฌ
- ๋-์์ ์ฐ๊ฒฐ์ด ๊ฐ์์ค๋ฝ์ง ์์๊ฐ?
- ๋ค์ ์ฅ ์๊ณ ๊ฐ ๋๋ฌด ๊ธธ๊ฑฐ๋ ์งง์ง ์์๊ฐ?
- ๊ฐ์ ํํ("๋ค์ ์ฅ์์๋ ~๋ฅผ ์ดํด๋ณด์")์ด ๋ชจ๋ ์ฑํฐ ๋ง๋ฏธ์ ๋ฐ๋ณต๋๋๊ฐ?
์ฉ์ด ํต์ผ ์์น
- ํ ์ฉ์ด์ ์ฌ๋ฌ ํ๊ธฐ(์๋ฌธ/ํ๊ธ, ์ถ์ฝ/ํ)๊ฐ ์์ผ๋ฉด ๊ฐ์ฅ ๋ง์ด ์ฐ์ธ ํ๊ธฐ ๊ธฐ์ค
- ์์ธ: ์ฅ๋ฅด๊ฐ ๊ธฐ์ ์๋ฉด "์ฌ์ฉ์"๋ณด๋ค "์ ์ "๊ฐ ์์ฐ์ค๋ฌ์ธ ๋๋ ์์ โ ๋ฌธ๋งฅ ์ฐ์
- ๊ฒฐ์ ๋ถ๊ฐ๋ฅ โ ์๋ฌธ์ "์ด ์ฑ
์์๋ {A}๋ฅผ {B}๋ก ํ๊ธฐํ๋ค" ์ ์
์๋ฌธ ์์ฑ ์ง์นจ
- ์ ์ด ์ฑ
์ ์ผ๋๊ฐ (๋ฌธ์ ์์)
- ์ด ์ฑ
์ ๋๊ฐ ์ฝ์ผ๋ฉด ์ข์๊ฐ (๋์ ๋
์)
- ์ด๋ป๊ฒ ์ฝ์ผ๋ฉด ์ข์๊ฐ (์์ยท์ ํ ๋
์ ๊ฐ์ด๋)
- ๊ฐ์ฌ์ ๋ง (์ ํ)
- ๊ธธ์ด: 2~4ํ์ด์ง ๋ถ๋
์ํ๋ก๊ทธ ์์ฑ ์ง์นจ
- ์ฌ์ ์ ์งง๊ฒ ๋์๋ด
- ์ฑ
์ด ๋ตํ์ง ๋ชปํ ์ง๋ฌธ๋ค
- ๋ค์ ๊ฑธ์์ ๋ํ ์ ์ (์ถ์ฒ ๋์ยท์ค์ฒ ๊ณผ์ )
- ๊ธธ์ด: 1~2ํ์ด์ง
์ฐธ๊ณ ๋ฌธํ
- ์ฑํฐ ๊ฐ์ฃผ๋ฅผ ๋ชจ์ ๋จ์ผ ๋ชฉ๋ก์ผ๋ก ์ฌ์ ๋ ฌ
- ์ค๋ณต ์ ๊ฑฐ
- ์ ๋ ฌ: ์ธ์ฉ ์์ or ์ ์ ๊ฐ๋๋ค์ (ํ ๋ฐฉ์ ๊ณ ์)
- ํ์ ํต์ผ:
์ ์. ์ ๋ชฉ. ๋ฐํ์ฒ/URL, ๋ ์ง.
๋ถ๋ ๊ท ํ ์ ๊ฒ
์ฑํฐ ๊ฐ ๋ถ๋ ํธ์ฐจ๊ฐ ํฌ๋ฉด ๋
์ ๋ฆฌ๋ฌ์ด ๋ฌด๋์ง๋ค. ํตํฉ ํ ๋ค์์ ์ ๊ฒํ๋ค.
- ์ฝ๋ ์ ๊ฑฐ ํ ๊ธ์ ์ ๊ณ์ฐ โ ์ฑํฐ๋ณ๋ก ์ฝ๋ ๋ธ๋ก(
```๋ก ๋๋ฌ์ธ์ธ ์์ญ)์ ์ ์ธํ ๋ณธ๋ฌธ ๊ธ์ ์๋ฅผ ์ผ๋ค
- ํธ์ฐจ ํ๋๊ทธ โ ์ค์๊ฐ(median) ๋๋น 70% ๋ฏธ๋ง์ด๊ฑฐ๋ 150% ์ด๊ณผ์ธ ์ฑํฐ๋ฅผ ํ์ํ๋ค. (
02_plan.md์ ์ฑํฐ๋ณ "์์ ๋ถ๋"์ด ์์ผ๋ฉด ๊ทธ ๊ฐ ๋๋น ยฑ20%๋ฅผ ํจ๊ป ๊ธฐ์ค์ผ๋ก ์ด๋ค)
- ์คํ๋ ์ฑํฐ ๊ฐ๋ โ 1์ฅ(ํ
์ฑํฐ)์ด ์ค์๊ฐ ์๋๋ก ๋จ์ด์ง์ง ์๊ฒ ํน๋ณํ ์ดํ๋ค. ์ฒซ ์ฅ์ด ๋น์ฝํ๋ฉด ์ฑ
์ ์ฒซ์ธ์์ด ์ฃฝ๋๋ค
- ๋ฆฌํฌํธ ์์ฑ โ
{slug}/length_report.md์ ์ฑํฐ๋ณ ๊ธ์ ์ยท์ค์๊ฐยทํ๋๊ทธ๋ฅผ ๊ธฐ๋กํ๋ค
- ์กฐ์น ์์ฒญ โ ํ๋๊ทธ๋ ์ฑํฐ๋ ํด๋น
chapter-writer์๊ฒ ํ์ ํ์ฅ/์ถ์ฝ์ ์์ฒญํ๊ฑฐ๋, ์ ๋นํ ์ฌ์ (์: ์๋์ ์ผ๋ก ์งง์ ๋ง๊ฐ ์ฅ)๊ฐ ์์ผ๋ฉด length_report.md์ ์์ธ๋ก ๋ช
์ํ๋ค
length_report.md ์์:
# ๋ถ๋ ๊ท ํ ๋ฆฌํฌํธ
| ์ฅ | ์ฝ๋ ์ ์ธ ๊ธ์ ์ | ์ค์๊ฐ ๋๋น | ์์ ๋ถ๋ ๋๋น | ํ์ |
|----|------------------|------------|---------------|------|
| 1์ฅ | 8,200 | 96% | -4% | OK (ํ
์ฑํฐ, ์ค์๊ฐ ์ด์ ํ์ธ) |
| 2์ฅ | 5,100 | 60% | -35% | โ ๏ธ ์ถ์๋จ โ ํ์ฅ ์์ฒญ |
| 3์ฅ | 13,400 | 158% | +30% | โ ๏ธ ๋น๋ โ ์ถ์ฝ ๋๋ ๋ถํ ๊ฒํ |
์ค์๊ฐ: 8,500์
์กฐ์น: 2์ฅ ํ์ฅ ์์ฒญ, 3์ฅ ์ถ์ฝ ์์ฒญ.
์ถ๋ ฅ ํ์
04_manuscript.md:
# {์ฑ
์ ๋ชฉ}
## ์ ์
{author}
**ํ๋ณธ:** v{version} ยท {pub_date}
---
## ํ๊ถ
**{์ฑ
์ ๋ชฉ}**
**ํ๋ณธ:** v{version}
**๋ฐํ์ผ:** {pub_date}
**์ ์:** {author}
**์๋ณ์:** {identifier}
### ๋ผ์ด์ ์ค
์ด ์ฑ
์ [Creative Commons BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) ๋ผ์ด์ ์ค๋ก ๋ฐฐํฌ๋๋ค.
- **์ ์์ ํ์(BY):** ์ถ์ฒ๋ฅผ ๋ฐํ ๊ฒ.
- **๋น์์
์ ์ด์ฉ(NC):** ์์
์ ๋ชฉ์ ์ผ๋ก ์ด์ฉํ ์ ์๋ค.
- **๋์ผ์กฐ๊ฑด ๋ณ๊ฒฝํ๋ฝ(SA):** ๋ณ๊ฒฝยท์ฌ๋ฐฐํฌ ์ ๋์ผํ ๋ผ์ด์ ์ค๋ฅผ ์ ์ฉํด์ผ ํ๋ค.
๋งค๋ํ์คํธ์ `license` ํ๋๊ฐ ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ช
์๋์ด ์์ผ๋ฉด ๊ทธ ๊ฐ์ผ๋ก ์ ๋ฌธ์ฅ๊ณผ ๋งํฌ๋ฅผ ๊ฐ์ํ๋ค.
### ์ถ์ฒ
์ด ์ฑ
์ [book-writer](https://github.com/tobyilee/book-writer) ํ๋ค์ค v{harness_version}๋ก ์๋ ์์ฑ๋์๋ค.
---
## ์๋ฌธ
...
## ๋ชฉ์ฐจ
- 1์ฅ. ...
- 2์ฅ. ...
---
# 1์ฅ. {์ ๋ชฉ}
(์ ํ๋ถ ๋ค๋ฌ์ด์ง ๋ณธ๋ฌธ)
# 2์ฅ. ...
...
## ์ํ๋ก๊ทธ
...
## ์ฐธ๊ณ ๋ฌธํ
...
book_manifest.json:
{
"title": "...",
"subtitle": "...",
"author": "Toby-AI",
"language": "ko",
"pub_date": "YYYY-MM-DD",
"identifier": "urn:uuid:...",
"description": "ํ ๋ฌธ๋จ ์๊ฐ",
"cover_image": "cover.png",
"cover_alt": "{title} ํ์ง",
"version": "1.0.0",
"license": "CC BY-NC-SA 4.0",
"genre": "tech-book",
"delegation_mode": "production",
"harness_version": "1.9.0",
"rights": "ยฉ {year} {author} โ Licensed under {license}"
}
license, harness_version, rights๋ ์ต์
ํ๋. ๋น์ฐ๋ฉด ๋น๋ ์คํฌ๋ฆฝํธ๊ฐ ํ๋ค์ค ๊ธฐ๋ณธ๊ฐ(CC BY-NC-SA 4.0 + ๋ฃจํธ VERSION + ์๋ ์์ฑ rights)์ผ๋ก ์ฑ์ด๋ค. genre๋ ์ค์ผ์คํธ๋ ์ดํฐ๊ฐ ํ์ ํ ์ฅ๋ฅด(tech-book/narrative/practical/essay)๋ฅผ ๊ธฐ๋กํ๋ค โ ์ฌ์คํ ์ ํ์ฑ ํ๋กํ์ ๊ฒฐ์ ์ ์ผ๋ก ์ฌ์ฌ์ฉํ๋ ์ถ์ฒ๋ค. ๋๋ฝ ์ tech-book. delegation_mode๋ ์ค์ผ์คํธ๋ ์ดํฐ๊ฐ Phase 0์์ ํ์ ํ ์์ ๋ค์ด์ผ(production/learning)์ ๊ฐ์ ์ทจ๊ธ์ผ๋ก ๊ธฐ๋กํ๋ค โ ์ฌ์คํ ์ ํ์ต ํฐ์นํฌ์ธํธ๋ฅผ ๊ฒฐ์ ์ ์ผ๋ก ์ฌ์ฌ์ฉํ๋ ์ถ์ฒ๋ค. ๋๋ฝ ์ production (docs/learning-loop.md).
cover_alt๋ ํ์ง ์ด๋ฏธ์ง์ ๋์ฒด ํ
์คํธ๋ก, ๋น๋ ์คํฌ๋ฆฝํธ์ alt-text ์ฃผ์
์ด ์ด ๊ฐ์ ์ถ์ฒ๋ก ์ด๋ค. ๋น์ฐ๋ฉด ๊ธฐ๋ณธ ํจํด "{title} ํ์ง"๋ฅผ ์ ์ฉํ๋ค.
์๋ณ์(identifier) ๋ฐ๊ธ ๊ท์น: identifier๋ ์ ๊ท ์ฑ
์ผ ๋ ํ ๋ฒ๋ง ์์ฑํ๋ค โ python3 -c "import uuid;print('urn:uuid:'+str(uuid.uuid4()))". ํ๋ ์ด์คํ๋ "urn:uuid:..."๋ฅผ ๊ทธ๋๋ก ๋ณต์ฌํ์ง ์๋๋ค. ๊ฐ์ ์ฑ
์ฌ๋น๋ ์ ๊ธฐ์กด book_manifest.json์ identifier๋ฅผ ๊ทธ๋๋ก ๋ณด์กดํ๊ณ version๋ง ์ฌ๋ฆฐ๋ค (์๋ณ์๋ ์ฑ
์ ์๊ตฌ ID โ ์ฌ๋น๋๋ง๋ค ๋ฐ๋๋ฉด ์ ๋๋ค).
์ฌํธ์ง ์
- ์ผ๋ถ ์ฑํฐ๋ง ๊ฐฑ์ โ ํด๋น ์น์
๋ง ๊ต์ฒด ํ ์ ์ฒด ์ฌ์ ์ฅ
- ์๋ฌธยท์ํ๋ก๊ทธ ๊ฐ์ ์์ฒญ โ ํด๋น ์น์
๋ง ๋ค์ ์์ฑ, ๋ฒ์ ์ฆ๊ฐ
- ๋ด์ฉ ๋ณ๊ฒฝ ์ ์์ ๋ฐ๋์
editor_notes.md์ ๊ธฐ๋ก (์ง์ ์์ ๊ธ์ง)