Progressive Jpeg
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing image assets, markup, and CDN or build transforms related to Use progressive JPEG encoding.
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).
$ npx skills add aohp-os/aohp --skill aohp-ui-actions -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aohp-os/aohp aohp-ui-actions --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aohp-os/aohp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/aohp-ui-actions .claude/skills/aohp-ui-actions && rm -rf skills-srcUse ~/.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/
Install the "aohp-ui-actions" agent skill from https://github.com/aohp-os/aohp/tree/main/skills/aohp-ui-actions into .claude/skills/aohp-ui-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aohp-ui-actions", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aohp-os/aohp/tree/main/skills/aohp-ui-actionsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aohp-os/aohp --skill aohp-ui-actions -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aohp-os/aohp aohp-ui-actions --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aohp-os/aohp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/aohp-ui-actions .agents/skills/aohp-ui-actions && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "aohp-ui-actions" agent skill from https://github.com/aohp-os/aohp/tree/main/skills/aohp-ui-actions into .agents/skills/aohp-ui-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aohp-ui-actions", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aohp-os/aohp --skill aohp-ui-actions -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aohp-os/aohp aohp-ui-actions --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aohp-os/aohp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/aohp-ui-actions .cursor/skills/aohp-ui-actions && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "aohp-ui-actions" agent skill from https://github.com/aohp-os/aohp/tree/main/skills/aohp-ui-actions into .cursor/skills/aohp-ui-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aohp-ui-actions", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aohp-os/aohp.git --path skills/aohp-ui-actions--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aohp-os/aohp --skill aohp-ui-actions -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aohp-os/aohp aohp-ui-actions --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aohp-os/aohp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/aohp-ui-actions .gemini/skills/aohp-ui-actions && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "aohp-ui-actions" agent skill from https://github.com/aohp-os/aohp/tree/main/skills/aohp-ui-actions into .gemini/skills/aohp-ui-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aohp-ui-actions", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aohp-os/aohp aohp-ui-actionsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aohp-os/aohp --skill aohp-ui-actions -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aohp-os/aohp.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/aohp-ui-actions .github/skills/aohp-ui-actions && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "aohp-ui-actions" agent skill from https://github.com/aohp-os/aohp/tree/main/skills/aohp-ui-actions into .github/skills/aohp-ui-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aohp-ui-actions", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aohp-os/aohp --skill aohp-ui-actions -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aohp-os/aohp aohp-ui-actions --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aohp-os/aohp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/aohp-ui-actions .opencode/skills/aohp-ui-actions && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "aohp-ui-actions" agent skill from https://github.com/aohp-os/aohp/tree/main/skills/aohp-ui-actions into .opencode/skills/aohp-ui-actions/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aohp-ui-actions", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
aohp-ui-actionsTap, 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).
Aohp UI Actions is an agent skill from aohp-os/aohp. 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).
Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: An OS-level agent harness for personalized, efficient and secure interaction. The licence is Apache-2.0.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b8ab9e9. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Aohp UI Actions loads about 1.6k tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 399 words of instructions outside code blocks.
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.
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.
The full file from aohp-os/aohp at commit b8ab9e9, republished under its Apache-2.0 licence (© aohp-os). 399 words, ~1,570 tokens.
.claude/skills/aohp-ui-actions/SKILL.md (or your agent's skills folder).displayId), including virtual displays created for the agent.**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).**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).act.input / act.input_nodeBoth 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).
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.**aohp act …** with the same **-d / --display**.Compared to screen coordinates (e.g. bottom-right FAB), prefer aohp act tap-node / act input-node with ids from a fresh tree.
# 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 HOMESame parameters as the CLI, as JSON:
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"}'**aohp display create …**.**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.**-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.© aohp-os, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/aohp-ui-actions of aohp-os/aohp.
Open the folder on GitHubat commit b8ab9e9
Aohp UI Actions 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Aohp UI Actions this skillaohp-os/aohp | 155 | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| Progressive Jpegthedaviddias/Front-End-Checklist | 74k | — | ~426 | Automated safety check: Pass | MIT | |
| OmniRoute API Keysdiegosouzapw/OmniRoute | 75k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Progressive Buildingn8n-io/n8n | 207k | — | ~1.6k | Automated safety check: Pass | Custom licence | |
| OmniRoute Key and OAuth CLIdiegosouzapw/OmniRoute | 75k | — | ~621 | Automated safety check: Pass | MIT | |
| Configuring Hsm For Key Storagemukul975/Anthropic-Cybersecurity-Skills | 34k | — | ~984 | Automated safety check: Pass | Apache-2.0 |
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing image assets, markup, and CDN or build transforms related to Use progressive JPEG encoding.
diegosouzapw/OmniRoute
Documents the OmniRoute REST endpoints for creating, listing, updating, regenerating and deleting API keys, with per-key scopes, spending limits, expiry and device lists.
n8n-io/n8n
Load before build-workflow and before scoping or planning new workflows and feature additions, including requests spanning multiple workflows.
diegosouzapw/OmniRoute
Command reference for managing OmniRoute API keys and provider OAuth connections from the terminal: create, list, rotate, revoke and inspect limits.
mukul975/Anthropic-Cybersecurity-Skills
Configures Hardware Security Modules for cryptographic key storage using the PKCS11 standard interface, covering key generation, signing, encryption, and key management on physical HSMs and SoftHSM2…
simstudioai/sim
Add hosted API key support to a tool so Sim provides the key (metered and billed to the workspace) when a user has not brought their own.
aohp-os/aohp
List installed packages and start, stop, or inspect apps on a logical display via the aohp CLI.
aohp-os/aohp
Register, drain, and stop AOHP Toast/notification event streams via the aohp CLI.
aohp-os/aohp
Locate recent files, show paths in the AOHP File Bridge UI, and open Android sharing via the aohp CLI.
aohp-os/aohp
Screenshots and UI hierarchy (windows/nodes) on a logical display via the aohp CLI.
aohp-os/aohp
Create, run commands in, reset, or manage services inside AOHP Linux chroot sandboxes via the aohp CLI.
aohp-os/aohp
Clipboard, notifications, outbound SMS, device status, and wake or unlock helpers via the aohp CLI.
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). Aohp UI Actions is an agent skill from aohp-os/aohp. 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).
Run `npx skills add aohp-os/aohp --skill aohp-ui-actions -a claude-code`. Or copy the skill folder (skills/aohp-ui-actions in aohp-os/aohp) into .claude/skills/aohp-ui-actions in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aohp-os/aohp --skill aohp-ui-actions -a codex`. Or copy the skill folder (skills/aohp-ui-actions in aohp-os/aohp) into .agents/skills/aohp-ui-actions in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aohp-os/aohp --skill aohp-ui-actions -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/aohp-ui-actions, .gemini/skills/aohp-ui-actions, .github/skills/aohp-ui-actions and .opencode/skills/aohp-ui-actions in your project.
SKILL.md names no scripts, command-line tools or credentials: Aohp UI Actions is instructions for the agent only.
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.
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.
Aohp UI Actions is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Aohp UI Actions: Progressive Jpeg (thedaviddias/Front-End-Checklist, 74k stars), OmniRoute API Keys (diegosouzapw/OmniRoute, 75k stars), Progressive Building (n8n-io/n8n, 207k stars) and OmniRoute Key and OAuth CLI (diegosouzapw/OmniRoute, 75k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aohp-os (a GitHub organization) maintains it in aohp-os/aohp, which has 155 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on July 23, 2026.
Source: aohp-os/aohp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.