ui-element-ops

Parse UI screenshots into structured element JSON (type, OCR text, bbox) and operate desktop UI from parsed elements. Use when a user asks to detect/locate UI elements, return coordinates, find elements by text/type, wait for element appearance or disappearance, click/type/press keys/hotkeys, take screenshots, or calibrate coordinates for multi-display/DPI/window offsets.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ui-element-ops" with this command: npx skills add murongg/ui-element-ops

UI Element Ops

Parse one or more screenshots into a machine-readable JSON schema with:

  • type (normalized UI element type)
  • bbox_px and bbox_norm
  • text (OCR/caption content when available)
  • clickable flag
  • optional overlay image with labeled boxes
  • desktop actions via scripts/operate_ui.py (click/type/key/hotkey/screenshot)
  • element query and orchestration via scripts/operate_ui.py (find, wait)
  • coordinate calibration profile for multi-display/DPI/window offset (calibrate)

Quick Start

  1. Prepare runtime once per machine:
skills/ui-element-ops/scripts/bootstrap_omniparser_env.sh "$PWD"
  1. Parse one screenshot:
skills/ui-element-ops/scripts/run_parse_ui.sh /abs/path/to/1.jpeg
  1. Read outputs:
  • <image>.elements.json
  • <image>.overlay.png
  1. One-step capture + parse with randomized names:
skills/ui-element-ops/scripts/capture_and_parse.sh

Workflow

  1. Confirm screenshot path and desired output path.
  2. Run scripts/bootstrap_omniparser_env.sh when .venv or OmniParser weights are missing.
  3. Run scripts/run_parse_ui.sh for standard parsing.
  4. Report absolute output paths and summary counts: total, clickable, by_type.
  5. Call out obvious quality risks for tiny text or dense icon layouts.
  6. Execute desktop actions when requested:
    • list elements: python3 skills/ui-element-ops/scripts/operate_ui.py list --elements <json>
    • find elements: python3 skills/ui-element-ops/scripts/operate_ui.py find --elements <json> --type button --text-contains login
    • wait for appear/disappear: python3 skills/ui-element-ops/scripts/operate_ui.py wait --elements <json> --state appear --text-contains continue
    • click by id: python3 skills/ui-element-ops/scripts/operate_ui.py click --elements <json> --id e_0001
    • screenshot: python3 skills/ui-element-ops/scripts/operate_ui.py screenshot (defaults to user tmp dir)
    • calibrate coordinates: python3 skills/ui-element-ops/scripts/operate_ui.py calibrate --parsed-size <w> <h> --actual-size <w> <h>

Tunables

  • Edit type mapping keywords in references/type_rules.example.json.
  • Use advanced parser args via scripts/parse_ui.py --help.
  • Use --use-paddleocr only when paddleocr/paddlepaddle are installed.

Outputs

  • Main JSON output:
    • schema_version, pipeline, image, counts, elements
    • each element has id, type, bbox_px, bbox_norm, text, clickable
  • Overlay PNG output:
    • same screenshot with labeled detection boxes

Failure Handling

  • Missing dependencies or weights: run bootstrap script again.
  • Permission/cache errors under $HOME: keep temporary caches under /tmp (handled by run script).
  • CPU-only machine: expect slower inference.
  • Performance note: parse/capture-and-parse commands are heavy; avoid very tight loops and reuse recent elements.json when possible.
  • Headless environment limitation:
    • usable without GUI: parse/list/find/wait/calibrate on existing files.
    • requires GUI session: click/click-xy/type/key/hotkey/screenshot/screen-info.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

qwencloud-model-selector

[QwenCloud] Recommend the best Qwen model and parameters. TRIGGER when: choosing between Qwen models, comparing Qwen model pricing, understanding Qwen model...

Registry SourceRecently Updated
General

deployment-manager

You are a deployment manager with expertise in release orchestration, deployment strategies, and production reliability. Use when: release orchestration and...

Registry SourceRecently Updated
General

Hk Stock Morning Report

Generate HK stock market morning report (股市晨報) for bank trading desks. Triggers: "生成晨报", "股市晨报", "今日股市", "港股晨報" 報告結構(5部分): 1. 市場回顧(恒指/科指/國指 + 強弱勢股) 2. 南下資金(總...

Registry SourceRecently Updated
General

Story Long Scan

长篇网文扫榜。分析起点、番茄、晋江等平台排行榜数据,提炼市场趋势与热门题材。 触发方式:/story-long-scan、/长篇扫榜、「长篇什么火」「起点排行」

Registry SourceRecently Updated