A skill your agent uses whenever the design will be used by people who bring prior expectations — which is essentially every design.

Apache-2.0Auto-check passedFrontend & Design

Install Mental Model

skills CLI
$ npx skills add hashgraph-online/awesome-codex-plugins --skill mental-model -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install hashgraph-online/awesome-codex-plugins mental-model --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
mental-model
GitHub stars
1.2k
Token cost
~3.4k tokens
SKILL.md length
1,859 words
Files
2 (incl. references)
Skills in repo
686
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses whenever the design will be used by people who bring prior expectations — which is essentially every design.

  • Works in 4 steps: The "what model are users bringing?"… → The mental-model-mismatch audit. When… → The first-use walkthrough. Watch a new… → …
  • The design will be used by people who bring prior expectations — which is essentially every design
  • SKILL.md covers Definition (in our own words), Origins and research lineage, The two model types and When mental models matter, plus 9 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

When your agent uses it

  • 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

Example prompts

  • “users don”
  • “they keep doing X wrong,”
  • “re inventing something new.”
  • “/mental-model”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. The "what model are users bringing?" check. Before designing, name the prior product/category your users are likely coming from. Their…
  2. The mental-model-mismatch audit. When users report confusion, ask: what model do they have? What model does the system actually have? The…
  3. The first-use walkthrough. Watch a new user. Where they're confused or surprised is where their model diverged from the system.
  4. The system-image check. What does the system actually show the user? Does it accurately reflect the underlying behavior? If yes, models…

What it can do on your machine

Read from SKILL.md and the folder at commit 78497e5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~152
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.3k

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.

Safety

Auto-check passed

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.

SKILL.md

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.

Download SKILL.mdSave it as .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.
name
mental-model
description
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' (Lidwell, Holden, Butler 2003) and grounds most modern user-experience design.

Mental Model

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.

Definition (in our own words)

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.

Origins and research lineage

  • Kenneth Craik, The Nature of Explanation (Cambridge University Press, 1943). The foundational text — Craik proposed that humans build internal models of external reality and run those models to predict consequences. The basis for cognitive psychology's model-based reasoning.
  • Philip Johnson-Laird, Mental Models (Cambridge, 1983). Mental models as the unit of human reasoning.
  • Donald Norman, The Design of Everyday Things (1988, 2013). Brought mental models into mainstream design vocabulary. Norman distinguished the designer's model (what the designer intended), the system image (what the design actually presents), and the user's model (what the user infers from the system image). The designer's job is to make the system image clearly communicate the intended model.
  • Lidwell, Holden & Butler (2003) compactly distinguish system models from interaction models. The book's central case: anti-lock brakes whose interaction model differed from conventional brakes (don't pump; brake firmly and steer). Drivers using the wrong interaction model didn't get the safety benefit.
  • D. Gentner & A. Stevens (eds.), Mental Models (Erlbaum, 1983). Collected research on how people form and use mental models.

The two model types

System models

How the user thinks the system works — its components, its rules, its causal mechanisms. Examples:

  • "The cloud" stores my files; they're available from any device.
  • "Email" sends messages from my account to another account; once sent, gone.
  • "A folder" contains files; moving a file out of one folder puts it in another.

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.

Interaction models

How the user thinks they should interact with the system. Examples:

  • To save: click File → Save (or press Cmd-S).
  • To unsubscribe from a mailing list: scroll to the bottom of the email and click "unsubscribe."
  • To recover a deleted file: open the trash and drag it out.

Interaction models are what designers must align to. A perfectly-conceived system whose interaction model the user can't form is unusable.

When mental models matter

  • Always, but especially when:
    • The product is new in its category (no established conventions).
    • The product borrows from a familiar category but does something subtly different.
    • The product's underlying mechanism differs from how the user imagines it ("soft delete" looks like "delete").
    • Users come from a different product (migration: their model is from competitor X).

Strategies for working with mental models

Match the user's existing model

If a familiar mental model exists, design to match it. Don't reinvent. Examples:

  • Folder metaphor for file systems — users from desktop computing transfer their model directly.
  • Email metaphor for messaging products — users from email transfer expectations about senders, recipients, threads.
  • Shopping-cart metaphor for e-commerce — users from physical retail transfer expectations.

The trade-off: matching limits you to the existing model's shape. Sometimes the right design needs to break it.

Teach a new model when needed

If your system genuinely differs, teach the model — through onboarding, through naming, through the system image:

  • Antilock brakes required teaching: "brake firmly and steer; don't pump." Posters, training, and visceral feel during practice all helped.
  • Spreadsheets taught a new computing model in the early 1980s; once learned, transferable across applications.
  • Touch interfaces taught new gestures (pinch-to-zoom, swipe) that users didn't have from prior interfaces.

The investment in teaching pays off if the new model is genuinely better; it fails if the new model is just different.

Make the system image faithful

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:

  • A "soft delete" that explicitly says "Moved to trash. Will be deleted in 30 days." User's model now matches reality.
  • An auto-save indicator that says "Saved 2 minutes ago" rather than vanishing once save completes. User knows the state.
  • A loading spinner with status text ("Authenticating..." → "Connecting to server..." → "Loading your data..."). User's model of the process is faithful to what's happening.

When mental models break

The classic break case: a feature whose interaction model differs from a similar-looking feature.

  • Anti-lock brakes — the book's example. Drivers had the conventional-brakes model (pump on slick surfaces); ABS requires the opposite (brake firmly, steer). Drivers using the wrong model didn't get the safety benefit; sometimes worse, drivers were misled by ABS into believing they could drive faster on slick surfaces.
  • Find-and-replace dialogs that match across or within documents inconsistently — users expect one behavior, get another.
  • Trash-emptying schedules — users believe deleted is gone; some systems retain for 30 days; some indefinitely; users don't know.

