Agent skill

Canvas Generate

by AgriciDaniel in AgriciDaniel/claude-canvas

Builds a complete Obsidian canvas from a plain description by picking one of 12 template archetypes, planning nodes, and generating text and media for it.

MITAuto-check passedKnowledge Management

Install Canvas Generate

skills CLI
$ npx skills add AgriciDaniel/claude-canvas --skill canvas-generate -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AgriciDaniel/claude-canvas canvas-generate --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-canvas.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/canvas-generate .claude/skills/canvas-generate && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
canvas-generate
GitHub stars
300
Token cost
~2k tokens
SKILL.md length
845 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Builds a complete Obsidian canvas from a plain description by picking one of 12 template archetypes, planning nodes, and generating text and media for it.

  • Works in 7 steps: Analyze Description → Detect Archetype → Plan Content → …
  • Turning a short brief into a populated Obsidian canvas
  • SKILL.md covers Pipeline, Workflow, Examples and Fallback Behavior
  • Calls python3

What it does

This is the main command of a canvas toolkit for Obsidian. It parses your description for topic, purpose, content hints and visual requests, then matches keywords to one of 12 archetypes: presentation, flowchart, mind map, gallery, dashboard, storyboard, knowledge graph, mood board, timeline, comparison, kanban and project brief. If the match is unclear it asks you. It then plans the node count, with a target under 120, the text for each node, media assets, Mermaid diagrams and the edges between nodes.

Small text-only canvases of fewer than 10 nodes are generated inline. Larger ones, or ones needing images, SVGs or GIFs, dispatch canvas-media and canvas-composer agents in parallel, and the description says the result then goes through template instantiation and layout. The skill reads sibling reference files for the template catalog, media guide, Mermaid patterns and performance guide. The excerpt is cut off in the content generation step.

When your agent uses it

  • Turning a short brief into a populated Obsidian canvas
  • Creating a mood board, timeline or flowchart canvas from a description
  • Producing a canvas that mixes text nodes, images and Mermaid diagrams
  • Generating a project brief or kanban canvas without placing nodes by hand

Example prompts

  • “Generate a canvas about our Q3 product launch as a presentation.”
  • “Make a canvas about the history of the printing press as a timeline with images.”
  • “Create a visual board comparing three note-taking apps side by side.”
  • “Build me a mind map canvas for brainstorming newsletter topics.”

Requirements

  • Obsidian, to open the generated canvas
  • The companion canvas skill's reference files

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Analyze Description
  2. Detect Archetype
  3. Plan Content
  4. Generate Content and Media
  5. Instantiate Template
  6. Apply Layout
  7. Quality Gate (MANDATORY)

What it can do on your machine

Read from SKILL.md and the folder at commit 05b808c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Canvas Generate loads about 2k tokens when it runs. Until then it costs about 123 tokens; SKILL.md has 845 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~123
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from AgriciDaniel/claude-canvas at commit 05b808c, republished under its MIT licence (© AgriciDaniel). 845 words, ~2,034 tokens.

