npm run build:skill— package skill intobuild/xmind-skill.zipnpm run test:create— quick smoke test for create scriptnpm run test:read— quick smoke test for read script
- Skill definition:
skills/xmind/SKILL.md - Create script:
skills/xmind/scripts/create_xmind.mjs— zero npm deps (ZIP viazlib.deflateRawSync) - Read script:
skills/xmind/scripts/read_xmind.mjs— zero npm deps (ZIP viazlib.inflateRawSync) - Build script:
scripts/build-skill.sh
- Fichier .xmind = ZIP contenant
content.json,metadata.json,manifest.json - Topics requièrent
class: "topic", sheets requièrentclass: "sheet"+theme: {} - Planned tasks nécessitent
extensionsavecorg.xmind.ui.working-day-settingsau niveau sheet topicOverlapping: "overlap"requis au niveau sheet- Notes HTML :
realHTML.content(balises supportées:<strong>,<u>,<ul>,<ol>,<li>,<br>) —<code>non supporté par XMind - Liens internes entre topics/sheets :
href: "xmind:#<topicId>" - Legacy format (XMind 8): XML-based (
content.xml,meta.xml,META-INF/manifest.xml)
- IDs générés via
crypto.randomUUID()tronqué à 26 chars sans tirets - Résolution par titre (relationships, dependencies, linkToTopic) : stocker title→id dans un Map, résoudre après construction
- Tests :
echo JSON | node skills/xmind/scripts/create_xmind.mjspour tester la création - Both scripts read JSON from stdin and are fully standalone (no npm install needed)
skills/xmind/: skill standalone pour Claude Desktop et Claude Code- Scripts :
create_xmind.mjs(création) +read_xmind.mjs(lecture/analyse) - Build :
npm run build:skill→build/xmind-skill.zip - Claude Code :
ln -s /path/to/mcp-xmind/skills/xmind ~/.claude/skills/xmind