Ultimate Ebook Publishing Skill
Covers the complete lifecycle: write → format → convert → publish → distribute → launch.
Includes ebooks, print-on-demand, and AI-narrated audiobooks.
Reference Files — Load When Relevant
| Topic |
File |
Load when... |
| All platforms + royalties |
references/platforms.md |
Choosing where to publish, royalty questions |
| Cover design specs |
references/cover-specs.md |
Designing or sizing covers for any platform |
| Formatting + conversion |
references/formatting.md |
EPUB, PDF, HTML→PDF, Pandoc, Puppeteer |
| Audiobooks |
references/audiobooks.md |
ACX, ElevenLabs, KDP Virtual Voice, INaudio |
| ISBN strategy |
references/isbn-strategy.md |
Buying ISBNs, KDP trap, dual KDP+IS strategy |
| Promotion + launch |
references/promotion.md |
BookBub, permafree, series, ARC, launch plan |
Project Context
If project-context.md exists in the skill directory or .claude/ folder, read it
before any task. It contains brand voice, publishing setup, platform credentials
paths, and infrastructure details — avoids re-explaining context each session.
Workflow Overview
1. Write & Structure
2. Format (EPUB / PDF / HTML→PDF)
3. Cover Design
4. ISBN Decision
5. Platform Strategy (wide vs exclusive, ebook + print + audio)
6. Metadata & SEO
7. Pricing & Royalties
8. Pre-launch + Launch + Post-launch
EPUBCheck Compliance (EPUB 3.0)
EPUBs must pass EPUBCheck for D2D, Apple Books, Kobo, and most aggregators. Common errors and fixes:
| Error |
Fix |
<script> tags |
Remove all — EPUB content docs don't allow JavaScript |
<button> tags |
Remove all |
<input>, <select>, <textarea>, <form> |
Remove all form elements |
Event handlers (onclick, onmouseover, etc.) |
Remove all on* attributes |
Orphan <dt>/<dd> outside <dl> |
Convert to styled <p> tags (see below) |
| CSS unbalanced braces |
Remove @media blocks (limited EPUB reader support), validate brace count |
Broken fragment identifiers (href="#id" where id missing) |
Convert <a> to <span>, remove href |
| OPF-014 "scripted" property |
Caused by script tags — removing scripts fixes it |
Critical dt/dd fix: Do NOT wrap orphan <dt>/<dd> in <dl> — the source HTML often has them as siblings in a <div>, and grouping consecutive ones can create <dl> with only <dt> (missing required <dd>), which also fails EPUBCheck. Instead:
- Convert orphan
<dt> → <p style="font-weight:700;margin-bottom:0.2em">
- Convert orphan
<dd> → <p style="margin-left:1em;margin-top:0">
Step 1: Book Structure
Non-Fiction
Front Matter:
Title page · Copyright · Dedication (opt) · TOC · Foreword (opt)
Body:
Introduction (promise) → Chapters (Hook → Concepts → Examples → Takeaways)
Back Matter:
Conclusion/Next Steps · About the Author · Also by · Resources · Index (tech books)
Fiction
Front matter: Title · Copyright · Dedication · TOC (optional)
Act structure: Three-act / Hero's Journey / Save the Cat
Back matter: Acknowledgements · About the Author · Also by · Newsletter CTA
Lead Magnet / Short Ebook (10–50 pages)
Title + promise → Problem → 3–7 steps → Quick wins → CTA (email, product, service)
Step 2: Format & DPI Requirements
| Output type |
DPI |
Notes |
| EPUB (digital reading) |
72–150 |
Higher = larger file, no screen benefit |
| PDF (digital download) |
150 |
Sharp on retina, reasonable file size |
| PDF (print-ready) |
300 |
Required for KDP Print, IngramSpark |
| All covers |
300 |
Always 300 — displayed at many sizes |
File formats quick reference:
| Platform |
Accepted |
Preferred |
| Amazon KDP |
EPUB, DOCX, HTML, MOBI |
EPUB 3 |
| Apple Books |
EPUB only |
EPUB 3 (strict validation) |
| Gumroad / Payhip |
Any file |
PDF for designed ebooks |
| Draft2Digital |
DOCX, EPUB |
EPUB 3 |
| Kobo / B&N Press |
EPUB, PDF |
EPUB 3 |
| IngramSpark |
EPUB (digital), PDF (print) |
EPUB 3 |
| Google Play Books |
EPUB, PDF |
EPUB 3 |
| PublishDrive |
EPUB |
EPUB 3 |
See references/formatting.md for full EPUB tool chain, HTML→PDF Puppeteer workflow,
and Pandoc conversion commands.
Step 3: Cover Design
Universal shortcut: design at 2560 × 1600 px, 300 DPI — covers all platforms.
See references/cover-specs.md for verified specs across all 9 platforms.
Quick reference:
| Platform |
Dimensions |
Ratio |
DPI |
| Amazon KDP ebook |
1600 × 2560 |
5:8 |
72 min |
| Amazon KDP paperback |
KDP template |
varies |
300 |
| Apple Books |
1400 × 2100 |
2:3 |
150+ |
| Kobo / D2D |
1600 × 2400 |
2:3 |
150+ |
| Gumroad product |
1280 × 1920 |
2:3 |
150+ |
| Gumroad thumbnail |
900 × 900 |
1:1 |
150+ |
| Payhip |
2560 × 1600 |
8:5 |
300 |
| B&N Press |
2000 × 3000 |
2:3 |
300 |
| Google Play Books |
1600 × 2400 |
2:3 |
300 |
Step 4: ISBN Decision
See references/isbn-strategy.md for the full guide. Quick rules:
- Never use KDP's free ISBN if you plan to publish elsewhere — it locks you to Amazon
- Buy your own: Bowker (US) · Nielsen (UK) · Library and Archives Canada · other national agencies
- Each format needs its own ISBN: ebook ≠ paperback ≠ hardcover ≠ audiobook
- Best strategy: own ISBNs → publish KDP first (disable Expanded Distribution) → then IngramSpark
Step 5: Platform Strategy
Decision Tree
Fiction writer? → Consider KDP Select (Kindle Unlimited) for 90-day windows
Non-fiction / established author? → Go Wide from day one
Want bookstore + library distribution? → KDP Print + IngramSpark (same ISBN)
Want maximum direct revenue? → Gumroad/Payhip for PDF, D2D for wide ebook
Want audiobook? → See references/audiobooks.md
Want Google Play? → Via PublishDrive ($9.99/mo) or direct (complex approval)
EU audience? → Payhip handles VAT automatically
International markets? → PublishDrive (400+ stores, 240k libraries) or StreetLib
MCP Automation Status
| Platform |
MCP |
Notes |
| Gumroad |
✅ rmarescu/gumroad-mcp |
Create/update products, upload files |
| All others |
❌ |
Manual upload required |
Step 6: Metadata & SEO
Book Description (Amazon / Apple / Kobo / Google Play)
- Hook (1–2 sentences): who this is for + what they'll get
- Problem (2–3 sentences): the pain without this book
- Solution teaser (5–7 bullets)
- Social proof (if available)
- CTA: "Download your copy today" / "Get your copy now"
Amazon supports HTML in descriptions:
<h2>Are you struggling with X?</h2>
<p>Most people who want Y fail because Z...</p>
<ul><li>✓ How to...</li><li>✓ The secret to...</li></ul>
<p><b>Scroll up and click Buy Now</b></p>
Amazon Keywords (7 fields, 50 chars each)
- Long-tail phrases only — not single words
- Include: use cases, audience type, difficulty level
- Never repeat words from title/subtitle
- Research: Publisher Rocket, Amazon autocomplete, "Customers also bought"
Categories (Amazon)
- 2 during upload; request up to 10 via Author Central support
- Strategy: one broad + one narrow lower-competition niche
- Browse category bestseller lists first
Step 7: Pricing & Royalties
Amazon KDP Ebook
| Price |
Royalty |
Notes |
| $0.99–$2.98 |
35% |
Loss leader / entry point |
| $2.99–$9.99 |
70% |
Sweet spot — use this |
| $10.00+ |
35% |
Drops back |
Pricing Strategy by Format
| Format |
Typical Range |
Notes |
| Lead magnet |
Free – $0.99 |
List building |
| Standard non-fiction |
$2.99–$4.99 |
Volume + visibility |
| Comprehensive guide |
$7.99–$9.99 |
Max 70% royalty tier |
| Premium PDF (Gumroad) |
$9.99–$29.99 |
Direct = higher margin |
| Paperback (KDP Print) |
$9.99–$17.99 |
Check print cost first |
| Audiobook (ACX) |
$14.99–$24.99 |
ACX suggests based on length |
Series Pricing
- Book 1: permafree or $0.99 (loss leader — drives series read-through)
- Books 2+: full price ($3.99–$5.99)
- Calculate read-through value: if 30% of Book 1 readers buy Book 2 at $4.99, each Book 1 reader is worth $1.50
See references/promotion.md for permafree mechanics and BookBub strategy.
Step 8: Launch
See references/promotion.md for the full launch playbook.
Quick Checklist
Pre-launch (4–6 weeks):
Launch week:
Post-launch:
1---2name: ebook-publishing3description: The complete ebook and audiobook self-publishing skill — write, format, convert, and publish across all major platforms. Use this skill whenever the user asks about Amazon KDP, Apple Books, Gumroad, Payhip, Kobo, Draft2Digital, IngramSpark, Barnes & Noble Press, Google Play Books, PublishDrive, StreetLib, ACX, ElevenLabs audiobooks, KDP Virtual Voice, INaudio (formerly Findaway Voices), EPUB formatting, HTML-to-PDF Puppeteer workflow, book cover design specs, ISBN strategy, KDP Select vs wide distribution, permafree strategy, BookBub, series pricing, royalty calculations, book descriptions, Amazon A+ content, keyword research, ARC readers, or any launch strategy. Also trigger for lead magnet ebooks, digital downloads, online courses packaged as ebooks, audiobook production with AI narration, print-on-demand, or any content intended for digital or print distribution and sale. MCP available for Gumroad only (rmarescu/gumroad-mcp). All other platforms require manual upload.4---56# Ultimate Ebook Publishing Skill78Covers the complete lifecycle: write → format → convert → publish → distribute → launch.9Includes ebooks, print-on-demand, and AI-narrated audiobooks.1011## Reference Files — Load When Relevant1213| Topic | File | Load when... |14|---|---|---|15| All platforms + royalties | `references/platforms.md` | Choosing where to publish, royalty questions |16| Cover design specs | `references/cover-specs.md` | Designing or sizing covers for any platform |17| Formatting + conversion | `references/formatting.md` | EPUB, PDF, HTML→PDF, Pandoc, Puppeteer |18| Audiobooks | `references/audiobooks.md` | ACX, ElevenLabs, KDP Virtual Voice, INaudio |19| ISBN strategy | `references/isbn-strategy.md` | Buying ISBNs, KDP trap, dual KDP+IS strategy |20| Promotion + launch | `references/promotion.md` | BookBub, permafree, series, ARC, launch plan |2122---2324## Project Context2526If `project-context.md` exists in the skill directory or `.claude/` folder, read it27before any task. It contains brand voice, publishing setup, platform credentials28paths, and infrastructure details — avoids re-explaining context each session.2930---3132## Workflow Overview3334```351. Write & Structure362. Format (EPUB / PDF / HTML→PDF)373. Cover Design384. ISBN Decision395. Platform Strategy (wide vs exclusive, ebook + print + audio)406. Metadata & SEO417. Pricing & Royalties428. Pre-launch + Launch + Post-launch43```4445---4647## EPUBCheck Compliance (EPUB 3.0)4849EPUBs must pass EPUBCheck for D2D, Apple Books, Kobo, and most aggregators. Common errors and fixes:5051| Error | Fix |52|---|---|53| `<script>` tags | Remove all — EPUB content docs don't allow JavaScript |54| `<button>` tags | Remove all |55| `<input>`, `<select>`, `<textarea>`, `<form>` | Remove all form elements |56| Event handlers (`onclick`, `onmouseover`, etc.) | Remove all `on*` attributes |57| Orphan `<dt>`/`<dd>` outside `<dl>` | Convert to styled `<p>` tags (see below) |58| CSS unbalanced braces | Remove `@media` blocks (limited EPUB reader support), validate brace count |59| Broken fragment identifiers (`href="#id"` where id missing) | Convert `<a>` to `<span>`, remove `href` |60| OPF-014 "scripted" property | Caused by script tags — removing scripts fixes it |6162**Critical dt/dd fix:** Do NOT wrap orphan `<dt>`/`<dd>` in `<dl>` — the source HTML often has them as siblings in a `<div>`, and grouping consecutive ones can create `<dl>` with only `<dt>` (missing required `<dd>`), which also fails EPUBCheck. Instead:63- Convert orphan `<dt>` → `<p style="font-weight:700;margin-bottom:0.2em">`64- Convert orphan `<dd>` → `<p style="margin-left:1em;margin-top:0">`6566---6768## Step 1: Book Structure6970### Non-Fiction71```72Front Matter:73 Title page · Copyright · Dedication (opt) · TOC · Foreword (opt)74Body:75 Introduction (promise) → Chapters (Hook → Concepts → Examples → Takeaways)76Back Matter:77 Conclusion/Next Steps · About the Author · Also by · Resources · Index (tech books)78```7980### Fiction81```82Front matter: Title · Copyright · Dedication · TOC (optional)83Act structure: Three-act / Hero's Journey / Save the Cat84Back matter: Acknowledgements · About the Author · Also by · Newsletter CTA85```8687### Lead Magnet / Short Ebook (10–50 pages)88Title + promise → Problem → 3–7 steps → Quick wins → CTA (email, product, service)8990---9192## Step 2: Format & DPI Requirements9394| Output type | DPI | Notes |95|---|---|---|96| EPUB (digital reading) | 72–150 | Higher = larger file, no screen benefit |97| PDF (digital download) | 150 | Sharp on retina, reasonable file size |98| PDF (print-ready) | 300 | Required for KDP Print, IngramSpark |99| All covers | 300 | Always 300 — displayed at many sizes |100101**File formats quick reference:**102103| Platform | Accepted | Preferred |104|---|---|---|105| Amazon KDP | EPUB, DOCX, HTML, MOBI | EPUB 3 |106| Apple Books | EPUB only | EPUB 3 (strict validation) |107| Gumroad / Payhip | Any file | PDF for designed ebooks |108| Draft2Digital | DOCX, EPUB | EPUB 3 |109| Kobo / B&N Press | EPUB, PDF | EPUB 3 |110| IngramSpark | EPUB (digital), PDF (print) | EPUB 3 |111| Google Play Books | EPUB, PDF | EPUB 3 |112| PublishDrive | EPUB | EPUB 3 |113114See `references/formatting.md` for full EPUB tool chain, HTML→PDF Puppeteer workflow,115and Pandoc conversion commands.116117---118119## Step 3: Cover Design120121**Universal shortcut**: design at **2560 × 1600 px, 300 DPI** — covers all platforms.122123See `references/cover-specs.md` for verified specs across all 9 platforms.124125Quick reference:126127| Platform | Dimensions | Ratio | DPI |128|---|---|---|---|129| Amazon KDP ebook | 1600 × 2560 | 5:8 | 72 min |130| Amazon KDP paperback | KDP template | varies | 300 |131| Apple Books | 1400 × 2100 | 2:3 | 150+ |132| Kobo / D2D | 1600 × 2400 | 2:3 | 150+ |133| Gumroad product | 1280 × 1920 | 2:3 | 150+ |134| Gumroad thumbnail | 900 × 900 | 1:1 | 150+ |135| Payhip | 2560 × 1600 | 8:5 | 300 |136| B&N Press | 2000 × 3000 | 2:3 | 300 |137| Google Play Books | 1600 × 2400 | 2:3 | 300 |138139---140141## Step 4: ISBN Decision142143See `references/isbn-strategy.md` for the full guide. Quick rules:144145- **Never use KDP's free ISBN** if you plan to publish elsewhere — it locks you to Amazon146- **Buy your own**: Bowker (US) · Nielsen (UK) · Library and Archives Canada · other national agencies147- **Each format needs its own ISBN**: ebook ≠ paperback ≠ hardcover ≠ audiobook148- **Best strategy**: own ISBNs → publish KDP first (disable Expanded Distribution) → then IngramSpark149150---151152## Step 5: Platform Strategy153154### Decision Tree155156```157Fiction writer? → Consider KDP Select (Kindle Unlimited) for 90-day windows158Non-fiction / established author? → Go Wide from day one159Want bookstore + library distribution? → KDP Print + IngramSpark (same ISBN)160Want maximum direct revenue? → Gumroad/Payhip for PDF, D2D for wide ebook161Want audiobook? → See references/audiobooks.md162Want Google Play? → Via PublishDrive ($9.99/mo) or direct (complex approval)163EU audience? → Payhip handles VAT automatically164International markets? → PublishDrive (400+ stores, 240k libraries) or StreetLib165```166167### MCP Automation Status168169| Platform | MCP | Notes |170|---|---|---|171| Gumroad | ✅ `rmarescu/gumroad-mcp` | Create/update products, upload files |172| All others | ❌ | Manual upload required |173174---175176## Step 6: Metadata & SEO177178### Book Description (Amazon / Apple / Kobo / Google Play)1791. **Hook** (1–2 sentences): who this is for + what they'll get1802. **Problem** (2–3 sentences): the pain without this book1813. **Solution teaser** (5–7 bullets)1824. **Social proof** (if available)1835. **CTA**: "Download your copy today" / "Get your copy now"184185Amazon supports HTML in descriptions:186```html187<h2>Are you struggling with X?</h2>188<p>Most people who want Y fail because Z...</p>189<ul><li>✓ How to...</li><li>✓ The secret to...</li></ul>190<p><b>Scroll up and click Buy Now</b></p>191```192193### Amazon Keywords (7 fields, 50 chars each)194- Long-tail phrases only — not single words195- Include: use cases, audience type, difficulty level196- Never repeat words from title/subtitle197- Research: Publisher Rocket, Amazon autocomplete, "Customers also bought"198199### Categories (Amazon)200- 2 during upload; request up to 10 via Author Central support201- Strategy: one broad + one narrow lower-competition niche202- Browse category bestseller lists first203204---205206## Step 7: Pricing & Royalties207208### Amazon KDP Ebook209| Price | Royalty | Notes |210|---|---|---|211| $0.99–$2.98 | 35% | Loss leader / entry point |212| $2.99–$9.99 | 70% | Sweet spot — use this |213| $10.00+ | 35% | Drops back |214215### Pricing Strategy by Format216| Format | Typical Range | Notes |217|---|---|---|218| Lead magnet | Free – $0.99 | List building |219| Standard non-fiction | $2.99–$4.99 | Volume + visibility |220| Comprehensive guide | $7.99–$9.99 | Max 70% royalty tier |221| Premium PDF (Gumroad) | $9.99–$29.99 | Direct = higher margin |222| Paperback (KDP Print) | $9.99–$17.99 | Check print cost first |223| Audiobook (ACX) | $14.99–$24.99 | ACX suggests based on length |224225### Series Pricing226- Book 1: permafree or $0.99 (loss leader — drives series read-through)227- Books 2+: full price ($3.99–$5.99)228- Calculate read-through value: if 30% of Book 1 readers buy Book 2 at $4.99, each Book 1 reader is worth $1.50229230See `references/promotion.md` for permafree mechanics and BookBub strategy.231232---233234## Step 8: Launch235236See `references/promotion.md` for the full launch playbook.237238### Quick Checklist239**Pre-launch (4–6 weeks):**240- [ ] Email list with early access offer241- [ ] 10–20 ARC readers lined up for reviews at launch242- [ ] Amazon Author Central page set up243- [ ] Social content scheduled (cover reveal, excerpts, testimonials)244245**Launch week:**246- [ ] 3-email sequence: announcement → reminder → last chance247- [ ] KDP promotion (Countdown Deal or Free Days if KDP Select)248- [ ] Submit to BookBub, Freebooksy, BargainBooksy249- [ ] Outreach to podcast / newsletter partners250251**Post-launch:**252- [ ] Request reviews via email (never inside the book — Amazon TOS)253- [ ] A/B test cover and description254- [ ] Annual content refresh255- [ ] Expand formats: audio, print, translations