Community研究与数据分析github.com

tpc-pascal/agent-skills

提取并转换 PDF/DOCX/XLSX 文档——获取文本层 (pdftotext)、扫描件 OCR (pdftoppm + tesseract)、转换为 Markdown (docling)、XLSX 转 CSV (libreoffice headless)、使用 qpdf/pdftk 合并/拆分/旋转页面、通过 pdfinfo + pdftotext 验证输出。适用于需要从文档中提取文本、对扫描件进行 OCR、转换格式、拆分/合并页面或验证提取内容的场景。

agent-skills 是什么?

该技能是一个轻量化的文档处理工具集,本身不包含独立代码,而是通过路由至本地 CLI 工具(如 pdftotext、tesseract、qpdf、pdftk、docling、libreoffice)来执行具体操作,所有配方均定义在 `references/doc-recipes.md` 中。它支持自动识别输入文件类型(基于 `file` 命令和尝试打开一页),并针对多场景提供了清晰的指令路由表:对于含文本层的 PDF 使用 pdftotext 提取;对于扫描件或图片型 PDF 通过 pdftoppm 配合 tesseract 进行 OCR;对于复杂的 PDF/DOCX(含表格、布局)可调用专门的 docling skill 或回退至 `docling convert`;XLSX 则通过 LibreOffice 无头模式转换为 CSV/Markdown;PDF 的合并、拆分、旋转、提取页面由 qpdf/pdftk 配合 pdfinfo/pdftoppm 完成。该技能要求每次处理前通过 `pdfinfo` 和 `pdftotext` 验证输出完整性(页数匹配、文本非空),输出文件命名规则为 `<原文件名>.extract.md|.txt|.csv` 且不覆盖原文件。它优先在本地执行,离线能力取决于 CLI 工具、OCR/Docling 模型及数据的安装或缓存状态;首次使用 Docling 可能需下载模型,第三方 skill 需在会话中通过 `./scripts/fetch-session.sh --skill docling` 临时拉取,若无网络则使用本地已有配方。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tpc-pascal/agent-skills/tree/HEAD/skills/research/doc

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

英文版:SKILL.en.md

doc——文档处理(PDF/DOCX/XLSX)

轻量技能,不含独立代码:根据 references/doc-recipes.md 中的配方,路由至本地 CLI 工具(pdftotext、tesseract、qpdf、pdftk、docling、libreoffice)。

按输入类型的路由表

通过 file <f> 识别类型,并尝试打开一页。

输入 + 需求主要命令备注
带有文本层的 PDF,提取文本pdftotext -layout§1
扫描件/图片型 PDF,提取文本OCR pdftoppm + tesseract§1
复杂 PDF/DOCX(表格、布局)→ Markdown/JSON专门的 docling 技能(fetch --skill docling),回退 docling convert --to md§1 — PDF 超过 5 页:--page-range,超时 180 秒
XLSX → CSV/Markdownlibreoffice headless§1
PDF 合并/拆分/旋转/提取页面qpdf/pdftk + pdfinfo/pdftoppm§2
双面/模糊文件,快速探查inspect 技能 (mediaskills)uv run <inspect>/scripts/probe.py
验证刚提取的输出pdfinfo + pdftotext§4 — 页数必须匹配,文本不能为空

规则

  1. 注意输入语言——以用户使用的语言回复。
  2. 输出文件放在源文件旁边:<原文件名>.extract.md|.txt|.csv。不要覆盖原文件。
  3. 从扫描图片中提取内容时标记来源:写入 [ocr] — 不得与可观察内容混淆。
  4. 交付前验证:PDF 必须有足够的页数(pdfinfo),提取的文本必须与页数匹配(pdftotext);缺失/为空 → 重新提取。
  5. 本地优先:所有处理命令在本地执行;离线能力取决于 CLI 工具、OCR/Docling 模型及所需数据是否已安装或缓存。首次使用 Docling 可能需要下载模型;拉取第三方技能也需要网络。如果缺少模型/工具,请明确告知或选择其他本地配方——不要声称已离线处理。
  6. 输出完成后报告已写入的文件(名称 + 路径)——不要保持沉默。

第三方技能(按会话获取)

  • 专门的 docling 技能 (docling-project):CLI + Python SDK、PipelineOptions、OCR 配置、DoclingDocument JSON/Markdown — 比 §1 中的 docling convert CLI 更深入。
  • 按会话获取:./scripts/fetch-session.sh --skill docling → 临时使用,不会永久安装。
  • 无网络 / 无法获取:使用现有 CLI 配方。docling convert --to md 仅在必需模型已缓存时才能离线工作;否则,选择其他方案或明确说明依赖关系。

参考

  • references/doc-recipes.md — §1 提取(PDF/OCR/docling/DOCX/XLSX),§2 PDF 转换,§3 写入输出,§4 为 paper 技能导出 DOCX。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

tpc-pascal/agent-skills

Vẽ sơ đồ và biểu đồ đẹp cho báo cáo — flowchart/sequence/class/state/ER/gantt bằng Mermaid (kroki.io, PNG), biểu đồ cột/tròn/line bằng matplotlib (uv), output `<tên>.diagram.png` cạnh nguồn để nhúng vào `.report.docx`. Dùng khi báo cáo cần sơ đồ thay cho ASCII, cần biểu đồ dữ liệu, hoặc user yêu cầu "sơ đồ đẹp".

tpc-pascal/agent-skills

Xử lý media — ffprobe thông số, ffmpeg cắt/ghép/transcode/GIF, trích frame, tách audio, phụ đề (shift/convert/burn), timecode SMPTE, phát hiện shot, OCR frame/ảnh, tải từ URL (yt-dlp), nhạc (thể loại/mood/BPM/lyrics). Dùng khi đưa video/audio/ảnh/URL media và muốn tóm tắt nội dung, trích text, cắt ghép, làm phụ đề, lấy khung hình, hoặc tải xuống.

tpc-pascal/agent-skills

Điều phối — nhận input, xác định loại, chuyển tiếp tới skill anh em trong repo — doc (tài liệu), media (video/audio/ảnh), paper (báo cáo), web (đọc web/mạng xã hội/tìm kiếm) — và mở cổng câu hỏi bắt buộc trước khi viết báo cáo. Dùng khi chưa biết skill nào xử lý input đang có, hoặc khi cần quy trình phối hợp nhiều skill.

tpc-pascal/agent-skills

Viết báo cáo theo một trong hai dạng: chuẩn quốc tế hoặc phổ biến tại Việt Nam. Tổng hợp nguồn có trích dẫn, giữ báo cáo chính gọn và tách dữ liệu hỗ trợ khi cần; xuất `.report.md` hoặc `.report.docx`.

相关技能