Screenshot
nexu-io/open-design
Capture desktop, app windows, or pixel regions across OS platforms.
Screenshots and UI hierarchy (windows/nodes) on a logical display via the aohp CLI.
$ npx skills add aohp-os/aohp --skill aohp-perception -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aohp-os/aohp aohp-perception --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-perception .claude/skills/aohp-perception && 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-perception" agent skill from https://github.com/aohp-os/aohp/tree/main/skills/aohp-perception into .claude/skills/aohp-perception/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aohp-perception", 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-perceptionType 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-perception -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aohp-os/aohp aohp-perception --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-perception .agents/skills/aohp-perception && 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-perception" agent skill from https://github.com/aohp-os/aohp/tree/main/skills/aohp-perception into .agents/skills/aohp-perception/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aohp-perception", 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-perception -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aohp-os/aohp aohp-perception --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-perception .cursor/skills/aohp-perception && 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-perception" agent skill from https://github.com/aohp-os/aohp/tree/main/skills/aohp-perception into .cursor/skills/aohp-perception/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aohp-perception", 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-perception--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-perception -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aohp-os/aohp aohp-perception --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-perception .gemini/skills/aohp-perception && 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-perception" agent skill from https://github.com/aohp-os/aohp/tree/main/skills/aohp-perception into .gemini/skills/aohp-perception/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aohp-perception", 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-perceptionInstalls 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-perception -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-perception .github/skills/aohp-perception && 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-perception" agent skill from https://github.com/aohp-os/aohp/tree/main/skills/aohp-perception into .github/skills/aohp-perception/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aohp-perception", 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-perception -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-perception --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-perception .opencode/skills/aohp-perception && 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-perception" agent skill from https://github.com/aohp-os/aohp/tree/main/skills/aohp-perception into .opencode/skills/aohp-perception/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "aohp-perception", 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-perceptionScreenshots and UI hierarchy (windows/nodes) on a logical display via the aohp CLI.
Aohp Perception is an agent skill from aohp-os/aohp. Screenshots and UI hierarchy (windows/nodes) on a logical display via the aohp CLI.
Its SKILL.md is about 1.1k 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.
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 Perception loads about 1.1k tokens when it runs. Until then it costs about 25 tokens; SKILL.md has 514 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). 514 words, ~1,068 tokens.
.claude/skills/aohp-perception/SKILL.md (or your agent's skills folder).Capture JPEG screenshots and read UI hierarchy on a logical display (displayId: integer). The default hierarchy is compact HTML-like text with useful node attributes (id, bounds, text/desc/resourceId, action states); use -o only when you need the origin JSON.
Requires aohp on PATH (how it reaches the device is already set in the packaged aohp you run).
aohp shot full, aohp shot region, aohp shot node.aohp ui tree, aohp ui find.aohp call <method> '<json>' only if you need JSON fields the high-level commands do not expose; method names look like <area>.<action> (e.g. ui.tree, shot.full).aohp ui tree -d <displayId> whenever you need node id, bounds, text, description, resource id, or action states. Default output is compact HTML; add -o / --origin only when you need the full origin JSON. aohp ui find matches nodes by text / description / resource-id when that is enough.aohp shot … whenever you need pixels. By default each shot writes a JPEG under $TMPDIR and prints a short JSON wrapper (see below)—use that path for vision tools.exec.| Goal | CLI |
|---|---|
| Full-screen JPEG | aohp shot full -d <id> [-q 1-100] — default save under $TMPDIR as aohp_shot_full_<timestamp>.jpg; -O sets the local path; --inline alone does not write or retain a local JPEG—pixels appear in stdout as a single type: "image" block; -O + --inline writes the file and adds type: "image" after the save-path text |
| Cropped JPEG | aohp shot region … — same modes (default prefix aohp_shot_region_) |
| Node bounds JPEG | aohp shot node … — same modes (default prefix aohp_shot_node_) |
| UI tree | aohp ui tree -d <id> [-f flags] — compact HTML; -o / --origin returns the full origin JSON |
| Filter nodes | aohp ui find -d <id> [--raw] [-s text] [-D desc] [-R resource-id] |
| Stubs | aohp ui focused, aohp ui input-text (may be placeholders on some agents) |
Alias: aohp ui-tree → aohp ui tree.
aohp shot … (success)Stdout is one JSON object with content (array) and details (object). When a local file is written, the first content item is type: "text" (includes Saved image bytes to … plus a short completion line). With --inline and no -O, content contains only the type: "image" block.
| Invocation | Local JPEG file | type: "image" in content |
|---|---|---|
Default or -O only | Yes (default under $TMPDIR or your -O path) | No — keeps exec output small |
--inline only | No | Yes — the only content block; raw base64 in data, mimeType set |
-O and --inline together | Yes, at your -O path | Yes — second block after save-path text |
details: fields from the agent reply except the duplicated huge base64 string; details.path (when present) is the device-side capture path, not necessarily the path where you saved bytes locally—the local path is only in the text line above.
aohp call … for shot-related methods returns the plain agent JSON (not this wrapper), which is useful for automation but different from aohp shot … stdout.
aohp ui tree -d 0
aohp ui tree -d 0 -o
aohp shot full -d 0 -q 85
aohp shot full -d 0 -O /tmp/cap.jpg
aohp shot full -d 0 --inline
aohp shot full -d 0 -O /tmp/cap.jpg --inline© 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-perception of aohp-os/aohp.
Open the folder on GitHubat commit b8ab9e9
Aohp Perception 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 Perception this skillaohp-os/aohp | 155 | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Screenshotnexu-io/open-design | 100k | — | ~291 | Automated safety check: Pass | Apache-2.0 | |
| Node Connectopenclaw/openclaw | 392k | — | ~1.6k | Automated safety check: Pass | MIT | |
| Node Inspect Debuggeropenclaw/openclaw | 392k | 1 repos | ~894 | Automated safety check: Pass | MIT | |
| Heading Hierarchythedaviddias/Front-End-Checklist | 74k | — | ~516 | Automated safety check: Pass | MIT | |
| Windows Desktop E2Eaffaan-m/ECC | 276k | 1 repos | ~7.6k | Automated safety check: Pass | MIT |
nexu-io/open-design
Capture desktop, app windows, or pixel regions across OS platforms.
openclaw/openclaw
Diagnose OpenClaw Control UI browser and native Android, iOS, or macOS node connection failures across route, auth, pairing, QR/setup-code, and reconnect states.
openclaw/openclaw
Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.
thedaviddias/Front-End-Checklist
A skill your agent uses when reviewing rendered HTML, interactive components, or design-system patterns related to Use logical heading hierarchy.
affaan-m/ECC
E2E testing for Windows native desktop apps (WPF, WinForms, Win32/MFC, Qt) using pywinauto and Windows UI Automation.
affaan-m/ECC
E2E testing for Windows native desktop apps (WPF, WinForms, Win32/MFC, Qt) using pywinauto and Windows UI Automation.
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
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.
aohp-os/aohp
Generate personalized HTML apps via UDAGen on AOHP — idea-only or with structured input (requirements, OpenAPI, schemas).
Screenshots and UI hierarchy (windows/nodes) on a logical display via the aohp CLI. Aohp Perception is an agent skill from aohp-os/aohp. Screenshots and UI hierarchy (windows/nodes) on a logical display via the aohp CLI.
Run `npx skills add aohp-os/aohp --skill aohp-perception -a claude-code`. Or copy the skill folder (skills/aohp-perception in aohp-os/aohp) into .claude/skills/aohp-perception in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aohp-os/aohp --skill aohp-perception -a codex`. Or copy the skill folder (skills/aohp-perception in aohp-os/aohp) into .agents/skills/aohp-perception 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-perception -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-perception, .gemini/skills/aohp-perception, .github/skills/aohp-perception and .opencode/skills/aohp-perception in your project.
SKILL.md names no scripts, command-line tools or credentials: Aohp Perception 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 Perception 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.1k tokens (SKILL.md is roughly 4.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 Perception: Screenshot (nexu-io/open-design, 100k stars), Node Connect (openclaw/openclaw, 392k stars), Node Inspect Debugger (openclaw/openclaw, 392k stars) and Heading Hierarchy (thedaviddias/Front-End-Checklist, 74k 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.