to-markdown について
Microsoft の markitdown を使って、さまざまなファイルやリンクを Markdown に変換するスキルです。オフィス文書、構造化テキスト、音声、YouTube の文字起こしに対応し、形式ごとの制約も示します。
主な機能
- 01PDF、Word、Excel、PowerPoint の変換
- 02HTML と構造化テキストの抽出
- 03OCR による画像処理
- 04音声と YouTube 動画の文字起こし
- 05標準出力またはファイルへの保存
活用シーン
- 01レポートのナレッジベースへの取り込み
- 02受け取った Word 文書の Markdown 化
- 03ディレクトリ内の PDF の一括変換
- 04PDF 内容の簡易確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ steveclarke/ dotfiles --skill to-markdownインストール後、Claude Code で/to-markdownを入力して読み込まれたか確認します。
詳細
markitdown を使ってファイルを Markdown に変換します。markitdown は、多くのファイル形式からコンテンツを抽出し、構造化する Microsoft のユーティリティです。
対応形式
| 形式 | 備考 |
|---|---|
| テキストを抽出します。表の構造は近似的な場合があります | |
| Word (.docx) | 表を含め、きれいに変換します |
| Excel (.xlsx) | シートを Markdown の表に変換します |
| PowerPoint (.pptx) | スライドのテキストと構造を変換します |
| HTML | 読みやすいように整形したコンテンツ |
| 画像 | OCR(最良の結果を得るには LLM の画像認識が必要です) |
| 音声 | SpeechRecognition による文字起こし |
| CSV / JSON / XML | 構造化テキスト |
| YouTube の URL | 文字起こしを抽出します |
| EPub | 章のテキスト |
使い方
# Convert to stdout
markitdown input.pdf 2>/dev/null
# Save to file
markitdown input.pdf -o output.md 2>/dev/null
# Or redirect
markitdown input.docx 2>/dev/null > output.md
出力品質に影響しないフォントやパーサーの警告を抑制するため、常に 2>/dev/null を使用してください。
ワークフロー
-
markitdown がインストールされているか確認します:
which markitdown || echo "not installed" -
インストールされていない場合は、すべての形式に対応するようインストールします:
pip install 'markitdown[all]' -
標準エラー出力を抑制して変換を実行します:
markitdown "$INPUT_FILE" 2>/dev/null -
ユーザーの意図に応じて出力を処理します:
- ナレッジベースへの保存 → 適切な
.mdファイルに書き込みます - 簡単な確認 → 会話内に表示します
- 複数のファイル → ループ処理でそれぞれを変換します
- ナレッジベースへの保存 → 適切な
出力品質に関する注意
- PDF:テキストは忠実に抽出されますが、表のセルが別々の行になる場合があります(PDF には表の構造が記録されていないためです)。PDF から整った表を抽出する必要がある場合は、この制限を伝えてください。
- Word/Excel:通常は適切な表の書式で、きれいに出力されます。
- 複雑なレイアウト:複数列の PDF や書式が多用されたドキュメントでは、読み取り順が乱れることがあります。
- スキャンした PDF:画像のみの PDF は、OCR/LLM の画像認識を統合しないとテキストを抽出できません。
よくある使用例
ドキュメントをナレッジベースに取り込む:
markitdown report.pdf 2>/dev/null > knowledge/competitive/raw/report.md
受け取った Word ドキュメントを変換する:
markitdown meeting-notes.docx 2>/dev/null > notes.md
ディレクトリ内のファイルを一括変換する:
for f in docs/*.pdf; do
markitdown "$f" 2>/dev/null > "${f%.pdf}.md"
done
PDF の内容を確認してから対応を決める:
markitdown document.pdf 2>/dev/null | head -50
コメント
Markdown 対応