# Xmind Edit

> 既存のXMindファイル（.xmind）の編集スキル。ノードの**追加・タイトル変更・削除・スタイル変更・ノート設定・マーカー追加/削除**に対応。「この.xmindに章を追加して」「○○のタイトルを××に変更」「○○を削除」「○○にマーカーを追加」「ノートを書き換えて」「マインドマップを編集」などのリクエストで使う。元ファイルのテーマ・スタイル・画像（attachments）・関係線・サムネイル・履歴をすべて引き継ぐので、見た目が崩れない。クライアントから受領した.xmindに新しい回や項目を追加したり、既存内容をリネーム・削除したりする用途、xmind-parseで内容把握 → 編集方針決定 → xmind-editで反映、の流れに使う。

- **Type:** Skill
- **Install:** `agentstack add skill-y-mori29-xmind-claude-skills-xmind-edit`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [y-mori29](https://agentstack.voostack.com/s/y-mori29)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [y-mori29](https://github.com/y-mori29)
- **Source:** https://github.com/y-mori29/xmind-claude-skills/tree/main/skills/xmind-edit

## Install

```sh
agentstack add skill-y-mori29-xmind-claude-skills-xmind-edit
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# xmind-edit — マインドマップ編集スキル

## 何ができるか

既存の `.xmind` ファイルを読み込み、**元のテーマ・スタイル・画像・関係線などを全部引き継いだまま**、以下の編集ができる：

| 操作 | 内容 |
|---|---|
| **追加** | 指定したトピックの子としてMarkdown構造を追記 |
| **タイトル変更** | 既存ノードの名前を変更 |
| **削除** | ノード（と子孫）を削除 |
| **スタイル変更** | 既存ノードのスタイル変更（purple/green/lightgreen/rounded、または解除） |
| **ノート設定** | 既存ノードのノート追加・上書き・削除 |
| **マーカー追加** | 既存ノードにマーカー追加 |
| **マーカー削除** | 既存ノードからマーカー削除 |

複数操作を **1コマンドで同時実行可能**。target指定はトピックタイトルの**部分一致**。

## 使い方（Claude実行手順）

1. 森さんから依頼内容を確認（例：「○○を△△に変更して、××を削除して」）
2. 必要に応じて `xmind-parse` で既存内容を確認
3. CLI実行：

```bash
cd "C:/Users/green/.claude/skills/xmind-edit"
npm install --silent  # 初回のみ

# 単発の追記
node edit.js --base  --append  --target "親トピック" --out 

# 単発の修正
node edit.js --base  --rename "旧=>新" --out 

# 複数操作を一度に
node edit.js --base  \
  --rename "第8回 自動化編=>第8回 自動化・効率化編" \
  --delete "第9回 評価とKPI設計" \
  --set-style "Dify=>green" \
  --set-note "Zapier連携=>2026年導入予定" \
  --add-marker "メール返信=>flag-green" \
  --remove-marker "議事録=>task-start" \
  --out 
```

## 引数リファレンス

### 必須
| 引数 | 内容 |
|---|---|
| `--base ` | 元になる.xmindファイル |
| `--out ` | 結果の出力先.xmindファイル |

### 操作（最低1つ・複数可）

| 引数 | 形式 | 内容 |
|---|---|---|
| `--append ` | ファイルパス | 追記モード。Markdown構造を子トピックとして追加 |
| `--target ""` | (--appendの補助) | 追記先の親トピック（部分一致）。省略時はルート（中央トピック） |
| `--target-id ""` | (--appendの補助) | 親トピックをID直接指定（targetで複数候補が出る場合） |
| `--rename "旧=>新"` | `target=>value` | タイトル変更（旧は部分一致） |
| `--delete "title"` | 文字列 | ノードと子孫すべて削除 |
| `--set-style "title=>name"` | `target=>value` | スタイル変更（purple/green/lightgreen/rounded）、`none`で解除 |
| `--set-note "title=>note"` | `target=>value` | ノート設定（既存上書き）、空文字で削除 |
| `--add-marker "title=>marker"` | `target=>value` | マーカー追加（重複時は無視） |
| `--remove-marker "title=>marker"` | `target=>value` | マーカー削除 |

`=>` で target と value を区切る。**target は部分一致**で最初にヒットしたトピック。重複しそうな場合は `--target-id` で曖昧性回避。

## 追記Markdownの拡張記法（--append用）

`xmind-gen` と同じ：

```markdown
## 第6回 NotebookLM活用 {.rounded}
### NotebookLMとは {.purple}
> Googleの研究文献整理AI
### 業務でのユースケース [!priority-1]
- 議事録要約 [!task-done]
- 規程整理 [!task-half]
### よくある疑問 {.lightgreen} [!symbol-question]
> 受講者からの質問は別シートに集約
```

## 引き継がれるもの（すべて自動）

- 元ファイルの **テーマ・配色定義**（styles.xml）
- 元ファイルに含まれる **画像**（attachments/ フォルダ）
- 元ファイルの **関係線**（relationships）
- 元ファイルの **履歴**（Revisions/）
- 元ファイルの **サムネイル**（Thumbnails/）

## スタイル指定の動作

`--set-style` や `--append` で `purple` 等を指定した場合：
1. 元ファイルの styles.xml に同じ色を持つスタイルがあれば **既存IDを再利用**
2. 無ければ **styles.xml に新スタイル追加**して新規IDで参照

これにより元ファイルの見た目を壊さない。

## 出力ログの読み方

```
OK: result.xmind
  base entries preserved: 9
  operations:
    ✓ rename "第8回 自動化編": "第8回 自動化編" -> "第8回 自動化・効率化編"
    ✓ delete "第9回 評価とKPI設計": removed
    · add-marker "X": already present （既に同マーカーがあった）
    ✗ rename "Y=>Z": not found （対象トピックが見つからなかった）
```

| 記号 | 意味 |
|---|---|
| `✓` | 成功 |
| `·` | スキップ（既に状態OK・対象なしなど） |
| `✗` | 失敗（target部分一致に該当なしなど） |

## ファイル構成

- `edit.js` — メインスクリプト
- `package.json` — 依存（adm-zip + fast-xml-parser）

## 制約

- **画像・関係線の新規追加**は未対応（既存のは保持される）
- **複数シート**ある場合は最初のシートのみ対象
- target がタイトル部分一致で複数ヒットしたら最初の1つを採用（明示的にしたい場合は `--target-id` 使用）
- ノード**移動**（別の親へ付け替え）は未対応 — 当面は「`--delete` してから別の親に `--append`」で代替

## 関連スキル

- `xmind-gen` — 新規.xmind生成
- `xmind-parse` — .xmind の内容を抽出（編集前の確認に使う）

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [y-mori29](https://github.com/y-mori29)
- **Source:** [y-mori29/xmind-claude-skills](https://github.com/y-mori29/xmind-claude-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-y-mori29-xmind-claude-skills-xmind-edit
- Seller: https://agentstack.voostack.com/s/y-mori29
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
