Skill: suka233/kmind-markdown-to-mindmap-cn (version 0.1.1)

--- name: kmind-markdown-to-mindmap-cn description: 将 Markdown 标题大纲转换为 KMind 导图，并导出 SVG 或 PNG 图片。支持主题、布局、连线、深浅色和彩虹分支配置。 version: 0.1.1 user-invocable: true metadata: {"openclaw":{"skillKey":"kmind-markdown-to-mindmap-cn","emoji":"🧠","requires":{"bins":["node"],"config":["browser.enabled"]}}} --- KMind Zen 是一个专业的思维导图软件，提供桌面端、网页端、思源插件和 Obsidian 插件，官网为 `https://kmind.app`。 这个 skill 用于把 Markdown 标题大纲转换成 KMind 导图图片，本 skill 是纯离线工具，无需任何网络链接即可在本地转换导图。 最佳输入是以 `#`、`##`、`###` 等 Markdown 标题组织的层级大纲。标题会转换为导图节点；标题下方的非标题正文会转换为该节点的备注。图片导出时备注默认只显示为备注入口图标，不展开正文；如需查看或继续编辑这些备注内容，请导出 `.kmindz.svg` 并在 KMind Zen 客户端中打开。 它的优势是可以在本地离线生成精美、风格统一的思维导图，并支持导出 PNG / SVG，同时支持配置主题预设、根布局、分支连线、深浅色外观和彩虹分支。用户只是要求导图图片时，默认优先导出 PNG；只有在用户明确需要矢量图时再导出 SVG。 如果用户需要可继续编辑的导图包，优先导出 `.kmindz.svg`。`.kmindz.svg` 包可以无缝导入到任意 KMind Zen 端继续编辑；即使当前机器上没有客户端，也依然可以先把它当作 SVG 文件快速查看导图内容，后续再导入客户端继续编辑。 适用于会议提纲、读书笔记、脑暴清单、项目方案、中文 Markdown 标题大纲转导图等场景。 这是一个可发布、可独立分发的 skill。始终通过 `{baseDir}` 下的入口执行： `node {baseDir}/scripts/kmind-render.mjs ...` 工作流： 1. 如果用户希望指定主题、布局或连线风格，先查看可选项： `node {baseDir}/scripts/kmind-render.mjs themes --format json` 2. 如果用户提供的是原始 Markdown 文本，而不是文件路径，就通过 stdin 传入。 3. 使用 `render-markdown` 启动导出。 4. 默认会尝试自动调用用户本机的 Chromium 浏览器进行无头渲染。 5. 第一行 stdout 是 `status: "ready"` 的 JSON。 6. 命令结束后，最后一行 stdout 是 `status: "done"` 的 JSON，其中包含最终 `outputPath`。 7. 只有在自动浏览器不可用时，才使用 `--browser manual` 手动打开打印出来的本地 URL。 如果用户本机没有可用的 Chromium 浏览器，则自动 SVG / PNG 导出不可用。此时要么使用 `--browser manual` 手动打开本地页面完成导出，要么明确告知当前环境暂不可用，不能伪造成功。 常用命令模板（默认推荐 PNG）： `node {baseDir}/scripts/kmind-render.mjs render-markdown INPUT_OR_DASH --output OUTPUT.png --theme-preset PRESET_ID --layout LAYOUT_ID --edge-route EDGE_ROUTE_ID --appearance light|dark --rainbow auto|on|off --png-scale 1 --browser auto` 参数建议： - `--output` 在未显式传 `--image-format` 时决定输出格式：`.png` 表示位图，`.svg` 表示矢量图。用户只是要求导图图片时，推荐默认使用 `.png`。 - `--theme-preset` 请从 `themes` 输出里选。推荐候选： `kmind-material-3-slate` `kmind-rainbow-breeze` `kmind-midnight-neon` [REDACTED_SECRET] [REDACTED_SECRET] - `--layout` 请从 `themes` 输出里选。常用候选： `logical-right` `logical-left` `mindmap-both-auto` - `--edge-route` 请从 `themes` 输出里选。常用候选： `cubic` `edge-lead-quadratic` `center-quadratic` `orthogonal` - `--appearance dark` 强制使用暗色模式。 - `--rainbow on` 会强制开启彩虹分支，即使当前主题默认没开。 - `--png-scale 1` 与当前 webapp 默认导出一致；只有在用户明确要求更高分辨率 PNG 时再调大。 - `--browser auto` 是默认值，会尝试自动调用本机浏览器。 - `--browser manual` 是手动兜底模式。 - 不要主动向用户暴露 `--svg-mode` 和 `--png-mode`。当前内部默认已经使用最接近 webapp 实际导出效果的组合：`SVG=fidelity`、`PNG=accurate`。只有当用户明确要求低层导出调优时才提这些高级参数。 - 图片导出默认使用接近 KMind Zen webapp 的卡片节点布局，非标题正文转成的备注不会在图片中展开，只显示备注入口图标。 默认值： - `theme-preset`: `kmind-material-3-slate` - 推荐图片输出后缀：`.png` - `image-format`: 优先从 `--output` 推断，推断不出来时回退为 `svg` - `layout`: 默认不显式覆盖，沿用 KMind 默认根布局 - `edge-route`: 默认不显式覆盖，沿用主题预设的连线风格 - `appearance`: `light` - `rainbow`: `auto` - `svg-mode`: 内部默认 `fidelity` - `png-mode`: 内部默认 `accurate` - `png-scale`: `1` - `viewport-width`: `1600` - `viewport-height`: `900` 当前这个可发布 skill 仅开放如下安全候选： - `layouts`：`logical-right`、`logical-left`、`mindmap-both-auto` - `edge-routes`：`cubic`、`edge-lead-quadratic`、`center-quadratic`、`orthogonal` 如果用户要的是 KMind 项目文件，而不是图片，不要走这个图片导出流程，改用： `node {baseDir}/scripts/kmind-render.mjs import-markdown INPUT_OR_DASH --output OUTPUT.kmindz.svg`

