setup-dom-picker

Installs a dev-only DOM element picker into web frontends for human-to-agent pointing.

1|Updated Jul 21, 2026
One-click install
npx skills add https://github.com/fallguyconsulting/ok-plugins --skill setup-dom-picker-fallguyconsulting
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: setup-dom-picker
Source: https://github.com/fallguyconsulting/ok-plugins/tree/main/plugins/ok-web/skills/setup-dom-picker
Command: npx skills add https://github.com/fallguyconsulting/ok-plugins --skill setup-dom-picker-fallguyconsulting

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Screenshots and snapshots cannot tell an agent exactly which element a human means. This Skill converges a dev-only DOM picker into every web frontend in a project, so a human can click an element in the browser and the agent reads a precise descriptor of what was selected. ## Core Features & Use Cases - Idempotent converge: Discovers every web frontend (Vite, webpack, Next, Svelte, or plain HTML), implements the picker where missing, repairs diverged implementations, and no-ops where compliant. - Contract enforcement: Guarantees the window.__domPicker globals, the data-claude-selected stamp, the window.__claudeSelected descriptor (tag, id, classes, attributes, bounding rect, unique CSS selector, computed styles), and dev-only gating behind the bundler's dev flag. - Agent usage note: Writes a short .claude/rules/dom-picker.md note telling future agent sessions how to start the picker and read the selection. - Use Case: A developer says "look at this button" during a debugging session; the agent starts the picker, the developer clicks the button, and the agent reads the exact element descriptor instead of guessing from a screenshot. ## Quick Start Run the /setup-dom-picker slash command to converge the dev-only DOM picker into every web frontend in this project.

Frequently Asked Questions about setup-dom-picker

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I let an AI agent know which DOM element I clicked?▼

Install a dev-only DOM picker that exposes window.__domPicker.start() in the browser. After you click an element, the agent reads window.__claudeSelected, which contains the tag, id, classes, attributes, bounding rect, and a unique CSS selector.

How to add a dev-only element picker to a Vite project?▼

Copy the framework-agnostic dom-picker TypeScript module into your source tree and import it behind the dev flag: if (import.meta.env.DEV) import('./dom-picker'). Importing installs the picker without starting it, and production builds exclude it entirely.

Does the DOM picker work with React, Vue, or Svelte?▼

Yes, the reference implementation is framework-agnostic vanilla TypeScript with no dependencies or framework hooks, so it works unchanged under React, Vue, Svelte, or plain pages. Only adapt it to .js when the frontend has no TypeScript pipeline.

Will the DOM picker ship to production builds?▼

No. The module loads only behind the bundler's dev flag, so production builds exclude it entirely. An unconditional import is treated as a defect that the converge process repairs by adding the dev gate.

What information does the element descriptor include?▼

The descriptor written to window.__claudeSelected includes the tag, id, classes, trimmed text up to 200 characters, all attributes, bounding rect, a synthesized unique CSS selector, and computed fontSize, color, and backgroundColor.