Agent skill

Canvas Create

by AgriciDaniel in 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.

MITAuto-check passedKnowledge Management

Install Canvas Create

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

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

GitHub CLI
$ gh skill install AgriciDaniel/claude-canvas canvas-create --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-create .claude/skills/canvas-create && 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-create
GitHub stars
299
Token cost
~849 tokens
SKILL.md length
232 words
Files
1
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

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.

  • Works in 3 steps: Slugify the name: lowercase, spaces to… → Determine canvas directory (see canvas… → Create [canvas_dir]/[slug].canvas with…
  • Starting a new blank canvas in an Obsidian vault
  • SKILL.md covers Operations, Slug Generation and Directory Rules
  • Calls python3

What it does

The agent makes a slug from the canvas name, picks the canvas directory and writes a `.canvas` JSON file with a starter structure, placing groups before content nodes so they render behind. In a vault that has `wiki/canvases/` it creates the file there, with media in `_attachments/images/canvas/`, and otherwise it uses `.canvases/` with assets in `.canvases/assets/`. It never overwrites an existing canvas without asking.

For templated canvases it checks the name against 12 archetypes: presentation, flowchart, mind-map, gallery, dashboard, storyboard, knowledge-graph, mood-board, timeline, comparison, kanban and project-brief. It asks for parameters such as title, item count and color scheme, hands off to the canvas-template skill, and must then replace every placeholder text node with real content for the topic. It finishes by running `scripts/canvas_validate.py` and reporting node and zone counts.

When your agent uses it

  • Starting a new blank canvas in an Obsidian vault
  • Building a mind map, flowchart or kanban board as a canvas
  • Creating a presentation or mood board canvas from a template

Example prompts

  • “Create a canvas called product launch plan from the kanban template.”
  • “Make a new blank canvas named research notes.”
  • “Build a timeline canvas for the company roadmap with real milestones filled in.”

Requirements

  • An Obsidian vault, or a folder where `.canvases/` can be created
  • Python 3 to run `scripts/canvas_validate.py`

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Slugify the name: lowercase, spaces to hyphens, strip special chars.
  2. Determine canvas directory (see canvas orchestrator for context detection).
  3. Create [canvas_dir]/[slug].canvas with starter structure

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 Create loads about 849 tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 232 words of instructions outside code blocks.

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

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). 232 words, ~849 tokens.

