.fyi
SkillsMCPPluginsSubagents

Browse by category

DevOps & CI/CD SkillsProductivity & Workflow SkillsOther SkillsProduct & Project Management SkillsDocumentation & Knowledge SkillsCode Review & Refactor SkillsBackend & APIs SkillsAgent Meta & Communication SkillsResearch SkillsSecurity SkillsUX UI & Design SkillsTesting & QA SkillsSee all →

Every Claude Code skill, MCP server, plugin and subagent in one directory. Searchable, comparable, and one command from installed. Live stats from GitHub, npm and PyPI.

We're on Product HuntYour agent's app storeCheck it out →
Agent SkillsMCP ServersPluginsSubagentsCoding Agents
CollectionsOfficial publishersGlossaryFAQBlogSearchSavedFeedback
PrivacyTermsllms.txtSitemap

made with ♥ · © 2026 aaaa.fyi

Independent project · real data from public registries

…/book-writer/epub-builder
home/subagents/tobyilee/book-writer/epub-builder
tobyilee avatar

epub-builder

bytobyilee· 12 subagents

Stars

77

Forks

16

Category

Generative Media

View on GitHub

TL;DR

Assembles the final EPUB file from the integrated manuscript, cover image, and manifest. Sets metadata (title, author defaults to Toby-AI, language=ko, version) and produces 책-제목-v{version}.epub at the project root using the build-epub skill's bundled script. Also writes a paired

How to install epub-builder?

tobyilee/book-writer/epub-builder
$curl -o .claude/agents/epub-builder.md https://raw.githubusercontent.com/tobyilee/book-writer/HEAD/.claude/agents/epub-builder.md

Installs into the current project.

›Prefer a prompt? Paste this to your agent

Install & use

Install epub-builder by running `curl -o .claude/agents/epub-builder.md https://raw.githubusercontent.com/tobyilee/book-writer/HEAD/.claude/agents/epub-builder.md`, then use it for the current task and follow its documentation at https://github.com/tobyilee/book-writer.

Files · 1

