md2mindmaplisted
Install: claude install-skill chrisjianghp/md2mindmap
# Markdown → 思维导图
将 Markdown 文档(本地或在线)的结构解析出来,生成思维导图,帮助用户一眼看清文档骨架。
支持两种输出格式(由用户选择):飞书文档(含 Mermaid mindmap 画板)、本地 HTML 文件(Markmap 交互式)、或两者都要。
## 两种输入模式
两种模式的产出完全一致。区别只在于 MD 内容从哪里读:
### 模式 A:本地 MD 文件
用户提供本地 `.md` 文件路径(如 `~/Documents/foo.md`、`./README.md`),用 `Read` 工具读取后解析。
### 模式 B:在线 MD URL
用户提供一个指向 Markdown 文本的 URL,常见来源:
- GitHub raw:`https://raw.githubusercontent.com/owner/repo/branch/path/to/file.md`
- GitHub 普通文件页(`https://github.com/owner/repo/blob/...`)→ 自动转成 raw 后再下载
- 其他直接返回 markdown 文本的 HTTP(S) 链接
用 `WebFetch` 或 `curl` 拉取原始 markdown 文本后解析。
> **不在范围内**:解析飞书文档 / Notion / Confluence / 其他在线富文本系统的结构——这个 skill 只处理"纯 Markdown 文本"。
---
## 用户决策:只补问缺失的信息
读完 MD 内容、识别出标题结构之后,检查用户原始请求中是否已经明确指定了以下三个决策:Language、Depth、Format。**只对缺失的决策使用 `AskUserQuestion` 询问;用户已经明确指定的,不要重复询问。**
如果有多个缺失决策,把它们合并到一次 `AskUserQuestion` 调用中一起问,不要分多次问。这样既保留必要的确认,又避免用户已经说清楚时被重复打断。
### 决策 1:Language(语言选择)
文档源文件可能是任何语言(英文、中文、日文等)。模型有把英文文档自动翻译成中文的倾向,但用户的实际需求可能是保留原文(例如英文 README 保留英文术语更准确)。如果用户没有明确指定语言,才询问。
**视为已明确指定的表达示例**:
- `保持原文`、`不要翻译`、`用原语言`、`保留英文`、`英文原文` → 选择 `保持原文`
- `翻译成中文`、`中文输出`、`用中文`、`节点用中文` → 选择 `翻译为中文`
**缺失时询问参数**:
- header:`Language`(≤ 12 字)
- question:`思维导图节点的文字使用哪种语言?`
- 选项(固定两个,不要自行扩展):
1. `保持原文` — 描述:"直接使用源文档中的文字,保留原始术语和措辞(推荐用于技术文档、专有名词、英文资料)"
2. `翻译为中文` — 描述:"将节点文字翻译为简体中文,便于中文读者快速理解"
用户选择或请求中指定"保持原文"时,节点文字必须严格使用源文档中出现的字符串(包括大小写、标点),不做任何翻译、改写或归纳;摘要可以截断但不能改写。
### 决策 2:Depth(内容深度)
思维导图可以只展示骨架(仅标题层级),也可以在每个标题节点下附带简短摘要。骨架更紧凑、一眼看清结构;带摘要信息更丰富,但节点更多、布局更密。如果用户没有明确指定内容深度,才询问。
**视