agent-canvas
Interactive element picker for web pages. Opens a browser with click-to-select UI overlay. Use when you need to let users visually select DOM elements, identify element selectors, or get detailed element information interactively. Triggers on "select an element", "pick element", "let me choose", "which element", or any interactive element selection task. Integrates with agent-eyes for visual context.
npx skills add majiayu000/claude-skill-registry --skill agent-canvas-edrouhardmicrosoft-agent-canvas-skills --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
# Agent Canvas Interactive element picker that opens a browser window with a DevTools-like selection overlay. Users hover to highlight elements and click to select. Returns detailed element info including selector, bounding box, and computed styles. ## First-Time Setup **Before first use**, verify dependencies are installed: ```bash uv run .claude/skills/agent-canvas-setup/scripts/check_setup.py check ``` If checks fail, ask user which installation scope they prefer and run: ```bash # Recommended: minimal footprint, uv manages deps on-demand uv run .claude/skills/agent-canvas-setup/scripts/check_setup.py install --scope temporary # Alternative: create .venv in project uv run .claude/skills/agent-canvas-setup/scripts/check_setup.py install --scope local ``` See `agent-canvas-setup` skill for full details on installation options. ## Quick Start for AI Agents When using agent-canvas, **always follow this pattern**: 1. **Launch the picker** (browser opens for user interaction) 2. **Wait for browser to close** (user finishes selecting/editing) 3. **Read session from disk** (NOT from stdout - it may be lost) ```bash # 1. Launch (user interacts with browser) uv run .claude/skills/agent-ca
- First-Time Setup
- Quick Start for AI Agents
- Commands
- Pick Element
- Watch for Changes
- Typical Workflow
- Integration with Agent Eyes
- Integration with Canvas Edit
- Session Artifacts (IMPORTANT)
- After Browser Closes - Read the Session
- Session Structure
- Key Fields in session.json
- Checking What Changed
- Notes
uv run .claude/skills/agent-canvas-setup/scripts/check_setup.py check uv run .claude/skills/agent-canvas-setup/scripts/check_setup.py install --scope temporary uv run .claude/skills/agent-canvas-setup/scripts/check_setup.py install --scope local uv run .claude/skills/agent-canvas/scripts/agent_canvas.py pick http://localhost:3000 --with-edit --with-eyes cat .canvas/sessions/$SESSION_ID/session.json | jq '.summary' Basic pick - opens browser, streams selections as JSON lines uv run $SKILL_DIR/agent_canvas.py pick http://localhost:3000 Pick with agent-eyes integration (adds screenshot + detailed styles per selection) uv run $SKILL_DIR/agent_canvas.py pick http://localhost:3000 --with-eyes Pick with edit panel (floating DevTools for live style editing)
What does the agent-canvas skill do?
Interactive element picker for web pages. Opens a browser with click-to-select UI overlay. Use when you need to let users visually select DOM elements, identify element selectors, or get detailed element information interactively. Triggers on "select an element", "pick element", "let me choose", "which element", or any interactive element selection task. Integrates with agent-eyes for visual context.
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill agent-canvas-edrouhardmicrosoft-agent-canvas-skills --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
