/canvas
Spawn interactive terminal canvases for calendars, documents, and flight booking
> /plugin marketplace add dvdsgl/claude-canvas > /plugin install canvas@claude-canvas
How it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/canvas
Context preview
What this command does when you run it.
Spawn interactive terminal canvases for calendars, documents, and flight booking
Command definition
canvas.mdname: canvas
description: Spawn interactive terminal canvases for calendars, documents, and flight booking
Canvas Command
Spawn and control interactive terminal displays (TUIs) in tmux split panes.
Usage
When the user invokes `/canvas`, help them spawn the appropriate canvas type based on their needs.
Workflow
Step 1: Determine Canvas Type
Ask what kind of canvas the user needs:
- **Calendar** - Display events or pick meeting times
- **Document** - View or edit markdown content
- **Flight** - Compare flights and select seats
Step 2: Gather Configuration
Based on the canvas type, collect the necessary configuration:
**Calendar:**
- Events to display (title, start/end times)
- For meeting picker: multiple calendars with busy times
- Slot granularity (15/30/60 minutes)
**Document:**
- Markdown content to display
- Document title
- Edit mode or display-only
- Optional diff highlighting
**Flight:**
- Flight options (airline, times, prices)
- Seatmap configuration
- Origin/destination airports
Step 3: Spawn Canvas
Use the CLI to spawn the canvas:
cd ${CLAUDE_PLUGIN_ROOT}
bun run src/cli.ts spawn [type] --scenario [scenario] --config '[json]'**Examples:**
# Calendar display
bun run src/cli.ts spawn calendar --config '{"events": [...]}'
# Meeting picker
bun run src/cli.ts spawn calendar --scenario meeting-picker --config '{"calendars": [...]}'
# Document editor
bun run src/cli.ts spawn document --scenario edit --config '{"content": "# Title", "title": "Doc"}'
# Flight booking
bun run src/cli.ts spawn flight --config '{"flights": [...]}'Step 4: Handle Results
Wait for user interaction and handle the result:
- **Selected**: User made a selection (time slot, text, flight+seat)
- **Cancelled**: User pressed Escape or quit
- **Error**: Something went wrong
Requirements
- Must be running inside a tmux session
- Terminal should support mouse input for interactive scenarios
Skills Reference
Read these skills for detailed configuration options:
- `canvas` - Overview and IPC communication
- `calendar` - Calendar events and meeting picker
- `document` - Markdown rendering and text selection
- `flight` - Flight comparison and seatmaps
Read more
name: canvas description: Spawn interactive terminal canvases for calendars, documents, and flight booking
Canvas Command
Spawn and control interactive terminal displays (TUIs) in tmux split panes.
Usage
When the user invokes `/canvas`, help them spawn the appropriate canvas type based on their needs.
Workflow
Step 1: Determine Canvas Type
Ask what kind of canvas the user needs:
- **Calendar** - Display events or pick meeting times
- **Document** - View or edit markdown content
- **Flight** - Compare flights and select seats
Step 2: Gather Configuration
Based on the canvas type, collect the necessary configuration:
**Calendar:**
- Events to display (title, start/end times)
- For meeting picker: multiple calendars with busy times
- Slot granularity (15/30/60 minutes)
**Document:**
- Markdown content to display
- Document title
- Edit mode or display-only
- Optional diff highlighting
**Flight:**
- Flight options (airline, times, prices)
- Seatmap configuration
- Origin/destination airports
Step 3: Spawn Canvas
Use the CLI to spawn the canvas:
cd ${CLAUDE_PLUGIN_ROOT}
bun run src/cli.ts spawn [type] --scenario [scenario] --config '[json]'**Examples:**
# Calendar display
bun run src/cli.ts spawn calendar --config '{"events": [...]}'
# Meeting picker
bun run src/cli.ts spawn calendar --scenario meeting-picker --config '{"calendars": [...]}'
# Document editor
bun run src/cli.ts spawn document --scenario edit --config '{"content": "# Title", "title": "Doc"}'
# Flight booking
bun run src/cli.ts spawn flight --config '{"flights": [...]}'Step 4: Handle Results
Wait for user interaction and handle the result:
- **Selected**: User made a selection (time slot, text, flight+seat)
- **Cancelled**: User pressed Escape or quit
- **Error**: Something went wrong
Requirements
- Must be running inside a tmux session
- Terminal should support mouse input for interactive scenarios
Skills Reference
Read these skills for detailed configuration options:
- `canvas` - Overview and IPC communication
- `calendar` - Calendar events and meeting picker
- `document` - Markdown rendering and text selection
- `flight` - Flight comparison and seatmaps
A TUI toolkit that gives Claude Code its own display. Spawn interactive terminal interfaces for emails, calendars, flight bookings, and more. Note: This is a proof of concept and is unsupported.