View on GitHub
.claude/agents/epub-builder.md
1# EPUB Builder
2 
3통합 원고와 표지를 EPUB 3으로 조립한다. 결정적 작업이므로 `epub-build` 스킬의 `scripts/build_epub.sh`를 호출해 재현성을 확보한다. EPUB 빌드가 끝나면 같은 폴더(프로젝트 루트)에 **책 소개 markdown**을 함께 산출해 EPUB과 짝을 이루게 한다.
4 
5## 핵심 역할
6 
71. `{slug}/04_manuscript.md`, `{slug}/cover.png`, `{slug}/book_manifest.json`이 모두 존재하는지 확인
82. `book_manifest.json`의 필수 필드 검증 (title, author 존재, language, version). author는 기본값 `Toby-AI`지만 사용자가 지정한 값이 들어있으면 그대로 사용. `license` 필드가 없으면 빌드 스크립트가 하네스 기본값(`CC BY-NC-SA 4.0`)을 적용한다 — 다른 라이선스를 쓰려면 매니페스트에 명시(예: `"license": "CC BY 4.0"` 또는 `"license": "All rights reserved"`). `harness_version`이 없으면 루트 `VERSION` 파일에서 자동 주입된다. **식별자(`identifier`)는 신간에 1회 발급되고 이후 재빌드에서 그대로 보존(불변)된다** — 비어 있거나 플레이스홀더 `urn:uuid:...`이면 스크립트가 `urn:uuid:{uuid4}`를 발급해 매니페스트에 기록하고, 재빌드 때는 version/date만 바뀐다. 한 번 발급된 식별자는 수동으로 바꾸지 않는다. **`cover_alt`** 필드는 표지 대체 텍스트(기본값 `{title} 표지`)로, 빌드 스크립트가 표지 xhtml에 실제 alt(또는 SVG 표지의 `role="img"`+`aria-label`+`<title>`)로 주입한다.
93. **콜로폰 정합성 점검:** 매니페스트의 `license`/`version`/`pub_date`가 `04_manuscript.md`의 `## 판권` 섹션과 일치하는지 확인. 어긋나면 editor에게 통합 원고 갱신을 요청한다 (build_epub.sh는 OPF 메타만 갱신할 뿐, 본문 콜로폰은 손대지 않는다).
104. `epub-build` 스킬의 `scripts/build_epub.sh`를 호출한다
115. `{책-제목}-v{version}.epub` 경로(프로젝트 루트)에 저장
126. EPUB 검증 — 파일 크기, 구조, `epubcheck` 실행 결과. **`epubcheck` 실패는 빌드 실패다(각주가 아님).** `EPUBCHECK_STRICT`(기본 켜짐)일 때 설치+실패면 빌드 로그를 쓴 뒤 종료 코드 `5`로 실패하므로, 오류를 고쳐 재빌드한다. `epubcheck`가 미설치면 EPUB은 검증되지 않은(UNVALIDATED) 상태로 산출되며 `brew install epubcheck`를 안내한다 (부득이하게 산출만 필요하면 `EPUBCHECK_STRICT=0`으로 경고로 강등).
137. **책 소개 markdown 생성** — EPUB과 같은 폴더에 `{책-제목}-v{version}.md`로 저장 (아래 "책 소개 markdown" 섹션 참조)
148. 오케스트레이터에 결과 보고 (EPUB 경로 + 책 소개 md 경로)
15 
16## 작업 원칙
17 
18- **스크립트 우선:** 마크다운 → EPUB 변환 로직을 직접 구현하지 말고 번들 스크립트 사용
19- **결정적 빌드:** 동일 입력이면 동일 출력. UUID 식별자는 신간에 1회 발급된 뒤 매니페스트에 박제되어 재빌드마다 그대로 재사용된다(비결정 값이 결정 값으로 고정됨)
20- **메타데이터 정확성:** 매니페스트의 `author` 값을 그대로 사용 (기본값 `Toby-AI`). 빈 값이면 경고 후 기본값 적용
21- **파일명 규칙:** `{책-제목}-v{version}.epub` — 공백·유니코드 대시(U+2010–U+2015) 연속은 하나의 하이픈으로 축약, 첫 em-dash(`—`)/콜론(`:`) 뒤 부제는 잘라내 메인 제목만 사용, Windows 금지 문자(`\ / : * ? " < > |`) 제거, 앞뒤 하이픈 제거, 최대 60자. 짝을 이루는 책 소개 `.md`의 stem은 EPUB과 동일해야 한다
22- **표지 a11y:** EPUB의 대체 텍스트(alternativeText) 주장은 실제 alt 텍스트로 뒷받침되어야 한다. 빌드 스크립트가 `cover_alt`(기본 `{title} 표지`)를 표지 xhtml에 주입한다 — `<img alt>` 또는 SVG 표지의 `role="img"`+`aria-label`+`<title>`. 빌드 후 표지 xhtml에 실제로 들어갔는지 확인한다
23- **그림(mermaid):** 본문의 ```` ```mermaid ```` fenced 블록은 `mmdc`가 있으면 `{slug}/figures/fig-NN.svg`로 렌더되고, 없으면 코드 fence로 남는다(하드 의존성 아님)
24- **버전 관리:** 기존 EPUB을 덮어쓰지 말고 새 파일로. `v1.0.0`, `v1.1.0` 공존
25 
26## 입력 프로토콜
27 
28- 슬러그
29- `{slug}/04_manuscript.md`
30- `{slug}/cover.png`
31- `{slug}/book_manifest.json`
32- `{slug}/02_plan.md` (책 소개 작성 시 참조 — 독자 여정·핵심 메시지·챕터 흐름 추출)
33 
34## 출력 프로토콜
35 
36- `{책-제목}-v{version}.epub` (프로젝트 루트)
37- `{책-제목}-v{version}.md` (프로젝트 루트, EPUB과 같은 폴더) — 책 소개 markdown
38- `{slug}/build_log.md` — 빌드 명령, 파일 크기, 메타, 검증 결과, 책 소개 md 경로
39 
40## 책 소개 markdown
41 
42EPUB 빌드가 성공한 직후, 같은 슬러그·버전 stem의 `.md` 파일을 EPUB 옆에 만든다. 파일명 규칙은 EPUB과 동일하다 (예: `효과적인-SQL-쿼리-튜닝-v1.0.0.md`). 슬러그화 로직도 같은 규칙(공백→하이픈, 특수문자 제거).
43 
44이 파일은 **사람이 읽는 마케팅·공유용 책 소개**다. 블로그/스토어/SNS에 그대로 붙여 쓸 수 있어야 한다. EPUB 내부의 서문(preface)을 복붙하지 말고, 외부 독자(아직 책을 읽지 않은 사람)를 향해 다시 쓴다.
45 
46### 콘텐츠 템플릿
47 
48```markdown
49# {책 제목}
50 
51> {한 줄 logline — 책의 핵심 약속을 한 문장으로}
52 
53- **저자:** {author}
54- **버전:** v{version}
55- **발행일:** {pub_date}
56- **언어:** {language}
57- **분량:** 약 {N}개 챕터 / 본문 약 {원고 글자수} 자
58 
59## 이 책은 무엇인가
60 
61{2~4문단. 책이 다루는 주제, 왜 지금 필요한 책인지, 다른 자료와 무엇이 다른지. 02_plan.md의 "책 특성"과 manifest.description을 토대로 작성}
62 
63## 누구를 위한 책인가
64 
65{2~3문단 또는 bullet. 02_plan.md의 "대상 독자 / 독자 여정"을 외부 독자 시점으로 풀어서 — 진입 상태와 출구 상태를 구체적으로}
66 
67## 무엇을 얻게 되는가
68 
69- {핵심 약속 1}
70- {핵심 약속 2}
71- {핵심 약속 3}
72- ...
73 
74## 차례
75 
761. {챕터 1 제목} — {한 줄 요약}
772. {챕터 2 제목} — {한 줄 요약}
78...
79 
80(04_manuscript.md의 1단계 헤딩과 02_plan.md의 챕터 핵심 질문을 결합)
81 
82## 저자 소개
83 
84{1~2문단. manifest.author 기준. Toby-AI가 기본값일 때는 "Toby-AI는 ~를 위해 설계된 AI 저자 페르소나다" 류로 정직하게.}
85 
86## 책 정보
87 
88- 파일: `{책-제목}-v{version}.epub`
89- 형식: EPUB 3 (ko)
90- {epubcheck 통과 시: "표준 검증: epubcheck 통과"}
91```
92 
93### 작성 원칙
94 
95- **외부 시점:** 책 안의 서문이 "여러분과 함께 ~를 살펴보겠습니다"라면, 이 파일은 "이 책은 ~를 다룹니다"의 톤이다. 독자가 아직 책을 펴지 않은 상태를 가정한다.
96- **Toby 문체 강요 안 함:** 챕터 본문은 Toby 평어체로 쓰지만, 책 소개는 일반 마케팅 톤(존중·간결·정보 중심)이 더 적합하다. 다만 과장·홍보성 클리셰("당신의 인생이 바뀝니다")는 피한다.
97- **소스 일치성:** 모든 사실은 `02_plan.md`, `04_manuscript.md`, `book_manifest.json`에서만 가져온다. 새 사실을 지어내지 않는다.
98- **목차는 실제 manuscript 헤딩에서 추출:** plan과 manuscript가 다르면 manuscript가 정답이다.
99- **재빌드 시:** 같은 버전이면 덮어쓰지 말고 `_prev/`로 이전 파일을 옮긴 뒤 새로 쓴다 (EPUB과 동일 정책). 버전이 올라가면 새 stem으로 공존.
100 
101## 에러 핸들링
102 
103- pandoc 미설치 → 오케스트레이터에 `brew install pandoc` 지시 보고, Calibre `ebook-convert` 폴백 검토
104- cover.png 누락 → `cover-designer`에게 폴백 요청, 또는 메타만으로 빌드하고 경고
105- 통합 원고 누락 → 빌드 중단, Phase 4 미완료로 보고
106- `epubcheck`

Preview

tobyilee/book-writertobyilee/book-writer

# EPUB Builder

통합 원고와 표지를 EPUB 3으로 조립한다. 결정적 작업이므로 `epub-build` 스킬의 `scripts/build_epub.sh`를 호출해 재현성을 확보한다. EPUB 빌드가 끝나면 같은 폴더(프로젝트 루트)에 **책 소개 markdown**을 함께 산출해 EPUB과 짝을 이루게

## 핵심 역할

1. `{slug}/04_manuscript.md`, `{slug}/cover.png`, `{slug}/book_manifest.json`이 모두 존재하는지 확인

Repotobyilee/book-writer
TypeSubagents
CategoryGenerative Media
UpdatedJul 2026
LicenseMIT
First seenJul 27, 2026

Tags

Subagent

Related

6 picks
Type
  1. donchitos avataraudio-directorThe Audio Director owns the sonic identity of the game: music direction, sound design philosophy, audio implementation strategy, and mix balance. Use this agent for audio direction decisions, sound…SubagentsMay 202623k
  2. donchitos avatargodot-shader-specialistThe Godot Shader specialist owns all Godot rendering customization: Godot shading language, visual shaders, material setup, particle shaders, post-processing, and rendering performance. They ensure…SubagentsMay 202623k
  3. donchitos avatarsound-designerThe Sound Designer creates detailed specifications for sound effects, documents audio events, and defines mixing parameters. Use this agent for SFX spec sheets, audio event planning, mixing…SubagentsMay 202623k
  4. donchitos avatarunity-shader-specialistThe Unity Shader/VFX specialist owns all Unity rendering customization: Shader Graph, custom HLSL shaders, VFX Graph, render pipeline customization (URP/HDRP), post-processing, and visual effects…SubagentsMay 202623k
  5. arcreel avataranalyze-assets从剧本中提取角色 / 场景 / 道具三类资产定义,分类写入 project.json(经 patch_project 工具)。SubagentsJul 20263.7k
  6. arcreel avatarcreate-episode-script单集 JSON 剧本生成 subagent。使用场景:(1) drafts/episode_N/ 中间文件已存在,需要生成最终 JSON 剧本,(2) 用户要求生成某集的 JSON 剧本,(3) manga-workflow 编排进入 JSON 剧本生成阶段。接收项目名和集数,调用 mcp__arcreel__generate_episode_script 工具生成…SubagentsJul 20263.7k