pdf2epub SKILL.md skillA

pdf2epub from moonlight-lupin/agent-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add moonlight-lupin/agent-skills/pdf2epub@v1.2.1

Pins v1.2.1 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
moonlight-lupin/agent-skills
Path
productivity/pdf2epub/SKILL.md
Versions recorded
1
Latest version
v1.2.1, committed Oct 5, 2026
Size
8,820 bytes
Repository stars
119
License
MIT

Use when converting a PDF book to EPUB, e.g. 'pdf to epub', 'convert this PDF book for my e-reader', 'EPUB with cover and TOC', 'pdf to ebook for kobo/kindle'. Builds a text-layer PDF into an EPUB with cover image, one section per chapter, a parsed 目录/Contents TOC, inline illustrations, and footnote endnotes. Text-layer PDFs only — scanned PDFs route to document-toolkit OCR.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# pdf2epub

## Overview

Convert a text-layer PDF to EPUB with real structure: cover image, one chapter per section, and a working 目录 (nav + ncx). Fully deterministic — no LLM in the conversion path. Engine: `scripts/pdf2epub.py` (pymupdf + ebooklib + Pillow).

## When to Use

- A text-layer PDF book should become an EPUB with cover + sections + TOC
- A printed 目录/Contents page needs parsing into real EPUB nav
- Footnote-heavy books (devotional/theological) need notes as linked endnotes, not body-text pollution

Don't use for: image-only scans (refused — route to document-toolkit OCR first) or PDF→Markdown extraction (that is opendataloader-pdf).

## Run

```bash
python scripts/pdf2epub.py \
  input.pdf [-o out.epub] [--title T] [--author A] [--lang zh] [-v]
```

Needs `pymupdf`, `ebooklib`, `Pillow` (see `requirements.txt`). Create a dedicated venv for them if your environment pins system packages.

Optional flags: `--no-footnotes` keeps footnote text in body flow; `--scan` forces conversion of a scanless PDF.
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add moonlight-lupin/agent-skills/pdf2epub@sha256:6dd22b8ce56ee84b

The line at the top of this page pins the label v1.2.1, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_raayebygkggjkkxb.svg)](https://markdownregistry.com/a/art_raayebygkggjkkxb)

2 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Oct 5, 2026.

versioncommittedcommitsizeaudit
v1.2.1 latest2026-10-05 e10c874 8,820 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (8820 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

moonlight-lupin/agent-skills · 119 stars · license MIT · pushed 2026-10-30 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_raayebygkggjkkxb
GET https://markdownregistry.com/api/v1/resolve?ref=moonlight-lupin/agent-skills/pdf2epub
GET https://markdownregistry.com/api/v1/blob/6dd22b8ce56ee84bc5460b3aeb328961a7d9123c7a98f03944218022e1f14e6c

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from moonlight-lupin/agent-skills

claude-plugin-converter SKILL.md skill
moonlight-lupin/agent-skills · agent-ops/claude-plugin-converter/SKILL.md · Use when converting Claude Code plugins into self-contained Hermes plugins — discovery analysis then full conversion.
v1.0.0 · audit A · 119 stars
hermes-onboarding SKILL.md skill
moonlight-lupin/agent-skills · agent-ops/hermes-onboarding/SKILL.md · Use when onboarding a new customer — configure gateway, dashboard, memory, services for production.
v1.3.0 · audit B · 119 stars
input-token-overheads SKILL.md skill
moonlight-lupin/agent-skills · agent-ops/input-token-overheads/SKILL.md · Use when the context window fills too fast, per-turn input token cost is too high, or the aggregate input token bill…
v1.9.0 · audit A · 119 stars
log-analyzer SKILL.md skill
moonlight-lupin/agent-skills · agent-ops/log-analyzer/SKILL.md · Use when parsing agent log files to identify error patterns, rate limit hits, timeout clusters, tool failures, and…
v1.1.0 · audit A · 119 stars
operator-brain SKILL.md skill
moonlight-lupin/agent-skills · agent-ops/operator-brain/SKILL.md · Use when communicating, deciding, or reporting as a senior operator — 8 behavioral modules from Anthropic's Fable…
v1.1.0 · audit A · 119 stars
clips-studio SKILL.md skill
moonlight-lupin/agent-skills · creative/clips-studio/SKILL.md · Use when the user wants to "make a video/clip", "generate a video from text", "animate this image/photo", "create a…
v1.2.2 · audit A · 119 stars
image-studio SKILL.md skill
moonlight-lupin/agent-skills · creative/image-studio/SKILL.md · Use when the user wants image generation or editing through the local fal.ai three-stage studio workflow — brainstorm a…
v1.3.2 · audit A · 119 stars
pexels-stock-photos SKILL.md skill
moonlight-lupin/agent-skills · creative/pexels-stock-photos/SKILL.md · Use when the user wants a REAL photo — 'find a photo of X', 'search for pictures of Y', 'stock image of Z', 'I need a…
v1.0.0 · audit A · 119 stars
disk-cleanup SKILL.md skill
moonlight-lupin/agent-skills · devops/disk-cleanup/SKILL.md · Use when df says disk is above 80% full or the user wants to reclaim storage space on a VM.
v1.3.1 · audit B · 119 stars
model-compare SKILL.md skill
moonlight-lupin/agent-skills · mlops/model-compare/SKILL.md · Blind side-by-side multi-model comparison. Send one prompt to 2-4 models simultaneously, present responses anonymously…
v1.2.0 · audit A · 119 stars
contrastive-refinement SKILL.md skill
moonlight-lupin/agent-skills · plugins/contrastive-advisor/skills/contrastive-refinement/SKILL.md · Use when a skill or harness edit needs evidence before it lands — probe candidates on the same task, compose from…
v0.2.0 · audit A · 119 stars
grill SKILL.md skill
moonlight-lupin/agent-skills · plugins/dev-pipeline/skills/grill/SKILL.md · Use when a plan is fuzzy and needs hardening before a spec — decision-tree grilling in frontier rounds, every open…
v1.1.0 · audit A · 119 stars

Every file in moonlight-lupin/agent-skills

Browse by kind, by grade A, or by owner.