mcpField
T
to-markdown

to-markdown

github.com/steveclarkeドキュメント3673 回インストール1 日前に更新
リポジトリ

to-markdown について

Microsoft の markitdown を使って、さまざまなファイルやリンクを Markdown に変換するスキルです。オフィス文書、構造化テキスト、音声、YouTube の文字起こしに対応し、形式ごとの制約も示します。

主な機能

  1. 01PDF、Word、Excel、PowerPoint の変換
  2. 02HTML と構造化テキストの抽出
  3. 03OCR による画像処理
  4. 04音声と YouTube 動画の文字起こし
  5. 05標準出力またはファイルへの保存

活用シーン

  1. 01レポートのナレッジベースへの取り込み
  2. 02受け取った Word 文書の Markdown 化
  3. 03ディレクトリ内の PDF の一括変換
  4. 04PDF 内容の簡易確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/steveclarke/dotfiles --skill to-markdown

インストール後、Claude Code で/to-markdownを入力して読み込まれたか確認します。

詳細

markitdown を使ってファイルを Markdown に変換します。markitdown は、多くのファイル形式からコンテンツを抽出し、構造化する Microsoft のユーティリティです。

対応形式

形式備考
PDFテキストを抽出します。表の構造は近似的な場合があります
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 を使用してください。

ワークフロー

  1. markitdown がインストールされているか確認します:

    which markitdown || echo "not installed"
    
  2. インストールされていない場合は、すべての形式に対応するようインストールします:

    pip install 'markitdown[all]'
    
  3. 標準エラー出力を抑制して変換を実行します:

    markitdown "$INPUT_FILE" 2>/dev/null
    
  4. ユーザーの意図に応じて出力を処理します:

    • ナレッジベースへの保存 → 適切な .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

コメント