jpskill.com
📦 その他 コミュニティ

lark-whiteboard

ユーザーが飛書クラウド上で図表作成を希望した場合、アーキテクチャ図、フローチャート、マインドマップなどの様々な図を飛書画板で描画し、視覚的に表現する支援をするSkill。

📜 元の英語説明(参考)

当用户要求在飞书云文档中绘制图表,或使用飞书画板绘制架构图、流程图、思维导图、时序图或其他可视化图表时使用此 skill。

🇯🇵 日本人クリエイター向け解説

一言でいうと

ユーザーが飛書クラウド上で図表作成を希望した場合、アーキテクチャ図、フローチャート、マインドマップなどの様々な図を飛書画板で描画し、視覚的に表現する支援をするSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o lark-whiteboard.zip https://jpskill.com/download/19594.zip && unzip -o lark-whiteboard.zip && rm lark-whiteboard.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/19594.zip -OutFile "$d\lark-whiteboard.zip"; Expand-Archive "$d\lark-whiteboard.zip" -DestinationPath $d -Force; ri "$d\lark-whiteboard.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して lark-whiteboard.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → lark-whiteboard フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
7

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] lark-whiteboard

ホワイトボード CLI スキル

[!NOTE] 環境依存関係:ホワイトボードを描画するには、@larksuite/whiteboard-cli(ホワイトボード Node.js CLI ツール)と lark-cli(LarkSuite CLI ツール)が必要です。 実行に失敗した場合は、手動でインストールしてから再試行してください:npm install -g @larksuite/whiteboard-cli@^0.1.0

[!IMPORTANT] npm install を実行して新しい依存関係をインストールする前に、必ずユーザーの同意を得てください!

ワークフロー

これはホワイトボードであり、ウェブページではありません。 ホワイトボードは無限のキャンバス上に要素を自由に配置するもので、Flex レイアウトはオプションの強化機能です。

ステップ 1: ルーティングと知識の読み込み
  - レンダリングパスを判断(ルーティングテーブルを参照):Mermaid か DSL か?
  - 対応する scene ガイドを読み込む — 構造的特徴とレイアウト戦略を理解する
  - レイアウト戦略(以下のクイック判断を参照)と構築方法を決定する
  - references/ コアモジュールを読み込む — 構文、レイアウト、配色、タイポグラフィ、コネクタ

ステップ 2: 完全な DSL を生成(色を含む)
  - content.md に従って情報量とグループ化を計画する
  - layout.md に従ってレイアウトモードと間隔を選択する
  - style.md に従って色を付ける(ユーザーが指定しない場合はデフォルトのクラシックカラーパレットを使用)
  - schema.md 構文に従って完全な JSON を出力する
  - コネクタは connectors.md を、タイポグラフィは typography.md を参照する

  注意:一部の図形(魚骨図/フライホイール図/棒グラフ/折れ線グラフなど)は、scene ガイドのスクリプトテンプレートに従って .js スクリプトを記述し、JSON を生成する必要があります:
    - node xxx.js → JSON ファイルを出力
    - 出力された JSON ファイルを使用してステップ 3 に進む

ステップ 3: レンダリングとレビュー → 納品
  - レンダリング前の自己チェック(以下のチェックリストを参照)
  - PNG をレンダリングし、以下を確認する:
    ・情報が完全か?レイアウトは適切か?配色は調和しているか?
    ・テキストは途切れていないか?コネクタは交差していないか?
  - 問題がある場合 → 症状表に従って修正 → 再レンダリング(最大 2 回)
  - 2 回後も深刻な問題がある場合 → Mermaid パスをフォールバックとして検討する
  - 問題がない場合 → 納品:
    ・ユーザーが Feishu へのアップロードを要求した場合 → 以下の「Feishu ホワイトボードへのアップロード」セクションの説明を参照
    ・ユーザーが指定しない場合 → PNG 画像をユーザーに表示

レイアウト戦略クイック判断(詳細は layout.md を参照):

