← ClaudeAtlas

resource-to-markdownlisted

把任意格式资源(PDF/EPUB/视频/音频/HTML/docx/txt)以最佳质量、最快速度转成按章节拆分的 markdown。当用户说"转 markdown"、"把这本书转成 md"、"转录这个视频"、"处理这个 PDF"时触发。带三层 harness 兜底保证成功率。
q8886b/loom · ★ 4 · Data & Documents · score 75
Install: claude install-skill q8886b/loom
# resource-to-markdown Skill ## 何时触发 - 用户给一个任意格式文件,要求转成 markdown - 用户要"消化一本书/PDF/视频"且没有现成 markdown - Loom 的 DIGEST 流程第 0 步需要前置转换时 - 批量处理 sources/<领域>/ 下的资源 ## 核心承诺 - **任意格式**:PDF(文本型 + 扫描型)、EPUB、视频/音频、HTML、docx/pptx、markdown/txt - **最佳质量**:按格式选最佳引擎(pymupdf/docling/rapidocr/pandoc/markitdown/faster-whisper) - **最快速度**:文本型 PDF < 10s/100 页;扫描型 PDF OCR ~1s/页;视频转写 ~30s/分钟 - **最优成本**:全本地,零 API 费用;模型用本地缓存 - **成功率保证**:三层兜底 + harness 校验,失败时清晰报告"罕见情况" ## 用法 ```bash # 基础用法 python3.11 skills/resource-to-markdown/scripts/convert.py <input> --out-dir=<dir> # 指定音视频语言 python3.11 skills/resource-to-markdown/scripts/convert.py video.mp4 --out-dir=out --language=zh # 不切章节(只产出 raw.md) python3.11 skills/resource-to-markdown/scripts/convert.py file.pdf --out-dir=out --no-split # 自定义章节大小 python3.11 skills/resource-to-markdown/scripts/convert.py book.epub --out-dir=out --min=1000 --max=30000 ``` ## 输出 每个文件产出 3 类输出到 `<out-dir>/`: ``` <stem>.raw.md # 原始转换(完整 markdown) <stem>.quality.json # 质量报告(引擎/字数/校验结果/警告) ch01.md, ch02.md, ... # 按章节切分(默认切,--no-split 跳过) ``` `quality.json` 关键字段: ```json { "status": "ok|ok_with_warnings|quality_failed|convert_failed", "convert": {"engine": "...", "chars": ..., "strategy": "..."}, "raw_summary": {"passed": ..., "failures": [...]}, "unit_summary": {"passed": ..., "failures": [...]}, "warnings": [...], "duration_sec": ... } ``` ## 路由策略(按扩展名 + 内容) | 格式 | 主引擎 | 兜底 | |---|---|---| | `.md`/`.txt` | 直接复制(去 BOM、统一换行) | - | | `.pdf`