canvas-create
Create new Obsidian Canvas files — blank with a starter structure, or from one of 12 template archetypes (presentation, flowchart, mind-map, gallery,…
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
$ npx -y skills add AgriciDaniel/claude-canvas --skill canvas-generate --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/canvas-generateContext preview
The summary Claude sees to decide when to auto-load this 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
name: canvas-generate description: > 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. user-invocable: false
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.
---
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---
Parse the user's description to extract:
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.
Based on the archetype and description, plan:
**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:
b. **Dispatch canvas-media agent** with (if media requested):
c. Wait for both agents to complete. Collect their JSON output.
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:
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]
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:
If ANY are found, edit the canvas to replace them before proceeding.
2. **Layout check**: Verify the correct layout was applied:
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
AI-orchestrated visual production for Obsidian Canvas. Create presentations, flowcharts, mood boards, knowledge graphs, and galleries with intelligent layout and AI-generated content.
Create new Obsidian Canvas files — blank with a starter structure, or from one of 12 template archetypes (presentation, flowchart, mind-map, gallery,…
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…
Re-layout existing Obsidian Canvas nodes using 6 spatial algorithms: grid (galleries, mood boards), dagre (flowcharts, org charts), radial (mind maps),…
Add content to existing Obsidian Canvas files. Supports all node types: images (with auto aspect ratio detection), text cards, PDFs, wiki notes, web links,…
Build presentation-mode canvases for the Advanced Canvas plugin. Creates slide-deck canvases with 1200x675 group nodes connected by edges for arrow-key…
Browse and instantiate 12 canvas template archetypes: presentation, flowchart, mind-map, gallery, dashboard, storyboard, knowledge-graph, mood-board, timeline,…