Agent skill

Canvas Presentation Builder

by AgriciDaniel in AgriciDaniel/claude-canvas

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

MITAuto-check passedDocuments & Office

Install Canvas Presentation Builder

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

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

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

At a glance

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

  • Works in 6 steps: Gather context: Ask the user for → Generate slide structure: Claude writes… → Create the canvas → …
  • Turning a topic into a slide deck inside Obsidian
  • SKILL.md covers Operations and Slide Content Guidelines
  • Calls python3

What it does

Two build paths exist. Generating from a topic asks for a title, a slide count (default 6, recommended 6 to 10), a deck or storyboard style, and whether to generate images, then writes a title slide, agenda, content slides, a key-takeaway slide and a closing slide. Building from existing notes instead maps each H1 or H2 heading to a slide title or section, splitting any section longer than 200 words across multiple slides.

The canvas itself starts from a presentation template script, with each slide's text node then edited in individually, optional generated images added as file nodes, and storyboard mode adding a script column beside each slide for video planning. Slides are color-coded by role, title and closing slides one color, content another, key insights and action items their own, and the result is checked with a validation script before the agent tells the user to open it in Obsidian with Advanced Canvas and navigate with arrow keys.

When your agent uses it

  • Turning a topic into a slide deck inside Obsidian
  • Converting existing notes or wiki pages into a presentation canvas
  • Building a storyboard with a script column for video planning

Example prompts

  • “Build an 8-slide presentation canvas about our Q3 roadmap.”
  • “Turn my onboarding notes into a presentation deck.”
  • “Make a storyboard-style canvas with a script column for this video.”

Requirements

  • Obsidian with the Advanced Canvas plugin
  • Python to run the canvas template and validation scripts

Workflow steps

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

  1. Gather context: Ask the user for
  2. Generate slide structure: Claude writes the content for each slide
  3. Create the canvas
  4. Color-code slides per the spec
  5. Validate
  6. Report: "Created [N]-slide presentation at [path]. Open in Obsidian with Advanced Canvas to navigate with arrow keys."

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 Presentation Builder loads about 1.3k tokens when it runs. Until then it costs about 123 tokens; SKILL.md has 479 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
~1.3k

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). 479 words, ~1,309 tokens.

