jpskill.com
🎨 デザイン コミュニティ

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本体の挙動とは独立した参考情報です。

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

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

🍎 Mac / 🐧 Linux
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
🪟 Windows (PowerShell)
$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. 1. 下の青いボタンを押して canvas-generate.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → canvas-generate フォルダができる
  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
同梱ファイル
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: 品質ゲート (必須)

これは最も重要なステップです。検証に合格したが、プレースホルダーテキストがあるキャンバスは失敗です。

  1. コンテンツチェック: キャンバス内のすべてのテキストノードを読みます。次の禁止文字列を検索します。

    • "Describe this" — 実際のコンテンツに置き換えます
    • "YYYY-MM-DD" — 実際の日付に置き換えます
    • "Content goes here" — 実際のコンテンツに置き換えます
    • "Value: 0" — 現実的な値に置き換えます
    • "Define this entity" — 実際の定義に置き換えます
    • "What happened" — 実際のイベントに置き換えます いずれかが見つかった場合は、続行する前にキャンバスを編集して置き換えます。
  2. レイアウトチェック: 正しいレイアウトが適用されたことを確認します。

    • Mind-map → 放射状レイアウト (ノードはグリッドではなく、中心から展開する必要があります)
    • Knowledge-graph → フォースレイアウト (ノードはグリッドではなく、有機的に分散する必要があります)
    • Flowchart → dagre レイアウト (階層的なトップダウンまたは左右のフロー) レイアウトが間違っているように見える場合は、python3 scripts/canvas_layout.py <path> <algorithm> を実行します。
  3. スペーシングチェック: 検証を実行して、重複を検出します。

    python3 scripts/canvas_validate.py [output_path]

    valid: true が、0 エラーおよび 0 重複警告で返される必要があります。

  4. 視覚スキャン: このキャンバスは、自信を持って見せられるものですか? ユーザーはそれを開いてすぐに理解できますか? そうでない場合は、改善してください。

上記の4つのチェックすべてに合格した場合のみ、成功を報告します。


例 1: テキストのみのダッシュボード

User: /canvas generate "project dashboard for mobile app launch"

  1. アーキタイプ: dashboard
  2. 計画: 4つのメトリックカード (Downloads, DAU, Crashes, Rating)、1つのステータスゾーン
  3. コンテンツをインラインで生成 (単純、テキストのみ)
  4. インスタンス化: python3 scripts/canvas_template.py dashboard output.canvas --param title="Mobile App Launch" --param metric_count=4
  5. 特定のコンテンツでメトリックノードを編集
  6. レイアウトの変更は不要 (グリッドで問題ありません)
  7. 検証とリポジトリ

(原文はここで切り詰められています)

📜 原文 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.

  1. 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.
  2. 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>.
  3. Spacing check: Run validation to catch overlaps:

    python3 scripts/canvas_validate.py [output_path]

    Must return valid: true with 0 errors and 0 overlap warnings.

  4. 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"

  1. Archetype: dashboard
  2. Plan: 4 metric cards (Downloads, DAU, Crashes, Rating), 1 status zone
  3. Generate content inline (simple, text-only)
  4. Instantiate: python3 scripts/canvas_template.py dashboard output.canvas --param title="Mobile App Launch" --param metric_count=4
  5. Edit metric nodes with specific content
  6. No layout change needed (grid is fine)
  7. Validate and report

Example 2: Mood Board with AI Images

User: /canvas generate "mood board for a cyberpunk game"

  1. Archetype: mood-board
  2. Plan: 8 image slots, title card with aesthetic description
  3. Dispatch canvas-composer: write title card content (mood, colors, style)
  4. Dispatch canvas-media: generate 8 images via /banana:
    • "neon cityscape, cyberpunk, rain, reflections"
    • "cyberpunk character portrait, augmented, glowing eyes"
    • (6 more themed prompts)
  5. Instantiate mood-board template
  6. Replace placeholder text nodes with generated image file nodes
  7. Validate and report

Example 3: Presentation from Topic

User: /canvas generate "presentation about our Q3 results"

  1. Archetype: presentation
  2. Plan: 6 slides (title, overview, revenue, growth, challenges, next steps)
  3. Dispatch canvas-composer: write 6 slides of content
  4. Optionally dispatch canvas-media: 1-2 hero images
  5. Instantiate presentation template with slide_count=6
  6. Edit each slide's text with composer output
  7. 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