When the system's behavior departs from the user's model, surface the difference explicitly.

Worked examples

Example 1: building on a familiar model

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.

Example 2: teaching a new model

A code-collaboration tool (Git) introduces concepts (commits, branches, merges, conflicts) that don't exist in the prior file-editing model. Onboarding explicitly teaches:

  • "A commit is a snapshot of your code at a point in time."
  • "A branch is a parallel line of work."
  • "Merging combines two branches; conflicts arise when they touch the same lines."

Without this teaching, users from a Word-document model misunderstand and produce unintended states.

Show full SKILL.md (741 more words)Show less
Example 3: revealing the system model when it diverges

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.

Example 4: aligning the interaction model with the user's stated goal

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.

Example 5: when the system surprises

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.

Cross-domain examples

Technology adoption: ATMs

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.

Anti-lock brakes (the book's case)

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.

Cooking: induction stovetops

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.

Anti-patterns

  • Inventing metaphors no user has ever encountered. "Wisdom Pods" or "Synergy Spaces" sound clever; they don't transfer.
  • Borrowing a familiar metaphor for behavior that doesn't match it. A "trash" that empties silently; a "save" that auto-syncs in real-time without the user seeing.
  • System images that obscure system behavior. Loading screens that don't say what's happening; "Save" buttons that may or may not commit; opaque pricing.
  • Onboarding that's just a tour. Watching a feature demo doesn't teach a model as well as guided practice.
  • Inconsistency that breaks the learned model. "Save" works one way in one section; differently elsewhere.

Heuristics

  1. The "what model are users bringing?" check. Before designing, name the prior product/category your users are likely coming from. Their model from there transfers — partially.
  2. The mental-model-mismatch audit. When users report confusion, ask: what model do they have? What model does the system actually have? The gap is the design opportunity.
  3. The first-use walkthrough. Watch a new user. Where they're confused or surprised is where their model diverged from the system.
  4. The system-image check. What does the system actually show the user? Does it accurately reflect the underlying behavior? If yes, models stay aligned. If no, mistakes follow.
  • 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.

Sub-aspect skills

  • 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.

Closing

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

Files

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.

  • SKILL.md
  • references/research-and-norman.md

Open the folder on GitHubat commit 78497e5

Compare with similar skills

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.

Mental Model compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mental Model this skillhashgraph-online/awesome-codex-plugins1.2k—~3.4kAutomated safety check: PassApache-2.0
Impeccablebestofjs/bestofjs3.1k27 repos~2.6kAutomated safety check: PassMIT
Interface Design for Dashboards and Appsholaboss-ai/holaOS11k3 repos~6kAutomated safety check: PassMIT
Animategrowupanand/ConvoForm1016 repos~1.9kAutomated safety check: PassApache-2.0
Migrate Content Iadocker/docs4.7k—~5.1kAutomated safety check: PassApache-2.0
UX WalkthroughXiaoMi/hiui877—~1.3kAutomated safety check: PassMIT

Similar skills

  • 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…

    3.1k GitHub starsUsed in 27 repos~2.6k tokens
    Frontend & DesignAuto-check passed
  • 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.

    11k GitHub starsUsed in 3 repos~6k tokens
    Frontend & DesignAuto-check passed
  • Animate

    growupanand/ConvoForm

    Review a feature and enhance it with purposeful animations, micro-interactions, and motion effects that improve usability and delight.

    101 GitHub starsUsed in 6 repos~1.9k tokens
    Frontend & DesignAuto-check passed
  • Official

    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…

    4.7k GitHub stars~5.1k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • UX Walkthrough

    XiaoMi/hiui

    体验走查 skill。适用于代码库、URL、截图三种输入,输出结构化体验问题报告,并同步生成本地 docx 报告。触发词:体验走查、UX review、交互走查、界面审查、体验问题。

    877 GitHub stars~1.3k tokensUpdated 2 mo ago
    Frontend & DesignAuto-check passed
  • Color Audit

    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…

    725 GitHub stars~2.7k tokensUpdated today
    Frontend & DesignAuto-check passed

More from hashgraph-online/awesome-codex-plugins

All 686 skills in this repo
  • Anime Reaction Gif

    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.

    1.2k GitHub stars~922 tokensUpdated today
    Auto-check passed
  • Calibredb

    hashgraph-online/awesome-codex-plugins

    Manage and query Calibre libraries with the calibredb CLI (local paths or Calibre Content server URLs).

    1.2k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Rust API Test Harness

    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…

    1.2k GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Art

    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…

    1.2k GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Game Balance Economy

    hashgraph-online/awesome-codex-plugins

    Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.

    1.2k GitHub stars~618 tokensUpdated today
    Auto-check passed
  • Manuscript Engagement Analytics

    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…

    1.2k GitHub stars~875 tokensUpdated today
    Auto-check passed

Questions about Mental Model

What does Mental Model do?

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.

When should I use Mental Model?

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.

How do I install Mental Model in Claude Code?

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.

How do I install Mental Model in Codex?

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.

Can I use Mental Model in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Mental Model need to run?

SKILL.md names no scripts, command-line tools or credentials: Mental Model is instructions for the agent only.

Does Mental Model access the network?

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.

Is Mental Model safe to install?

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.

What licence does Mental Model use?

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.

How many tokens does Mental Model use?

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.

What are the alternatives to Mental Model?

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.

Who maintains Mental Model?

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.