Agent skill

Obsidian Canvas Re-Layout

by AgriciDaniel in AgriciDaniel/claude-canvas

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

MITAuto-check passedKnowledge Management

Install Obsidian Canvas Re-Layout

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

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

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

At a glance

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

  • Works in 6 steps: Identify target canvas: Use the active… → Select algorithm: Use the user-specified… → Confirm before applying: Show what will… → …
  • Untangling a canvas whose nodes overlap or sprawl
  • SKILL.md covers Workflow, Algorithm Selection, Options Forwarding and For Complex Layouts (30+ Nodes), plus 1 more section
  • Calls python3

What it does

Existing Obsidian Canvas nodes get re-laid out with one of six spatial approaches: grid for galleries and mood boards, dagre for flowcharts and org charts, radial for mind maps, force-directed for knowledge graphs, linear for timelines, or auto-detect, which looks at edge density, node types and connection patterns. Group membership is preserved, positions snap to a 20px grid and zones are refitted around their content.

The agent identifies the target canvas, picks the algorithm from your wording or from auto-detect, and confirms before applying, offering a backup. It then runs scripts/canvas_layout.py, reports how many nodes moved and how many groups were refitted, and checks the result with scripts/canvas_validate.py. Options include columns and sort order for grids, direction for dagre, a center node for radial, iterations for force layouts, an axis for linear and a --dry-run preview. Canvases with more than 30 nodes are handed to a dedicated canvas-layout agent.

When your agent uses it

  • Untangling a canvas whose nodes overlap or sprawl
  • Turning a pile of images into a tidy grid gallery
  • Arranging flowchart or org chart nodes left to right or top to bottom
  • Spreading a mind map outward from a hub node

Example prompts

  • “Make a grid of the images on my active canvas, sorted by type.”
  • “Lay out this flowchart canvas left to right and show me a dry run first.”
  • “Untangle the knowledge graph canvas and keep the groups as they are.”

Requirements

  • Python 3 to run the layout and validation scripts
  • An Obsidian vault containing the canvas file

Workflow steps

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

  1. Identify target canvas: Use the active canvas or ask which one (/canvas list to show options).
  2. Select algorithm: Use the user-specified algorithm, or run auto detection.
  3. Confirm before applying: Show what will happen
  4. Run the layout script
  5. Report results: "Moved [N] of [M] nodes. [G] groups refitted. Backup at [path].bak"
  6. Validate: Run python3 scripts/canvas_validate.py [canvas_path] to confirm valid output.

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

Obsidian Canvas Re-Layout loads about 866 tokens when it runs. Until then it costs about 113 tokens; SKILL.md has 358 words of instructions outside code blocks.

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

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). 358 words, ~866 tokens.

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

canvas-layout: Re-Layout Canvas Nodes

Read ../canvas/references/layout-algorithms.md for algorithm details and selection guide. Read ../canvas/references/performance-guide.md for node limits.


Workflow

  1. Identify target canvas: Use the active canvas or ask which one (/canvas list to show options).
  2. Select algorithm: Use the user-specified algorithm, or run auto detection.
  3. Confirm before applying: Show what will happen: "Will apply [algorithm] layout to [canvas] ([N] nodes, [M] groups). Create backup? [Y/n]"
  4. Run the layout script:
    bash
    python3 scripts/canvas_layout.py [canvas_path] [algorithm] [options]
  5. Report results: "Moved [N] of [M] nodes. [G] groups refitted. Backup at [path].bak"
  6. Validate: Run python3 scripts/canvas_validate.py [canvas_path] to confirm valid output.

Algorithm Selection

When the user says /canvas layout auto or doesn't specify an algorithm, use the auto-detection in the script. It analyzes edge density, node types, and connection patterns.

For explicit requests, map user intent to algorithm:

User saysAlgorithmOptions
"organize these images"grid--sort-by type
"make a grid"grid
"flowchart layout"dagre--direction TB
"left to right flow"dagre--direction LR
"mind map layout"radial
"expand from [node]"radial--center [node-id]
"untangle this"force
"spread out the nodes"force
"make a timeline"linear--axis horizontal
"vertical sequence"linear--axis vertical
"auto-layout"auto
"fix the layout"auto

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

Options Forwarding

Pass algorithm-specific options to the script:

  • grid: --columns N (override auto-detection), --sort-by type|size
  • dagre: --direction TB|LR|BT|RL
  • radial: --center node-id (override auto-detection of hub node)
  • force: --iterations N (default 100, reduce to 50 for 50+ nodes)
  • linear: --axis horizontal|vertical

Add --dry-run to preview without writing.


For Complex Layouts (30+ Nodes)

When a canvas has more than 30 nodes, dispatch the canvas-layout agent instead of running the script directly. The agent can:

  • Analyze the canvas content to choose sub-groups for different algorithms
  • Split large canvases into zone-by-zone layouts
  • Handle edge crossing minimization that the basic dagre doesn't cover
  • Refine positions after the algorithm runs for better visual balance

