Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/feiji77-2-canvas
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
canvas- Description
- None
- License
- MIT
- Instructions
- 190 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Agent Skills spec issues
- missing YAML frontmatter
- name: missing
- description: missing
- body: contains an absolute path from the author's machine
Files (1)
- SKILL.md
SKILL.md (first lines)
# Canvas Skill
Display HTML content on connected Clawdbot nodes (Mac app, iOS, Android).
## Overview
The canvas tool lets you present web content on any connected node's canvas view. Great for:
- Displaying games, visualizations, dashboards
- Showing generated HTML content
- Interactive demos
## How It Works
### Architecture
```
┌─────────────────┐ ┌──────────────────┐ ┌─────────────┐
│ Canvas Host │────▶│ Node Bridge │────▶│ Node App │
│ (HTTP Server) │ │ (TCP Server) │ │ (Mac/iOS/ │
│ Port 18793 │ │ Port 18790 │ │ Android) │
└─────────────────┘ └──────────────────┘ └─────────────┘
```
1. **Canvas Host Server**: Serves static HTML/CSS/JS files from `canvasHost.root` directory
2. **Node Bridge**: Communicates canvas URLs to connected nodes
3. **Node Apps**: Render the content in a WebView
### Tailscale Integration
The canvas host server binds based on `gateway.bind` setting:
| Bind Mode | Server Binds To | Canvas URL Uses |
|-----------|-----------------|-----------------|
| `loopback` | 127.0.0.1 | localhost (local only) |
| `lan` | LAN interface | LAN IP address |
| `tailnet` | Tailscale interface | Tailscale hostname |
| `auto` | Best available | Tailscale > LAN > loopback |
**Key insight:** The `canvasHostHostForBridge` is derived from `bridgeHost`. When bound to Tailscale, nodes receive URLs like:
```
http://<tailscale-hostname>:18793/__clawdbot__/canvas/<file>.html
```
This is why localhost URLs don't work - the node receives the Tailscale hostname from the bridge!
## Actions
| Action | Description |
|--------|-------------|
| `present` | Show canvas with optional target URL |
| `hide` | Hide the canvas |
| `navigate` | Navigate to a new URL |
| `eval` | Execute JavaScript in the canvas |
| `snapshot` | Capture screenshot of canvas |
## Configuration
In `~/.clawdbot/clawdbot.json`:
```json
{
"canvasHost": {
"enabled": true,
"port": 18793,
"root": "/Users/you/clawd/canvas",
"liveReload": true
},
"gateway": {
"bind": "auto"
}
}
```
### Live Reload
When `liveReload: true` (default), the canvas host:
- Watches the root directory for changes (via chokidar)
- Injects a WebSocket client into HTML files
- Automatically reloads connected canvases when files change
Great for development!
## Workflow
### 1. Create HTML content
Place files in the canvas root directory (default `~/clawd/canvas/`):
```bash
cat > ~/clawd/canvas/my-game.html << 'HTML'
<!DOCTYPE html>
<html>
<head><title>My Game</title></head>
<body>
<h1>Hello Canvas!</h1>
</body>
</html>
HTML
```
### 2. Find your canvas host URL
Check how your gateway is bound:
```bash
cat ~/.clawdbot/clawdbot.json | jq '.gateway.bind'
```
Then construct the URL:
- **loopback**: `http://127.0.0.1:18793/__clawdbot__/canvas/<file>.html`
- **lan/tailnet/auto**: `http://<hostname>:18793/__clawdbot__/canvas/<file>.html`
Find your Tailscale hostname:
```bash
tailscale status --json | jq -r '.Self.DNSName' | sed 's/\.$//'
```
### 3. Find connected nodes
```bash
clawdbot nodes listFrom feiji77-2/openclaw, MIT.
More from feiji77-2/openclaw
- 0.401score
1Password
feiji77-2
设置并使用1Password CLI (op)。在安装CLI、启用桌面应用集成、登录(单账户或多账户)或通过op读取/注入/运行密钥时使用。
SkillDFreshness: DClaude Code +9 - 0.396score
GitHub
feiji77-2
使用`gh`命令行工具与GitHub交互。使用`gh issue`、`gh pr`、`gh run`和`gh api`处理问题、PR、CI运行和高级查询。
SkillDFreshness: DClaude Code +9 - 0.396score
Apple提醒事项
feiji77-2
通过macOS上的`remindctl` CLI管理Apple提醒事项(列表、添加、编辑、完成、删除)。支持列表、日期筛选器和JSON/纯文本输出。
SkillDFreshness: DClaude Code +9 - 0.396score
ClawdHub
feiji77-2
使用ClawdHub命令行工具从clawdhub.com搜索、安装、更新和发布代理技能。当你需要即时获取新技能、将已安装的技能同步到最新版本或特定版本,或使用npm安装的clawdhub CLI发布新/更新的技能文件夹时使用。
SkillDFreshness: DClaude Code +9 - 0.396score
Apple笔记
feiji77-2
通过macOS上的`memo` CLI管理Apple笔记(创建、查看、编辑、删除、搜索、移动和导出笔记)。当用户要求Clawdbot添加笔记、列出笔记、搜索笔记或管理笔记文件夹时使用。
SkillDFreshness: DClaude Code +9 - 0.396score
食物订购
feiji77-2
使用ordercli重新订购Foodora订单+跟踪预计到达时间/状态。未经用户明确批准,切勿确认。触发词:订购食物、重新订购、跟踪预计到达时间。
SkillDFreshness: DClaude Code +9 - 0.393score
BlueBubbles
feiji77-2
为Clawdbot构建或更新BlueBubbles外部通道插件(扩展包,REST发送/探测,webhook入站)。
SkillDFreshness: DClaude Code +9 - 0.393score
编程代理
feiji77-2
通过后台进程运行Codex CLI、Claude Code、OpenCode或Pi编程代理以进行程序化控制。
SkillDFreshness: DClaude Code +9 - 0.393score
Bird
feiji77-2
通过cookie进行读取、搜索、发布和互动的X/Twitter命令行工具。
SkillDFreshness: DClaude Code +9 - 0.393score
博客监控器
feiji77-2
使用blogwatcher命令行工具监控博客和RSS/Atom订阅源的更新。
SkillDFreshness: DClaude Code +9 - 0.393score
BluOS命令行工具
feiji77-2
BluOS命令行工具(blu),用于设备发现、播放控制、分组和音量调节。
SkillDFreshness: DClaude Code +9 - 0.393score
GIF搜索器
feiji77-2
使用命令行界面/终端用户界面搜索GIF提供商,下载结果,并提取静态图像/图集。
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 117
- Last commit (this folder)
- Jan 18, 2026 (9 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/feiji77-2/openclaw
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.266score
canvas
lllooollpp
No description from the publisher yet.
SkillDFreshness: D★ 38Claude Code +9 - 0.225score
canvas
AungKyawSoe-Tech
No description from the publisher yet.
SkillDFreshness: D★ 1Claude Code +9 - 0.225score
canvas
Rlier
No description from the publisher yet.
SkillDFreshness: D★ 1Claude Code +9 - 0.211score
canvas
rkendel1
No description from the publisher yet.
SkillDFreshness: DClaude Code +9
More from feiji77-2
- 0.401score
1Password
feiji77-2
设置并使用1Password CLI (op)。在安装CLI、启用桌面应用集成、登录(单账户或多账户)或通过op读取/注入/运行密钥时使用。
SkillDFreshness: DClaude Code +9 - 0.396score
Apple提醒事项
feiji77-2
通过macOS上的`remindctl` CLI管理Apple提醒事项(列表、添加、编辑、完成、删除)。支持列表、日期筛选器和JSON/纯文本输出。
SkillDFreshness: DClaude Code +9 - 0.396score
Apple笔记
feiji77-2
通过macOS上的`memo` CLI管理Apple笔记(创建、查看、编辑、删除、搜索、移动和导出笔记)。当用户要求Clawdbot添加笔记、列出笔记、搜索笔记或管理笔记文件夹时使用。
SkillDFreshness: DClaude Code +9 - 0.396score
ClawdHub
feiji77-2
使用ClawdHub命令行工具从clawdhub.com搜索、安装、更新和发布代理技能。当你需要即时获取新技能、将已安装的技能同步到最新版本或特定版本,或使用npm安装的clawdhub CLI发布新/更新的技能文件夹时使用。
SkillDFreshness: DClaude Code +9 - 0.396score
食物订购
feiji77-2
使用ordercli重新订购Foodora订单+跟踪预计到达时间/状态。未经用户明确批准,切勿确认。触发词:订购食物、重新订购、跟踪预计到达时间。
SkillDFreshness: DClaude Code +9 - 0.396score
GitHub
feiji77-2
使用`gh`命令行工具与GitHub交互。使用`gh issue`、`gh pr`、`gh run`和`gh api`处理问题、PR、CI运行和高级查询。
SkillDFreshness: DClaude Code +9
Cite this page
canvas skill. Agent Mart. https://agentmart.dev/skills/feiji77-2-canvas (last updated 2026-10-24)