canvas

canvas is a skill for Claude Code from leeguooooo/chrome-use. It costs 124 tokens per session (1,533 once invoked), scanned A, original, from a forked repository, Apache-2.0.

A skill for working with web interfaces drawn into a canvas, a browser area that shows pixels without ordinary page elements. It covers WebGL, games, maps, 3D viewers, drawing tools, and similar interfaces.

In plain words
What is it for?
Use it to capture canvas images, identify targets by their position, click them by coordinates, and handle interfaces such as game boards, map tiles, voice-room seats, and design canvases.
Why use it?
Normal browser inspection cannot find or name objects drawn inside a canvas. This skill explains how to read the visible image and act by screen coordinates instead.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Good fit Use it to capture canvas images, identify targets by their position, click them by coordinates, and handle interfaces such as game boards, map tiles, voice-room seats, and design canvases.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/leeguooooo/chrome-use/canvas
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add leeguooooo/chrome-use --skill canvas
Clone the repo
git clone --depth 1 https://github.com/leeguooooo/chrome-use

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for canvas

README.md
[![agentmods](https://agentmods.dev/badge/skills/leeguooooo/chrome-use/canvas/github.svg)](https://agentmods.dev/skills/leeguooooo/chrome-use/canvas)
Your own site
<a href="https://agentmods.dev/skills/leeguooooo/chrome-use/canvas"><img src="https://agentmods.dev/badge/skills/leeguooooo/chrome-use/canvas/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for canvas

Your own site · 80×15
<a href="https://agentmods.dev/skills/leeguooooo/chrome-use/canvas"><img src="https://agentmods.dev/badge/skills/leeguooooo/chrome-use/canvas.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 124 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,533 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin fork From a forked repository.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00124 $0.01533
Opus 5.5 $0.00050 $0.00613
Sonnet 5.5 $0.00025 $0.00307
Haiku 4.5 $0.00012 $0.00153

Measured 12d ago against content hash 700bda300999, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

canvas scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skill-data/canvas/SKILL.md · 101 lines

How it starts

The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.

chrome-use canvas / WebGL / games

Canvas / WebGL UIs (game boards, voice-room mic seats, map tiles, design canvases). These paint to a <canvas> — there is no DOM node and no accessibility node behind what you see, so snapshot/find/eval querySelector will never return a ref for them. This is a hard limitation, not a missing feature. To work with them:

  • Read the rendered pixels with chrome-use canvas list then chrome-use canvas capture [selector] <file> (extracts the canvas bitmap), or a normal screenshot of the region — then you interpret it.
  • Act by coordinate: compute the target point and chrome-use click <x> <y> (or box @ref on a container to get its CSS-px box first). Coordinates are the correct tool here — the snapshot-first rule explicitly carves out canvas.
  • On the relay, a coordinate click can drift onto the user's foreground tab; prefer a --launch/owned tab for heavy canvas coordinate work, or confirm the underlying state via the app's backend/API instead of driving the canvas.

Canvas / WebGL apps (games, map & 3D viewers, drawing tools)

These paint everything to a <canvas> and expose almost no accessibility tree, so snapshot comes back near-empty and refs are a dead end. snapshot detects this, prints a one-line hint, and also saves a viewport screenshot and prints screenshot: <path>. View that image instead of calling screenshot again (JSON: data.screenshot, screenshotReason: "sparse"; opt out with AGENT_BROWSER_SPARSE_SCREENSHOT=0). Drive them the screenshot way:

chrome-use canvas list                 # enumerate <canvas> elements (size, type)
chrome-use canvas capture out.png      # save the canvas's RENDERED pixels to PNG —
                                          # toDataURL (full backing-store res, e.g.
                                          # Figma 2522x1904), screenshot fallback for
                                          # WebGL w/o preserveDrawingBuffer / tainted.
                                          # Gets the RENDER, not hidden source data
                                          # (those live in the app's binary store/API).
chrome-use screenshot /tmp/s.png       # SEE the state (your only read path —
                                          # eval/get text return nothing useful)
chrome-use click 640 360               # interact by viewport coordinate
chrome-use press d --hold 800          # hold-to-move, precise (timed in-daemon —
                                          # NOT keydown+shell-sleep+keyup, which
                                          # adds ~250ms jitter per round-trip)
chrome-use press Space                 # discrete actions (jump/attack/confirm)

Read the full file on GitHub · 101 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 12d ago Changed 700bda300999
  2. 16d ago Changed · +3 lines dd7ebfbe86a9
  3. 1mo ago First seen · 98 lines · 124 tokens per session scan A 8d5f5e52eb33

Subscribe to this mod's changes

canvas is a skill published in the GitHub repository leeguooooo/chrome-use (206 stars, last pushed yesterday), licensed Apache-2.0. It adds 124 tokens to every session and 1,533 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. It comes from a forked repository.

Related

Other skills, from other repositories

surf

Control Chrome browser via CLI for testing, automation, and debugging. Use when the user needs browser automation, screenshots, form filling, page inspection, network/CPU emulation, DevTools streaming, or AI queries via ChatGPT/Gemini/Perplexity/Grok/AI Studio.

nicobailon/surf-cli · 60 tokens

deep-x-research

Deep, exhaustive research on a topic across X (Twitter) by driving Grok (x.com/i/grok) through surf. Use when the user wants comprehensive X research on a concept, technique, trend, tool, or creator scene; needs categorized findings with every claim traceable to post URLs; or when a single Grok query is not enough.

nicobailon/surf-cli · 76 tokens

user-research-cookiy

End-to-end user research assistant — qualitative and quantitative. Use this skill whenever the user mentions user research, user interviews, discussion guides, interview guides, research plans, qualitative research, quantitative research, user surveys, survey design, usability studies, participant recruitment…

cookiy-ai/user-research-skill · 154 tokens

Agent Browser Automation

Fast Rust-based headless browser automation CLI with Node.js fallback for AI agents, featuring navigation, clicking, typing, snapshots, and structured commands optimized for agent workflows.

PramodDutta/qaskills · 37 tokens

skilld-tui-design

Designs and verifies skilld CLI output, terminal pickers, and full-screen flows. Use for terminal colours, loading feedback, keyboard controls, layout, errors, or end-to-end CLI UX reviews.

skilld-dev/skilld · 47 tokens

Browser-Use Automation

CLI tool for persistent browser automation with multi-session support, featuring Chromium/Real/Remote browser modes, cookie management, JavaScript execution, and long-running automation workflows.

PramodDutta/qaskills · 38 tokens