Download SKILL.mdSave it as .claude/skills/canvas-present/SKILL.md (or your agent's skills folder).
name
canvas-present
description
Build presentation-mode canvases for the Advanced Canvas plugin. Creates slide-deck canvases with 1200x675 group nodes connected by edges for arrow-key navigation. Supports title slides, content slides with images, full-text slides, and optional script annotation columns for video planning. Triggers on: canvas present, create presentation, build slide deck, canvas slides, make a presentation, presentation canvas, present from notes, slide deck canvas, canvas presentation.
user-invocable
false

canvas-present: Presentation Canvas Builder

Read ../canvas/references/presentation-spec.md for slide dimensions, navigation edges, layout patterns, and color coding. Read ../canvas/references/performance-guide.md for node limits.


Operations

Build Presentation (/canvas present [topic])

Create a complete presentation canvas from a topic description.

Workflow:

  1. Gather context: Ask the user for:

    • Topic/title (required)
    • Number of slides (default: 6, recommend 6-10)
    • Style: deck (1200×675 clean) or storyboard (1920×1080 with script column)
    • Whether to generate images for slides (requires /banana)
  2. Generate slide structure: Claude writes the content for each slide:

    • Slide 1: Title slide (title, subtitle, date)
    • Slide 2: Agenda/overview
    • Slides 3-N-2: Content slides (key points, data, findings)
    • Slide N-1: Key takeaway / summary
    • Slide N: Next steps / closing
  3. Create the canvas:

    a. Start from the presentation template:

    bash
    python3 scripts/canvas_template.py presentation [output_path] \
      --param title="[topic]" --param slide_count=[N]

    b. Edit each slide's text node with the generated content using the Edit tool.

    c. If images requested: generate via /banana and add as file nodes inside slide groups.

    d. If storyboard style: add script annotation text nodes (width=500) to the right of each slide group.

  4. Color-code slides per the spec:

    • Title/close: "6" (purple)
    • Content: "4" (green)
    • Key insight: "5" (cyan)
    • Action items: "2" (orange)
  5. Validate:

    bash
    python3 scripts/canvas_validate.py [output_path]
  6. Report: "Created [N]-slide presentation at [path]. Open in Obsidian with Advanced Canvas to navigate with arrow keys."


Build from Notes (/canvas present from [notes])

Create a presentation from existing markdown files or wiki pages.

Workflow:

  1. Find source notes: Search for the specified files. If in a claude-obsidian vault, use wiki/ paths. Otherwise search the current directory.

  2. Extract content: Read each note and extract:

    • H1 headings → slide titles
    • H2 headings → slide section markers
    • Key paragraphs → slide body text
    • Images/embeds → slide visuals
    • Bullet lists → slide bullet points
  3. Map to slides: One H1 or H2 section per slide. If a section is too long (>200 words), split into multiple slides.

  4. Generate canvas: Follow the same build workflow as /canvas present [topic], using extracted content instead of Claude-generated content.

  5. Report: "Created presentation from [N] source notes → [M] slides."


Show full SKILL.md (161 more words)Show less
Add Slide (/canvas present add slide [content])

Add a new slide to an existing presentation canvas.

Workflow:

  1. Read the existing presentation canvas.
  2. Find the last slide group (highest y for vertical stack, highest x for horizontal).
  3. Create a new slide group at the next position:
    • Vertical: y = last_slide_y + last_slide_height + 100
    • Horizontal: x = last_slide_x + last_slide_width + 100
  4. Add content text node inside the new slide group.
  5. Add edge from the previously-last slide to the new slide.
  6. Write and validate.

Slide Content Guidelines

Each slide should follow the "one idea per slide" principle:

  • Title: 3-8 words. Use H2 (##) for slide titles.
  • Body: 2-5 bullet points OR 1-2 short paragraphs. Max 100 words per slide.
  • Visual: One image or diagram per content slide. Place to the right of text.
  • Callouts: Use Obsidian callouts for emphasis:
    markdown
    > [!tip] Key Insight
    > The main takeaway in one sentence.

Mermaid in slides: Mermaid diagrams render natively in text nodes. Great for data slides:

markdown
## Revenue Growth

```mermaid
graph LR
    Q1["Q1: $1.2M"] --> Q2["Q2: $1.8M"]
    Q2 --> Q3["Q3: $2.4M"]
    Q3 --> Q4["Q4: $3.1M"]

---

## Integration with Media Skills

When the user requests images for slides:

1. **banana**: Generate hero images, backgrounds, illustrations.
   - Prompt pattern: "[slide topic], presentation slide style, clean, professional"
   - Add as file node inside the slide group (half-width, right-aligned)

2. **svg**: Generate charts, diagrams, icons.
   - Best for data visualization slides
   - Add as file node with viewBox-based sizing

3. **Mermaid**: Native in text nodes — no external skill needed.
   - Best for flowcharts, sequence diagrams, gantt charts inside slides

If media skills are not installed, build text-only presentations and suggest: "Install `/banana` for AI-generated slide images."

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

Open the folder on GitHubat commit 05b808c

Compare with similar skills

Canvas Presentation Builder 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 Presentation Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Canvas Presentation Builder this skillAgriciDaniel/claude-canvas300—~1.3kAutomated safety check: PassMIT
Research Renderiusztinpaul/ai-research-os-workshop179—~3.7kAutomated safety check: PassMIT
Obsidian MarkdownAtmosphere/atmosphere3.8k20 repos~1.3kAutomated safety check: PassApache-2.0
Image To Editable Pptningzimu/image-to-editable-ppt-skill2.8k—~4.3kAutomated safety check: PassMIT
Slidesfcakyon/claude-codex-settings1.2k1 repos~1.1kAutomated safety check: PassMIT
Ppt Image FirstNyxTides/ppt-image-first1.2k—~1.6kAutomated safety check: PassApache-2.0

Similar skills

  • Research Render

    iusztinpaul/ai-research-os-workshop

    Generate a multi-form answer (Marp slide deck, matplotlib chart, Obsidian Canvas, or social content brief) from one or more wiki pages in a research directory and file the output back into…

    179 GitHub stars~3.7k tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed
  • Obsidian Markdown

    Atmosphere/atmosphere

    Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.

    3.8k GitHub starsUsed in 20 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • Image To Editable Ppt

    ningzimu/image-to-editable-ppt-skill

    Rebuild slide images, scanned or image-based PPT/PPTX files, and PDF decks into object-level editable PowerPoint (.pptx), preserving speaker notes when supplied.

    2.8k GitHub stars~4.3k tokensUpdated 23 days ago
    Documents & OfficeAuto-check passed
  • Slides

    fcakyon/claude-codex-settings

    Create and edit presentation slide decks (.pptx) with PptxGenJS, bundled layout helpers, and render/validation utilities.

    1.2k GitHub starsUsed in 1 repo~1.1k tokens
    Documents & OfficeAuto-check passed
  • Ppt Image First

    NyxTides/ppt-image-first

    Build presentation plans for PPT / slides / decks through a conversation-first workflow, then propose multiple visual directions with preview images before writing deck specs.

    1.2k GitHub stars~1.6k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • Pandoc DOCX Template

    Achuan-2/pandoc_docx_template

    A skill your agent uses when converting Markdown to Word DOCX or DOCX back to Markdown with Pandoc, especially when the output should use the bundled Chinese Word reference templates, heading…

    1.1k GitHub stars~1k tokensUpdated 3 mo ago
    Documents & OfficeAuto-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
  • 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.

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

    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

Works with

Questions about Canvas Presentation Builder

What does Canvas Presentation Builder do?

Builds an Obsidian Advanced Canvas slide deck with title, content and closing slides wired together by arrow-key navigation edges. Two build paths exist. Generating from a topic asks for a title, a slide count (default 6, recommended 6 to 10), a deck or storyboard style, and whether to generate images, then writes a title slide, agenda, content slides, a key-takeaway slide and a closing slide.

When should I use Canvas Presentation Builder?

Canvas Presentation Builder fits situations like: turning a topic into a slide deck inside Obsidian; converting existing notes or wiki pages into a presentation canvas; building a storyboard with a script column for video planning.

How do I install Canvas Presentation Builder in Claude Code?

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

How do I install Canvas Presentation Builder in Codex?

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

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

What does Canvas Presentation Builder need to run?

Going by SKILL.md and its folder, Canvas Presentation Builder needs the command-line tools its instructions call (python3). Our summary lists: Obsidian with the Advanced Canvas plugin; Python to run the canvas template and validation scripts.

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

Canvas Presentation Builder 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 Presentation Builder use?

About 1.3k tokens (SKILL.md is roughly 5.2k 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 Presentation Builder?

Skills that share tags, products or a category with Canvas Presentation Builder: Research Render (iusztinpaul/ai-research-os-workshop, 179 stars), Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars), Image To Editable Ppt (ningzimu/image-to-editable-ppt-skill, 2.8k stars) and Slides (fcakyon/claude-codex-settings, 1.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Canvas Presentation Builder?

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.