Hicks Law
Owl-Listener/designer-skills
Apply Hick's Law — decision time grows with the number of simultaneous choices.
A skill your agent uses whenever a design has many options the user must choose among — menus, navigation, pickers, plan tiers, settings panels, action toolbars, lists of templates, anything that…
$ npx skills add hashgraph-online/awesome-codex-plugins --skill hicks-law -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins hicks-law --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/hicks-law .claude/skills/hicks-law && 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 "hicks-law" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/hicks-law into .claude/skills/hicks-law/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hicks-law", 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/hicks-lawType 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 hicks-law -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins hicks-law --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/hicks-law .agents/skills/hicks-law && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "hicks-law" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/hicks-law into .agents/skills/hicks-law/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hicks-law", 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 hicks-law -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins hicks-law --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/hicks-law .cursor/skills/hicks-law && 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 "hicks-law" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/hicks-law into .cursor/skills/hicks-law/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hicks-law", 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/hicks-law--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 hicks-law -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install hashgraph-online/awesome-codex-plugins hicks-law --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/hicks-law .gemini/skills/hicks-law && 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 "hicks-law" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/hicks-law into .gemini/skills/hicks-law/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hicks-law", 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 hicks-lawInstalls 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 hicks-law -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/hicks-law .github/skills/hicks-law && 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 "hicks-law" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/hicks-law into .github/skills/hicks-law/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hicks-law", 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 hicks-law -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 hicks-law --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/hicks-law .opencode/skills/hicks-law && 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 "hicks-law" agent skill from https://github.com/hashgraph-online/awesome-codex-plugins/tree/main/plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/hicks-law into .opencode/skills/hicks-law/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "hicks-law", 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.
hicks-lawA skill your agent uses whenever a design has many options the user must choose among — menus, navigation, pickers, plan tiers, settings panels, action toolbars, lists of templates, anything that…
Hicks Law is an agent skill from hashgraph-online/awesome-codex-plugins. Use this skill whenever a design has many options the user must choose among — menus, navigation, pickers, plan tiers, settings panels, action toolbars, lists of templates, anything that asks "which one?" Trigger when the user is laying out a navigation menu, designing a settings page, picking the structure of a wizard, building a country/timezone/currency picker, designing a pricing table, or reviewing a UI where users hesitate over which control to use. Trigger when there's debate about "should we add another…
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-formulation.md`).
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.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 3e1456a. 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 html).
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.
Hicks Law loads about 3.4k tokens when it runs, and up to ~4.7k if it reads all its reference files. Until then it costs about 165 tokens; SKILL.md has 1,578 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 3e1456a, republished under its Apache-2.0 licence (© hashgraph-online). 1,578 words, ~3,406 tokens.
.claude/skills/hicks-law/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Hick's Law (more precisely, the Hick-Hyman Law) is the empirical observation that the time required to make a decision among a set of options grows with the logarithm of the number of options. Stated as a formula:
T = b · log₂(n + 1)Where T is decision time, n is the number of equally likely choices, and b is a constant determined by the cognitive context. The +1 accounts for the time to begin processing the choice set at all. The logarithmic growth is the design-relevant insight: doubling the number of options does not double decision time, but it does add a roughly constant increment each time.
When a user must select one option from a set, the time and cognitive effort required to make that selection rise as the set grows — but not linearly. The user can scan and pick from a small set quickly; they need progressively more time as the set grows; and beyond a certain size (typically around 7–10 options for a flat list) they switch from scanning to searching, which is a different and slower mode.
The takeaway: more options is more decision cost, the cost grows sub-linearly, and beyond about 7 options the dominant cost shifts from "scan and pick" to "search the list."
In product design, every option you put in front of the user is paid for in two currencies: decision time (the user must consider it) and decision fatigue (the user has fewer mental resources for the next decision). On a single screen, the cost of one extra option is small. Across a workflow with many decision points, the costs compound.
Designs that respect Hick's Law feel "easy" — users move through them without stalling. Designs that ignore it feel "complicated" — users hover, deliberate, and sometimes abandon.
Hick's Law is sometimes invoked to justify removing options that users actually need. Beware of these failure modes:
The most direct strategy. Audit the option set: which options are rarely used? Hide them behind "More" / "Advanced" / a command palette. The remaining set should be small enough to scan at a glance.
The 80/20 rule pairs naturally with Hick's Law here: surface the 20% of options that handle 80% of cases; tuck the rest.
A flat list of 30 items is hard. Three groups of 10 items, each with a heading, is much easier — the user makes a fast group choice (Hick's Law on 3), then a slower within-group choice (Hick's Law on 10).
Flat (Hick's cost: log₂(31) ≈ 4.95)
Item 1 … Item 30
Grouped (Hick's cost: log₂(4) + log₂(11) ≈ 2 + 3.46 = 5.46)
Group A
Item 1 … Item 10
Group B
Item 11 … Item 20
Group C
Item 21 … Item 30The arithmetic suggests grouping is worse by raw Hick's Law math. It isn't, in practice, because:
The math underestimates how badly humans handle long flat lists.
If you can pre-select the most likely option, you've cut the choice from N to "1 (the default) or N−1 (everything else)." Most users accept the default, so most users pay almost no decision cost.
This is the single highest-leverage Hick's Law strategy: a good default eliminates the decision for most users.
Beyond ~10 options, scanning becomes search. The right interaction is no longer a <select> or radio group — it's a typeahead combobox or a command palette where the user types to filter. Filter-as-you-type collapses Hick's Law into the much faster Recognition-over-Recall.
≤ 5 options: radio buttons or segmented control (all visible, instant pick)
≤ 10 options: select dropdown
≤ ~20 options: select with categories
> 20 options: combobox / typeahead / command paletteA common Hick's Law mistake: presenting many options up-front when the user hasn't yet supplied the context that would narrow them. Defer.
If you can predict which options the user is likely to want (from their history, role, recency), put those at the top with a "Recent" or "Suggested" group. The user often finds their option without scanning the full list.
<!-- Anti-pattern: 195 countries in a flat select -->
<select>
<option>Afghanistan</option>
<option>Albania</option>
…
<option>Zimbabwe</option>
</select>Decision cost is high (effectively a search, not a scan). Plus, the dropdown UI doesn't allow type-to-find effectively.
<!-- Right: combobox with typeahead, plus recents -->
<combobox>
<input placeholder="Search country" />
<listbox>
<group label="Recent">
<option>United States</option>
<option>Canada</option>
</group>
<group label="All countries">
<option>Afghanistan</option>
…
</group>
</listbox>
</combobox>The user types "ger," sees Germany, picks it. Hick's Law collapsed to recognition.
<!-- Anti-pattern: 14 top-nav items -->
<nav>
<a>Home</a><a>Dashboard</a><a>Projects</a><a>Tasks</a><a>Reports</a>
<a>Calendar</a><a>Files</a><a>Inbox</a><a>Notifications</a><a>Team</a>
<a>Customers</a><a>Vendors</a><a>Settings</a><a>Help</a>
</nav>User can't decide where to start; eyes sweep, fatigue.
<!-- Right: 5 top-level groups, with sub-nav under each -->
<nav>
<a>Work</a> <!-- Dashboard, Tasks, Calendar, Files -->
<a>Inbox</a> <!-- Notifications, Messages -->
<a>People</a> <!-- Team, Customers, Vendors -->
<a>Reports</a>
<a>Settings</a>
</nav>Five groups; user picks one in <1 second; sub-nav resolves the within-group choice.
<!-- Anti-pattern: 30 toggles in a flat list -->
<form>
<label><input type="checkbox" /> Send daily summary email</label>
<label><input type="checkbox" /> Send weekly summary email</label>
<label><input type="checkbox" /> Notify on mention in any channel</label>
…(27 more)
</form>The user is asked to evaluate 30 boolean choices, most of which they don't care about.
<!-- Right: grouped, with strong defaults pre-selected -->
<form>
<fieldset>
<legend>Email digest</legend>
<label><input type="radio" name="digest" value="off" /> Off</label>
<label><input type="radio" name="digest" value="daily" checked /> Daily (recommended)</label>
<label><input type="radio" name="digest" value="weekly" /> Weekly</label>
</fieldset>
<fieldset>
<legend>Push notifications</legend>
<label><input type="radio" name="push" value="off" /> Off</label>
<label><input type="radio" name="push" value="mentions" checked /> Mentions only (recommended)</label>
<label><input type="radio" name="push" value="all" /> All activity</label>
</fieldset>
<details>
<summary>Advanced (Slack, calendar, custom rules)</summary>
…(advanced settings, hidden by default)…
</details>
</form>Now the user faces 3 + 3 = 6 visible choices, both with sensible defaults. Most users accept the defaults. Power users open the disclosure.
A 4-step wizard with 4 choices at each step has 256 logical paths. The user sees only 4 at a time, so per-step cost is manageable. But cumulative decision fatigue can be high.
Mitigations:
80-20-rule — partner principle; identifies which options to surface and which to demote.recognition-over-recall — the cognitive shift that lets typeahead collapse Hick's Law for very large sets.progressive-disclosure — the structural strategy for hiding the long tail.chunking — the perceptual basis for why grouped options outperform flat ones.satisficing — users pick the first acceptable option; defaults exploit this.flexibility-usability-tradeoff (interaction) — adding options gives flexibility and costs usability; Hick's Law quantifies the cost.hicks-law-menus — applying the law to dropdowns, command palettes, navigation menus.hicks-law-defaults — using defaults as the primary Hick's Law mitigation.hicks-law-pricing — applying the law to plan/tier selection where the choice itself is the conversion event.© 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/hicks-law of hashgraph-online/awesome-codex-plugins.
Open the folder on GitHubat commit 3e1456a
Hicks Law 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 |
|---|---|---|---|---|---|---|
| Hicks Law this skillhashgraph-online/awesome-codex-plugins | 1.3k | — | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Hicks LawOwl-Listener/designer-skills | 2.9k | 1 repos | ~665 | Automated safety check: Pass | MIT | |
| Optionsasgeirtj/system_prompts_leaks | 69k | — | ~918 | Automated safety check: Pass | CC0-1.0 | |
| Options Strategy BacktestingHKUDS/Vibe-Trading | 35k | — | ~2k | Automated safety check: Pass | MIT | |
| Remove Option Or Flaggetsentry/sentry | 46k | — | ~3k | Automated safety check: Pass | Custom licence | |
| Options PayoffHKUDS/Vibe-Trading | 35k | — | ~6.8k | Automated safety check: Pass | MIT |
Owl-Listener/designer-skills
Apply Hick's Law — decision time grows with the number of simultaneous choices.
asgeirtj/system_prompts_leaks
Present multiple design options as a vertical stack of anchored turns
HKUDS/Vibe-Trading
Backtests multi-leg option strategies by synthesizing Black-Scholes prices from the underlying, simulating PnL, Greeks exposure and expiration for crypto and equity options.
getsentry/sentry
Remove a Sentry option or FlagPole feature flag whose rollout is finished, in the correct PR order across sentry, getsentry, and sentry-options-automator.
HKUDS/Vibe-Trading
Option P&L analysis methodology: payoff diagrams, breakeven calculation, multi-leg strategy visualization, and Greeks-based scenario analysis.
remotion-dev/remotion
Add a new Remotion CLI or config option by creating an AnyRemotionOption, registering CLI parsing, wiring config setters, and updating documentation.
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
Use CALL-E from Codex through the calle CLI. An agent skill from hashgraph-online/awesome-codex-plugins.
hashgraph-online/awesome-codex-plugins
Balance game difficulty, resources, rewards, probability, progression, economies, and dominant strategies.
A skill your agent uses whenever a design has many options the user must choose among — menus, navigation, pickers, plan tiers, settings panels, action toolbars, lists of templates, anything that…. Hicks Law is an agent skill from hashgraph-online/awesome-codex-plugins." Trigger when the user is laying out a navigation menu, designing a settings page, picking the structure of a wizard, building a country/timezone/currency picker, designing a pricing table, or reviewing a UI where users hesitate over which control to use.
Hicks Law fits situations like: A design has many options the user must choose among — menus; settings panels; action toolbars; lists of templates.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill hicks-law -a claude-code`. Or copy the skill folder (plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/hicks-law in hashgraph-online/awesome-codex-plugins) into .claude/skills/hicks-law in your project. Claude Code loads it when a task matches its description.
Run `npx skills add hashgraph-online/awesome-codex-plugins --skill hicks-law -a codex`. Or copy the skill folder (plugins/HDeibler/universal-design-principles/plugins/cognition-and-learnability-principles/skills/hicks-law in hashgraph-online/awesome-codex-plugins) into .agents/skills/hicks-law 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 hicks-law -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/hicks-law, .gemini/skills/hicks-law, .github/skills/hicks-law and .opencode/skills/hicks-law in your project.
SKILL.md names no scripts, command-line tools or credentials: Hicks Law 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.
Hicks Law 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 1.3k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Hicks Law: Hicks Law (Owl-Listener/designer-skills, 2.9k stars), Options (asgeirtj/system_prompts_leaks, 69k stars), Options Strategy Backtesting (HKUDS/Vibe-Trading, 35k stars) and Remove Option Or Flag (getsentry/sentry, 46k 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,267 GitHub stars. The repository holds 716 skills in this directory. The repository was last updated on October 10, 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.