canvas-generate
説明文から、AIが与えられた説明に基づいて最適な原型を判断し、コンテンツやビジュアルを生成、テンプレートに適用してレイアウトし、完成されたキャンバスを自動生成するSkill。
📜 元の英語説明(参考)
AI-orchestrated full canvas generation. Given a description, detects the best archetype, generates content and visuals, instantiates a template, applies layout, and produces a complete canvas. The flagship command. Dispatches canvas-media and canvas-composer agents for parallel asset generation. Triggers on: canvas generate, generate canvas, create a visual board, build me a canvas, make a canvas about, canvas from description, auto-generate canvas, full canvas generation.
🇯🇵 日本人クリエイター向け解説
説明文から、AIが与えられた説明に基づいて最適な原型を判断し、コンテンツやビジュアルを生成、テンプレートに適用してレイアウトし、完成されたキャンバスを自動生成するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o canvas-generate.zip https://jpskill.com/download/10540.zip && unzip -o canvas-generate.zip && rm canvas-generate.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/10540.zip -OutFile "$d\canvas-generate.zip"; Expand-Archive "$d\canvas-generate.zip" -DestinationPath $d -Force; ri "$d\canvas-generate.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
canvas-generate.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
canvas-generateフォルダができる - 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
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
canvas-generate: AIによるキャンバス生成のオーケストレーション
これは主要なコマンドです。高レベルな説明を受け取り、完全な、コンテンツが入力されたキャンバスを生成します。
アーキタイプの説明については、../canvas/references/template-catalog.md を参照してください。
画像/SVG/GIF の統合については、../canvas/references/media-guide.md を参照してください。
ネイティブな図のオプションについては、../canvas/references/mermaid-patterns.md を参照してください。
ノードの制限については、../canvas/references/performance-guide.md を参照してください。
パイプライン
User: "/canvas generate [description]"
│
▼
1. 説明の分析
│
▼
2. アーキタイプの検出
│
▼
3. コンテンツの計画(ノード、メディア)
│
▼
4. 並列生成:
┌─────────────┬────────────────┐
│ Composer │ Media agent │
│ (テキストノード) │ (画像/SVG/GIF) │
└──────┬──────┴───────┬────────┘
│ │
▼ ▼
5. コンテンツによるテンプレートのインスタンス化
│
▼
6. レイアウトアルゴリズムの適用
│
▼
7. 検証 + 書き込み
ワークフロー
ステップ 1: 説明の分析
ユーザーの説明を解析して、以下を抽出します。
- Topic: キャンバスは何についてですか?
- Purpose: 何に使用されますか? (プレゼンテーション、計画、探索、ショーケース)
- Content hints: 具体的な項目、データ、または要件はありますか?
- Visual requests: ユーザーは画像、図、またはテキストのみを希望していますか?
ステップ 2: アーキタイプの検出
説明を12個のテンプレートアーキタイプのいずれかにマッピングします。
| 説明内のキーワード | アーキタイプ |
|---|---|
| "presentation", "slides", "deck", "present" | presentation |
| "flowchart", "process", "workflow", "steps" | flowchart |
| "mind map", "brainstorm", "ideas", "explore" | mind-map |
| "gallery", "images", "photos", "showcase" | gallery |
| "dashboard", "metrics", "KPIs", "status" | dashboard |
| "storyboard", "scenes", "video", "script" | storyboard |
| "knowledge graph", "entities", "relationships" | knowledge-graph |
| "mood board", "inspiration", "aesthetic", "vibe" | mood-board |
| "timeline", "events", "history", "milestones" | timeline |
| "comparison", "vs", "compare", "options" | comparison |
| "kanban", "tasks", "board", "sprint" | kanban |
| "brief", "kickoff", "project plan", "objectives" | project-brief |
アーキタイプが曖昧な場合は、ユーザーに明確にするように依頼してください。
ステップ 3: コンテンツの計画
アーキタイプと説明に基づいて、以下を計画します。
- Node count: このキャンバスにはいくつのノードが必要ですか? (120未満の目標を尊重)
- Text content: 各ノードにどのようなテキストが入りますか?
- Media assets: どのような画像、SVG、またはGIFが必要ですか?
- Mermaid diagrams: どのようなデータ視覚化を Mermaid として埋め込む必要がありますか?
- Edges: ノード間にどのような接続が存在しますか?
ステップ 4: コンテンツとメディアの生成
単純なキャンバスの場合 (テキストのみ、<10ノード): コンテンツをインラインで生成します — エージェントは不要です。
複雑なキャンバスの場合 (メディアが必要または>10ノード): エージェントを並行してディスパッチします。
a. canvas-composer agent をディスパッチします。
- アーキタイプ名
- トピックの説明
- 必要なテキストノードの数
- コンテキスト用のソースファイル
b. canvas-media agent をディスパッチします (メディアが要求された場合)。
- 必要な画像/SVG/GIFのリスト
- それぞれのプロンプトの説明
- 目標寸法
c. 両方のエージェントが完了するのを待ちます。それらの JSON 出力を収集します。
ステップ 5: テンプレートのインスタンス化
テンプレートエンジンを使用して、ベースキャンバスを作成します。
python3 scripts/canvas_template.py [archetype] [output_path] \
--param title="[topic]" --param [archetype_param]=[count]
次に、Edit ツールを使用して、各ノードのコンテンツを composer agent の出力で更新します。
media agent が画像を生成した場合:
- それぞれを適切なゾーン/スライド内のファイルノードとして追加します
- 自動配置アルゴリズムまたはグループ内の手動配置を使用します
ステップ 6: レイアウトの適用
テンプレートに組み込まれたレイアウトが不十分な場合 (例: mind-map には放射状、knowledge-graph にはフォースが必要)、適切なアルゴリズムを適用します。
python3 scripts/canvas_layout.py [output_path] [algorithm]
ステップ 7: 品質ゲート (必須)
これは最も重要なステップです。検証に合格したが、プレースホルダーテキストがあるキャンバスは失敗です。
-
コンテンツチェック: キャンバス内のすべてのテキストノードを読みます。次の禁止文字列を検索します。
- "Describe this" — 実際のコンテンツに置き換えます
- "YYYY-MM-DD" — 実際の日付に置き換えます
- "Content goes here" — 実際のコンテンツに置き換えます
- "Value: 0" — 現実的な値に置き換えます
- "Define this entity" — 実際の定義に置き換えます
- "What happened" — 実際のイベントに置き換えます いずれかが見つかった場合は、続行する前にキャンバスを編集して置き換えます。
-
レイアウトチェック: 正しいレイアウトが適用されたことを確認します。
- Mind-map → 放射状レイアウト (ノードはグリッドではなく、中心から展開する必要があります)
- Knowledge-graph → フォースレイアウト (ノードはグリッドではなく、有機的に分散する必要があります)
- Flowchart → dagre レイアウト (階層的なトップダウンまたは左右のフロー)
レイアウトが間違っているように見える場合は、
python3 scripts/canvas_layout.py <path> <algorithm>を実行します。
-
スペーシングチェック: 検証を実行して、重複を検出します。
python3 scripts/canvas_validate.py [output_path]valid: trueが、0 エラーおよび 0 重複警告で返される必要があります。 -
視覚スキャン: このキャンバスは、自信を持って見せられるものですか? ユーザーはそれを開いてすぐに理解できますか? そうでない場合は、改善してください。
上記の4つのチェックすべてに合格した場合のみ、成功を報告します。
例
例 1: テキストのみのダッシュボード
User: /canvas generate "project dashboard for mobile app launch"
- アーキタイプ: dashboard
- 計画: 4つのメトリックカード (Downloads, DAU, Crashes, Rating)、1つのステータスゾーン
- コンテンツをインラインで生成 (単純、テキストのみ)
- インスタンス化:
python3 scripts/canvas_template.py dashboard output.canvas --param title="Mobile App Launch" --param metric_count=4 - 特定のコンテンツでメトリックノードを編集
- レイアウトの変更は不要 (グリッドで問題ありません)
- 検証とリポジトリ
(原文はここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
canvas-generate: AI-Orchestrated Canvas Generation
The flagship command. Takes a high-level description and produces a complete, populated canvas.
Read ../canvas/references/template-catalog.md for archetype descriptions.
Read ../canvas/references/media-guide.md for image/SVG/GIF integration.
Read ../canvas/references/mermaid-patterns.md for native diagram options.
Read ../canvas/references/performance-guide.md for node limits.
Pipeline
User: "/canvas generate [description]"
│
▼
1. Analyze description
│
▼
2. Detect archetype
│
▼
3. Plan content (what nodes, what media)
│
▼
4. Generate in parallel:
┌─────────────┬────────────────┐
│ Composer │ Media agent │
│ (text nodes) │ (images/SVGs) │
└──────┬──────┴───────┬────────┘
│ │
▼ ▼
5. Instantiate template with content
│
▼
6. Apply layout algorithm
│
▼
7. Validate + write
Workflow
Step 1: Analyze Description
Parse the user's description to extract:
- Topic: What is the canvas about?
- Purpose: What will it be used for? (presenting, planning, exploring, showcasing)
- Content hints: Any specific items, data, or requirements mentioned?
- Visual requests: Does the user want images, diagrams, or text-only?
Step 2: Detect Archetype
Map the description to one of the 12 template archetypes:
| Keywords in description | Archetype |
|---|---|
| "presentation", "slides", "deck", "present" | presentation |
| "flowchart", "process", "workflow", "steps" | flowchart |
| "mind map", "brainstorm", "ideas", "explore" | mind-map |
| "gallery", "images", "photos", "showcase" | gallery |
| "dashboard", "metrics", "KPIs", "status" | dashboard |
| "storyboard", "scenes", "video", "script" | storyboard |
| "knowledge graph", "entities", "relationships" | knowledge-graph |
| "mood board", "inspiration", "aesthetic", "vibe" | mood-board |
| "timeline", "events", "history", "milestones" | timeline |
| "comparison", "vs", "compare", "options" | comparison |
| "kanban", "tasks", "board", "sprint" | kanban |
| "brief", "kickoff", "project plan", "objectives" | project-brief |
If the archetype is ambiguous, ask the user to clarify.
Step 3: Plan Content
Based on the archetype and description, plan:
- Node count: How many nodes does this canvas need? (respect <120 target)
- Text content: What text goes in each node?
- Media assets: What images, SVGs, or GIFs are needed?
- Mermaid diagrams: What data visualizations should be embedded as Mermaid?
- Edges: What connections exist between nodes?
Step 4: Generate Content and Media
For simple canvases (text-only, <10 nodes): Generate content inline — no agents needed.
For complex canvases (media required or >10 nodes): Dispatch agents in parallel:
a. Dispatch canvas-composer agent with:
- Archetype name
- Topic description
- Number of text nodes needed
- Any source files for context
b. Dispatch canvas-media agent with (if media requested):
- List of images/SVGs/GIFs needed
- Prompt descriptions for each
- Target dimensions
c. Wait for both agents to complete. Collect their JSON output.
Step 5: Instantiate Template
Use the template engine to create the base canvas:
python3 scripts/canvas_template.py [archetype] [output_path] \
--param title="[topic]" --param [archetype_param]=[count]
Then update each node's content with the composer agent's output using the Edit tool.
If the media agent generated images:
- Add each as a file node inside the appropriate zone/slide
- Use the auto-positioning algorithm or manual placement inside groups
Step 6: Apply Layout
If the template's built-in layout is insufficient (e.g., mind-map needs radial, knowledge-graph needs force), apply the appropriate algorithm:
python3 scripts/canvas_layout.py [output_path] [algorithm]
Step 7: Quality Gate (MANDATORY)
This is the most critical step. A canvas that passes validation but has placeholder text is a FAILURE.
-
Content check: Read every text node in the canvas. Search for these forbidden strings:
- "Describe this" — replace with real content
- "YYYY-MM-DD" — replace with real dates
- "Content goes here" — replace with real content
- "Value: 0" — replace with realistic values
- "Define this entity" — replace with real definition
- "What happened" — replace with real event If ANY are found, edit the canvas to replace them before proceeding.
-
Layout check: Verify the correct layout was applied:
- Mind-map → radial layout (nodes should expand from center, not in a grid)
- Knowledge-graph → force layout (nodes should be organically spread, not in a grid)
- Flowchart → dagre layout (hierarchical top-down or left-right flow)
If the layout looks wrong, run
python3 scripts/canvas_layout.py <path> <algorithm>.
-
Spacing check: Run validation to catch overlaps:
python3 scripts/canvas_validate.py [output_path]Must return
valid: truewith 0 errors and 0 overlap warnings. -
Visual scan: Is this canvas something you'd be proud to show? Would a user open it and immediately understand it? If not, improve it.
Only after ALL four checks pass, report success.
Examples
Example 1: Text-Only Dashboard
User: /canvas generate "project dashboard for mobile app launch"
- Archetype: dashboard
- Plan: 4 metric cards (Downloads, DAU, Crashes, Rating), 1 status zone
- Generate content inline (simple, text-only)
- Instantiate:
python3 scripts/canvas_template.py dashboard output.canvas --param title="Mobile App Launch" --param metric_count=4 - Edit metric nodes with specific content
- No layout change needed (grid is fine)
- Validate and report
Example 2: Mood Board with AI Images
User: /canvas generate "mood board for a cyberpunk game"
- Archetype: mood-board
- Plan: 8 image slots, title card with aesthetic description
- Dispatch canvas-composer: write title card content (mood, colors, style)
- Dispatch canvas-media: generate 8 images via
/banana:- "neon cityscape, cyberpunk, rain, reflections"
- "cyberpunk character portrait, augmented, glowing eyes"
- (6 more themed prompts)
- Instantiate mood-board template
- Replace placeholder text nodes with generated image file nodes
- Validate and report
Example 3: Presentation from Topic
User: /canvas generate "presentation about our Q3 results"
- Archetype: presentation
- Plan: 6 slides (title, overview, revenue, growth, challenges, next steps)
- Dispatch canvas-composer: write 6 slides of content
- Optionally dispatch canvas-media: 1-2 hero images
- Instantiate presentation template with
slide_count=6 - Edit each slide's text with composer output
- Validate and report
Fallback Behavior
| Scenario | Action |
|---|---|
| User description too vague | Ask: "What type of canvas? (presentation, mood board, dashboard, etc.)" |
| Archetype detected but uncertain | Confirm: "I'll create a [archetype] canvas. Sound right?" |
| Media skills not available | Build text-only canvas, suggest manual image addition |
| Canvas would exceed 120 nodes | Warn and suggest splitting into sub-canvases |
| Template instantiation fails | Fall back to manual canvas construction with the orchestrator |