Download SKILL.mdSave it as .claude/skills/canvas-create/SKILL.md (or your agent's skills folder).
name
canvas-create
description
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.
user-invocable
false

canvas-create: Create New Canvases


Operations

Blank Canvas (/canvas create [name])
  1. Slugify the name: lowercase, spaces to hyphens, strip special chars.
  2. Determine canvas directory (see canvas orchestrator for context detection).
  3. Create [canvas_dir]/[slug].canvas with starter structure:
json
{
  "nodes": [
    {
      "id": "zone-default",
      "type": "group",
      "label": "General",
      "x": -400, "y": -140, "width": 800, "height": 400, "color": "4"
    },
    {
      "id": "title",
      "type": "text",
      "text": "# [Name]\n\nDrop images, PDFs, and notes here.",
      "x": -400, "y": -300, "width": 400, "height": 120, "color": "6"
    }
  ],
  "edges": []
}

Note: Groups MUST come before content nodes in the array (z-index ordering — groups render behind content).

  1. Report: "Created [canvas_dir]/[slug].canvas. Open it in Obsidian to view."
Templated Canvas (/canvas create [name] from [template])
  1. Validate template name against the 12 archetypes.
  2. If no template name given or unclear, show available templates:
presentation   — Slide deck (1200x675, Advanced Canvas)
flowchart      — Process flow (Sugiyama/dagre layout)
mind-map       — Radial center-out expansion
gallery        — Grid of image nodes
dashboard      — Metric cards + charts + zones
storyboard     — Linear scene cards + script annotations
knowledge-graph — Force-directed entity map
mood-board     — Asymmetric image grid
timeline       — Horizontal event sequence
comparison     — Side-by-side columns
kanban         — Column zones (Todo/Doing/Done)
project-brief  — Hero zone + objectives + deliverables
  1. Ask the user for template-specific parameters (title, number of items, color scheme).
  2. Delegate to canvas-template skill for instantiation.
  3. MANDATORY: Replace ALL placeholder text in every node with real, relevant content based on the title and topic. This is not optional:
    • Read the generated canvas JSON
    • For each text node, replace generic text ("Describe this step", "YYYY-MM-DD", "Value: 0") with real content relevant to the canvas title
    • Use the Edit tool to update each node's text field
    • This is the difference between a skeleton and a finished canvas
  4. Run python3 scripts/canvas_validate.py <path> to verify validity.
  5. Report the created canvas with node/zone counts.

Slug Generation

python
import re
def slugify(name):
    slug = name.lower().strip()
    slug = re.sub(r'[^a-z0-9\s-]', '', slug)
    slug = re.sub(r'[\s]+', '-', slug)
    slug = re.sub(r'-+', '-', slug)
    return slug.strip('-')

Directory Rules

  • Vault mode (wiki/canvases/ exists): create there, media to _attachments/images/canvas/
  • Standalone mode: create in .canvases/, media to .canvases/assets/
  • Create the directory if it doesn't exist.
  • Never overwrite an existing canvas without asking the user.

© 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-create of AgriciDaniel/claude-canvas.

Open the folder on GitHubat commit 05b808c

Compare with similar skills

Canvas Create 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 Create compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Canvas Create this skillAgriciDaniel/claude-canvas299—~849Automated safety check: PassMIT
Cascading Goal Trackerballred/obsidian-claude-pkm1.9k—~1.5kAutomated safety check: PassMIT
Obsidian Project Trackerballred/obsidian-claude-pkm1.9k—~1.1kAutomated safety check: NotesMIT
Monthly Review and Planningballred/obsidian-claude-pkm1.9k—~1.4kAutomated safety check: PassMIT
Bounded AutoresearchAgriciDaniel/claude-obsidian15k1 repos~1.6kAutomated safety check: PassMIT
Obsidian Wiki Log FoldAgriciDaniel/claude-obsidian15k1 repos~1.2kAutomated safety check: PassMIT

Similar skills

  • Cascading Goal Tracker

    ballred/obsidian-claude-pkm

    Tracks three-year, yearly, monthly, and weekly goals in linked Markdown files, calculating completion percentages and flagging stalled goals.

    1.9k GitHub stars~1.5k tokensUpdated 7 mo ago
    Knowledge ManagementAuto-check passed
  • Obsidian Project Tracker

    ballred/obsidian-claude-pkm

    Creates, tracks and archives projects linked to yearly goals in an Obsidian vault, with a status dashboard and a CLAUDE.md context file for each project.

    1.9k GitHub stars~1.1k tokensUpdated 7 mo ago
    Knowledge ManagementAuto-check: notes
  • Monthly Review and Planning

    ballred/obsidian-claude-pkm

    Runs a monthly review in an Obsidian vault: rolls up weekly reviews, checks quarterly milestones against yearly goals and sets next month's focus.

    1.9k GitHub stars~1.4k tokensUpdated 7 mo ago
    Knowledge ManagementAuto-check passed
  • Bounded Autoresearch

    AgriciDaniel/claude-obsidian

    Runs a bounded, source-grounded research loop that drafts a cited dossier and can propose a separately reviewed merge into an Obsidian vault.

    15k GitHub starsUsed in 1 repo~1.6k tokens
    Knowledge ManagementAuto-check passed
  • Obsidian Wiki Log Fold

    AgriciDaniel/claude-obsidian

    Creates a bounded, extractive rollup of recent Obsidian wiki log entries, previewed by default, with one optional apply step and no changes to child pages.

    15k GitHub starsUsed in 1 repo~1.2k tokens
    Knowledge ManagementAuto-check passed
  • Second Brain

    NicholasSpisak/second-brain

    Set up a new Obsidian knowledge base with the LLM Wiki pattern.

    736 GitHub starsUsed in 1 repo~1.5k tokens
    Knowledge ManagementAuto-check: notes

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.

    299 GitHub stars~2.5k 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.

    299 GitHub stars~1.2k tokensUpdated 6 mo ago
    Auto-check passed
  • Canvas Generate

    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.

    299 GitHub stars~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.

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

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

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

Works with

Questions about Canvas Create

What does Canvas Create do?

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. canvas` JSON file with a starter structure, placing groups before content nodes so they render behind.canvases/assets/`.

When should I use Canvas Create?

Canvas Create fits situations like: starting a new blank canvas in an Obsidian vault; building a mind map, flowchart or kanban board as a canvas; creating a presentation or mood board canvas from a template.

How do I install Canvas Create in Claude Code?

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

How do I install Canvas Create in Codex?

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

Can I use Canvas Create 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-create -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-create, .gemini/skills/canvas-create, .github/skills/canvas-create and .opencode/skills/canvas-create in your project.

What does Canvas Create need to run?

Going by SKILL.md and its folder, Canvas Create needs the command-line tools its instructions call (python3). Our summary lists: An Obsidian vault, or a folder where `.canvases/` can be created; Python 3 to run `scripts/canvas_validate.py`.

Does Canvas Create 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 Create 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 Create use?

Canvas Create 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 Create use?

About 849 tokens (SKILL.md is roughly 3.4k 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 Create?

Skills that share tags, products or a category with Canvas Create: Cascading Goal Tracker (ballred/obsidian-claude-pkm, 1.9k stars), Obsidian Project Tracker (ballred/obsidian-claude-pkm, 1.9k stars), Monthly Review and Planning (ballred/obsidian-claude-pkm, 1.9k stars) and Bounded Autoresearch (AgriciDaniel/claude-obsidian, 15k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Canvas Create?

AgriciDaniel (a GitHub user) maintains it in AgriciDaniel/claude-canvas, which has 299 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.