From aradotso-trending-skills-37
Guides installation and usage of Collaborator macOS app for agentic development on infinite canvas with terminals, files, markdown, images, and AI agents like Claude Code.
npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-1 --plugin aradotso-trending-skills-37This skill uses the workspace's default tool permissions.
```markdown
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
---
name: collaborator-ai-canvas
description: Skill for using Collaborator, a native macOS desktop app for agentic development on an infinite canvas with terminals, files, and AI agents.
triggers:
- "set up collaborator for agentic development"
- "install collaborator on mac"
- "use collaborator with AI agents"
- "open workspace in collaborator"
- "create terminal tile on canvas"
- "drag files onto collaborator canvas"
- "configure collaborator workspace"
- "run coding agent in collaborator"
---
# Collaborator AI Canvas
> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
Collaborator is a native macOS desktop application (Apple Silicon only) that provides an infinite canvas where you can arrange terminal sessions, markdown notes, code files, and images side-by-side. It is purpose-built for running AI coding agents (Claude Code, Cursor, Codex, etc.) without context switching.
---
## Installation
### One-line install (recommended)
```sh
curl -fsSL https://raw.githubusercontent.com/collaborator-ai/collab-public/main/install.sh | bash
Download the latest .dmg from:
https://github.com/collaborator-ai/collab-public/releases/latest
Requirements: macOS, Apple Silicon (arm64). Intel Macs are not supported.
Cmd+Shift+O# Example: start Claude Code in your workspace
claude
# Example: start Codex
codex
# Example: run any shell command
npm run dev
┌──────────────────────────────────────────────────┐
│ Navigator (sidebar) │ Canvas (infinite) │
│ ┌─────────────────┐ │ ┌──────┐ ┌──────────┐ │
│ │ Workspace │ │ │ term │ │ note.md │ │
│ │ dropdown │ │ └──────┘ └──────────┘ │
│ ├─────────────────┤ │ │
│ │ File tree │ │ ┌──────────┐ │
│ │ (expand/collapse)│ │ │ code.ts │ │
│ └─────────────────┘ │ └──────────┘ │
└──────────────────────────────────────────────────┘
| Action | Input |
|---|---|
| Pan canvas | Scroll wheel, Space+drag, or middle-click+drag |
| Zoom in | Cmd+= or Ctrl+scroll up |
| Zoom out | Cmd+- or Ctrl+scroll down |
| Reset zoom | Cmd+0 |
| Create terminal | Double-click empty canvas space |
| Open file as tile | Drag file from navigator onto canvas |
| Close viewer | Escape |
| Search files | Cmd+K |
| Add workspace | Cmd+Shift+O |
| Rename file | F2 |
Shift while scrolling..md, .mdx, .markdown, or .txt file onto the canvas.[[links]]..png, .jpg, .jpeg, .gif, .svg, or .webp onto the canvas.Workspace dropdown (top of navigator)
├── Switch to any workspace (click to activate)
├── Add workspace → Cmd+Shift+O → pick a folder
└── Remove workspace → removes from list, does NOT delete files
~/.collaborator/config.json.| Action | How |
|---|---|
| Expand/collapse folder | Click folder |
| Open file in viewer | Click file |
| Open file as canvas tile | Drag file onto canvas |
| Create new note | Navigator toolbar → new note icon (creates Untitled.md) |
| Create new folder | Navigator toolbar → new folder icon |
| Rename | Select file → F2 |
| Delete | Select file → Delete key (moves to Trash) |
| Move file | Drag between folders |
| Multi-select | Shift+click (range), Cmd+click (individual) |
| Search | Cmd+K |
View modes:
Sort options (cycle through):
All state is stored in ~/.collaborator/. You can inspect or back these up manually.
~/.collaborator/canvas-state.json{
"version": 1,
"tiles": [
{
"id": "tile-1742024800000-0",
"type": "term",
"x": 120,
"y": 80,
"width": 440,
"height": 540,
"filePath": null,
"zIndex": 1
},
{
"id": "tile-1742024900000-1",
"type": "note",
"x": 600,
"y": 80,
"width": 440,
"height": 540,
"filePath": "/Users/you/project/README.md",
"zIndex": 2
},
{
"id": "tile-1742025000000-2",
"type": "code",
"x": 1080,
"y": 80,
"width": 600,
"height": 540,
"filePath": "/Users/you/project/src/index.ts",
"zIndex": 3
}
],
"viewport": {
"panX": -60,
"panY": -20,
"zoom": 0.85
}
}
type values: "term", "note", "code", "image"~/.collaborator/config.json{
"workspaces": [
"/Users/you/projects/my-app",
"/Users/you/projects/another-project"
],
"active_workspace": 0,
"window_state": {
"x": 100,
"y": 50,
"width": 1440,
"height": 900,
"isMaximized": false
},
"ui": {}
}
File tiles track their source file on disk:
| Event | Tile behavior |
|---|---|
| File renamed | Tile updates to track the new path automatically |
| File deleted | Tile is closed |
| File content changed externally | Tile reloads automatically |
This means agents editing files in terminals will be reflected live in open tiles.
Canvas layout:
┌─────────────────┐ ┌──────────────────────┐
│ Terminal │ │ CLAUDE.md / spec.md │
│ (claude / codex)│ │ (note tile) │
└─────────────────┘ └──────────────────────┘
CLAUDE.md or your spec file onto canvas → note tile.Canvas layout:
┌─────────────────┐ ┌──────────────────────┐
│ Terminal │ │ src/main.py │
│ (agent running) │ │ (code tile, live) │
└─────────────────┘ └──────────────────────┘
Drag src/main.py onto canvas. As the agent edits it, the code tile updates live.
Canvas layout:
┌───────────┐ ┌───────────┐ ┌──────────────┐
│ Agent 1 │ │ Agent 2 │ │ notes.md │
│ (frontend)│ │ (backend) │ │ (shared spec)│
└───────────┘ └───────────┘ └──────────────┘
Each terminal tile has its own independent tmux session. Both agents run concurrently. Pan the canvas to monitor both.
# Back up current state
cp ~/.collaborator/canvas-state.json ~/.collaborator/canvas-state.backup.json
# Reset canvas (removes all tiles, resets viewport)
cat > ~/.collaborator/canvas-state.json << 'EOF'
{
"version": 1,
"tiles": [],
"viewport": {
"panX": 0,
"panY": 0,
"zoom": 1.0
}
}
EOF
# Add a workspace path directly to config
node -e "
const fs = require('fs');
const path = require('os').homedir() + '/.collaborator/config.json';
const cfg = JSON.parse(fs.readFileSync(path, 'utf8'));
cfg.workspaces.push('/Users/you/projects/new-project');
fs.writeFileSync(path, JSON.stringify(cfg, null, 2));
console.log('Workspace added.');
"
Clicking a file in the navigator opens it in the Viewer — a full-featured editor/reader in the main area.
| File type | Viewer behavior |
|---|---|
.md, .mdx, .markdown, .txt | Rich text editor, frontmatter, cover images, [[wiki links]] |
| All other text/code files | Monaco Editor, syntax highlighting, line numbers |
| Images (png/jpg/gif/svg/webp) | Image display with metadata |
Escape to close the viewer (when not actively editing).# Remove quarantine flag after manual download
xattr -cr /Applications/Collaborator.app
# macOS: check and raise fs watcher limit if needed
launchctl limit maxfiles
sudo launchctl limit maxfiles 65536 200000
# Reset canvas state
echo '{"version":1,"tiles":[],"viewport":{"panX":0,"panY":0,"zoom":1.0}}' \
> ~/.collaborator/canvas-state.json
tmux ls
tmux kill-session -t <session-name>
# Remove app state (workspaces, canvas, config)
rm -rf ~/.collaborator/
# Reinstall
curl -fsSL https://raw.githubusercontent.com/collaborator-ai/collab-public/main/install.sh | bash
~/.collaborator/term, note, code, image