Loading...
Loading...
Create XMind mind map files (.xmind). Use this skill when the user asks to create a mind map, mindmap, XMind file, or brainstorming diagram. Produces native .xmind files that open directly in the XMind application.
npx skill4agent add apeyroux/mcp-xmind xmind.xmindpathsheetsnode <skill-dir>/scripts/create_xmind.mjs < /tmp/xmind_input.json<skill-dir>{
"path": "/Users/user/Desktop/my_mindmap.xmind",
"sheets": [
{
"title": "Sheet 1",
"rootTopic": {
"title": "Central Topic",
"children": [
{
"title": "Branch 1",
"notes": "Plain text note",
"children": [
{ "title": "Sub-topic A" },
{ "title": "Sub-topic B" }
]
}
]
},
"relationships": [
{ "sourceTitle": "Sub-topic A", "targetTitle": "Sub-topic B", "title": "related" }
]
}
]
}| Field | Type | Description |
|---|---|---|
| string (required) | Topic title |
| array of topics | Child topics |
| string or | Notes. HTML supports: |
| string | External URL link |
| string | Absolute path to a file to attach (embedded in the .xmind). Mutually exclusive with |
| string | Title of another topic to link to (internal |
| string[] | Tags/labels |
| string[] | Marker IDs: |
| string[] | Callout text bubbles |
| | Visual grouping of children. Range: |
| | Summary topics spanning children ranges |
| string | Layout (see below) |
| string | Topic shape (see shapes below) |
| | Absolute position (only for detached topics in free-positioning sheets) |
org.xmind.topicShape.roundedRectorg.xmind.topicShape.diamondorg.xmind.topicShape.ellipserectorg.xmind.topicShape.rectorg.xmind.topicShape.underlineorg.xmind.topicShape.circleorg.xmind.topicShape.parallelogramorg.xmind.ui.map.clockwiseorg.xmind.ui.map.unbalancedorg.xmind.ui.logic.rightorg.xmind.ui.org-chart.downorg.xmind.ui.tree.rightorg.xmind.ui.fishbone.leftHeadedorg.xmind.ui.timeline.horizontaltaskStatus"todo""done"| Field | Type | Description |
|---|---|---|
| number 0.0-1.0 | Completion progress |
| number 1-9 | Priority (1=highest) |
| ISO 8601 string | Start date, e.g. |
| ISO 8601 string | Due date |
| number | Duration in days (preferred for relative planning) |
| array | |
durationDaysdependenciesstartDatedueDate| Field | Type | Description |
|---|---|---|
| string (required) | Sheet title |
| topic (required) | Root topic |
| array | |
| array of topics | Free-floating topics (require |
| boolean | Enable free topic positioning (for logic/flow diagrams) |
{
"path": "/tmp/flowchart.xmind",
"sheets": [{
"title": "Algorithm",
"freePositioning": true,
"rootTopic": {
"title": "START",
"shape": "org.xmind.topicShape.ellipserect",
"structureClass": "org.xmind.ui.map.clockwise"
},
"detachedTopics": [
{"title": "IS X > 0?", "position": {"x": 0, "y": 130}, "shape": "org.xmind.topicShape.diamond"},
{"title": "PRINT YES", "position": {"x": 200, "y": 130}},
{"title": "PRINT NO", "position": {"x": -200, "y": 130}},
{"title": "END", "position": {"x": 0, "y": 260}, "shape": "org.xmind.topicShape.ellipserect"}
],
"relationships": [
{"sourceTitle": "START", "targetTitle": "IS X > 0?", "shape": "org.xmind.relationshipShape.straight"},
{"sourceTitle": "IS X > 0?", "targetTitle": "PRINT YES", "title": "YES", "shape": "org.xmind.relationshipShape.straight"},
{"sourceTitle": "IS X > 0?", "targetTitle": "PRINT NO", "title": "NO", "shape": "org.xmind.relationshipShape.straight"},
{"sourceTitle": "PRINT YES", "targetTitle": "END", "shape": "org.xmind.relationshipShape.straight"},
{"sourceTitle": "PRINT NO", "targetTitle": "END", "shape": "org.xmind.relationshipShape.straight"}
]
}]
}"org.xmind.relationshipShape.straight"# Preferred: pdftotext (install: apt install poppler-utils)
pdftotext input.pdf /tmp/extracted.txt
# Fallback if pdftotext unavailable:
python3 -c "
import subprocess, pathlib, sys
p = sys.argv[1]
try:
subprocess.run(['pdftotext', p, '/tmp/extracted.txt'], check=True)
except FileNotFoundError:
subprocess.run(['pip', 'install', 'pymupdf'], check=True, capture_output=True)
import importlib; fitz = importlib.import_module('fitz')
doc = fitz.open(p)
pathlib.Path('/tmp/extracted.txt').write_text('\n'.join(page.get_text() for page in doc))
" input.pdf/tmp/extracted.txt.xmind<strong><u><ul><ol><li><br><code>linkToTopic<strong><ul><li><br>