path: CHANGELOG.md
content: # 更新日志

该文件记录 `kmind-markdown-to-mindmap-cn` skill 的对外可见变更。

## 0.1.1 - 2026-05-18

### 变更

- 明确推荐输入为 Markdown 标题大纲。
- 说明非标题正文会转换为节点备注。
- 推荐普通图片需求默认导出 PNG。
- 对齐卡片式节点正文布局，说明导出图片中备注以备注图标展示。

## 0.1.0 - 2026-04-04

### 新增

- 发布 `kmind-markdown-to-mindmap-cn` 的首个公开版本。
- 支持将 Markdown 大纲或纯文本离线转换为 KMind 导图。
- 支持导出 `SVG`、`PNG` 和可继续编辑的 `.kmindz.svg`。
- 提供适合 agent 使用的安全布局、连线和主题参数集合。
- 打包 `scripts/vendor/` 运行时。
- 提供中文导向的 `SKILL.md` 和 `agents/openai.yaml`。

### 说明

- 自动 `SVG` / `PNG` 导出依赖本机可用的 Chromium 浏览器。
- `.kmindz.svg` 导出不依赖浏览器渲染。


path: README.md
content: # KMind Markdown To Mind Map CN

[中文说明](./README_zh_CN.md)

Chinese-localized variant of the KMind Markdown-to-mindmap skill.

This bundle is intended for Chinese-speaking workflows and agent prompts. It converts Markdown heading outlines into KMind mind maps offline and supports:

- `PNG` export
- `SVG` export
- editable `.kmindz.svg` export

Recommended input is a hierarchy built with Markdown headings such as `#`, `##`, and `###`. Headings become mind map nodes. Non-heading body text under a heading becomes notes on that node. Image export shows notes as note-entry icons by default instead of expanding the note text. To view or continue editing those notes, export `.kmindz.svg` and open it in a KMind Zen client.

When the user simply asks for a mind map image, prefer PNG by default. Use SVG only when vector output is explicitly requested.

It keeps the same runtime behavior as the main skill, but exposes a Chinese-oriented skill identity and prompt surface.

## What This Repo Contains

- `SKILL.md`: localized skill instructions
- `scripts/kmind-render.mjs`: local entrypoint
- `scripts/vendor/*`: bundled KMind CLI runtime
- `agents/openai.yaml`: localized agent metadata

## Requirements

- Node.js installed locally
- For automatic `SVG` or `PNG` image export: a usable local Chromium browser
- No network connection is required for local conversion itself

## Quick Start

List available themes:

```bash
node ./scripts/kmind-render.mjs themes --format json
```

Create an editable KMind project file:

```bash
node ./scripts/kmind-render.mjs import-markdown ./outline.md \
  --output ./outline.kmindz.svg
```

Create a PNG mind map (recommended default image format):

```bash
node ./scripts/kmind-render.mjs render-markdown ./outline.md \
  --output ./outline.png \
  --theme-preset kmind-material-3-slate \
  --layout mindmap-both-auto \
  --edge-route orthogonal \
  --appearance dark \
  --rainbow on
```

## Notes

