Help us improve
Share bugs, ideas, or general feedback.
From velith
Converts markdown drafts to EPUB/PDF/MOBI/TXT, manages metadata, generates title candidates, cover concepts, and marketing plan. Requires pandoc and optional calibre.
npx claudepluginhub epicsagas/plugins --plugin velithHow this skill is triggered — by the user, by Claude, or both
Slash command
/velith:book-publishThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Formats** (requires `pandoc`, optional `calibre` for MOBI):
Manages multi-book content, voice, and production workflows for nonfiction authoring. Plan books, maintain consistent voice, structure manuscripts, and run end-to-end publishing pipelines.
Generates styled PDF books from directories of ordered markdown chapters using pandoc and weasyprint, with TOC, page numbers, and resolved inter-chapter links.
Converts Markdown documents to professionally typeset PDFs using reportlab (primary) or pandoc+XeLaTeX (fallback). Handles CJK/Latin mixed text, code blocks, tables, Obsidian callouts, math formulas, and 14 color themes. Triggered by "markdown to PDF", "md2pdf", "any2pdf", or export requests.
Share bugs, ideas, or general feedback.
Formats (requires pandoc, optional calibre for MOBI):
pandoc drafts/ch*.md -o publish/book.epub --toc --toc-depth=2 --metadata-file=publish/metadata.yaml --css=publish/style.csspandoc with 6x9in geometry, mirror margins, CJK font supportebook-convert book.epub book.mobi (optional, Kindle supports EPUB)pandoc --to plain --wrap=nonepandoc --to markdown --standaloneMetadata: publish/metadata.yaml (title, subtitle, author, lang, keywords, description).
Titles: 22+ candidates across 5 categories (descriptive, emotional, question, metaphor, provocative).
Agents: cover-designer → concepts + image prompts. marketing-expert → personas, channels, 12-week calendar, launch checklist.
Output: publish/ directory with all formats + metadata + title-candidates.md + cover/concepts.md + marketing-plan.md.
Gate: EPUB + PDF generated, metadata complete, 22+ titles, cover concepts, marketing plan.
Poetry line breaks: If genre is poetry or poetry-essay, before running pandoc, prepend two trailing spaces ( ) to each non-empty line within poem sections (content under ## headings, before ### subheadings). This forces pandoc to preserve line breaks instead of merging into paragraphs.
Cover image guard: Before running pandoc, check if the cover image file referenced in metadata.yaml (typically cover.png) actually exists. If missing, temporarily remove the cover-image field from metadata, run pandoc, then restore the field. This prevents pandoc from failing when cover hasn't been generated yet.
Update the project dashboard status:
node {PLUGIN_ROOT}/velith.mjs scan [project-dir] --plugin-root={PLUGIN_ROOT}