lark-whiteboard
ユーザーが飛書クラウド上で図表作成を希望した場合、アーキテクチャ図、フローチャート、マインドマップなどの様々な図を飛書画板で描画し、視覚的に表現する支援をするSkill。
📜 元の英語説明(参考)
当用户要求在飞书云文档中绘制图表,或使用飞书画板绘制架构图、流程图、思维导图、时序图或其他可视化图表时使用此 skill。
🇯🇵 日本人クリエイター向け解説
ユーザーが飛書クラウド上で図表作成を希望した場合、アーキテクチャ図、フローチャート、マインドマップなどの様々な図を飛書画板で描画し、視覚的に表現する支援をするSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
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
$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. 下の青いボタンを押して
lark-whiteboard.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
lark-whiteboardフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
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 | スタイルとレイアウトの正確な制御 |
ルーティングルール:
- 自動 Mermaid:マインドマップ、シーケンス図、クラス図、円グラフ、フローチャート → デフォルトで Mermaid パス
- 明示的な Mermaid:ユーザー入力に Mermaid 構文が含まれる → Mermaid パス
- 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 配列にありますか?
主要な制約クイックチェック
最も頻繁にエラーが発生するルールであり、サブモジュールファイルを読まなくても遵守する必要があります。
- テキストを含むノードの height は
'fit-content'を使用する必要があります — 数値をハードコードするとテキストが途切れます fill-containerは flex 親コンテナ内でのみ有効です —layout: 'none'の下では幅が 0 に退化します- connector は最上位の nodes 配列に配置する必要があります — frame の children 内にネストすることはできません
- レイヤー順序 — 配列の順序 = 描画順序です。後に定義された要素ほどレイヤーが高くなり、先に定義された要素を覆い隠します。重なり合う/フローティング/注釈要素は必ず配列の最後に配置してください。
- 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 | 精确控制样式和布局 |
路由规则:
- 自动 Mermaid:思维导图、时序图、类图、饼图、流程图 → 默认走 Mermaid
- 显式 Mermaid:用户输入包含 Mermaid 语法 → 走 Mermaid
- 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 数组?
关键约束速查
最高频出错的规则,即使不读子模块文件也必须遵守。
- 含文字节点的 height 必须用
'fit-content'— 写死数值会截断文字 fill-container仅在 flex 父容器中生效 —layout: 'none'下宽度退化为 0- connector 必须放在顶层 nodes 数组 — 不能嵌套在 frame children 里
- 图层顺序 — 数组顺序 = 绘制顺序。后定义的元素层级越高,会覆盖先定义的。重叠/浮层/标注元素务必放在数组末尾。
- 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` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。
- 📄 SKILL.md (10,388 bytes)
- 📎 references/connectors.md (4,572 bytes)
- 📎 references/content.md (1,512 bytes)
- 📎 references/layout.md (9,885 bytes)
- 📎 references/schema.md (9,371 bytes)
- 📎 references/style.md (10,445 bytes)
- 📎 references/typography.md (1,966 bytes)