doc-mindmap について
doc-mindmapは、大量のオフィス文書を整理するためのスキルです。対応形式をMarkdownに変換し、ローカルのOllamaモデルで要約と分類を行い、重複を検出しながらシンボリックリンクで複数の分類案を示します。
主な機能
- 01文書の一括Markdown変換
- 02インデックス作成と重複検出
- 03Ollamaによる文書要約
- 04テーマ・用途・顧客別の分類
- 05シンボリックリンクで複数案を表示
- 06原本を変えずにファイル名を提案
活用シーン
- 01大量のオフィス文書の整理
- 02フォルダー内文書の要約作成
- 03異なる観点から分類結果を確認
- 04整理前の重複ファイル確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ crazynomad/ skills --skill doc-mindmapインストール後、Claude Code で/doc-mindmapを入力して読み込まれたか確認します。
同梱ファイルscripts/doc_converter.py
詳細
Doc Mindmap - ドキュメント智能整理アシスタント 📚🧠
散在するオフィス文書(PDF、PPT、Word、Excel など)を一括で Markdown に変換し、ローカルの Ollama モデルで要約と三次元分類を生成し、シンボリックリンクで複数の分類方案を同時に提示します。追加のディスク容量はゼロです。
使用する場面
次のようなユーザーにこのスキルを使用します:
- 大量のドキュメントを整理して分類・アーカイブしたい
- 一批のドキュメントの要約を生成したい
- ドキュメントのマインドマップ / mindmap を生成したい
- PDF、PPT、Word を Markdown に変換したい
- ドキュメントの分類提案やディレクトリ構造の方案が必要
- あるフォルダにどんなドキュメントがあるか素早く把握したい
- 重複ファイルを検出したい
トリガーキーワード: ドキュメント整理, ドキュメント分類, マインドマップ, mindmap, ドキュメント要約, PDF から Markdown へ変換, 一括変換, ドキュメントアーカイブ
機能
- 🔄 一括変換 - PDF、PPT、Word、Excel などをワンクリックで Markdown に変換
- 📋 CSV インデックス - ドキュメントインデックスを自動生成、MD5 と重複検出を含む
- 🔍 重複検出 - MD5 比較で重複ファイルを発見し、削除して容量を解放することを提案
- 📝 ローカル要約 - Ollama のローカルモデルで要約を生成し、Claude のコンテキストを消費しない
- 🗂️ 三次元分類 - テーマ/用途/クライアントの3つの方案で同時に分類
- 🔗 シンボリックリンクディレクトリ - symlink で複数分類を共存させ、追加のディスク容量はゼロ
- ✏️ スマートリネーム - AI が内容に基づいてより明確なファイル名を提案、シンボリックリンクは最適化された名前を使用可能
- 🛡️ 安全機構 - 読み取り専用の変換で、元のファイルは変更しません
対応フォーマット
| フォーマット | 拡張子 | 説明 |
|---|---|---|
| PDF ドキュメント | ||
| 📊 PPT | .pptx | PowerPoint プレゼンテーション |
| 📝 Word | .docx | Word ドキュメント |
| 📈 Excel | .xlsx, .xls | スプレッドシート |
| 📈 CSV | .csv | カンマ区切り値 |
| 🌐 HTML | .html, .htm | ウェブページ |
| 📚 EPUB | .epub | 電子書籍 |
| 📋 JSON | .json | JSON データ |
| 📋 XML | .xml | XML データ |
使用方法
ドキュメント一覧をプレビュー(重複検出を含む)
python scripts/doc_converter.py ~/Documents/reports --preview
変換を実行
python scripts/doc_converter.py ~/Documents/reports --convert --confirm
指定したファイルを変換
python scripts/doc_converter.py file1.pdf file2.pptx --convert --confirm
要約を生成(先に変換が必要)
python scripts/doc_converter.py ~/Documents/reports --summarize
python scripts/doc_converter.py ~/Documents/reports --summarize --model qwen3:8b
三次元分類 + シンボリックリンク(先に要約が必要)
python scripts/doc_converter.py ~/Documents/reports --organize
分類 + AI が提案したファイル名を使用
python scripts/doc_converter.py ~/Documents/reports --organize --rename
全工程を一度に完了
python scripts/doc_converter.py ~/Documents/reports --convert --confirm --summarize --organize
# 含优化文件名
python scripts/doc_converter.py ~/Documents/reports --convert --confirm --summarize --organize --rename
JSON 形式で出力
python scripts/doc_converter.py ~/Documents --preview --json
引数
| パラメータ | 説明 |
|---|---|
paths | ファイルまたはディレクトリのパス(複数指定可能) |
--preview | プレビューモード、ドキュメント一覧 + 重複検出 |
--convert | 一括変換を実行(重複ファイルは自動的にスキップ) |
--summarize | Ollama のローカルモデルで要約を生成(先に convert が必要) |
--organize | 三次元分類してシンボリックリンクディレクトリを生成(先に summarize が必要) |
--rename | シンボリックリンクに AI が提案した最適化ファイル名を使用(--organize と併用) |
--model MODEL | Ollama モデル名(デフォルト: qwen2.5:3b) |
--confirm | 実行を確認(安全機構) |
--json | JSON 形式で出力 |
出力構造
変換の出力はソースフォルダの .summaries/ 隠しディレクトリの下にあります:
{source}/
└── .summaries/
├── converted/ # markitdown 转换的 .md 文件
│ ├── report.pdf.md
│ ├── slides.pptx.md
│ └── data.xlsx.md
├── briefs/ # Ollama 生成的摘要
│ ├── report.pdf.brief.md
│ ├── slides.pptx.brief.md
│ └── data.xlsx.brief.md
├── schemes/ # 软链接分类目录
│ ├── by-topic/ # 按主题分类
│ │ ├── AI技术/
│ │ │ └── AI驱动产品管理指南.pptx -> ../../../../slides.pptx # --rename
│ │ └── 数据治理/
│ │ └── C端数据治理规划.pdf -> ../../../../report.pdf # --rename
│ ├── by-usage/ # 按用途分类
│ │ ├── 培训材料/
│ │ └── 客户交付方案/
│ └── by-client/ # 按客户分类
│ ├── 沃尔沃/
│ └── 通用方案/
├── mindmap.md # Claude 生成的思维导图分类
└── index.csv # 转换索引(含 MD5、重复标记)
依存関係
- Python 3.10+
- markitdown:
pip install 'markitdown[all]' - Ollama(要約 + 分類):
brew install ollama+ollama pull qwen2.5:3b - requests:
pip install requests
Claude ワークフロー
Claude がこのスキルを使用する際は、次の手順で実行します:
ステップ 1:ドキュメントをプレビュー
プレビューコマンドを実行し、ユーザーにドキュメント一覧と重複検出の結果を表示します:
python doc-mindmap/scripts/doc_converter.py <路径> --preview
見つかったドキュメントの数、種類の分布、合計サイズ、重複ファイルの状況をユーザーに伝え、確認を待ちます。
ステップ 2:変換を実行
ユーザーの確認後、変換を実行します(重複ファイルは自動的にスキップ):
python doc-mindmap/scripts/doc_converter.py <路径> --convert --confirm
ステップ 3:要約を生成(Ollama ローカルモデル)
Ollama のローカルモデルで各ドキュメントの要約を生成し、Claude のコンテキストウィンドウを消費しません:
python doc-mindmap/scripts/doc_converter.py <路径> --summarize
convert と一緒に実行することもできます:
python doc-mindmap/scripts/doc_converter.py <路径> --convert --confirm --summarize
ステップ 4:三次元分類 + シンボリックリンク
Ollama を使用して各ドキュメントを三次元分類(テーマ/用途/クライアント)し、同時に各ドキュメントにより明確なファイル名を提案します:
# 先不带 --rename 运行,展示分类结果和建议文件名
python doc-mindmap/scripts/doc_converter.py <路径> --organize
分類結果と AI が提案したファイル名をユーザーに表示し、最適化ファイル名を使用するかどうかを尋ねます。ユーザーが同意した場合:
python doc-mindmap/scripts/doc_converter.py <路径> --organize --rename
3つの分類方案はシンボリックリンクを通じて .summaries/schemes/ の下に同時に存在し、追加のディスク容量はゼロです。--rename はシンボリックリンクの名前のみに影響し、元のファイルは変更しません。
ステップ 5:分類結果をプレビュー
分類ディレクトリを Finder でプレビューするかどうかをユーザーに尋ねます。ユーザーが同意した場合:
- schemes ディレクトリをデスクトップにコピー(シンボリックリンクは保持):
cp -a <.summaries/schemes> ~/Desktop/文档分类-$(date +%Y%m%d)
- Finder で開く:
open ~/Desktop/文档分类-$(date +%Y%m%d)
ユーザーは Finder で3つの分類方案を直感的に閲覧でき、シンボリックリンクをダブルクリックすると元のファイルを開けます。
ステップ 6:マインドマップを生成
.summaries/briefs/ の下の要約ファイルを読み取り、.summaries/mindmap.md マインドマップ分類ファイルを生成します。
ステップ 7:結果を表示
ユーザーに表示します:
- 変換統計(成功/失敗/重複スキップ)
- 重複ファイル一覧と削除提案
- 三次元分類の概要
- マインドマップ分類のプレビュー
クレジット
- markitdown - Microsoft 製のドキュメントから Markdown への変換ツール
- Ollama - ローカル LLM 実行フレームワーク
- file-organizer と併用し、先に分類してから整理します