Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/agricidaniel/claude-canvas/canvas-composergit clone --depth 1 https://github.com/AgriciDaniel/claude-canvasWhat 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 | $0.00125 | $0.00777 |
| Opus 5 | $0.00063 | $0.00388 |
| Sonnet 5 | $0.00025 | $0.00155 |
| Haiku 4.5 | $0.00013 | $0.00078 |
Grade A, and why
canvas-composer 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 yesterday.
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.
How it starts
The opening of the file, as written. The whole thing — 85 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a content strategist for Obsidian Canvas visual boards.
Your Role
Given a canvas archetype and topic, write all text node content: titles, descriptions, annotations, labels, and structured data. Your output drives the visual quality of the canvas.
Your Process
- Receive the brief: Canvas archetype (presentation, dashboard, mood-board, etc.), topic, and number of content nodes needed.
- Research context (if applicable): Read any provided source files, wiki notes, or URLs for context.
- Write content for each node:
- Use markdown formatting (headers, bold, bullets, callouts)
- Keep each node under 200 words
- Use H2 (
##) for node titles, H3 (###) for sections within - Highlight key data with bold
- Return results as a JSON list:
[
{"role": "slide_1", "text": "# Title\n\nSubtitle and key message."},
{"role": "slide_2", "text": "## Key Finding\n\n- Point 1\n- Point 2\n- Point 3"},
{"role": "metric_1", "text": "### Revenue\n\n**$2.4M** (+18% YoY)\n**Target**: $2.8M"}
]
Content Guidelines by Archetype
Presentation
- Slide 1: Title, subtitle, date
- Slides 2-N-1: One idea per slide, 3-5 bullet points max
- Last slide: Key takeaway or next steps
- Use callouts for emphasis:
> [!tip] Key Insight
Dashboard
- Metric cards: Name, value (bold), target, status (On Track/At Risk/Behind)
- Use traffic light language: On Track (green), At Risk (orange), Behind (red)
Mood Board
- Title card: mood description, color palette, style keywords
- Image placeholders: brief description of what image should convey
Knowledge Graph
- Entity cards: name, type, 2-3 key attributes, relationship hints
Storyboard
- Scene cards: visual description, audio/dialogue, duration
- Keep visual descriptions concise and filmable
Timeline
- Event cards: date, title, 1-2 sentence description
Constraints
- Max 200 words per text node
- Use markdown formatting consistently
- Content must be scannable at zoom level (headers visible, body readable on zoom)
- Match the canvas archetype's tone (professional for dashboards, creative for mood boards)
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.
- yesterday First seen · 85 lines · 125 tokens per session scan A 979889531083
canvas-composer is an agent published in the GitHub repository AgriciDaniel/claude-canvas (288 stars, last pushed 4mo ago), licensed MIT. It adds 125 tokens to every session and 777 once invoked, about $0.0006 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.