canvas-present
Advanced Canvasプラグインで、矢印キーで操作できる1200x675サイズのグループノードを繋げたスライド形式のキャンバスを作成し、タイトルや画像付きコンテンツ、全文表示、動画用スクリプト注釈など、多様なプレゼンテーションを構築するSkill。
📜 元の英語説明(参考)
Build presentation-mode canvases for the Advanced Canvas plugin. Creates slide-deck canvases with 1200x675 group nodes connected by edges for arrow-key navigation. Supports title slides, content slides with images, full-text slides, and optional script annotation columns for video planning. Triggers on: canvas present, create presentation, build slide deck, canvas slides, make a presentation, presentation canvas, present from notes, slide deck canvas, canvas presentation.
🇯🇵 日本人クリエイター向け解説
Advanced Canvasプラグインで、矢印キーで操作できる1200x675サイズのグループノードを繋げたスライド形式のキャンバスを作成し、タイトルや画像付きコンテンツ、全文表示、動画用スクリプト注釈など、多様なプレゼンテーションを構築するSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o canvas-present.zip https://jpskill.com/download/10543.zip && unzip -o canvas-present.zip && rm canvas-present.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/10543.zip -OutFile "$d\canvas-present.zip"; Expand-Archive "$d\canvas-present.zip" -DestinationPath $d -Force; ri "$d\canvas-present.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
canvas-present.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
canvas-presentフォルダができる - 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-present: プレゼンテーションキャンバスビルダー
スライドの寸法、ナビゲーションエッジ、レイアウトパターン、およびカラーコーディングについては、../canvas/references/presentation-spec.md を参照してください。
ノード制限については、../canvas/references/performance-guide.md を参照してください。
操作
プレゼンテーションの作成 (/canvas present [topic])
トピックの説明から完全なプレゼンテーションキャンバスを作成します。
ワークフロー:
-
コンテキストの収集: ユーザーに以下を尋ねます。
- トピック/タイトル (必須)
- スライド数 (デフォルト: 6、推奨: 6-10)
- スタイル:
deck(1200×675 クリーン) またはstoryboard(1920×1080 スクリプト列付き) - スライドの画像を生成するかどうか (
/bananaが必要)
-
スライド構造の生成: Claude が各スライドのコンテンツを作成します。
- スライド 1: タイトルスライド (タイトル、サブタイトル、日付)
- スライド 2: アジェンダ/概要
- スライド 3-N-2: コンテンツスライド (キーポイント、データ、調査結果)
- スライド N-1: 主要なポイント/まとめ
- スライド N: 次のステップ/締めくくり
-
キャンバスの作成:
a.
presentationテンプレートから開始します。python3 scripts/canvas_template.py presentation [output_path] \ --param title="[topic]" --param slide_count=[N]b. Editツールを使用して、生成されたコンテンツで各スライドのテキストノードを編集します。
c. 画像が要求された場合:
/banana経由で生成し、スライドグループ内にファイルノードとして追加します。d.
storyboardスタイルの場合: 各スライドグループの右側にスクリプト注釈テキストノード (width=500) を追加します。 -
仕様に従ってスライドを色分けします。
- タイトル/締めくくり:
"6"(紫) - コンテンツ:
"4"(緑) - 重要な洞察:
"5"(シアン) - アクションアイテム:
"2"(オレンジ)
- タイトル/締めくくり:
-
検証:
python3 scripts/canvas_validate.py [output_path] -
レポート: "[N] スライドのプレゼンテーションを [path] に作成しました。Advanced Canvas で Obsidian で開き、矢印キーでナビゲートします。"
ノートから作成 (/canvas present from [notes])
既存の Markdown ファイルまたは Wiki ページからプレゼンテーションを作成します。
ワークフロー:
-
ソースノートの検索: 指定されたファイルを検索します。claude-obsidian vault 内にある場合は、
wiki/パスを使用します。それ以外の場合は、現在のディレクトリを検索します。 -
コンテンツの抽出: 各ノートを読み取り、以下を抽出します。
- H1 見出し → スライドタイトル
- H2 見出し → スライドセクションマーカー
- 主要な段落 → スライド本文テキスト
- 画像/埋め込み → スライドビジュアル
- 箇条書きリスト → スライドの箇条書き
-
スライドへのマッピング: スライドごとに 1 つの H1 または H2 セクション。セクションが長すぎる場合 (>200 語)、複数のスライドに分割します。
-
キャンバスの生成: Claude が生成したコンテンツの代わりに抽出されたコンテンツを使用して、
/canvas present [topic]と同じ作成ワークフローに従います。 -
レポート: "[N] 個のソースノートからプレゼンテーションを作成 → [M] スライド。"
スライドの追加 (/canvas present add slide [content])
既存のプレゼンテーションキャンバスに新しいスライドを追加します。
ワークフロー:
- 既存のプレゼンテーションキャンバスを読み取ります。
- 最後のスライドグループを見つけます (垂直スタックの場合は y が最大、水平の場合は x が最大)。
- 次の位置に新しいスライドグループを作成します。
- 垂直:
y = last_slide_y + last_slide_height + 100 - 水平:
x = last_slide_x + last_slide_width + 100
- 垂直:
- 新しいスライドグループ内にコンテンツテキストノードを追加します。
- 以前の最後のスライドから新しいスライドへのエッジを追加します。
- 書き込みと検証を行います。
スライドコンテンツのガイドライン
各スライドは "1 つのスライドに 1 つのアイデア" の原則に従う必要があります。
- タイトル: 3-8 語。スライドタイトルには H2 (
##) を使用します。 - 本文: 2-5 個の箇条書き OR 1-2 個の短い段落。スライドあたり最大 100 語。
- ビジュアル: コンテンツスライドごとに 1 つの画像または図。テキストの右側に配置します。
- コールアウト: 強調には Obsidian コールアウトを使用します。
> [!tip] Key Insight > The main takeaway in one sentence.
スライド内の Mermaid: Mermaid ダイアグラムはテキストノードでネイティブにレンダリングされます。データスライドに最適です。
## Revenue Growth
```mermaid
graph LR
Q1["Q1: $1.2M"] --> Q2["Q2: $1.8M"]
Q2 --> Q3["Q3: $2.4M"]
Q3 --> Q4["Q4: $3.1M"]
---
## メディアスキルとの統合
ユーザーがスライドの画像を要求した場合:
1. **banana**: ヒーロー画像、背景、イラストを生成します。
- プロンプトパターン: "[slide topic], presentation slide style, clean, professional"
- スライドグループ内にファイルノードとして追加します (半分の幅、右揃え)。
2. **svg**: チャート、ダイアグラム、アイコンを生成します。
- データ視覚化スライドに最適
- viewBox ベースのサイズ設定でファイルノードとして追加します
3. **Mermaid**: テキストノードでネイティブ — 外部スキルは不要です。
- スライド内のフローチャート、シーケンス図、ガントチャートに最適
メディアスキルがインストールされていない場合は、テキストのみのプレゼンテーションを作成し、次のように提案します: "AI 生成スライド画像のために `/banana` をインストールしてください。" 📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
canvas-present: Presentation Canvas Builder
Read ../canvas/references/presentation-spec.md for slide dimensions, navigation edges, layout patterns, and color coding.
Read ../canvas/references/performance-guide.md for node limits.
Operations
Build Presentation (/canvas present [topic])
Create a complete presentation canvas from a topic description.
Workflow:
-
Gather context: Ask the user for:
- Topic/title (required)
- Number of slides (default: 6, recommend 6-10)
- Style:
deck(1200×675 clean) orstoryboard(1920×1080 with script column) - Whether to generate images for slides (requires
/banana)
-
Generate slide structure: Claude writes the content for each slide:
- Slide 1: Title slide (title, subtitle, date)
- Slide 2: Agenda/overview
- Slides 3-N-2: Content slides (key points, data, findings)
- Slide N-1: Key takeaway / summary
- Slide N: Next steps / closing
-
Create the canvas:
a. Start from the
presentationtemplate:python3 scripts/canvas_template.py presentation [output_path] \ --param title="[topic]" --param slide_count=[N]b. Edit each slide's text node with the generated content using the Edit tool.
c. If images requested: generate via
/bananaand add as file nodes inside slide groups.d. If storyboard style: add script annotation text nodes (width=500) to the right of each slide group.
-
Color-code slides per the spec:
- Title/close:
"6"(purple) - Content:
"4"(green) - Key insight:
"5"(cyan) - Action items:
"2"(orange)
- Title/close:
-
Validate:
python3 scripts/canvas_validate.py [output_path] -
Report: "Created [N]-slide presentation at [path]. Open in Obsidian with Advanced Canvas to navigate with arrow keys."
Build from Notes (/canvas present from [notes])
Create a presentation from existing markdown files or wiki pages.
Workflow:
-
Find source notes: Search for the specified files. If in a claude-obsidian vault, use
wiki/paths. Otherwise search the current directory. -
Extract content: Read each note and extract:
- H1 headings → slide titles
- H2 headings → slide section markers
- Key paragraphs → slide body text
- Images/embeds → slide visuals
- Bullet lists → slide bullet points
-
Map to slides: One H1 or H2 section per slide. If a section is too long (>200 words), split into multiple slides.
-
Generate canvas: Follow the same build workflow as
/canvas present [topic], using extracted content instead of Claude-generated content. -
Report: "Created presentation from [N] source notes → [M] slides."
Add Slide (/canvas present add slide [content])
Add a new slide to an existing presentation canvas.
Workflow:
- Read the existing presentation canvas.
- Find the last slide group (highest y for vertical stack, highest x for horizontal).
- Create a new slide group at the next position:
- Vertical:
y = last_slide_y + last_slide_height + 100 - Horizontal:
x = last_slide_x + last_slide_width + 100
- Vertical:
- Add content text node inside the new slide group.
- Add edge from the previously-last slide to the new slide.
- Write and validate.
Slide Content Guidelines
Each slide should follow the "one idea per slide" principle:
- Title: 3-8 words. Use H2 (
##) for slide titles. - Body: 2-5 bullet points OR 1-2 short paragraphs. Max 100 words per slide.
- Visual: One image or diagram per content slide. Place to the right of text.
- Callouts: Use Obsidian callouts for emphasis:
> [!tip] Key Insight > The main takeaway in one sentence.
Mermaid in slides: Mermaid diagrams render natively in text nodes. Great for data slides:
## Revenue Growth
```mermaid
graph LR
Q1["Q1: $1.2M"] --> Q2["Q2: $1.8M"]
Q2 --> Q3["Q3: $2.4M"]
Q3 --> Q4["Q4: $3.1M"]
---
## Integration with Media Skills
When the user requests images for slides:
1. **banana**: Generate hero images, backgrounds, illustrations.
- Prompt pattern: "[slide topic], presentation slide style, clean, professional"
- Add as file node inside the slide group (half-width, right-aligned)
2. **svg**: Generate charts, diagrams, icons.
- Best for data visualization slides
- Add as file node with viewBox-based sizing
3. **Mermaid**: Native in text nodes — no external skill needed.
- Best for flowcharts, sequence diagrams, gantt charts inside slides
If media skills are not installed, build text-only presentations and suggest: "Install `/banana` for AI-generated slide images."