Agent skill

canvas-present

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.

Stars 9
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/AgriciDaniel/claude-canvas/tree/main/skills/canvas-present

SKILL.md

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:

  1. Gather context: Ask the user for:

    • Topic/title (required)
    • Number of slides (default: 6, recommend 6-10)
    • Style: deck (1200×675 clean) or storyboard (1920×1080 with script column)
    • Whether to generate images for slides (requires /banana)
  2. 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
  3. Create the canvas:

    a. Start from the presentation template:

    bash
    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 /banana and 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.

  4. Color-code slides per the spec:

    • Title/close: "6" (purple)
    • Content: "4" (green)
    • Key insight: "5" (cyan)
    • Action items: "2" (orange)
  5. Validate:

    bash
    python3 scripts/canvas_validate.py [output_path]
    
  6. 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:

  1. Find source notes: Search for the specified files. If in a claude-obsidian vault, use wiki/ paths. Otherwise search the current directory.

  2. 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
  3. Map to slides: One H1 or H2 section per slide. If a section is too long (>200 words), split into multiple slides.

  4. Generate canvas: Follow the same build workflow as /canvas present [topic], using extracted content instead of Claude-generated content.

  5. 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:

  1. Read the existing presentation canvas.
  2. Find the last slide group (highest y for vertical stack, highest x for horizontal).
  3. 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
  4. Add content text node inside the new slide group.
  5. Add edge from the previously-last slide to the new slide.
  6. 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:
    markdown
    > [!tip] Key Insight
    > The main takeaway in one sentence.
    

Mermaid in slides: Mermaid diagrams render natively in text nodes. Great for data slides:

markdown
## 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."

Expand your agent's capabilities with these related and highly-rated skills.

AgriciDaniel/claude-canvas

canvas-create

Create new Obsidian Canvas files — blank with a starter structure, or from one of 12 template archetypes (presentation, flowchart, mind-map, gallery, dashboard, storyboard, knowledge-graph, mood-board, timeline, comparison, kanban, project-brief). Handles directory creation, slug generation, and starter zone setup. Triggers on: canvas create, create canvas, new canvas, canvas new, start canvas.

9 0
Explore
AgriciDaniel/claude-canvas

canvas

AI-orchestrated visual production for Obsidian Canvas. Create presentations, flowcharts, mood boards, knowledge graphs, galleries, storyboards, timelines, dashboards, and more with intelligent layout and AI-generated content. Claude acts as Creative Director — dispatching sub-agents for image generation, SVG diagrams, GIF creation, and spatial layout. Supports 12 template archetypes, 6 layout algorithms, and Advanced Canvas presentation mode. Triggers on: /canvas, create canvas, build canvas, make a presentation, visual board, mood board, flowchart canvas, storyboard, canvas from template, lay out canvas, export canvas, canvas layout, canvas generate, add to canvas, put this on the canvas, open canvas, canvas present, canvas template.

9 0
Explore
AgriciDaniel/claude-canvas

canvas-template

Browse and instantiate 12 canvas template archetypes: presentation, flowchart, mind-map, gallery, dashboard, storyboard, knowledge-graph, mood-board, timeline, comparison, kanban, project-brief. Each template generates a ready-to-use canvas with proper layout, zones, and placeholder content. Triggers on: canvas template, canvas template list, browse templates, canvas from template, use template, show archetypes.

9 0
Explore
AgriciDaniel/claude-canvas

canvas-export

Export Obsidian Canvas files to PNG, SVG, or PDF formats. Uses the Advanced Canvas plugin's built-in export when Obsidian is running, or falls back to Playwright browser-based screenshot capture. Supports single canvas export, presentation slide-per-page PDF export, and batch export. Triggers on: canvas export, export canvas, canvas to png, canvas to pdf, canvas to svg, save canvas as image, screenshot canvas, export presentation.

9 0
Explore
AgriciDaniel/claude-canvas

canvas-generate

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.

9 0
Explore
AgriciDaniel/claude-canvas

canvas-populate

Add content to existing Obsidian Canvas files. Supports all node types: images (with auto aspect ratio detection), text cards, PDFs, wiki notes, web links, Mermaid diagrams, SVGs, GIFs, AI-generated images via banana. Also adds zones (groups), edges between nodes, and imports recent banana images. Triggers on: canvas add, add to canvas, put on canvas, canvas zone, canvas connect, canvas from banana, add image to canvas, add text to canvas.

9 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results