Markdown 转 EPUB 技能
把 Markdown 文档、聊天摘要或研究报告一键转换成可在 Kindle、Apple Books 等任意阅读器打开的 EPUB 电子书。
脚本为纯本地处理:无网络请求、无凭据读取、无隐蔽外发;HTML特殊字符有转义,输出目录创建为最小副作用,风险面小。扣分点:SKILL.md未声明数据流与权限边界、无回滚说明、发布者身份未经注册表验证,授予与确认机制未成文。
代码结构自洽,包含YAML frontmatter、代码块占位保护、表格解析等路径;错误经try/except后打印并抛出,异常反馈可读。扣分点:generate()文档声称返回False但实际抛异常,行为与文档不一致;markdown_processor.py在证据中被截断,部分路径无法核对;测试文件test_epub_skill.py未随证据提供,仅CI引用;静态审查不能验证关键路径复现。
输入格式(原文/文件路径)、H1分章规则、输出格式(EPUB3)和触发示例均明确,触发语义较清晰。扣分点:未声明不适用边界(如图片嵌入不支持)、无中文/多语言说明(language默认en),核心依赖pip/ebooklib在中国大陆可达性未评估。
文档分层良好(SKILL.md+REFERENCE.md),有版本号、路线图、贡献规范,CI强制CHANGELOG条目与测试后才发布,治理较完整。扣分点:README称许可'同Claude Cookbooks项目'与MIT LICENSE矛盾;'Maintained By: Skills Development Team'责任主体含糊;requirements提及markdown2但代码未使用。
转换管线(解析→章节→EPUB3+NCX/NAV+TOC)实现完整,产出可直接使用的EPUB文件,相对手动打包有明显边际价值。扣分点:静态审查无法验证实际产出质量;列表渲染输出游离<li>无<ul>包裹、嵌套列表声称支持但代码未见实现,输出完整性存疑。
有release CI工作流安装依赖并运行test_epub_skill.py、强制CHANGELOG,提供了可审计的原始材料。扣分点:测试文件本身不在证据中,无第三方执行结果或代表性输出样例,静态审查下复现覆盖薄弱。
- 静态审查未执行任何代码;实际EPUB输出质量(列表包裹、嵌套列表、复杂表格)需自行验证后再用于生产。
- markdown_processor.py在证据中不完整,安装使用前请核对仓库完整源码与test_epub_skill.py测试结果。
- 无中文界面/中文文档说明,language元数据默认为'en',中文电子书需手动指定语言;依赖经pip安装,中国大陆网络环境请评估可达性。
- README许可描述与MIT LICENSE不一致,使用前以LICENSE文件为准。
- generate()失败时抛出异常而非返回False,集成时请按异常处理。
这个 Skill 能做什么,适合哪些场景?
这是一个 Claude 技能,用于将 Markdown 内容转换为规范的 EPUB3 电子书文件。它以 H1 标题作为章节分界、H2 作为小节,自动生成目录和导航文档,并支持书名、作者、语言等元数据(含 YAML frontmatter)。技术内容有加分项:代码块使用等宽字体和样式化背景,表格带表头配色和斑马纹。生成后可直接下载并传到 Kindle 或其他阅读器。README 标注版本 1.0.0、生产可用,并附带测试套件。
读取直接粘贴的 Markdown 文本或指定路径的 Markdown 文件;由 markdown_processor.py 解析标题层级、构建章节结构、提取 YAML frontmatter 元数据并转换为 HTML;由 epub_generator.py 基于 ebooklib 生成含目录(NCX + NAV)、元数据和内嵌 CSS 的 EPUB3 文件;输出可下载的 .epub 文件。
- 研究者想把自己的 Markdown 研究笔记打包成电子书,方便在平板或 Kindle 上离线阅读。
- 开发者写完长篇技术文档后,希望保留代码块高亮样式和表格排版地导出为 EPUB。
- 用户希望把与 AI 的对话总结固化成可携带的参考文档。
- 博主想把已写好的文章合集按章节组织成一本书。
- Python 开发者想在自己的脚本中直接调用 create_epub_from_markdown 函数做批量转换。
这个 Skill 有哪些优点和局限?
- 符合 EPUB3 标准,兼容 Apple Books、Kindle 应用、Google Play Books、Kobo 等主流阅读器。
- 自动生成目录和章节导航,H1/H2 结构约定简单直观。
- 代码块和表格有增强排版,适合技术类内容。
- 支持 YAML frontmatter 定义书名、作者、语言和出版日期。
- 附测试套件(test_epub_skill.py),README 标注为生产可用。
- 不支持封面图生成、.mobi 格式或多文档合并——均列为未来计划。
- 章节划分完全依赖 H1 标题;若无 H1,目录会为空。
- README 中许可声明('与 Claude Cookbooks 相同')与仓库元数据(MIT)不一致,采用前需自行确认。
- 在 Kindle 真机上的表现未在源材料中验证,仅列出兼容的阅读应用。
- 依赖 ebooklib 和 markdown2,需要本地 Python 环境。
如何安装这个 Skill?
- 需要 Python 3.8+ 和 pip。2. 安装依赖:pip install -r markdown-to-epub/requirements.txt。3. 验证安装:python test_epub_skill.py,应看到 Markdown 处理、EPUB 生成和边界用例全部 PASSED。技能文件夹(markdown-to-epub/,含 SKILL.md)按 Claude 技能标准放置即可被识别;README 未说明具体的技能安装目录路径。
如何使用这个 Skill?
作为技能时,直接用自然语言触发,例如:"把这个 Markdown 转成 EPUB:# 我的书名\n## 第一章\n……",或 "把 research_notes.md 转成 EPUB 文件";也可要求"把我们的对话总结成 Markdown 并转成 EPUB"。也可作为 Python 库调用:from markdown_to_epub.scripts.epub_generator import create_epub_from_markdown,传入 markdown 内容、output_path、title、author 等参数。生成后可下载文件并传输到 Kindle、iPad 或其他阅读器。