CommunityResearch & Data Analysisgithub.com

tpc-pascal/agent-skills

Trích xuất và chuyển đổi tài liệu PDF/DOCX/XLSX — lấy text layer (pdftotext), OCR ảnh scan (pdftoppm + tesseract), chuyển markdown (docling), XLSX → CSV (libreoffice headless), ghép/tách/đảo trang (qpdf/pdftk), kiểm tra output bằng pdfinfo + pdftotext. Dùng khi đưa tài liệu và muốn lấy text, OCR bản scan, chuyển định dạng, tách/ghép/trang, hoặc xác minh nội dung đã trích.

What is agent-skills?

agent-skills is a Claude Code agent skill that trích xuất và chuyển đổi tài liệu PDF/DOCX/XLSX — lấy text layer (pdftotext), OCR ảnh scan (pdftoppm + tesseract), chuyển markdown (docling), XLSX → CSV (libreoffice headless), ghép/tách/đảo trang (qpdf/pdftk), kiểm tra output bằng pdfinfo + pdftotext. Dùng khi đưa tài liệu và muốn lấy text, OCR bản scan, chuyển định dạng, tách/ghép/trang, hoặc xác minh nội dung đã trích.

Works with~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tpc-pascal/agent-skills/tree/HEAD/skills/research/doc

Installed? Explore more Research & Data Analysis skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Bản tiếng Anh: SKILL.en.md

doc — xử lý tài liệu (PDF/DOCX/XLSX)

Skill mỏng, không có code riêng: route đến CLI local (pdftotext, tesseract, qpdf, pdftk, docling, libreoffice) theo công thức trong references/doc-recipes.md.

Bảng route theo loại input

Nhận diện loại bằng file <f> và mở thử 1 trang.

Input + nhu cầuLệnh chínhGhi chú
PDF có text layer, lấy textpdftotext -layout§1
PDF scan/ảnh, lấy textOCR pdftoppm + tesseract§1
PDF/DOCX phức tạp (bảng, layout) → markdown/JSONskill docling chính chủ (fetch --skill docling), fallback docling convert --to md§1 — PDF >5 trang: --page-range, timeout 180
XLSX → CSV/markdownlibreoffice headless§1
Gấp/tách/đảo/trích trang PDFqpdf/pdftk + pdfinfo/pdftoppm§2
File hai mặt/mờ, muốn probe nhanhskill inspect (mediaskills)uv run <inspect>/scripts/probe.py
Xác minh output vừa tríchpdfinfo + pdftotext§4 — trang phải khớp, text không rỗng

Quy tắc

  1. Nhắc ngôn ngữ input — trả lời cùng ngôn ngữ người dùng nói.
  2. Output đặt cạnh file nguồn: <tên_gốc>.extract.md|.txt|.csv. Không ghi đè file gốc.
  3. Label nguồn khi trích từ ảnh scan: ghi [ocr] — không trộn với nội dung quan sát được.
  4. Verify trước khi giao: PDF phải đủ trang (pdfinfo), text trích ra phải khớp trang (pdftotext); thiếu/trống → trích lại.
  5. Local-first: các lệnh xử lý chạy trên máy; khả năng offline phụ thuộc CLI, model OCR/Docling và dữ liệu cần thiết đã cài hoặc cache. Lần đầu dùng Docling có thể cần tải model; tải skill bên thứ ba cũng cần mạng. Nếu thiếu model/công cụ, báo rõ hoặc chọn recipe local khác — không khẳng định đã xử lý offline.
  6. Ghi output xong báo cáo file đã ghi (tên + đường dẫn) — không im lặng.

Skill bên thứ ba (fetch theo phiên)

  • Skill docling chính chủ (docling-project): CLI + Python SDK, PipelineOptions, OCR config, DoclingDocument JSON/markdown — sâu hơn CLI docling convert ở §1.
  • Tải theo phiên: ./scripts/fetch-session.sh --skill docling → temp, không cài vĩnh viễn.
  • Không có mạng / không fetch được: dùng recipe CLI sẵn có. docling convert --to md chỉ offline nếu model cần thiết đã có trong cache; nếu không, chọn phương án khác hoặc báo rõ phụ thuộc.

references

  • references/doc-recipes.md — §1 trích xuất (PDF/OCR/docling/DOCX/XLSX), §2 chuyển đổi PDF, §3 ghi output, §4 xuất DOCX cho skill paper.

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`.

Related Skills