Agent skill

Investigate Canvas UI

by atty303 in atty303/pob-web

Investigate this repository's Canvas/WebGL UI with Playwright MCP Vision Mode.

MITAuto-check passedGame Development

Install Investigate Canvas UI

skills CLI
$ npx skills add atty303/pob-web --skill investigate-canvas-ui -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install atty303/pob-web investigate-canvas-ui --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/atty303/pob-web.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/investigate-canvas-ui .claude/skills/investigate-canvas-ui && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
investigate-canvas-ui
GitHub stars
103
Token cost
~1.4k tokens
SKILL.md length
786 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Investigate this repository's Canvas/WebGL UI with Playwright MCP Vision Mode.

  • Works in 12 steps: Record the reported reproduction tuple… → Define the user-visible semantic success… → If the reported browser, engine, or mode… → …
  • Visual evidence
  • Calls mise
  • Coordinate input

What it does

Investigate Canvas UI is an agent skill from atty303/pob-web. Investigate this repository's Canvas/WebGL UI with Playwright MCP Vision Mode. Use when visual evidence, coordinate input, or browser errors are needed to understand UI state or behavior.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Game Development, covering 3D graphics and WebGL and Browser testing. It works with Model Context Protocol and Playwright. The repository describes itself as: Online build planner for Path of Exile. The licence is MIT.

When your agent uses it

  • Visual evidence
  • Coordinate input
  • Browser errors are needed to understand UI state

