Chalk Labs
Need help deploying canvas?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
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/cogpy-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
- 199 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 OpenCog 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/__opencog__/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 `~/.opencog/opencog.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 ~/.opencog/opencog.json | jq '.gateway.bind'
```
Then construct the URL:
- **loopback**: `http://127.0.0.1:18793/__opencog__/canvas/<file>.html`
- **lan/tailnet/auto**: `http://<hostname>:18793/__opencog__/canvas/<file>.html`
Find your Tailscale hostname:
```bash
tailscale status --json | jq -r '.Self.DNSName' | sed 's/\.$//'From cogpy/clawcog, MIT.
More from cogpy/clawcog
- 0.390score
1password
cogpy
Set up and use 1Password CLI (op).
SkillDFreshness: DClaude Code +9 - 0.385score
apple-notes
cogpy
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes).
SkillDFreshness: DClaude Code +9 - 0.385score
bluebubbles
cogpy
Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration).
SkillDFreshness: DClaude Code +9 - 0.382score
apple-reminders
cogpy
Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete).
SkillDFreshness: DClaude Code +9 - 0.382score
prose
cogpy
OpenProse VM skill pack.
SkillDFreshness: DClaude Code +9 - 0.227score
coding-agent
cogpy
Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.
SkillDFreshness: DClaude Code +9 - 0.227score
blogwatcher
cogpy
Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
SkillDFreshness: DClaude Code +9 - 0.227score
blucli
cogpy
BluOS CLI (blu) for discovery, playback, grouping, and volume.
SkillDFreshness: DClaude Code +9 - 0.225score
camsnap
cogpy
Capture frames or clips from RTSP/ONVIF cameras.
SkillDFreshness: DClaude Code +9 - 0.225score
bear-notes
cogpy
Create, search, and manage Bear notes via grizzly CLI.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Feb 10, 2026 (8 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/cogpy/clawcog
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from cogpy
- 0.390score
1password
cogpy
Set up and use 1Password CLI (op).
SkillDFreshness: DClaude Code +9 - 0.385score
apple-notes
cogpy
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes).
SkillDFreshness: DClaude Code +9 - 0.385score
bluebubbles
cogpy
Use when you need to send or manage iMessages via BlueBubbles (recommended iMessage integration).
SkillDFreshness: DClaude Code +9 - 0.382score
prose
cogpy
OpenProse VM skill pack.
SkillDFreshness: DClaude Code +9 - 0.382score
apple-reminders
cogpy
Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete).
SkillDFreshness: DClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get canvas running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
canvas skill. Agent Mart. https://agentmart.dev/skills/cogpy-canvas (last updated 2026-10-24)