Impeccable
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
A skill your agent uses whenever the design will be used by people who bring prior expectations — which is essentially every design.
$ npx skills add hashgraph-online/awesome-codex-plugins --skill mental-model -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins mental-model --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/cognition-and-learnability-principles/skills/mental-model .claude/skills/mental-model && 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 "mental-model" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/mental-model into .claude/skills/mental-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mental-model", 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/cognition-and-learnability-principles/skills/mental-modelType 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 mental-model -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins mental-model --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/cognition-and-learnability-principles/skills/mental-model .agents/skills/mental-model && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "mental-model" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/mental-model into .agents/skills/mental-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mental-model", 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 mental-model -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins mental-model --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/cognition-and-learnability-principles/skills/mental-model .cursor/skills/mental-model && 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 "mental-model" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/mental-model into .cursor/skills/mental-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mental-model", 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/cognition-and-learnability-principles/skills/mental-model--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 mental-model -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins mental-model --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/cognition-and-learnability-principles/skills/mental-model .gemini/skills/mental-model && 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 "mental-model" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/mental-model into .gemini/skills/mental-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mental-model", 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 mental-modelInstalls 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 mental-model -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/cognition-and-learnability-principles/skills/mental-model .github/skills/mental-model && 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 "mental-model" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/mental-model into .github/skills/mental-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mental-model", 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 mental-model -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 mental-model --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/cognition-and-learnability-principles/skills/mental-model .opencode/skills/mental-model && 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 "mental-model" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/mental-model into .opencode/skills/mental-model/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "mental-model", 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.
mental-modelA skill your agent uses whenever the design will be used by people who bring prior expectations — which is essentially every design.
Mental Model is an agent skill from hashgraph-online/awesome-codex-plugins. Use this skill whenever the design will be used by people who bring prior expectations — which is essentially every design. Trigger when designing onboarding, when picking metaphors (folders, channels, projects), when reviewing why users keep getting confused, when migrating from one product convention to another, or when the user mentions "users don't understand," "they keep doing X wrong," or "we're inventing something new." Mental Model is one of the foundational principles in 'Universal Principles of Design'…
Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/research-and-norman.md`).
It sits in Frontend & Design, covering UX design. 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.
Mental Model loads about 3.4k tokens when it runs, and up to ~4.3k if it reads all its reference files. Until then it costs about 152 tokens; SKILL.md has 1,859 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,859 words, ~3,434 tokens.
.claude/skills/mental-model/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.A mental model is the user's internal representation of how a system works. When the user's mental model matches the system's actual behavior, interaction is smooth — the user predicts correctly, takes the right actions, and recovers from problems easily. When the mental model diverges from reality, errors and confusion follow. The designer's job is to either build a system that matches the user's existing mental model, or build the system in a way that teaches an accurate model quickly.
Every user comes to a design with assumptions about how it will work, drawn from prior experience: how computers behave, how websites navigate, how forms validate, how billing is structured. These assumptions form a mental model — a simplified representation that lets the user predict what will happen if they take a particular action. When the prediction matches reality, the design feels intuitive. When it doesn't, the design feels confusing — or worse, the user proceeds confidently and produces unintended results.
The book distinguishes two complementary mental-model types: system models (how the user thinks the system works internally) and interaction models (how the user thinks they should interact with the system). Designers tend to have rich system models and weak interaction models; users tend to have weak system models and (with use) increasingly accurate interaction models.
How the user thinks the system works — its components, its rules, its causal mechanisms. Examples:
System models can be wildly inaccurate without affecting the user. Most users don't know how email actually works (SMTP, MX records, queues); their model is "type address, click send, message arrives." That's enough.
How the user thinks they should interact with the system. Examples:
Interaction models are what designers must align to. A perfectly-conceived system whose interaction model the user can't form is unusable.
If a familiar mental model exists, design to match it. Don't reinvent. Examples:
The trade-off: matching limits you to the existing model's shape. Sometimes the right design needs to break it.
If your system genuinely differs, teach the model — through onboarding, through naming, through the system image:
The investment in teaching pays off if the new model is genuinely better; it fails if the new model is just different.
Norman's three models (designer / system image / user) align only if the system image — what the user actually sees — clearly communicates the designer's intent. A system image that obscures the model produces user-model drift.
Examples of faithful system images:
The classic break case: a feature whose interaction model differs from a similar-looking feature.
When the system's behavior departs from the user's model, surface the difference explicitly.
A new project-management tool uses Kanban boards (familiar from Trello, physical sticky-note boards). Users transfer their model: columns are statuses, cards are tasks, dragging changes status. Onboarding is light because the model is mostly already there.
A code-collaboration tool (Git) introduces concepts (commits, branches, merges, conflicts) that don't exist in the prior file-editing model. Onboarding explicitly teaches:
Without this teaching, users from a Word-document model misunderstand and produce unintended states.
A SaaS product uses soft-delete: users delete an item; it goes to a trash that's purged after 30 days. The user's model from desktop computing is "deleted = gone immediately." The product surfaces the difference:
"Project archived. It will be permanently deleted in 30 days. [Restore] [Delete now]"Now the user's model includes the recovery window. They can trust their actions.
A user wants to "share a document with my team." The interaction model in many products is: change permissions on the document, then send a link. A simpler interaction model: "Share with team" button that does both at once.
The simpler model maps closer to the user's goal-level thinking; the user doesn't have to think about permissions and links separately.
A user clicks "Cancel subscription." The system says "subscription canceled — you'll be downgraded at the end of the billing period." The user's model was "canceled = no longer charged." The system's model was "canceled = no future renewals; current period continues."
Either model is defensible; the divergence is the issue. Surface the actual behavior at the moment of action.
Early ATMs (1960s–80s) had to teach a new mental model — a bank machine that dispensed cash without a teller. Banks invested heavily in education; users initially distrusted; gradually the model became standard. Now it's invisible.
Modern parallel: contactless payment (NFC). The mental model "tap to pay, no signature, no physical card insertion" took years to spread; now it's standard.
ABS provided a measurable safety improvement in controlled tests. In real-world driving, the improvement was much smaller — because drivers used the wrong interaction model (pumping the brakes). Manufacturer campaigns to teach the new model ("brake firmly and steer") closed the gap partly.
The lesson: technical superiority doesn't translate to real-world benefit if the interaction model doesn't transfer.
Induction cooktops behave differently from gas or resistive electric. They heat the pan, not the air; they don't glow red; turning off "stops" the heat almost instantly. Users from gas/electric models often misjudge — leaving pans on a "hot" surface that's already cooled, or turning up heat further because the pan isn't visibly responding.
Induction-cooktop manufacturers add visible cues (glowing rings, residual-heat indicators) to bridge the model gap.
affordance — affordance signals interaction models at a per-element level.mapping — control-effect relationships are part of the interaction model.expectation-effect — expectations come from mental models.mimicry — borrowing recognizable patterns leverages existing models.consistency — consistency lets users transfer one part of the model to another.recognition-over-recall — recognition is faster when it matches a learned model.errors — mistake-type errors flow from wrong models.mental-model-system-vs-interaction — distinguishing the two model types and choosing which to optimize for.mental-model-mismatch-and-onboarding — diagnosing model mismatches and designing onboarding that teaches the right model.Mental models are the substrate of intuitive design. Users don't experience the system you built; they experience the model they have of the system. When the two align, your work becomes invisible — users just use it. When they diverge, every other design move is fighting an undertow. Building the system image so that users can form a faithful model is the deepest design discipline.
© 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/cognition-and-learnability-principles/skills/mental-model of hashgraph-online/awesome-codex-plugins.
Open the folder on GitHubat commit 78497e5
Mental Model 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 |
|---|---|---|---|---|---|---|
| Mental Model this skillhashgraph-online/awesome-codex-plugins | 1.2k | — | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Impeccablebestofjs/bestofjs | 3.1k | 27 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Interface Design for Dashboards and Appsholaboss-ai/holaOS | 11k | 3 repos | ~6k | Automated safety check: Pass | MIT | |
| Animategrowupanand/ConvoForm | 101 | 6 repos | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Migrate Content Iadocker/docs | 4.7k | — | ~5.1k | Automated safety check: Pass | Apache-2.0 | |
| UX WalkthroughXiaoMi/hiui | 877 | — | ~1.3k | Automated safety check: Pass | MIT |
bestofjs/bestofjs
A skill your agent uses when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a…
holaboss-ai/holaOS
Pushes an agent past generic defaults when designing dashboards, admin panels, SaaS apps and tools, with attention to structure, type, navigation and how data is shown.
growupanand/ConvoForm
Review a feature and enhance it with purposeful animations, micro-interactions, and motion effects that improve usability and delight.
docker/docs
Handle Hugo docs information-architecture moves: discover old vs new URLs, add front matter aliases (Phase 1), update in-repo links (Phase 2), interactive List 2 resolution and fragment validation…
XiaoMi/hiui
体验走查 skill。适用于代码库、URL、截图三种输入,输出结构化体验问题报告,并同步生成本地 docx 报告。触发词:体验走查、UX review、交互走查、界面审查、体验问题。
rome-os/rome
Audit a design system's color palette against measurable color-science disciplines — WCAG/APCA contrast of declared token pairs, perceptual (OKLCH) ramp uniformity, color-blindness safety of…
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
A skill your agent uses whenever the design will be used by people who bring prior expectations — which is essentially every design. Mental Model is an agent skill from hashgraph-online/awesome-codex-plugins. Use this skill whenever the design will be used by people who bring prior expectations — which is essentially every design.
Mental Model fits situations like: the design will be used by people who bring prior expectations — which is essentially every design; designing onboarding; picking metaphors (folders; reviewing why users keep getting confused.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill mental-model -a claude-code`. Or copy the skill folder (plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/mental-model in hashgraph-online/awesome-codex-plugins) into .claude/skills/mental-model in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill mental-model -a codex`. Or copy the skill folder (plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/mental-model in hashgraph-online/awesome-codex-plugins) into .agents/skills/mental-model 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 mental-model -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mental-model, .gemini/skills/mental-model, .github/skills/mental-model and .opencode/skills/mental-model in your project.
SKILL.md names no scripts, command-line tools or credentials: Mental Model 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.
Mental Model 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 3.4k tokens (SKILL.md is roughly 14k 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 888 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Mental Model: Impeccable (bestofjs/bestofjs, 3.1k stars), Interface Design for Dashboards and Apps (holaboss-ai/holaOS, 11k stars), Animate (growupanand/ConvoForm, 101 stars) and Migrate Content Ia (docker/docs, 4.7k 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.