obsidian-canvas-creator
テキストコンテンツからObsidian Canvasファイルを作成し、マインドマップやフリーフォームレイアウトの両方に対応します。ユーザーがコンテンツをインタラクティブなキャンバスで視覚化したい場合、マインドマップを作成したい場合、またはObsidian形式で情報を空間的に整理したい場合に使用するスキルです。
description の原文を見る
Create Obsidian Canvas files from text content, supporting both MindMap and freeform layouts. Use this skill when users want to visualize content as an interactive canvas, create mind maps, or organize information spatially in Obsidian format.
SKILL.md 本文
Obsidian Canvas Creator
テキストコンテンツをMindMapおよびフリーフォームレイアウトに対応した構造化されたObsidian Canvasファイルに変換します。
このスキルを使用するタイミング
- ユーザーがテキストからキャンバス、マインドマップ、または視覚的なダイアグラムの作成をリクエストする
- ユーザーが情報を空間的に整理したい
- ユーザーが「Obsidian Canvas」または同様の可視化ツールについて言及する
- 構造化コンテンツ(記事、ノート、アウトラインなど)を視覚的形式に変換する
基本ワークフロー
1. コンテンツを分析
入力コンテンツを読み込んで理解します:
- メインのトピックと階層的な関係を特定
- 重要なポイント、事実、および支持する詳細を抽出
- 既存の構造(見出し、リスト、セクションなど)を記録
2. レイアウトタイプを決定
ユーザーに選択するか、コンテキストから推測するよう依頼します:
MindMapレイアウト:
- 中心からの放射状の構造
- 親子関係
- 明確な階層構造
- 最適な用途:ブレインストーミング、トピック探索、階層的コンテンツ
フリーフォームレイアウト:
- カスタムポジショニング
- 柔軟な関係性
- 複数の接続タイプ
- 最適な用途:複雑なネットワーク、非階層的コンテンツ、カスタムアレンジメント
3. 構造を計画
MindMapの場合:
- 中心的なコンセプト(ルートノード)を特定
- プライマリブランチ(メイントピック)をマッピング
- セカンダリブランチ(サブトピック)を整理
- リーフノード(詳細情報)を配置
フリーフォームの場合:
- 関連するコンセプトをグループ化
- 接続パターンを特定
- 空間ゾーンを計画
- 視覚的フローを検討
4. キャンバスを生成
Canvas仕様に従うJSONを作成します:
ノードの作成:
- 8~12文字のユニークな16進数IDを割り当てる
- コンテンツの長さに応じて適切な寸法を設定
- 一貫したカラースキームを適用
- 座標の重複がないことを確保
エッジの作成:
- 親子関係を接続
- 適切な矢印スタイルを使用
- 複雑な関係にはラベルを追加
- ラインスタイルを選択(階層には直線、相互参照には曲線)
グループ化(オプション):
- 関連ノード用の視覚的コンテナを作成
- 微妙な背景色を使用
- 説明的なラベルを追加
5. レイアウトアルゴリズムを適用
MindMapレイアウト計算:
詳細なアルゴリズムについては references/layout-algorithms.md を参照してください。主な原則:
- ルートを(0, 0)の中心に配置
- プライマリノードを放射状に分散
- セカンダリノードをシブリング数に基づいてスペース
- 最小スペース維持:320px水平、200px垂直
フリーフォームレイアウトの原則:
- 論理的グループ分けから開始
- グループを明確に分離して配置
- グループ間を曲線エッジで接続
- キャンバス全体の視覚的バランスを調整
6. 検証と出力
出力前に:
検証チェックリスト:
- すべてのノードがユニークなIDを持つ
- 座標の重複がない(距離がノード寸法+スペース以上であることを確認)
- すべてのエッジが有効なノードIDを参照
- グループ(ある場合)がラベル付きである
- 色が一貫した形式(16進数またはプリセット番号)を使用
- JSONが適切にエスケープされている(中国語引用符:「」シングル、『』ダブル)
出力形式:
- 完全で有効なJSON Canvasファイル
- 追加の説明テキストなし
- Obsidianに直接インポート可能
ノードサイジングガイドライン
テキスト長ベースのサイジング:
- 短いテキスト(30文字未満):220 × 100 px
- 中程度のテキスト(30~60文字):260 × 120 px
- 長いテキスト(60~100文字):320 × 140 px
- 非常に長いテキスト(100文字以上):320 × 180 px
カラースキーム
プリセット色(推奨):
"1"- 赤(警告、重要)"2"- オレンジ(アクションアイテム)"3"- 黄色(質問、ノート)"4"- 緑(ポジティブ、完了)"5"- シアン(情報、詳細)"6"- 紫(コンセプト、抽象的)
カスタム16進数色:
ブランド統一性または特定のテーマに使用。常に大文字形式を使用:"#4A90E2"
重要なルール
-
引用符の処理:
- 中国語ダブルクォート → 『』
- 中国語シングルクォート → 「」
- 英語ダブルクォート →
\"
-
ID生成:
- 8~12文字のランダムな16進数文字列
- すべてのノードとエッジ全体でユニークである必要がある
-
Z-インデックスの順序:
- グループを最初に出力(下層)
- その次にサブグループ
- 最後にテキスト/リンクノード(上層)
-
スペース要件:
- ノード中心間の最小水平間隔:320px
- ノード中心間の最小垂直間隔:200px
- 計算時にノード寸法を考慮
-
JSON構造:
- トップレベルは
nodesとedges配列のみを含む - 追加のラッピングオブジェクトなし
- 出力にコメントなし
- トップレベルは
-
絵文字なし:
- ノードテキストで絵文字記号を使用しない
- 視覚的区別にはカラーコーディングまたはテキストラベルを代わりに使用
例
シンプルなMindMapリクエスト
ユーザー:「太陽系の惑星についてのマインドマップを作成して」
プロセス:
- 中心を特定:「太陽系」
- プライマリブランチ:内惑星、外惑星、矮惑星
- セカンダリノード:重要な事実を持つ個々の惑星
- 放射状レイアウトを適用
- 適切なスペースでJSONを生成
フリーフォームコンテンツリクエスト
ユーザー:「この記事をキャンバスに変換して」+【記事テキスト】
プロセス:
- 記事の構造を抽出(序論、本文セクション、結論)
- 重要なコンセプトと関係性を特定
- 関連セクションを空間的にグループ化
- ラベル付きエッジで接続
- 明確なゾーンを持つフリーフォームレイアウトを適用
リファレンスドキュメント
- Canvas仕様:
references/canvas-spec.md- 完全なJSON Canvas形式仕様 - レイアウトアルゴリズム:
references/layout-algorithms.md- 両方のレイアウトタイプの詳細なポジショニングアルゴリズム
以下の場合にこれらのリファレンスを読み込みます:
- エッジケースの仕様詳細が必要
- 複雑なレイアウト計算を実装する
- 検証エラーのトラブルシューティング
高品質キャンバスのためのヒント
- テキストを簡潔に保つ:各ノードはスキャン可能であるべき(2行以下が推奨)
- 階層を使用:重要性と関係性でグループ化
- キャンバスをバランス:クラスタリングを避けるためにノードを分散
- 戦略的な色の使用:単なる装飾ではなく、意味をエンコードするために色を使用
- 意味のある接続:関係を明確にする接続のみを追加
- Obsidianでテスト:出力が正しく開くことを確認
避けるべき一般的な落とし穴
- ノードの重複(常に距離をチェック)
- 一貫性のない引用符エスケープ(JSONパースを破壊)
- グループラベルなし(サイドバーナビゲーションの問題を引き起こす)
- ノード内のテキストが多すぎる(長いコンテンツはファイルノードを使用)
- 重複するID(各IDはユニークである必要がある)
- 接続されていないノード(意図的な島でない限り)
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- axtonliu
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/axtonliu/axton-obsidian-visual-skills / ライセンス: MIT
関連スキル
newsblur-cli
ターミナルからNewsBlurを管理できます。フィードの閲覧、ストーリーの検索、記事の保存・共有、インテリジェンス分類器の学習、新しいフィードの発見、ワークフローの自動化がNewsBlur CLIで実現します。ユーザーがNewsBlurアカウントを操作したい場合、フィードの確認、購読管理、またはニュース読み込みに関するスクリプト構築時に活用してください。
caveman-compress
自然言語のメモリファイル(CLAUDE.md、todos、preferences)を「原始人形式」に圧縮し、入力トークンを削減します。技術的な内容、コード、URL、構造はすべて保持したまま圧縮します。圧縮版が元のファイルを上書きし、人間が読める形のバックアップはFILE.original.mdとして保存されます。トリガー:/caveman-compress FILEPATH または「compress memory file」
find-skills
日本語の意図から Agent Skills を発見する。「楽天SEOのスキル探して」「PDFを処理したい」「データ分析を自動化したい」などの日本語リクエストに対応。Claude Code (CLI)、Codex、Gemini CLI、claude.ai (Web) いずれでも動作。日本最大の Agent Skills データベース「Agent Skills by ALSEL」(11,000件超、全件日本語化、ダウンロード可能スキル8,600件超) から、ユーザーの意図に合うスキルを推薦・インストール案内する。
planning-and-task-breakdown
仕事を順序立てたタスクに分割します。仕様書や要件が明確にあり、実装可能なタスクに分解する必要がある場合に利用してください。タスクが大きすぎて着手しづらい場合、スコープを見積もる必要がある場合、または並列で作業を進められる場合に活用できます。
docx
このスキルは、ユーザーがWord文書(.docxファイル)を作成、読み込み、編集、操作したいときに使用します。以下の場合に実行してください:「Word文書」「.docx」などの記述、または目次・見出し・ページ番号・レターヘッドなどのフォーマットを含む専門的な文書の作成リクエスト。また、.docxファイルのコンテンツ抽出・再編成、文書への画像挿入・置換、Word形式での検索置換、変更履歴やコメント機能の使用、コンテンツを整形したWord文書への変換の場合も対象です。ユーザーが「レポート」「メモ」「手紙」「テンプレート」などの成果物をWord形式または.docxファイルで求める場合はこのスキルを使用してください。PDF、スプレッドシート、Google Docs、文書作成と無関係なコーディングタスクには使用しないでください。
idea-refine
アイデアを反復的に改善します。構造化された発散的思考と収束的思考を通じて、アイデアを洗練させることができます。「idea-refine」または「ideate」を使用してトリガーします。