判断条件 レイアウト戦略 構築方法
明確な上下階層がある(ユーザー層→サービス層→データ層) Flex 階層 JSON を直接記述
空間位置が情報を保持している(地理、トポロジー、角度) 純粋な絶対位置指定 スクリプトを記述して座標を計算(node xxx.js)
複数の独立したモジュールが並列に相互接続されている 混合(アイランド型) JSON を直接記述 + 高さの推定補助
不明 デフォルト Flex(最も安全) JSON を直接記述

構築方法は強い制約です:scene ガイドが「スクリプト生成」を要求する場合、まずスクリプト(.js)を記述し、node を実行して JSON ファイルを出力する必要があります。絶対位置指定のシナリオ(魚骨図、フライホイール図、棒グラフ、折れ線グラフなど)の座標は数学的な計算が必要であり、JSON を直接手書きするとノードの重なりやコネクタの貫通が非常に発生しやすくなります。


レンダリングパスの選択(DSL または Mermaid)

図表タイプ パス 理由
マインドマップ Mermaid 放射状構造の自動レイアウト
シーケンス図 Mermaid 参加者とメッセージの自動配置
クラス図 Mermaid クラス関係の自動レイアウト
円グラフ Mermaid Mermaid がネイティブでサポート
フローチャート Mermaid Mermaid 構文による安定した構造生成
その他すべてのタイプ DSL スタイルとレイアウトの正確な制御

ルーティングルール

  1. 自動 Mermaid:マインドマップ、シーケンス図、クラス図、円グラフ、フローチャート → デフォルトで Mermaid パス
  2. 明示的な Mermaid:ユーザー入力に Mermaid 構文が含まれる → Mermaid パス
  3. DSL パス:その他すべてのタイプ → まずコアモジュールを読み込み、次に該当するシーンガイドを読み込む

Mermaid パスscenes/mermaid.md を参照して .mmd ファイルを記述し、DSL モジュールをスキップします。 DSL パス:ワークフローの 3 ステップに従って実行します。


モジュールインデックス

コア参照(DSL パスで必須)

モジュール ファイル 説明
DSL 構文 references/schema.md ノードタイプ、属性、サイズ値
コンテンツ計画 references/content.md 情報抽出、密度決定、コネクタの事前判断
レイアウトシステム references/layout.md グリッド方法論、Flex マッピング、間隔ルール
タイポグラフィルール references/typography.md フォントサイズ階層、配置、行間
コネクタシステム references/connectors.md トポロジー計画、アンカーポイント選択
配色システム references/style.md マルチカラーパレット、視覚階層

シーンガイド(タイプ別にいずれかを選択)

図表タイプ ファイル 適用シーン
アーキテクチャ図 scenes/architecture.md 階層型アーキテクチャ、マイクロサービスアーキテクチャ
組織図 scenes/organization.md 会社組織、ツリー階層
比較図 scenes/comparison.md 案の比較、機能マトリックス
魚骨図 scenes/fishbone.md 因果分析、根本原因分析
棒グラフ scenes/bar-chart.md 棒グラフ、横棒グラフ
折れ線グラフ scenes/line-chart.md 折れ線グラフ、トレンドグラフ
ツリーマップ scenes/treemap.md 矩形ツリーマップ、階層比率
ファネル図 scenes/funnel.md 変換ファネル、販売ファネル
ピラミッド図 scenes/pyramid.md 階層構造、ニーズ階層
循環/フライホイール図 scenes/flywheel.md 成長フライホイール、クローズドループ
マイルストーン scenes/milestone.md タイムライン、バージョン進化
Mermaid scenes/mermaid.md マインドマップ、シーケンス図、クラス図、円グラフ、フローチャート

CLI コマンド

レンダリング

npx -y @larksuite/whiteboard-cli@^0.1.0 -i my-diagram.json -o ./images/my-diagram.png        # DSL パス
npx -y @larksuite/whiteboard-cli@^0.1.0 -i diagram.mmd -o ./images/diagram.png               # Mermaid パス
npx -y @larksuite/whiteboard-cli@^0.1.0 -i skeleton.json -o ./images/step1.png -l coords.json  # 2 段階(座標抽出)