Edge Cases

  • Empty canvas: Report "No nodes to layout" and skip.
  • Single node: Center it at (0, 0) and skip.
  • No edges + dagre requested: Warn "dagre works best with edges. Using grid instead." Fall back to grid.
  • 100+ nodes: Warn about performance. Suggest splitting into sub-canvases.
  • Backup conflict: If .bak already exists, use .bak2, .bak3, etc.

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

Open the folder on GitHubat commit 05b808c

Compare with similar skills

Obsidian Canvas Re-Layout 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.

Obsidian Canvas Re-Layout compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Obsidian Canvas Re-Layout this skillAgriciDaniel/claude-canvas299—~866Automated safety check: PassMIT
LLM Wikilewislulu/llm-wiki-skill655—~3.7kAutomated safety check: PassNone
Obsidian Canvas BoardsAgriciDaniel/claude-obsidian15k—~1.4kAutomated safety check: PassMIT
Engraphdevwhodevs/engraph171—~792Automated safety check: PassMIT
Subscription Videos MetadataEfficientStreet/youtube-subscriptions-ingest178—~7.1kAutomated safety check: NotesMIT
Sage Wikixoai/sage-wiki620—~2.4kAutomated safety check: PassMIT

Similar skills

  • LLM Wiki

    lewislulu/llm-wiki-skill

    Build and maintain a Karpathy-style LLM knowledge base — a self-compiling Obsidian markdown wiki where an Agent ingests raw sources, compiles cross-linked concept/entity/summary pages, answers…

    655 GitHub stars~3.7k tokensUpdated 5 mo ago
    Knowledge ManagementAuto-check passed
  • Obsidian Canvas Boards

    AgriciDaniel/claude-obsidian

    Creates, inspects and updates Obsidian JSON Canvas boards in a vault, with text, file, link, group and edge nodes, using safe recoverable edits.

    15k GitHub stars~1.4k tokensUpdated 28 days ago
    Knowledge ManagementAuto-check passed
  • Engraph

    devwhodevs/engraph

    Index and search document collections using hybrid semantic + graph + full-text search.

    171 GitHub stars~792 tokensUpdated 4 mo ago
    Knowledge ManagementAuto-check passed
  • Subscription Videos Metadata

    EfficientStreet/youtube-subscriptions-ingest

    Pull metadata from YouTube subscription videos into a second-brain vault as a real cross-linked knowledge graph — not just a flat archive.

    178 GitHub stars~7.1k tokensUpdated 1 mo ago
    Knowledge ManagementAuto-check: notes
  • Sage Wiki

    xoai/sage-wiki

    Reference skill for sage-wiki — local-first knowledge graph with MCP server, REST API, compiled wiki, and Obsidian-compatible output.

    620 GitHub stars~2.4k tokensUpdated 2 days ago
    Knowledge ManagementAuto-check passed
  • My Wiki

    NimaChu/my-wiki

    Work with a local My Wiki knowledge base, Dashboard, and knowledge graph.

    124 GitHub stars~674 tokensUpdated 22 days ago
    Knowledge ManagementAuto-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.

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

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

    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 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 Obsidian Canvas Re-Layout

What does Obsidian Canvas Re-Layout do?

Rearranges the nodes of an existing Obsidian Canvas with grid, dagre, radial, force-directed or linear layouts while keeping groups intact. Existing Obsidian Canvas nodes get re-laid out with one of six spatial approaches: grid for galleries and mood boards, dagre for flowcharts and org charts, radial for mind maps, force-directed for knowledge graphs, linear for timelines, or auto-detect, which looks at edge density, node types and connection patterns. Group membership is preserved, positions snap to a 20px grid and zones are refitted around their content.

When should I use Obsidian Canvas Re-Layout?

Obsidian Canvas Re-Layout fits situations like: untangling a canvas whose nodes overlap or sprawl; turning a pile of images into a tidy grid gallery; arranging flowchart or org chart nodes left to right or top to bottom; spreading a mind map outward from a hub node.

How do I install Obsidian Canvas Re-Layout in Claude Code?

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

How do I install Obsidian Canvas Re-Layout in Codex?

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

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

What does Obsidian Canvas Re-Layout need to run?

Going by SKILL.md and its folder, Obsidian Canvas Re-Layout needs the command-line tools its instructions call (python3). Our summary lists: Python 3 to run the layout and validation scripts; An Obsidian vault containing the canvas file.

Does Obsidian Canvas Re-Layout 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 Obsidian Canvas Re-Layout 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 Obsidian Canvas Re-Layout use?

Obsidian Canvas Re-Layout 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 Obsidian Canvas Re-Layout use?

About 866 tokens (SKILL.md is roughly 3.5k 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 Obsidian Canvas Re-Layout?

Skills that share tags, products or a category with Obsidian Canvas Re-Layout: LLM Wiki (lewislulu/llm-wiki-skill, 655 stars), Obsidian Canvas Boards (AgriciDaniel/claude-obsidian, 15k stars), Engraph (devwhodevs/engraph, 171 stars) and Subscription Videos Metadata (EfficientStreet/youtube-subscriptions-ingest, 178 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Obsidian Canvas Re-Layout?

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.