doc-extract

作者: anthropic

從文件檔案中提取純文字 — PDF、DOCX、XLSX、PPTX、RTF 或純文字/Markdown/HTML。當需要將二進位文件轉換為文字時使用,用於…

npx skills add https://github.com/anthropics/healthcare --skill doc-extract

doc-extract

Shared document-to-text extraction. One script, no state: reads an input file, prints JSON to stdout, writes nothing to disk (PHI-safe — no caches, no temp files; callers own any caching).

Setup (once)

cd <this skill dir> && bun install

This pulls liteparse (the lit bin, used for PDF/DOCX/XLSX/PPTX, OCR included) and rtf-to-text (RTF). Without it, PDFs still work via a pdftotext -layout fallback if poppler is installed; other binary formats require liteparse.

Use

bun <this skill dir>/scripts/extract.ts <input-file> [--content-type <mime>]

Output on stdout:

{ "text": "...", "method": "liteparse | pdftotext | rtf-to-text | passthrough", "pages": 12 }
  • text is page-anchored for paged formats: === [page N] === markers between pages.
  • pages is present when page markers exist.
  • method is the extractor that actually produced the text.
  • Format is taken from the file extension; pass --content-type (e.g. application/pdf) when the file has no useful extension, as with downloaded EHR attachments. Note liteparse refuses extension-less files, so those PDFs go through the pdftotext fallback.
  • Errors print {"error": "..."} to stderr and exit 1.

Table caveat

Tables with multiple value columns (option A vs option B, in-tier vs out-of-tier) can interleave columns line-by-line in the extracted text: fragments of adjacent cells alternate, and a cell's text can even land mid-sentence inside a neighboring column. Values usually survive, but which column a value belongs to can become ambiguous. When an answer comes from one column of a multi-column table and the document has no redundant restatement of the value elsewhere, verify it by reading the original page directly before treating it as ground truth. The extracted text's === [page N] === anchor tells you which page: pass it to the Read tool's pages parameter (e.g. pages: "37") to render just that page to vision instead of the whole document.

For other skills

Import the functions instead of shelling out when you're already in bun TS:

import { extract, resolveLit } from "../doc-extract/scripts/extract";
const lit = resolveLit([myRoot]); // also checks myRoot/node_modules/.bin/lit
const text = extract(lit, "/path/to/file.pdf"); // string | null

The contracts skill consumes it this way (its ingest caching stays on the contracts side).

來自 anthropic 的更多技能

access
anthropic
管理 Discord 頻道存取權限 — 核准配對、編輯允許清單、設定私訊/群組政策。當使用者要求配對、核准某人、查詢誰被允許時使用…
official
session-report
anthropic
從 ~/.claude/projects 的對話記錄中,生成一份可探索的 HTML 報告,內容涵蓋 Claude Code 工作階段的使用情況(包含 token、快取、子代理、技能及高成本提示)。
official
build-mcp-server
anthropic
當使用者要求「建立 MCP 伺服器」、「建立 MCP」、「製作 MCP 整合」、「為 Claude 包裝 API」、「暴露工具給…」時,應使用此技能。
official
cookbook-audit
anthropic
根據評分標準審核 Anthropic Cookbook 筆記本。每當要求進行筆記本審查或審核時使用。
official
handle-complaint
anthropic
處理進線客戶投訴的完整流程——提取背景資訊、草擬回覆,並建議營運改善方案。可接受選填的電子郵件或工單編號……
official
use-case-triage
anthropic
快速判斷某項處理活動是否需要PIA、強制性的GDPR DPIA,或可直接進行——揭露隱私政策衝突,並引導至正確的…
official
board-minutes
anthropic
根據您指定的格式,自動草擬董事會或委員會會議記錄。自動從您的日曆中偵測即將召開的董事會及委員會會議,詢問議程及…
official
renewal-tracker
anthropic
顯示即將到來的取消截止日期的合約,並在通知窗口關閉前發出警告,依據維護中的續約登記表進行操作。當用戶詢問時使用…
official