Feishu ホワイトボードへのアップロード

アップロードには Feishu 認証が必要です。認証または権限エラーが発生した場合は、../lark-shared/SKILL.md を読んでログインと権限処理について理解してください。

ステップ 1:ホワイトボードトークンの取得

ユーザーが提供したもの トークンの取得方法
ホワイトボードトークン(XXX 直接使用
ドキュメント URL または doc_id、ドキュメントに既にホワイトボードがある lark-cli docs +fetch --doc <URL> --as user、返された <whiteboard token=”XXX”/> からトークンを抽出
ドキュメント URL または doc_id、新しいホワイトボードを作成する必要がある lark-cli docs +update --doc <doc_id> --mode append --markdown '<whiteboard type=”blank”></whiteboard>' --as user、応答の data.board_tokens[0] からトークンを取得

Feishu ドキュメントの作成、読み込みなどの詳細な操作については、lark-doc スキル ../lark-doc/SKILL.md を参照してください。

ステップ 2:アップロード

[!CAUTION] MANDATORY PRE-FLIGHT CHECK (アップロード前の強制インターセプトチェック) 既存のホワイトボードトークンにコンテンツを書き込む場合、アップロードコマンドを直接実行することは絶対に禁止です!以下の 2 つのステップを厳守する必要があります: 強制的なドライランの実行(状態検出) まず、コマンドに --overwrite --dry-run パラメータを追加して、ホワイトボードの現在の状態を検出する必要があります。コマンド例:

npx -y @larksuite/whiteboard-cli@^0.1.0 --to openapi -i <入力ファイル> --format json | lark-cli docs +whiteboard-update --whiteboard-token <Token> --overwrite --dry-run --as user

結果の解析とインターセプト

  • ドライランの出力ログを注意深く読んでください。
  • ログに XX whiteboard nodes will be deleted が含まれている場合:これはホワイトボードが空ではないことを意味し、現在の操作はユーザーの既存の図表を上書きして破壊します!
  • 直ちに操作を停止しAskUserQuestion ツール(または直接返信)を通じてユーザーに確認してください:「ターゲットのホワイトボードは現在空ではありません。更新を続行すると、既存の XX 個のノードがクリアされますが、上書きしてもよろしいですか?」
  • ユーザーが「上書きに同意する」と明確に承認した場合にのみ、--dry-run を削除して実際にアップロードを実行できます。
  • ユーザーがホワイトボードの内容を上書きせずに更新することを要求する場合があります。その場合は、--overwrite--dry-run パラメータを削除してからアップロードしてください。
npx -y @larksuite/whiteboard-cli@^0.1.0 --to openapi -i <入力ファイル> --format json | lark-cli docs +whiteboard-update --whiteboard-token <画板Token> --yes --as user

ホワイトボードは一度アップロードされると変更できません。アプリケーションIDでアップロードする場合は、--as user--as bot に置き換えてください。 ホワイトボードが空でない場合は、まず --overwrite --dry-run を追加して削除されるノードの数を確認し、ユーザーに確認した後、--dry-run を削除して実行してください。

症状→修正表(視覚レビューで問題が発見された場合):

見られる問題 修正内容
テキストが途切れる height を fit-content に変更
テキストがコンテナの右側からはみ出す width を増やす、またはテキストを短くする
ノードが重なり合ってくっつく gap を増やす
ノードが密集している padding と gap を増やす
コネクタがノードを貫通する fromAnchor/toAnchor を調整するか、間隔を増やす
広範囲の空白 外側の frame の幅を縮小する
テキストと背景色が近すぎる fillColor または textColor を調整する
レイアウト全体が左/右に偏っている 絶対位置指定の x 座標を調整してコンテンツを中央に配置する

レンダリング前の自己チェック

DSL 生成後、レンダリング前に、以下を素早くチェックしてください:

  • [ ] 異なるグループに異なる色が使用されていますか?同じグループのノードスタイルは完全に一致していますか?
  • [ ] 外側が薄い色、内側が白いノードですか?(外重内軽)
  • [ ] すべてのノードに境界線(borderWidth=2)がありますか?テキストは背景上で鮮明に読めますか?
  • [ ] コネクタは灰色(#BBBFC4)を使用し、色付きではありませんか?
  • [ ] frame はすべて layout 属性を記述していますか?gap と padding は明示的に設定されていますか?
  • [ ] テキストを含むノードの height は fit-content を使用していますか?connector は最上位の nodes 配列にありますか?

主要な制約クイックチェック

最も頻繁にエラーが発生するルールであり、サブモジュールファイルを読まなくても遵守する必要があります。

  1. テキストを含むノードの height は 'fit-content' を使用する必要があります — 数値をハードコードするとテキストが途切れます
  2. fill-container は flex 親コンテナ内でのみ有効ですlayout: 'none' の下では幅が 0 に退化します
  3. connector は最上位の nodes 配列に配置する必要があります — frame の children 内にネストすることはできません
  4. レイヤー順序 — 配列の順序 = 描画順序です。後に定義された要素ほどレイヤーが高くなり、先に定義された要素を覆い隠します。重なり合う/フローティング/注釈要素は必ず配列の最後に配置してください。
  5. flex コンテナ内の x/y は完全に無視されます — 自由な位置指定が必要な場合は layout: 'none' を使用するか、最上位の nodes に配置してください

❌ 致命的なエラー:flex コンテナ内に x/y を設定すると、座標が有効にならず、ノードは順序通りに配置されます

{ "type": "frame", "layout": "vertical", "children": [
  { "type": "rect", "x": 100, "y": 0, "text": "成都" },
  { "type": "rect
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Whiteboard Cli Skill

[!NOTE] 环境依赖:绘制画板需要 @larksuite/whiteboard-cli(画板 Node.js CLI 工具),以及 lark-cli(LarkSuite CLI 工具)。 如果执行失败,手动安装后重试:npm install -g @larksuite/whiteboard-cli@^0.1.0

[!IMPORTANT] 执行 npm install 安装新的依赖前,务必征得用户同意!

Workflow

这是画板,不是网页。 画板是无限画布上自由放置元素,flex 布局是可选增强。

Step 1: 路由 & 读取知识
  - 判断渲染路径(见路由表):Mermaid 还是 DSL?
  - 读对应 scene 指南 — 了解结构特征和布局策略
  - 确定布局策略(见下方快速判断)和构建方式
  - 读 references/ 核心模块 — 语法、布局、配色、排版、连线

Step 2: 生成完整 DSL(含颜色)
  - 按 content.md 规划信息量和分组
  - 按 layout.md 选择布局模式和间距
  - 按 style.md 上色(用户没指定时用默认经典色板)
  - 按 schema.md 语法输出完整 JSON
  - 连线参考 connectors.md,排版参考 typography.md

  注意:部分图形(鱼骨/飞轮/柱状/折线等)等, 要按 scene 指南的脚本模板写 .js 脚本生成 JSON:
    - node xxx.js → 产出 JSON 文件
    - 用产出的 JSON 文件进入 Step 3

Step 3: 渲染 & 审查 → 交付
  - 渲染前自查(见下方检查清单)
  - 渲染 PNG,检查:
    · 信息完整?布局合理?配色协调?
    · 文字无截断?连线无交叉?
  - 有问题 → 按症状表修复 → 重新渲染(最多 2 轮)
  - 2 轮后仍有严重问题 → 考虑走 Mermaid 路径兜底
  - 没问题 → 交付:
    · 用户要求上传飞书 → 见下方”上传飞书画板”章节中的说明
    · 用户未指定 → 展示 PNG 图片给用户

布局策略快速判断(详见 layout.md):

判断条件 布局策略 构建方式
有明确上下层级(用户层→服务层→数据层) Flex 分层 直接写 JSON
空间位置承载信息(地理、拓扑、角度) 纯绝对定位 写脚本算坐标(node xxx.js)
多个独立模块平级互联 混合(岛屿式) 直接写 JSON + 估高辅助
不确定 默认 Flex(最安全) 直接写 JSON

构建方式是强约束:当 scene 指南要求"脚本生成"时,必须先写脚本(.js)并用 node 执行来产出 JSON 文件。绝对定位场景(鱼骨图、飞轮图、柱状图、折线图等)的坐标需要数学计算,直接手写 JSON 极易导致节点重叠或连线穿模。


渲染路径选择(DSL or Mermaid)

图表类型 路径 理由
思维导图 Mermaid 辐射结构自动布局
时序图 Mermaid 参与方+消息自动排列
类图 Mermaid 类关系自动布局
饼图 Mermaid Mermaid 原生支持
流程图 Mermaid 通过 Mermaid 语法稳定生成结构
其他所有类型 DSL 精确控制样式和布局

路由规则

  1. 自动 Mermaid:思维导图、时序图、类图、饼图、流程图 → 默认走 Mermaid
  2. 显式 Mermaid:用户输入包含 Mermaid 语法 → 走 Mermaid
  3. DSL 路径:其他所有类型 → 先读核心模块,再读对应场景指南

Mermaid 路径:参考 scenes/mermaid.md 编写 .mmd 文件,跳过 DSL 模块。 DSL 路径:按 Workflow 3 步执行。


模块索引

核心参考(DSL 路径必读)

模块 文件 说明
DSL 语法 references/schema.md 节点类型、属性、尺寸值
内容规划 references/content.md 信息提取、密度决策、连线预判
布局系统 references/layout.md 网格方法论、Flex 映射、间距规则
排版规则 references/typography.md 字号层级、对齐、行距
连线系统 references/connectors.md 拓扑规划、锚点选择
配色系统 references/style.md 多色板、视觉层级

场景指南(按类型选读一个)

图表类型 文件 适用场景
架构图 scenes/architecture.md 分层架构、微服务架构
组织架构图 scenes/organization.md 公司组织、树形层级
对比图 scenes/comparison.md 方案对比、功能矩阵
鱼骨图 scenes/fishbone.md 因果分析、根因分析
柱状图 scenes/bar-chart.md 柱状图、条形图
折线图 scenes/line-chart.md 折线图、趋势图
树状图 scenes/treemap.md 矩形树图、层级占比
漏斗图 scenes/funnel.md 转化漏斗、销售漏斗
金字塔图 scenes/pyramid.md 层级结构、需求层次
循环/飞轮图 scenes/flywheel.md 增长飞轮、闭环链路
里程碑 scenes/milestone.md 时间线、版本演进
Mermaid scenes/mermaid.md 思维导图、时序图、类图、饼图、流程图

CLI 命令

渲染

npx -y @larksuite/whiteboard-cli@^0.1.0 -i my-diagram.json -o ./images/my-diagram.png        # DSL 路径
npx -y @larksuite/whiteboard-cli@^0.1.0 -i diagram.mmd -o ./images/diagram.png               # Mermaid 路径
npx -y @larksuite/whiteboard-cli@^0.1.0 -i skeleton.json -o ./images/step1.png -l coords.json  # 两阶段(提取坐标)

上传飞书画板

上传需要飞书认证。遇到认证或权限错误时,阅读 ../lark-shared/SKILL.md 了解登录和权限处理。

第一步:获取画板 Token

用户给了什么 怎么获取 Token
画板 Token(XXX 直接使用
文档 URL 或 doc_id,文档中已有画板 lark-cli docs +fetch --doc <URL> --as user,从返回的 <whiteboard token=”XXX”/> 中提取 token
文档 URL 或 doc_id,需要新建画板 lark-cli docs +update --doc <doc_id> --mode append --markdown '<whiteboard type=”blank”></whiteboard>' --as user,从响应的 data.board_tokens[0] 获取 token

关于飞书文档的创建,读取等更多操作,请参考 lark-doc skill ../lark-doc/SKILL.md

第二步:上传

[!CAUTION] MANDATORY PRE-FLIGHT CHECK (上传前强制拦截检查) 当你要向一个已存在的画板 Token 写入内容时,绝对禁止直接执行上传命令!你必须严格遵守以下两步: 强制执行 Dry Run(状态探测) 必须先在命令中添加 --overwrite --dry-run 参数来探测画板当前状态。示例命令:

npx -y @larksuite/whiteboard-cli@^0.1.0 --to openapi -i <输入文件> --format json | lark-cli docs +whiteboard-update --whiteboard-token <Token> --overwrite --dry-run --as user

解析结果并拦截

  • 仔细阅读 Dry Run 的输出日志。
  • 如果日志包含 XX whiteboard nodes will be deleted:这说明画板非空,当前操作会覆盖并摧毁用户的原有图表!
  • 你必须立即停止操作,并通过 AskUserQuestion 工具(或直接回复)向用户确认:”目标画板当前非空,继续更新将清空原有的 XX 个节点,是否确认覆盖?”
  • 只有在用户明确授权”同意覆盖”后,你才能移除 --dry-run 真正执行上传。
  • 用户可能会要求你不覆盖更新画板内容,在这种情况下,移除 --overwrite--dry-run 参数再上传。
npx -y @larksuite/whiteboard-cli@^0.1.0 --to openapi -i <输入文件> --format json | lark-cli docs +whiteboard-update --whiteboard-token <画板Token> --yes --as user

画板一经上传不可修改。如需应用身份上传,将 --as user 替换为 --as bot。 如果画板非空,先加 --overwrite --dry-run 检查待删除节点数,向用户确认后去掉 --dry-run 执行。

症状→修复表(视觉审查发现问题时参照):

看到的问题 改什么
文字被截断 height 改为 fit-content
文字溢出容器右侧 增大 width,或缩短文字
节点重叠粘连 增大 gap
节点挤成一团 增大 padding 和 gap
连线穿过节点 调整 fromAnchor/toAnchor 或增大间距
大面积空白 缩小外层 frame 宽度
文字和背景色太接近 调整 fillColor 或 textColor
布局整体偏左/偏右 调整绝对定位的 x 坐标使内容居中

渲染前自查

生成 DSL 后、渲染前,快速检查:

  • [ ] 不同分组用了不同颜色?同组节点样式完全一致?
  • [ ] 外层浅色背景、内层白色节点?(外重内轻)
  • [ ] 所有节点有边框(borderWidth=2)?文字在背景上清晰可读?
  • [ ] 连线用灰色(#BBBFC4),不用彩色?
  • [ ] frame 都写了 layout 属性?gap 和 padding 都显式设置了?
  • [ ] 含文字节点 height 用 fit-content?connector 在顶层 nodes 数组?

关键约束速查

最高频出错的规则,即使不读子模块文件也必须遵守。

  1. 含文字节点的 height 必须用 'fit-content' — 写死数值会截断文字
  2. fill-container 仅在 flex 父容器中生效layout: 'none' 下宽度退化为 0
  3. connector 必须放在顶层 nodes 数组 — 不能嵌套在 frame children 里
  4. 图层顺序 — 数组顺序 = 绘制顺序。后定义的元素层级越高,会覆盖先定义的。重叠/浮层/标注元素务必放在数组末尾。
  5. flex 容器内的 x/y 会被完全忽略 — 需要自由定位时用 layout: 'none' 或放在顶层 nodes

❌ 致命错误:flex 容器内设 x/y,坐标不生效,节点按顺序排列

{ "type": "frame", "layout": "vertical", "children": [
  { "type": "rect", "x": 100, "y": 0, "text": "成都" },
  { "type": "rect", "x": 540, "y": 0, "text": "康定" }
]}

✅ 正确:用 layout: "none" 或放在顶层 nodes 用 x/y 定位。

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。