aohp-ui-actions
Tap, swipe, keys, text, node-targeted actions, and node progress updates on a logical display via the aohp CLI (UI-level injection; not app launch, files, or…
Skill by aohp-os
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/aohp-os-aohp-ui-actions
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/aohp-ui-actions
What's inside
- Skill name
aohp-ui-actions- Description
- Tap, swipe, keys, text, node-targeted actions, and node progress updates on a logical display via the aohp CLI (UI-level injection; not app launch, files, or shell).
- License
- Apache-2.0
- Instructions
- 110 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# AOHP UI actions
## When to use
- Drive **taps**, **swipes**, **keys**, **text entry**, **node-based** actions, and **node progress updates** on a **logical display** (`displayId`), including virtual displays created for the agent.
- Use `**aohp act tap-node`** / `**aohp act long-tap-node**` / `**aohp act input-node**` when you already have a node `**id**` from `**aohp ui tree**` (integer `**id**` on each node).
- Use `**aohp act set-node-progress**` for a **SeekBar** / slider: **`--value` / `-V`** sets a **concrete raw value** in the widget's own range (for example brightness **-100..100**). **`--percent` / `-P`** sets **where you are along the full span** as **0–100** (not that raw number); once you know **`rangeMin`** and **`rangeMax`**, the implied raw value is approximately **`rangeMin + (rangeMax - rangeMin) * (P / 100)`** (same as **`(rangeMax - rangeMin) * (P / 100) + rangeMin`**).
## Text input: `act.input` / `act.input_node`
Both commands focus a field (already focused for `**aohp act input**`, or tap-then-type for `**aohp act input-node**`), then apply **`--mode` / JSON `inputMode`**:
| Mode | Behavior |
|------|----------|
| **`replace`** (default) | Clears the field, then commits text. **`-N` / JSON `clearCount`** is ignored (kept for compatibility). |
| **`append`** | Send **MOVE_END**, then commit text (appends after existing content). |
| **`prepend`** | Send **MOVE_HOME**, then commit text (inserts before existing content). |
To clear without typing: **`aohp act clear -d <displayId>`** → **`act.clear`** (clears the **focused** editable; optional **`-f` / `flags`** for the accessibility dump path). To clear a specific node's field: **`aohp act clear-node -d <id> -i <nodeId>`** → **`act.clear_node`** (tap node, then **ACTION_SET_TEXT** on that **nodeId**).
## Workflow
1. **`aohp ui tree -d <displayId> [-f]`** (or **`aohp ui-tree …`**) to read node **`id`**, **`bounds`**, text/description/resource-id, and action states from the compact HTML output. Add **`-o` / `--origin`** only when you need the full origin JSON.
2. Run `**aohp act …**` with the **same** `**-d` / `--display`**.
3. Fetch the tree again after navigation or large UI changes.
**Compared to screen coordinates** (e.g. bottom-right FAB), prefer **`aohp act tap-node`** / **`act input-node`** with ids from a fresh tree.
## Examples (copy-paste CLI)
```bash
# Tap (-t = press duration in ms)
aohp act tap -d 0 -x 540 -y 960 -t 50
# Type into the focused field (default: replace = clear then type)
aohp act input -d 0 -t "hello"
aohp act input -d 0 -t "suffix" -m append
aohp act input -d 0 -t "prefix" -m prepend
aohp act clear -d 0
# Tap by node id from ui tree (-f is a tree flag bitmask; 0 is usually enough)
aohp act tap-node -d 0 -i 42 -f 0
# Long press at node center (-t = hold duration in ms, same as act long-tap)
aohp act long-tap-node -d 0 -i 42 -f 0 -t 800
# Add -F / --file-path-report when the action may save/download/export a file.
# The result then includes files.detected and, when found, files.best.devicePath.
aohp act tap-node -d 0 -i 42 -F
aohp act long-tap-node -d 0 -i 42 -F
# Type into a specific node (default: replace; -m append | prepend)
aohp act input-node -d 0 -i 42 -t "hello" -f 0
aohp act input-node -d 0 -i 42 -t "more" -m append -f 0
aohp act clear-node -d 0 -i 42 -f 0
# Swipe / drag (same subcommand); endpoints -x1/-y1/-x2/-y2, duration -t
aohp act swipe -d 0 -x1 100 -y1 500 -x2 100 -y2 200 -t 300
aohp act swipe -d 0 -x1 100 -y1 200 -x2 100 -y2 500 -t 300
# Set a SeekBar / slider to a concrete raw value (native ACTION_SET_PROGRESS).
# Useful when the range is not 0–100, e.g. brightness -100..100. Without
# --range-min/--range-max, the CLI probes the node range first.
aohp act set-node-progress -d 0 -i 42 -V -25.0
# If you already know the range, pass it to avoid the extra probe action:
aohp act set-node-progress -d 0 -i 42 -V -25.0 --range-min -100 --range-max 100
# Set by position along the span: -P is 0–100 (not the raw SeekBar number).
# Implied raw ≈ rangeMin + (rangeMax - rangeMin) * (P/100) when min/max are known.
aohp act set-node-progress -d 0 -i 42 -P 75.0
# Raw JSON-RPC only carries percent (0–100 along the span); same mapping as -P.
aohp call act.set_node_progress '{"displayId":0,"nodeId":42,"percent":75.0}'
# System keys (aliases: act-back, act-home, act-recents)
aohp act back -d 0
aohp act home -d 0
aohp act recents -d 0
# Decimal key code like adb input keyevent; or -K with a name (HOME, APP_SWITCH, VOLUME_UP, …)
aohp act key -d 0 -k 4
aohp act key -d 0 -K HOME
```
## Optional: raw JSON form
Same parameters as the CLI, as JSON:
```bash
aohp call act.tap '{"displayId":0,"x":540,"y":960,"duration":50}'
aohp call act.input '{"displayId":0,"text":"hello","inputMode":"replace","clearCount":512}'
aohp call act.input '{"displayId":0,"text":"x","inputMode":"append"}'
aohp call act.clear '{"displayId":0,"count":40}'
aohp call act.tap_node '{"displayId":0,"nodeId":42,"flags":0}'
aohp call act.long_tap_node '{"displayId":0,"nodeId":42,"flags":0,"duration":800}'
aohp call act.input_node '{"displayId":0,"nodeId":42,"text":"hello","flags":0,"inputMode":"replace"}'
aohp call act.clear_node '{"displayId":0,"nodeId":42,"flags":0,"count":40}'
aohp call act.key '{"displayId":0,"back":true}'
aohp call act.key '{"displayId":0,"keyCode":187}'
aohp call act.key '{"displayId":0,"keyName":"APP_SWITCH"}'
```
## Notes
- Virtual-display workflows depend on AOHP's virtual-display stack on the device; prefer virtual displays you created with `**aohp display create …**`.
- Node-based commands need a fresh `**aohp ui tree**`; if the tree cannot be dumped, the command may fail with an error mentioning virtual display availability—use `**aohp ui tree**` first to confirm.
- Use `**-F` / `--file-path-report**` on `aohp act …` commands when you expect the GUI action to create a file. Do not confuse this with node commands' `**-f` / `--flags**`, which controls UI tree dump flags.From aohp-os/aohp, Apache-2.0.
More from aohp-os/aohp
- 0.677score
aohp-uda
aohp-os
Generate personalized HTML apps via UDAGen on AOHP — idea-only or with structured input (requirements, OpenAPI, schemas).
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-display
aohp-os
List, create, destroy, and focus AOHP virtual displays via the aohp CLI (no MediaProjection).
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-event-stream
aohp-os
Register, drain, and stop AOHP Toast/notification event streams via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-file
aohp-os
Locate recent files, show paths in the AOHP File Bridge UI, and open Android sharing via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-perception
aohp-os
Screenshots and UI hierarchy (windows/nodes) on a logical display via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-sandbox
aohp-os
Create, run commands in, reset, or manage services inside AOHP Linux chroot sandboxes via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-sensor
aohp-os
Capture still photos with the device camera hardware via the aohp CLI (no Camera app UI required).
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-sys
aohp-os
Clipboard, notifications, outbound SMS, device status, and wake or unlock helpers via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-app-launch
aohp-os
List installed packages and start, stop, or inspect apps on a logical display via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
uda-app
aohp-os
Install and launch user-defined HTML apps (UDA) generated on AOHP devices.
SkillCFreshness: C★ 156Claude Code +9
Signals
- Stars
- 156
- Forks
- 18
- Open issues
- 1
- Last commit (this folder)
- Jun 21, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/aohp-os/aohp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from aohp-os
- 0.677score
aohp-uda
aohp-os
Generate personalized HTML apps via UDAGen on AOHP — idea-only or with structured input (requirements, OpenAPI, schemas).
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-display
aohp-os
List, create, destroy, and focus AOHP virtual displays via the aohp CLI (no MediaProjection).
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-event-stream
aohp-os
Register, drain, and stop AOHP Toast/notification event streams via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-file
aohp-os
Locate recent files, show paths in the AOHP File Bridge UI, and open Android sharing via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-perception
aohp-os
Screenshots and UI hierarchy (windows/nodes) on a logical display via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9 - 0.674score
aohp-sandbox
aohp-os
Create, run commands in, reset, or manage services inside AOHP Linux chroot sandboxes via the aohp CLI.
SkillCFreshness: C★ 156Claude Code +9
Cite this page
aohp-ui-actions skill. Agent Mart. https://agentmart.dev/skills/aohp-os-aohp-ui-actions (last updated 2026-10-24)