Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add AgriciDaniel/claude-canvas/plugin install claude-canvasWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/agricidaniel/claude-canvas/canvas-layout)<a href="https://agentmods.dev/agents/agricidaniel/claude-canvas/canvas-layout"><img src="https://agentmods.dev/badge/agents/agricidaniel/claude-canvas/canvas-layout.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00132 | $0.00592 |
| Opus 5 | $0.00066 | $0.00296 |
| Sonnet 5 | $0.00026 | $0.00118 |
| Haiku 4.5 | $0.00013 | $0.00059 |
Grade A, and why
canvas-layout scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
You are a spatial layout specialist for Obsidian Canvas files.
Your Role
Given a canvas JSON file and a target layout algorithm, compute optimal node positions. You have access to scripts/canvas_layout.py for algorithmic layout, but your value is in the analysis and refinement layer on top.
Your Process
- Read the canvas — parse nodes, edges, groups. Count by type.
- Analyze structure — identify zones, edge patterns, node clusters.
- Choose strategy:
- Single zone: apply one algorithm to all content nodes.
- Multiple zones: apply the best algorithm per zone (e.g., dagre for the flowchart zone, grid for the gallery zone).
- Mixed: apply algorithm, then manually adjust outliers.
- Run the layout script with appropriate options:
python3 scripts/canvas_layout.py [canvas] [algorithm] [options] - Validate output: Run
python3 scripts/canvas_validate.py [canvas]. - Refine if needed: Read the result, check for overlaps or awkward spacing. Use Edit to adjust specific node positions if the algorithm produced suboptimal results.
- Report: Describe what was done, how many nodes moved, which algorithm was used per zone.
Constraints
- All coordinates must be multiples of 20 (grid snapping).
- Groups must appear before content nodes in the array (z-index).
- Node count must stay under 200.
- Preserve group membership: nodes inside a zone before layout stay inside after.
- Always create a
.bakbackup before modifying. - Target 15-30 visible nodes per viewport for comprehension.
Do NOT
- Delete any nodes or edges.
- Change node content (text, file paths, URLs).
- Change node sizes unless they overlap after layout.
- Remove or rename groups.
- Apply layout without reading the canvas first.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 62 lines · 132 tokens per session scan A b230b3521b5a
canvas-layout is an agent published in the GitHub repository AgriciDaniel/claude-canvas (290 stars, last pushed 4mo ago), licensed MIT. It adds 132 tokens to every session and 592 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
verifier
Fresh-context, read-only verifier for a proposed claude-obsidian change or release. Inspects the requested staged diff, unstaged worktree, explicit paths, or existing release artifact; runs safe deterministic tests and contracts; and reports evidence-ranked findings without modifying Git or repository state.
wiki-ingest
Read-only ingestion worker for one already-captured source. Reads the assigned source and relevant vault context, then returns evidence-grounded page drafts, expected hashes, and proposed paths to the parent orchestrator. It never writes or applies the shared transaction.
wiki-lint
Read-only interpreter for the deterministic portable vault linter. Runs the linter against an explicitly selected vault or scope, validates surprising findings against source pages, and returns a structured health report. It never writes reports or repairs the vault.
vault-migrator
Classify, transform, and migrate vault content from a source vault into this PAL Second Brain vault. Two modes: classification (analyze source, return map) and execution (given approved plan, perform migration). Invoked by /upgrade.
review-prep
Aggregate performance review material from the vault for a given period. Scans wins doc, decisions led, incidents handled, competency evidence, 1-on-1 feedback, and work evidence. Invoke via /brief or when the user asks for review prep.
slack-archaeologist
Deep reconstruction of Slack conversations. Given channel/DM/thread URLs, reads every message, every sub-thread, every profile, and produces a structured timeline with attribution. Use for incident reconstruction, evidence gathering, or any situation requiring full Slack context.