skills/hicks-law/SKILL.md
Optimize decision-making speed by managing choice quantity. Use when designing navigation, menus, feature sets, onboarding flows, or any interface where users must choose between options.
npx skillsauth add Chris-Maskey/opencode-config hicks-lawInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Hick's Law (also Hick-Hyman Law) states that the time it takes to make a decision increases logarithmically with the number and complexity of choices. Named after British psychologist William Edmund Hick and American psychologist Ray Hyman (1952).
RT = a + b * log2(n+1)
Where:
RT = Reaction time
a = Time not involved in decision (physical movement, etc.)
b = Empirical constant (~0.155s for choice tasks)
n = Number of equally probable choices
| Choices | Relative Decision Time | User Experience | | ------- | ---------------------- | --------------------- | | 2 | Baseline | Quick, confident | | 4 | +1 unit | Still manageable | | 8 | +2 units | Starting to slow | | 16 | +3 units | Noticeable hesitation | | 32 | +4 units | Overwhelm begins | | 64+ | +5+ units | Paralysis likely |
User Satisfaction
^
| *
| * *
| * *
| * *
|* *____
+-----------------------> Number of Choices
Sweet spot
(4-7 items)
Map all places users must choose:
| Screen/Flow | Decision Type | Options Count | Complexity | | ----------- | ------------- | ------------- | ---------- | | [Screen 1] | Navigation | [n] | [H/M/L] | | [Screen 2] | Selection | [n] | [H/M/L] | | [Screen 3] | Configuration | [n] | [H/M/L] |
Essential (keep) Nice-to-have (maybe) Remove
| | |
v v v
[_______] [_______] [_______]
[_______] [_______] [_______]
[_______] [_______] [_______]
## Hick's Law Analysis
**Interface/Flow:** [Name] **Analysis Date:** [Date]
### Decision Point Inventory
| Location | Current Options | Target | Strategy |
| --------- | --------------- | ------ | -------------------- |
| [Point 1] | [n] | [n] | [Chunk/Hide/Default] |
| [Point 2] | [n] | [n] | [Chunk/Hide/Default] |
### Reduction Plan
**Quick wins (no functionality loss):**
1. [Change 1]
2. [Change 2]
**Strategic reductions (requires tradeoffs):**
1. [Change with impact analysis]
### Expected Impact
- Decision time reduction: ~[X]%
- Conversion improvement: ~[X]% (estimated)
- Support ticket reduction: ~[X]% (estimated)
Cable TV: 500+ channels = Decision paralysis
Netflix approach:
Menu has only 4 items vs. competitors' 50+:
The constraint creates confidence in choice quality.
Original: 15 configuration options upfront
Redesigned: 3 essential questions, rest defaulted
Instead of:
[ ] Option A
[ ] Option B
[ ] Option C
Do:
[x] Option B (Recommended)
[ ] Option A
[ ] Option C
Basic Options
[Configure]
v Advanced (click to expand)
[_] Setting 1
[_] Setting 2
Instead of 12 flat options:
Category A Category B Category C
- Item 1 - Item 5 - Item 9
- Item 2 - Item 6 - Item 10
- Item 3 - Item 7 - Item 11
- Item 4 - Item 8 - Item 12
| Method | Combined Use | | -------------------------- | -------------------------------------- | | Progressive Disclosure | Hide complexity, reveal on demand | | Cognitive Load | Fewer choices = lower cognitive burden | | Fogg Behavior Model | Simpler choices increase ability | | Jobs-to-be-Done | Focus options on user's actual job |
tools
Anti-patterns and mistakes to avoid as a product manager. Use when evaluating leadership behaviors, improving team dynamics, reflecting on management practices, or onboarding new product managers.
development
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
testing
Design effective CTAs using visual attention and gaze psychology principles. Use when designing landing pages, button hierarchies, conversion elements, or optimizing user attention flow through interfaces.
tools
Run agent-browser + Chrome inside Vercel Sandbox microVMs for browser automation from any Vercel-deployed app. Use when the user needs browser automation in a Vercel app (Next.js, SvelteKit, Nuxt, Remix, Astro, etc.), wants to run headless Chrome without binary size limits, needs persistent browser sessions across commands, or wants ephemeral isolated browser environments. Triggers include "Vercel Sandbox browser", "microVM Chrome", "agent-browser in sandbox", "browser automation on Vercel", or any task requiring Chrome in a Vercel Sandbox.