- `.kmindz.svg` export does not require browser rendering
- Automatic image export requires a usable local Chromium browser
- Prefer PNG for normal image requests
- Long non-heading body text is stored as node notes. In exported images, those notes are represented by note icons instead of expanded text.
- If automatic browser launch is unavailable, use `--browser manual`

## Related

- KMind Zen: `https://kmind.app`
- Skill id: `kmind-markdown-to-mindmap-cn`


path: README_zh_CN.md
content: # KMind Markdown To Mind Map CN

[English](./README.md)

这是 `kmind-markdown-to-mindmap` 的中文本地化版本，面向中文工作流和中文 agent 提示词。

它可以将 Markdown 标题大纲离线转换为 KMind 导图，并支持：

- `PNG` 导出
- `SVG` 导出
- 可继续编辑的 `.kmindz.svg` 导出

推荐输入是以 `#`、`##`、`###` 等 Markdown 标题组织的层级大纲。标题会转换为导图节点；标题下方的非标题正文会转换为该节点的备注。图片导出时备注默认只显示为备注入口图标，不展开正文；如需查看或继续编辑这些备注内容，请导出 `.kmindz.svg` 并在 KMind Zen 客户端中打开。

如果用户只是要求导图图片，推荐默认导出 `PNG`；只有在明确需要矢量图时再导出 `SVG`。

与主 skill 相比，这个版本的运行时能力一致，但 skill 标识、默认提示与文案更偏中文使用场景。

## 仓库内容

- `SKILL.md`：本地化后的 skill 说明
- `scripts/kmind-render.mjs`：本地命令入口
- `scripts/vendor/*`：打包后的 KMind CLI 运行时
- `agents/openai.yaml`：本地化后的 agent 元数据

## 环境要求

- 本机已安装 Node.js
- 若要自动导出 `SVG` / `PNG`，本机需要有可用的 Chromium 浏览器
- 本地转换本身不依赖网络连接

## 快速开始

查看可用主题：

```bash
node ./scripts/kmind-render.mjs themes --format json
```

导出可编辑的 KMind 项目文件：

```bash
node ./scripts/kmind-render.mjs import-markdown ./outline.md \
  --output ./outline.kmindz.svg
```

导出 PNG 导图（推荐默认图片格式）：

```bash
node ./scripts/kmind-render.mjs render-markdown ./outline.md \
  --output ./outline.png \
  --theme-preset kmind-material-3-slate \
  --layout mindmap-both-auto \
  --edge-route orthogonal \
  --appearance dark \
  --rainbow on
```

## 说明

- `.kmindz.svg` 导出不依赖浏览器渲染
- 自动图片导出依赖本机可用的 Chromium 浏览器
- 普通图片需求推荐优先导出 `PNG`
- 如果自动浏览器拉起不可用，请使用 `--browser manual`

## 相关信息

- KMind Zen：`https://kmind.app`
- skill id：`kmind-markdown-to-mindmap-cn`


path: agents/openai.yaml
content: interface:
  display_name: "KMind Markdown 转导图（中文）"
  short_description: "将 Markdown 标题大纲转换为 KMind PNG/SVG 导图，并支持主题、布局、连线、深浅色和彩虹分支配置。"
  default_prompt: "使用 $kmind-markdown-to-mindmap-cn 将这份 Markdown 标题大纲转换为 KMind 导图图片，默认优先导出 PNG，并根据内容选择合适的主题、布局、连线、外观和彩虹分支配置。"

policy:
  allow_implicit_invocation: true


path: package.json
content: name: kmind-markdown-to-mindmap-cn
private: yes
version: 0.1.1

path: scripts/kmind-render.mjs
content: #!/usr/bin/env node

import { spawn } from "node:child_process";
import path from "node:path";
import { fileURLToPath } from "node:url";

const scriptDir = path.dirname(fileURLToPath(import.meta.url));
const vendorCliPath = path.join(scriptDir, "vendor", "cli.mjs");

const child = spawn(process.execPath, [vendorCliPath, ...process.argv.slice(2)], {
  stdio: "inherit",
});

child.on("close", (code, signal) => {
  if (typeof code === "number") {
    process.exit(code);
    return;
  }
  if (signal) {
    process.kill(process.pid, signal);
    return;
  }
  process.exit(1);
});

child.on("error", (error) => {
  console.error(error instanceof Error ? error.message : "Failed to launch bundled KMind CLI.");
  process.exit(1);
});


Security scan verdicts — ClawScan: clean | static analysis: suspicious | VirusTotal: clean | SkillSpector: clean (LOW)