Example prompts

  • “/investigate-canvas-ui”

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. Record the reported reproduction tuple before changing conditions: exact URL, how that URL was reached (for example, a link click or…
  2. Define the user-visible semantic success state and the nearest failed state before testing. Derive load or import expectations from the…
  3. If the reported browser, engine, or mode is already known to be unavailable, record the capability boundary before starting a server and…
  4. When no suitable server is running, choose the narrowest development entry point
  5. Start the selected task in a persistent terminal session. Read its Local: URL from terminal output; the port is selected dynamically, so…
  6. Do not run setup, asset packing, builds, or tests merely because this skill was invoked. If starting the selected server fails, inspect…
  7. Open the selected URL with Playwright MCP in the reported browser and mode when available. If launch fails, record the exact failure and…
  8. Locate Canvas controls and investigation targets from pixels, not accessibility references or assumed coordinates.
  9. Perform only the coordinate operations needed to answer the investigation question. Derive each click, drag, or scroll target from the…
  10. Inspect error-level console messages when diagnosing failures; page errors are included there. When Canvas sizing or resize…
  11. For external load or import failures, inspect each relevant metadata, raw-content, proxy, and any preflight request separately. Record the…
  12. Interpret intermediate signals narrowly. A redirect or title change establishes routing or metadata progress; a request start establishes…

What it can do on your machine

Read from SKILL.md and the folder at commit aead90f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • mise

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Investigate Canvas UI loads about 1.4k tokens when it runs. Until then it costs about 52 tokens; SKILL.md has 786 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~52
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from atty303/pob-web at commit aead90f, republished under its MIT licence (© atty303). 786 words, ~1,412 tokens.

Download SKILL.mdSave it as .claude/skills/investigate-canvas-ui/SKILL.md (or your agent's skills folder).
name
investigate-canvas-ui
description
Investigate this repository's Canvas/WebGL UI with Playwright MCP Vision Mode. Use when visual evidence, coordinate input, or browser errors are needed to understand UI state or behavior.

Investigate Canvas UI

  1. Record the reported reproduction tuple before changing conditions: exact URL, how that URL was reached (for example, a link click or direct entry), browser and engine versions when relevant, headed or headless mode, production or local origin, asset source, and viewport. Include reported profile or privacy state, page zoom, and device-pixel ratio when they may affect the symptom. Reuse a URL supplied by the user or reported by an already-running development server whenever it can expose that state. Mark unknown or unavailable conditions explicitly; do not treat success under a different tuple as confirmation of the reported fix.
  2. Define the user-visible semantic success state and the nearest failed state before testing. Derive load or import expectations from the actual payload or an authoritative reference; a build may legitimately be unnamed or have an empty tree. Use evidence such as the expected current build, class or ascendancy, and allocated passive tree. For a visual layout issue, use an explicit layout contract or known-good reference instead of inferring intent from aesthetics. If no distinguishing expectation is available, stop primary confirmation and report that the success oracle is unavailable. Keep routing, document title, runtime startup, renderer health, and applied build state distinct.
  3. If the reported browser, engine, or mode is already known to be unavailable, record the capability boundary before starting a server and perform only a prerequisite identified by existing evidence and allowed by the task. If the exact tuple remains unavailable, stop primary confirmation at that boundary; do not silently substitute another tuple. If browser launch itself is the reported defect, use the general problem-investigation workflow instead of this Canvas UI workflow.
  4. When no suitable server is running, choose the narrowest development entry point:
    • use mise run driver:dev --game <game> --version <version> for the standalone driver shell;
    • use mise run web:dev for landing-page, routing, version-selection, or web-to-driver behavior;
    • add --pob-cool-asset only when remote assets are part of the investigation.
  5. Start the selected task in a persistent terminal session. Read its Local: URL from terminal output; the port is selected dynamically, so do not assume 5173.
  6. Do not run setup, asset packing, builds, or tests merely because this skill was invoked. If starting the selected server fails, inspect the error and perform only the missing prerequisite it identifies. Request repository-specific authorization if uninitialized submodules are the blocker.
  7. Open the selected URL with Playwright MCP in the reported browser and mode when available. If launch fails, record the exact failure and apply step 3. Within a bounded observation period appropriate to the flow, wait for the relevant request chain and asynchronous model transition to settle into the semantic success state or the nearest failed or stuck state, then take a viewport screenshot. An alternate browser, entry path, or mode can be a useful control experiment but cannot confirm the reported fix. When causal attribution is required, vary one reproduction-tuple dimension at a time; do not require the full cross-product merely to reproduce the primary failure.
  8. Locate Canvas controls and investigation targets from pixels, not accessibility references or assumed coordinates.
  9. Perform only the coordinate operations needed to answer the investigation question. Derive each click, drag, or scroll target from the current screenshot, then take another screenshot and compare the visible result.
  10. Inspect error-level console messages when diagnosing failures; page errors are included there. When Canvas sizing or resize synchronization may participate in the symptom, also confirm the worker backend, resize log, and transferred DOM canvas dimensions. The app transfers control to an OffscreenCanvas, so do not call getContext again on the DOM canvas.
  11. For external load or import failures, inspect each relevant metadata, raw-content, proxy, and any preflight request separately. Record the method, status, response type, and relevant request and response headers; distinguish browser-generated headers from application-supplied headers. Do not require this network investigation for a pure resize, overlay, or other local rendering problem.
  12. Interpret intermediate signals narrowly. A redirect or title change establishes routing or metadata progress; a request start establishes neither a usable response nor model application; Canvas creation, dimensions, frames, or draw counts establish renderer activity. None of those alone proves that a build was applied. Confirm the semantic success state defined in step 2.
  13. Report:
Show full SKILL.md (75 more words)Show less
  • the reproduction tuple, including URL, entry path, browser engine, mode, origin, asset source, and viewport;
  • the semantic success oracle and the observed final state;
  • relevant visual observations and operations;
  • external request and preflight evidence when applicable;
  • backend and Canvas dimensions when inspected;
  • console and page errors;
  • anything that could not be investigated.

Use headless mode by default when the report does not depend on browser mode. To investigate a headed-only discrepancy, restart Codex with PLAYWRIGHT_MCP_HEADED=1.

© atty303, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/investigate-canvas-ui of atty303/pob-web.

Open the folder on GitHubat commit aead90f

Compare with similar skills

Investigate Canvas UI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Investigate Canvas UI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Investigate Canvas UI this skillatty303/pob-web103—~1.4kAutomated safety check: PassMIT
Playwright Testingchongdashu/vibejam-starter-pack149—~2.2kAutomated safety check: PassNone
Invisible Playwrightfeder-cr/invisible_dots32k—~573Automated safety check: PassMIT
Playwright E2E Testsonyx-dot-app/onyx32k1 repos~2.8kAutomated safety check: NotesCustom licence
Shogun Screenshotyohey-w/multi-agent-shogun1.4k—~901Automated safety check: NotesMIT
Playwright Debugvoicetreelab/voicetree924—~1.2kAutomated safety check: PassCustom licence

Similar skills

  • Playwright Testing

    chongdashu/vibejam-starter-pack

    Plan, implement, and debug frontend tests: unit/integration/E2E/visual/a11y.

    149 GitHub stars~2.2k tokensUpdated 5 mo ago
    Testing & QAAuto-check passed
  • Invisible Playwright

    feder-cr/invisible_dots

    Use the Dot's browser identities for any task on a website or search on the web: which identity to use, opening and closing one, and when a plain download is simpler than a browser.

    32k GitHub stars~573 tokensUpdated today
    Testing & QAAuto-check passed
  • Playwright E2E Tests

    onyx-dot-app/onyx

    Write and maintain Playwright end-to-end tests for the Onyx application.

    32k GitHub starsUsed in 1 repo~2.8k tokens
    Testing & QAAuto-check: notes
  • Shogun Screenshot

    yohey-w/multi-agent-shogun

    スクリーンショットの取得・加工を行う。ローカルスクショから最新画像を取得、 PlaywrightでWebページをキャプチャ、画像のトリミング・リサイズ、機微情報を黒塗りマスキング。

    1.4k GitHub stars~901 tokensUpdated 2 mo ago
    Testing & QAAuto-check: notes
  • Playwright Debug

    voicetreelab/voicetree

    This skill should be used when the user asks to "debug the electron app", "connect playwright to VoiceTree", "take screenshots of the running app", "interact with the live UI", "inspect the running…

    924 GitHub stars~1.2k tokensUpdated 3 days ago
    Testing & QAAuto-check passed
  • Hands On Test

    ktnyt/cclsp

    Performs manual hands-on testing of a web application using playwright-cli.

    675 GitHub stars~1.7k tokensUpdated 7 mo ago
    Testing & QAAuto-check passed

More from atty303/pob-web

  • Sync Simplegraphic

    atty303/pob-web

    Synchronize pob-web with PathOfBuilding-SimpleGraphic only when the user explicitly invokes $sync-simplegraphic.

    103 GitHub stars~1.4k tokensUpdated 6 days ago
    Auto-check passed

Questions about Investigate Canvas UI

What does Investigate Canvas UI do?

Investigate this repository's Canvas/WebGL UI with Playwright MCP Vision Mode. Investigate Canvas UI is an agent skill from atty303/pob-web. Investigate this repository's Canvas/WebGL UI with Playwright MCP Vision Mode.

When should I use Investigate Canvas UI?

Investigate Canvas UI fits situations like: visual evidence; coordinate input; browser errors are needed to understand UI state.

How do I install Investigate Canvas UI in Claude Code?

Run `npx skills add atty303/pob-web --skill investigate-canvas-ui -a claude-code`. Or copy the skill folder (.agents/skills/investigate-canvas-ui in atty303/pob-web) into .claude/skills/investigate-canvas-ui in your project. Claude Code loads it when a task matches its description.

How do I install Investigate Canvas UI in Codex?

Run `npx skills add atty303/pob-web --skill investigate-canvas-ui -a codex`. Or copy the skill folder (.agents/skills/investigate-canvas-ui in atty303/pob-web) into .agents/skills/investigate-canvas-ui in your project. Codex loads it when a task matches its description.

Can I use Investigate Canvas UI in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add atty303/pob-web --skill investigate-canvas-ui -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/investigate-canvas-ui, .gemini/skills/investigate-canvas-ui, .github/skills/investigate-canvas-ui and .opencode/skills/investigate-canvas-ui in your project.

What does Investigate Canvas UI need to run?

Going by SKILL.md and its folder, Investigate Canvas UI needs the command-line tools its instructions call (mise).

Does Investigate Canvas UI access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Investigate Canvas UI safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Investigate Canvas UI use?

Investigate Canvas UI is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Investigate Canvas UI use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Investigate Canvas UI?

Skills that share tags, products or a category with Investigate Canvas UI: Playwright Testing (chongdashu/vibejam-starter-pack, 149 stars), Invisible Playwright (feder-cr/invisible_dots, 32k stars), Playwright E2E Tests (onyx-dot-app/onyx, 32k stars) and Shogun Screenshot (yohey-w/multi-agent-shogun, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Investigate Canvas UI?

atty303 (a GitHub user) maintains it in atty303/pob-web, which has 103 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 5, 2026.

Source: atty303/pob-web on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.