Download SKILL.mdSave it as .claude/skills/canvas-generate/SKILL.md (or your agent's skills folder).
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

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 descriptionArchetype
"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:

bash
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:

bash
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:

    bash
    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.


Show full SKILL.md (270 more words)Show less

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

ScenarioAction
User description too vagueAsk: "What type of canvas? (presentation, mood board, dashboard, etc.)"
Archetype detected but uncertainConfirm: "I'll create a [archetype] canvas. Sound right?"
Media skills not availableBuild text-only canvas, suggest manual image addition
Canvas would exceed 120 nodesWarn and suggest splitting into sub-canvases
Template instantiation failsFall back to manual canvas construction with the orchestrator

© AgriciDaniel, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/canvas-generate of AgriciDaniel/claude-canvas.

Open the folder on GitHubat commit 05b808c

Compare with similar skills

Canvas Generate next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Canvas Generate compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Canvas Generate this skillAgriciDaniel/claude-canvas300—~2kAutomated safety check: PassMIT
Wiki DiagramIssacW228/student-llm-wiki177—~394Automated safety check: PassMIT
Formal Knowledge Maplijigang/ljg-skills7.5k—~375Automated safety check: PassMIT
Memoryyonatangross/orchestkit290—~1.8kAutomated safety check: NotesMIT
Markdown Report WritingNeuroAIHub/BrainPilot1.1k—~2.6kAutomated safety check: WarnAGPL-3.0
Space Mermaid DiagramSpaceZephyr/design-buddy175—~920Automated safety check: PassNone

Similar skills

  • Wiki Diagram

    IssacW228/student-llm-wiki

    Add Mermaid diagrams to wiki pages to aid understanding. An agent skill from IssacW228/student-llm-wiki.

    177 GitHub stars~394 tokensUpdated 3 mo ago
    Knowledge ManagementAuto-check passed
  • Formal Knowledge Map

    lijigang/ljg-skills

    Reads an article, note or lecture draft and draws a plain-language formal map of its concepts, the tests for assigning things to them, and the conditional links between concepts.

    7.5k GitHub stars~375 tokensUpdated yesterday
    Knowledge ManagementAuto-check passed
  • Memory

    yonatangross/orchestkit

    Read-side memory operations on the knowledge graph: search past decisions and patterns, load session context, view decision timelines, render Mermaid graph visualizations.

    290 GitHub stars~1.8k tokensUpdated today
    Knowledge ManagementAuto-check: notes
  • Markdown Report Writing

    NeuroAIHub/BrainPilot

    Guide AI agents to write beautifully formatted, well-illustrated Markdown reports with proper structure, diagrams, and compatibility across GitHub and Obsidian.

    1.1k GitHub stars~2.6k tokensUpdated 7 days ago
    Documents & OfficeAuto-check: warnings
  • Space Mermaid Diagram

    SpaceZephyr/design-buddy

    将任意文本、工作流、逻辑转换为清晰简约的 Mermaid 流程图。支持 flowchart、sequence、class 等多种图表类型。使用场景:(1) 需要可视化工作流程,(2) 将文档/对话转为流程图,(3) 创建系统架构图,(4) 生成时序图/类图。自动保存到 Obsidian 画板目录,按日期和主题分类。

    175 GitHub stars~920 tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • Scholar Conceptual

    joshzyj/open-scholar-skill

    Build original theoretical frameworks and produce publication-quality conceptual diagrams for social science research.

    168 GitHub stars~5.3k tokensUpdated 21 days ago
    DevelopmentAuto-check passed

More from AgriciDaniel/claude-canvas

All 8 skills in this repo
  • Obsidian Canvas Builder

    AgriciDaniel/claude-canvas

    Builds and lays out Obsidian Canvas files with sub-agents for images, diagrams and layout, from flowcharts and mood boards to presentation decks.

    300 GitHub stars~2.5k tokensUpdated 6 mo ago
    Auto-check passed
  • Canvas Create

    AgriciDaniel/claude-canvas

    Creates new Obsidian Canvas files, either blank with a starter structure or from one of 12 templates such as flowchart, mind map, kanban or timeline.

    300 GitHub stars~849 tokensUpdated 6 mo ago
    Auto-check passed
  • Obsidian Canvas Export

    AgriciDaniel/claude-canvas

    Exports Obsidian Canvas files to PNG, SVG or PDF, using the Advanced Canvas plugin when Obsidian is open and falling back to a Playwright screenshot.

    300 GitHub stars~1.2k tokensUpdated 6 mo ago
    Auto-check passed
  • Obsidian Canvas Re-Layout

    AgriciDaniel/claude-canvas

    Rearranges the nodes of an existing Obsidian Canvas with grid, dagre, radial, force-directed or linear layouts while keeping groups intact.

    300 GitHub stars~866 tokensUpdated 6 mo ago
    Auto-check passed
  • Obsidian Canvas Populator

    AgriciDaniel/claude-canvas

    Adds images, text cards, PDFs, notes, links, diagrams, zones and edges to an existing Obsidian Canvas file without overlapping what is already there.

    300 GitHub stars~1.6k tokensUpdated 6 mo ago
    Auto-check passed
  • Canvas Presentation Builder

    AgriciDaniel/claude-canvas

    Builds an Obsidian Advanced Canvas slide deck with title, content and closing slides wired together by arrow-key navigation edges.

    300 GitHub stars~1.3k tokensUpdated 6 mo ago
    Auto-check passed

Works with

Questions about Canvas Generate

What does Canvas Generate do?

Builds a complete Obsidian canvas from a plain description by picking one of 12 template archetypes, planning nodes, and generating text and media for it. This is the main command of a canvas toolkit for Obsidian. It parses your description for topic, purpose, content hints and visual requests, then matches keywords to one of 12 archetypes: presentation, flowchart, mind map, gallery, dashboard, storyboard, knowledge graph, mood board, timeline, comparison, kanban and project brief.

When should I use Canvas Generate?

Canvas Generate fits situations like: turning a short brief into a populated Obsidian canvas; creating a mood board, timeline or flowchart canvas from a description; producing a canvas that mixes text nodes, images and Mermaid diagrams; generating a project brief or kanban canvas without placing nodes by hand.

How do I install Canvas Generate in Claude Code?

Run `npx skills add AgriciDaniel/claude-canvas --skill canvas-generate -a claude-code`. Or copy the skill folder (skills/canvas-generate in AgriciDaniel/claude-canvas) into .claude/skills/canvas-generate in your project. Claude Code loads it when a task matches its description.

How do I install Canvas Generate in Codex?

Run `npx skills add AgriciDaniel/claude-canvas --skill canvas-generate -a codex`. Or copy the skill folder (skills/canvas-generate in AgriciDaniel/claude-canvas) into .agents/skills/canvas-generate in your project. Codex loads it when a task matches its description.

Can I use Canvas Generate in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AgriciDaniel/claude-canvas --skill canvas-generate -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/canvas-generate, .gemini/skills/canvas-generate, .github/skills/canvas-generate and .opencode/skills/canvas-generate in your project.

What does Canvas Generate need to run?

Going by SKILL.md and its folder, Canvas Generate needs the command-line tools its instructions call (python3). Our summary lists: Obsidian, to open the generated canvas; The companion canvas skill's reference files.

Does Canvas Generate access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Canvas Generate safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Canvas Generate use?

Canvas Generate is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Canvas Generate use?

About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Canvas Generate?

Skills that share tags, products or a category with Canvas Generate: Wiki Diagram (IssacW228/student-llm-wiki, 177 stars), Formal Knowledge Map (lijigang/ljg-skills, 7.5k stars), Memory (yonatangross/orchestkit, 290 stars) and Markdown Report Writing (NeuroAIHub/BrainPilot, 1.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Canvas Generate?

AgriciDaniel (a GitHub user) maintains it in AgriciDaniel/claude-canvas, which has 300 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on April 10, 2026.

Source: AgriciDaniel/claude-canvas on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.