source-document-extractionlisted
Install: claude install-skill billy1125/Kotoforge
# PDF 與 Word 文字擷取
擷取 PDF 或 Word(`.docx`)文件的文字,**預設轉為結構化 Markdown(`.md`)**。當本機 Read 工具無法渲染 PDF(缺 poppler/pdftoppm)時,改用本技能把來源文件擷取成可 Read 的 Markdown。
輸出檔沿用來源檔名主幹(`input.pdf` → `extracted/input.md`),供接續的精讀、審查或全文檢索閱讀——後續一律讀擷取產出的 `.md` 檔。
PDF 預設以 **pymupdf4llm** 後端轉 Markdown(依字型推斷標題層級、輸出表格、處理多欄版面);`--legacy` 可切回自製後端(頁首頁尾去重、章節 heading、PAGE 分隔)。需要未加工純文字(除錯或保留原始版面)時,PDF 用 `--raw`、Word 用 `--txt`。詳見「Markdown 後端」節。
## 何時使用本技能
- 要讀取 PDF 或 Word 全文,但 Read 工具無法渲染,需先擷取成文字。
- 需在文件中定位特定章節、小節或頁碼範圍。
## 如何呼叫本技能
安裝為技能後,有兩種呼叫方式(顯式呼叫語法依工具而異):
- **顯式呼叫**:在 Claude Code 用斜線指令 `/source-document-extraction`;在 OpenAI Codex 用 `$source-document-extraction`。可在後面帶上檔案路徑,例如:
```text
/source-document-extraction input.pdf
$source-document-extraction report.docx --txt
```
- **自然語言(由 description 自動觸發)**:描述需求即可,例如「把 input.pdf 轉成 Markdown 讓我閱讀」「這份 PDF 我讀不到,先擷取全文」,代理會依 `description` 判斷並套用本技能。
## 環境需求
本技能在 conda 環境執行(Python 3.11,**跨平台:Windows/macOS〔含 Apple Silicon〕/Linux 通用**)。文件示範用的預設環境名為 **`research`**,但可用任何裝好下列套件的環境。自含的最小安裝:
```bash
conda create -n research python=3.11 -y # 環境不存在時先建立
conda run -n research pip install pymupdf pdfplumber pymupdf4llm python-docx mammoth
```
所需套件:`pymupdf`(`import fitz`)、`pdfplumber`、`pymupdf4llm`(預設 PDF 後端)、`python-docx`、`mammoth`。若不可用,提示使用者執行上述安裝,勿自行改動環境。
若採用其他環境名,可用環境變數示範覆寫:`conda run -n "${SDE_ENV:-research}" ...`。
內附腳本為確定性工具,請**直接執行、勿改寫指令或增減旗標**(缺少的行為改用既有旗標達成,見下)。
## 設定變數
| 變數 | 用途 | 預設 |
|------|------|------|
| `SDE_OUT_DIR` | 省略 `-o`