skills/canvas-present/SKILL.md
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.
npx skillsauth add AgriciDaniel/claude-canvas canvas-presentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
/canvas present [topic])Create a complete presentation canvas from a topic description.
Workflow:
Gather context: Ask the user for:
deck (1200×675 clean) or storyboard (1920×1080 with script column)/banana)Generate slide structure: Claude writes the content for each slide:
Create the canvas:
a. Start from the presentation template:
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.
Color-code slides per the spec:
"6" (purple)"4" (green)"5" (cyan)"2" (orange)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."
/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:
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."
/canvas present add slide [content])Add a new slide to an existing presentation canvas.
Workflow:
y = last_slide_y + last_slide_height + 100x = last_slide_x + last_slide_width + 100Each slide should follow the "one idea per slide" principle:
##) for slide titles.> [!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."
development
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.
content-media
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.
development
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.
development
Re-layout existing Obsidian Canvas nodes using 6 spatial algorithms: grid (galleries, mood boards), dagre (flowcharts, org charts), radial (mind maps), force-directed (knowledge graphs), linear (timelines), and auto-detect. Preserves group membership, snaps to 20px grid, refits zones around content. Triggers on: canvas layout, re-layout canvas, arrange canvas, auto-layout, organize canvas, fix canvas layout, canvas grid, canvas dagre.