Vision Skills
Anionex/agent-vision-toolkit
Local vision CLIs: glance (describe/ask/OCR an image), ground (locate a target, pixel box), detect (element inventory), trace (image to SVG geometry), crop (cut a pixel box to a file), and…
Apply natural mapping — the strongest form of mapping, in which the spatial position, motion, or shape of a control directly corresponds to what it affects.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill mapping-natural -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins mapping-natural --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/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural .claude/skills/mapping-natural && 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 "mapping-natural" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural into .claude/skills/mapping-natural/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mapping-natural", 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/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-naturalType 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 hashgraph-online/awesome-codex-plugins --skill mapping-natural -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins mapping-natural --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural .agents/skills/mapping-natural && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mapping-natural" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural into .agents/skills/mapping-natural/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mapping-natural", 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 hashgraph-online/awesome-codex-plugins --skill mapping-natural -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins mapping-natural --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural .cursor/skills/mapping-natural && 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 "mapping-natural" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural into .cursor/skills/mapping-natural/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mapping-natural", 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/hashgraph-online/awesome-codex-plugins.git --path plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural--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 hashgraph-online/awesome-codex-plugins --skill mapping-natural -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins mapping-natural --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural .gemini/skills/mapping-natural && 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 "mapping-natural" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural into .gemini/skills/mapping-natural/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mapping-natural", 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 hashgraph-online/awesome-codex-plugins mapping-naturalInstalls 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 hashgraph-online/awesome-codex-plugins --skill mapping-natural -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural .github/skills/mapping-natural && 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 "mapping-natural" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural into .github/skills/mapping-natural/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mapping-natural", 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 hashgraph-online/awesome-codex-plugins --skill mapping-natural -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins mapping-natural --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/hashgraph-online/awesome-codex-plugins.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural .opencode/skills/mapping-natural && 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 "mapping-natural" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural into .opencode/skills/mapping-natural/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mapping-natural", 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.
mapping-naturalApply natural mapping — the strongest form of mapping, in which the spatial position, motion, or shape of a control directly corresponds to what it affects.
Mapping Natural is an agent skill from hashgraph-online/awesome-codex-plugins. Apply natural mapping — the strongest form of mapping, in which the spatial position, motion, or shape of a control directly corresponds to what it affects. Use when designing physical control panels, in-screen controls that affect specific regions of a UI, chart legends, multi-target remote controls, vehicle dashboards, or any situation where the user must connect "this control" to "that affected thing." A natural mapping is one a first-time user can predict without instruction. When the form factor allows it…
Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/spatial-correspondence.md`).
It sits in Productivity & Automation, covering Desktop control. The repository describes itself as: A curated list of awesome OpenAI Codex / ChatGPT plugins, skills, and resources. The 1 Codex Marketplace. See live plugins at: https://hol.org/plugins/best-codex-plugins. The licence is Apache-2.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 78497e5. 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.
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.
Mapping Natural loads about 2.5k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 145 tokens; SKILL.md has 1,493 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 hashgraph-online/awesome-codex-plugins at commit 78497e5, republished under its Apache-2.0 licence (© hashgraph-online). 1,493 words, ~2,492 tokens.
.claude/skills/mapping-natural/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Natural mapping is the form of mapping that requires no learning. The control is positioned where the affected element is, or moves the way the affected element moves, or is shaped like the affected element. The user does not have to think; they reach.
Natural mapping comes in two forms.
Spatial correspondence. The control's position in space matches the affected element's position in space. Stove knobs in a 2×2 grid that mirror the burners. The seat-position controls on a Mercedes-Benz, shaped like a tiny seat — push the headrest forward to recline, push the seat back forward to slide forward. A chart legend whose entries appear in the same vertical order as the data lines they describe, so the topmost legend entry corresponds to the topmost line. A row of speaker volume controls arranged left-to-right in the same order as the speakers in the room.
Physical analogy. The control's motion or shape corresponds to a physical action whose meaning is universally understood — usually because it mimics gravity, force, or direction. Up = more, down = less. Right = forward in time, left = backward. Clockwise = increase, counterclockwise = decrease (in cultures that read left-to-right; the convention is local but extremely strong). Pinch out = zoom in. Pull a slider toward you = grab and bring closer. These mappings are not innate, but they're embodied — users feel them rather than think them — and breaking them generates immediate confusion that no amount of labeling will fix.
The form factor either supports natural mapping or it doesn't. A four-burner stove with the burners in a 2×2 grid and physical room for knobs in a 2×2 grid: spatial mapping available. A cooktop with knobs along the front edge and burners behind: spatial mapping not directly available; you'll have to weaken to a labeled or angled approximation. A horizontal slider for an inherently vertical quantity (height, depth, intensity from low-to-high): natural mapping mismatched; consider rotating the slider or changing the metaphor.
The question to ask early in a design is: what is the spatial or physical structure of the thing being controlled, and can the controls share that structure?
Bad design: four knobs in a row labeled "FL FR RL RR" (front-left, front-right, rear-left, rear-right). The user has to read the label, decode the abbreviation, locate the burner, and turn the right knob. Three cognitive steps for an action that should require zero. Approximately 5–10% of users will turn the wrong knob in distracted use.
Good design: four knobs in a 2×2 grid, each knob positioned directly in front of (or below) the burner it controls. No label needed. The user reaches for the knob in the position of the burner. The error rate drops near zero.
When the cooktop is too shallow for a 2×2 grid, the next-best approach is to angle the row of knobs so each knob is at least visually closer to its corresponding burner — paired with a small dot or graphic showing the relationship. This is weaker than true spatial correspondence but stronger than abstract labels.
Bad design: a settings panel labeled "Speaker 1, Speaker 2, Speaker 3, Speaker 4" with sliders. The user does not remember which physical speaker is which.
Good design: a small floor plan showing the speakers in their actual positions, with each volume slider positioned next to its speaker. Or, if a floor plan is too elaborate, a row of sliders arranged in the same left-to-right order as the speakers in the room, with a brief location label ("Living Room — South Wall").
The principle: the user is reasoning about the room, so the controls should be arranged like the room.
Bad design: a multi-line chart with five data series; the legend is alphabetical. The user has to scan the chart, identify a line of interest, then scan the legend to find which series name corresponds to which color. Two scans, with a memory step between.
Good design: the legend is ordered by the vertical position of each line at the right edge of the chart (or the left edge — pick a consistent anchor). The topmost line in the chart has the topmost legend entry. The user's eye traces from the line directly to its label. One scan.
This is a small change with a large effect. It is one of the highest-ROI improvements you can make to a multi-series chart.
Bad design: a "skip forward" button positioned at the top of the screen, far from the timeline. A "split clip" command in a menu somewhere.
Good design: skip controls directly under the timeline, where the user is already looking. Split-clip is a button that appears at the playhead — the visual marker on the timeline — when the playhead is positioned over a clip. The control is at the location it affects.
Bad design: a brightness slider where dragging down makes the screen brighter. This violates the up-is-more convention.
Good design: dragging up (or right, depending on orientation) increases brightness. The user does not have to think.
This convention is so strong that violating it triggers visible double-takes from users; many will drag the slider the "right" way the first time, see the wrong result, and pause for a moment of disorientation.
The pinch-to-zoom gesture is a strong physical analogy: you are stretching the image between two fingers, the way you might stretch fabric. Reverse pinch (zoom out) corresponds to crumpling, also intuitive. The mapping is so strong that it crossed cultures and platforms within a few years of being introduced and is now nearly universal.
By contrast, "double-tap to zoom in to a fixed level" is a weaker mapping — there's no physical analogy — and survives only because pinch is also available as the natural-mapping fallback.
If the form factor or screen real estate makes natural mapping impossible, do not fake it. A diagram next to each control showing what it affects is harder to interpret than a clear label. The hierarchy of fallbacks is:
Avoid the temptation to invent a fake spatial mapping (a tiny abstract diagram, a color-code that requires a key) when no real one exists.
Aesthetic uniformity destroying mapping. Designers arrange controls in a clean grid because it looks tidy, ignoring that the controlled elements are not in a corresponding grid. The four-burner stove with knobs in a row is the canonical example. The fix is to choose a layout that mirrors the controlled space, even at some cost to visual neatness.
Inverted directional mappings. A volume slider where down is louder, a "back" button on the right of the screen, a brightness control that goes left-to-right with darker on the right. These are usually accidents of code (a coordinate system was inverted somewhere, and the visual was not corrected) but they read as design failures and generate constant low-grade confusion.
Mapping by color when color is the only cue. Color-coded controls without spatial correspondence ("the red knob controls the red burner") force the user to look at both control and target, then mentally connect them. They also fail entirely for color-blind users. Color is a useful supplement to spatial mapping but a poor replacement.
Animating between unmapped positions. A control whose effect snaps to a new position with no transition forces the user to re-locate the affected element each time. Animated transitions that move from old to new state preserve the mapping by showing the relationship as motion.
Before shipping a new control, ask: Where is the thing being affected, and where is the control? If they are not in the same location or arranged in the same pattern, ask whether they can be. Does the motion of the control correspond to the change in the affected element? If not, can it be made to? If you removed all labels from the controls, could a first-time user still operate them? If yes, the mapping is doing its job.
mapping-cultural — for the cases where natural mapping isn't available and you have to fall back to convention.affordance — what the control suggests it can do (mapping picks up where affordance leaves off).proximity — controls that affect the same thing should be close to each other (the layout-level form of mapping).recognition-over-recall — natural mapping is recognition-driven; the user sees and reaches.references/spatial-correspondence.md — case studies and patterns for spatial mappings, including chart legends, dashboards, and physical control panels.© hashgraph-online, 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
SKILL.md and 1 other file (references) in plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural of hashgraph-online/awesome-codex-plugins.
Open the folder on GitHubat commit 78497e5
Mapping Natural 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 |
|---|---|---|---|---|---|---|
| Mapping Natural this skillhashgraph-online/awesome-codex-plugins | 1.2k | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| Vision SkillsAnionex/agent-vision-toolkit | 1.2k | 1 repos | ~4k | Automated safety check: Pass | MIT | |
| Mac Computer UseTo3akaRin/mac-computer-use | 1.1k | 1 repos | ~495 | Automated safety check: Pass | MIT | |
| Crabbox Appsopenclaw/openclaw | 392k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Agent Managementautonomous-ai/Physical-AI-Operating-System | 381 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Computer Usebam-bam-2/solo-skills | 367 | 1 repos | ~915 | Automated safety check: Pass | MIT |
Anionex/agent-vision-toolkit
Local vision CLIs: glance (describe/ask/OCR an image), ground (locate a target, pixel box), detect (element inventory), trace (image to SVG geometry), crop (cut a pixel box to a file), and…
To3akaRin/mac-computer-use
操作 macOS 桌面应用,探测窗口和自动化接口、截图、读取或修改辅助功能元素、执行鼠标键盘动作,以及通过 CDP 操作内嵌 Chromium 页面。适用于桌面应用自动化与界面验收;普通网页任务优先使用已有浏览器工具。
openclaw/openclaw
A skill your agent uses when asked to open, run, test, or show an app in Crabbox, including native desktops, web previews, and computer use on a temporary machine.
autonomous-ai/Physical-AI-Operating-System
Legacy Autonomous Buddy control for explicitly requested Buddy coding sessions.
bam-bam-2/solo-skills
Use Orca's computer-use CLI to inspect and operate local desktop app windows through accessibility trees, screenshots, and safe UI actions.
davidondrej/cloudroom-core
See and control desktop apps on this Cloud sandbox’s virtual Linux screen with cloudroom computer-use: launch GUI apps you build or install, read their UI, click, type, and take screenshots.
hashgraph-online/awesome-codex-plugins
Create original anime-style reaction stickers as looping GIFs and MP4 previews, using generated character pose sheets and timed key poses.
hashgraph-online/awesome-codex-plugins
Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).
hashgraph-online/awesome-codex-plugins
A skill your agent uses when adding, changing, testing, or debugging Rust HTTP APIs and services, especially when Codex needs black-box integration tests, random-port app startup, real database test…
hashgraph-online/awesome-codex-plugins
Make a studio's game look like something at build time — a cover from a real frame of the game (free), painted covers, backdrops, textures and character plates from image models through the…
hashgraph-online/awesome-codex-plugins
Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.
hashgraph-online/awesome-codex-plugins
Analyze nonfiction manuscripts for reader engagement signals, including heading-level word counts, slow starts, long slogs, weak takeaway titles, value pacing, beta-reader comment dropoff, and…
Categories
Apply natural mapping — the strongest form of mapping, in which the spatial position, motion, or shape of a control directly corresponds to what it affects. Mapping Natural is an agent skill from hashgraph-online/awesome-codex-plugins. Apply natural mapping — the strongest form of mapping, in which the spatial position, motion, or shape of a control directly corresponds to what it affects.
Mapping Natural fits situations like: designing physical control panels; in-screen controls that affect specific regions of a UI; multi-target remote controls; vehicle dashboards.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill mapping-natural -a claude-code`. Or copy the skill folder (plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural in hashgraph-online/awesome-codex-plugins) into .claude/skills/mapping-natural in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill mapping-natural -a codex`. Or copy the skill folder (plugins/HDeibler/universal-design-principles/plugins/interaction-and-control-principles/skills/mapping-natural in hashgraph-online/awesome-codex-plugins) into .agents/skills/mapping-natural 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 hashgraph-online/awesome-codex-plugins --skill mapping-natural -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mapping-natural, .gemini/skills/mapping-natural, .github/skills/mapping-natural and .opencode/skills/mapping-natural in your project.
SKILL.md names no scripts, command-line tools or credentials: Mapping Natural 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.
Mapping Natural 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 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Mapping Natural: Vision Skills (Anionex/agent-vision-toolkit, 1.2k stars), Mac Computer Use (To3akaRin/mac-computer-use, 1.1k stars), Crabbox Apps (openclaw/openclaw, 392k stars) and Agent Management (autonomous-ai/Physical-AI-Operating-System, 381 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
hashgraph-online (a GitHub organization) maintains it in hashgraph-online/awesome-codex-plugins, which has 1,242 GitHub stars. The repository holds 686 skills in this directory. The repository was last updated on October 8, 2026.
Source: hashgraph-online/awesome-codex-plugins on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.