Dependency checker and installer for agent-canvas, agent-eyes, and canvas-edit skills. Use BEFORE running any canvas skill for the first time, or when canvas skills fail with import/browser errors. Triggers on "setup agent canvas", "install canvas dependencies", "canvas not working", "playwright not found", or any setup/installation request for canvas skills.
npx skills add https://github.com/majiayu000/claude-skill-registry --skill agent-canvas-setup
Checks and installs dependencies for the agent-canvas visual editing skills (agent-eyes, agent-canvas, canvas-edit).
Run this first to see what's needed:
uv run .claude/skills/agent-canvas-setup/scripts/check_setup.py check
If all checks pass → Ready to use canvas skills.
If checks fail → Ask user about installation scope.
ALWAYS ask the user which scope they prefer before installing:
| Scope | What it does | Best for |
|-------|--------------|----------|
| temporary | Browsers installed globally, Python deps cached by uv on-demand (~/.cache/uv) | Most users - minimal footprint |
| local | Creates .venv in project with playwright installed | Projects wanting isolated deps |
| global | Installs browsers globally only (Python deps via uv) | Shared workstations |
Agent Canvas needs some dependencies. How would you like to install them?
1. **temporary** (recommended) - Minimal footprint. Browsers installed to system cache,
Python packages managed on-demand by uv. Nothing added to your project.
2. **local** - Creates a .venv in this project with playwright. Good if you want
all dependencies tracked with the project.
3. **global** - Same as temporary. Browsers go to system cache.
Which do you prefer? (1/2/3 or temporary/local/global)
Agent Canvas can install skills for multiple AI agents. Use --agents to specify which agents:
| Agent | Skills Directory | Description |
|-------|------------------|-------------|
| claude | .claude/skills/ | Claude Code / Claude Desktop (default) |
| codex | .codex/skills/ | OpenAI Codex CLI |
| copilot | .github/skills/ | GitHub Copilot |
| cursor | .cursor/skills/ | Cursor IDE |
| windsurf | .windsurf/skills/ | Windsurf IDE |
| aider | .aider/skills/ | Aider |
# Install for Claude only (default)
uv run .claude/skills/agent-canvas-setup/scripts/check_setup.py install --scope temporary
# Install for Claude and Copilot
uv run .claude/skills/agent-canvas-setup/scripts/check_setup.py install --scope temporary --agents claude,copilot
# Install for all supported agents
uv run .claude/skills/agent-canvas-setup/scripts/check_setup.py install --scope temporary --agents claude,copilot,cursor,windsurf,aider
SKILL_DIR=".claude/skills/agent-canvas-setup/scripts"
# Temporary (recommended) - uv handles Python deps on-demand
uv run $SKILL_DIR/check_setup.py install --scope temporary
# With multi-agent support
uv run $SKILL_DIR/check_setup.py install --scope temporary --agents claude,copilot
# Local - creates .venv in project
uv run $SKILL_DIR/check_setup.py install --scope local
# Global - browsers only (Python via uv)
uv run $SKILL_DIR/check_setup.py install --scope global
~/.cache/ms-playwright/ (Mac/Linux)playwright - Browser automationaxe-playwright-python - Accessibility scanningFor temporary and global scopes, these are cached in ~/.cache/uv/ and loaded on-demand when running scripts.
For local scope, these are installed to .venv/ in the project.
If canvas skills fail, run check first:
uv run .claude/skills/agent-canvas-setup/scripts/check_setup.py check --json
Common issues:
Playwright Chromium: not found → Run install with any scopeuv package manager: not found → User must install uv firstPython 3.10+: need 3.10+ → User must upgrade PythonBefore running any canvas skill for the first time:
check_setup.py checkcheck_setup.py install --scope <choice>check_setup.py check againUse when the user explicitly asks for a desktop or system screenshot (full screen, specific app or window, or a pixel region), or when tool-specific capture capabilities are unavailable and an OS-level capture is needed.
Mirror an iOS Simulator into the Codex in-app browser and render SwiftUI previews from importable Swift packages in that simulator with hot reload. Use when a user wants to watch or interact with an iOS app in the browser, see a SwiftUI preview outside Xcode Canvas, iterate live on a preview, or capture browser-visible simulator proof.
Annotate UI screenshots with documentation callouts in Fellyph's established visual style — uniform-width orange arrows with white halos, double-stroke target outlines, numbered callout cards, dim overlays and a framed canvas. Use this whenever the user asks to annotate a screenshot, add arrows or callouts to a screenshot, create documentation images, highlight UI controls in a capture, or produce docs/tutorial visuals for Playground, Studio or any web UI — even if they just say "add arrows to this" or "make a docs screenshot".
Render pixel-accurate iMessage screenshot mockups (DM or group) from a thread JSON. Supports minimal, with-keyboard, and full iPhone 15 Pro frame variants. Outputs HTML + PNG.
> End-to-end skill that turns a single reference image into a published Gooseworks style — analyzes the image, drafts the slim style spec, renders a hero example plus 2-3 additional formats via Playwright, writes the `gooseworks-style.json` manifest, and publishes via `npx gooseworks styles publish` so other agents can discover it. Mirrors goose-graphics-create-format but for styles.
Resize and validate App Store screenshots with current asc screenshot-size data and macOS sips. Use when preparing or fixing screenshots for App Store Connect submission.
Expert blueprint for HTML5/web export on Compatibility (WebGL 2.0): JavaScriptBridge, localStorage wrapper, custom loading shells, COOP/COEP hosts, relative paths, beforeunload, visibility pause, and size optimization. WebGPU is out of scope. Keywords: web, HTML5, WebGL, Compatibility, JavaScriptBridge, localStorage, COOP, COEP, canvas, browser API.
Generates an automated App Store screenshot pipeline with UI tests for screenshot capture, device framing, localized caption overlays, and multi-size batch export. Use when user wants automated screenshots, App Store screenshot generation, or a fastlane snapshot replacement.
Take majiayu000/agent-canvas-setup from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.