@ericrisco/rsc 3.3.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +6 -3
  2. package/manifest.json +43 -22
  3. package/package.json +1 -1
  4. package/scripts/lib/default-skill-floor.js +5 -1
  5. package/scripts/lib/domains.js +2 -2
  6. package/scripts/lib/retired-skills.js +4 -0
  7. package/skills/design/SKILL.md +4 -3
  8. package/skills/design/evals/cases.yaml +2 -2
  9. package/skills/react/SKILL.md +2 -1
  10. package/skills/suggest/SKILL.md +12 -8
  11. package/skills/suggest/evals/cases.yaml +6 -0
  12. package/skills/ux/SKILL.md +149 -0
  13. package/skills/ux/THIRD_PARTY.md +32 -0
  14. package/skills/ux/evals/cases.yaml +40 -0
  15. package/skills/ux/references/flows.md +124 -0
  16. package/skills/ux/upstream/UPSTREAM.json +59 -0
  17. package/skills/ux/upstream/ux-designer/GUIDE.md +180 -0
  18. package/skills/ux/upstream/ux-designer/LICENSE +21 -0
  19. package/skills/ux/upstream/ux-designer/references/01-core-principles.md +251 -0
  20. package/skills/ux/upstream/ux-designer/references/02-laws-of-ux.md +330 -0
  21. package/skills/ux/upstream/ux-designer/references/03-accessibility.md +411 -0
  22. package/skills/ux/upstream/ux-designer/references/04-visual-design.md +433 -0
  23. package/skills/ux/upstream/ux-designer/references/05-information-architecture.md +432 -0
  24. package/skills/ux/upstream/ux-designer/references/06-interaction-design.md +495 -0
  25. package/skills/ux/upstream/ux-designer/references/07-forms-and-inputs.md +491 -0
  26. package/skills/ux/upstream/ux-designer/references/08-mobile-ux.md +539 -0
  27. package/skills/ux/upstream/ux-designer/references/09-ux-writing.md +493 -0
  28. package/skills/ux/upstream/ux-designer/references/10-user-research.md +533 -0
  29. package/skills/ux/upstream/ux-designer/references/11-design-systems.md +618 -0
  30. package/skills/ux/upstream/ux-designer/references/12a-presence-awareness.md +395 -0
  31. package/skills/ux/upstream/ux-designer/references/12b-conflict-resolution-sync.md +420 -0
  32. package/skills/ux/upstream/ux-designer/references/13a-canvas-navigation.md +388 -0
  33. package/skills/ux/upstream/ux-designer/references/13b-canvas-objects-performance.md +559 -0
  34. package/skills/ux/upstream/ux-designer/references/14-ai-ux-patterns.md +511 -0
  35. package/skills/ux/upstream/ux-designer/references/15-ethical-design.md +419 -0
  36. package/skills/ux/upstream/ux-designer/references/16-onboarding.md +430 -0
  37. package/skills/ux/upstream/ux-designer/references/17-notifications.md +461 -0
  38. package/skills/ux/upstream/ux-designer/references/18-data-visualization.md +453 -0
  39. package/skills/ux/upstream/ux-designer/references/19-search-ux.md +479 -0
  40. package/skills/ux/upstream/ux-designer/references/20-emotional-design.md +382 -0
  41. package/skills/ux/upstream/ux-designer/references/21-data-tables.md +629 -0
  42. package/skills/ux/upstream/ux-designer/references/22-performance-ux.md +626 -0
  43. package/skills/ux/upstream/ux-designer/references/23-internationalization.md +347 -0
  44. package/skills/ux/upstream/ux-designer/references/24-voice-and-multimodal.md +308 -0
  45. package/skills/ux/upstream/ux-designer/references/25a-barcode-camera-scanning.md +342 -0
  46. package/skills/ux/upstream/ux-designer/references/25b-barcode-scanner-workflows.md +412 -0
  47. package/skills/ux/upstream/ux-designer/references/25c-barcode-display.md +277 -0
  48. package/skills/ux/upstream/ux-usability-foundations/GUIDE.md +285 -0
  49. package/skills/ux/upstream/ux-usability-foundations/LICENSE +21 -0
  50. package/skills/ux/upstream/ux-usability-foundations/references/anti-patterns.md +267 -0
  51. package/skills/ux/upstream/ux-usability-foundations/references/checklists.md +130 -0
  52. package/skills/ux/upstream/ux-usability-foundations/references/decision-prompts.md +340 -0
  53. package/skills/ux/upstream/ux-usability-foundations/references/principle-cards.md +449 -0
  54. package/targets/clone-bootstrap.mjs +1 -1
  55. package/skills/ui-engineering/SKILL.md +0 -113
  56. package/skills/ui-engineering/evals/cases.yaml +0 -38
@@ -0,0 +1,330 @@
1
+ # Laws of UX
2
+
3
+ Psychological principles that inform user experience design, collected and popularized by Jon Yablonski.
4
+
5
+ ---
6
+
7
+ ## Contents
8
+
9
+ - Fitts's Law
10
+ - Hick's Law (Hick-Hyman Law)
11
+ - Miller's Law
12
+ - Jakob's Law
13
+ - Peak-End Rule
14
+ - Tesler's Law (Law of Conservation of Complexity)
15
+ - Gestalt Principles
16
+ - Additional Important Laws
17
+ - Sources
18
+
19
+ ---
20
+
21
+ ## Fitts's Law
22
+
23
+ > The time to acquire a target is a function of the distance to and size of the target.
24
+
25
+ **Formulated by:** Paul Fitts (1954)
26
+
27
+ ### Key Implications
28
+
29
+ 1. **Make important targets large** - Buttons, links, and interactive elements should be big enough to click/tap easily
30
+ 2. **Reduce distance to targets** - Place frequently used actions near common cursor/finger positions
31
+ 3. **Use screen edges and corners** - These are effectively infinite in size (cursor stops at edge)
32
+
33
+ ### Application in UX
34
+
35
+ ```
36
+ Good:
37
+ - Large, prominent CTAs
38
+ - Sticky navigation bars
39
+ - Context menus near cursor
40
+ - Floating action buttons on mobile
41
+
42
+ Avoid:
43
+ - Tiny click targets
44
+ - Important actions far from content
45
+ - Small close buttons on modals
46
+ ```
47
+
48
+ ### Minimum Target Sizes
49
+ - **Touch (mobile):** 44×44px (Apple) / 48×48dp (Material Design)
50
+ - **Mouse (desktop):** 24×24px minimum, 44×44px recommended
51
+ - **Spacing between targets:** 8px minimum
52
+
53
+ ---
54
+
55
+ ## Hick's Law (Hick-Hyman Law)
56
+
57
+ > The time it takes to make a decision increases with the number and complexity of choices.
58
+
59
+ **Formulated by:** William Edmund Hick & Ray Hyman (1952)
60
+
61
+ ### Key Implications
62
+
63
+ 1. **Limit choices** - Fewer options = faster decisions
64
+ 2. **Group and categorize** - Break complex choices into simpler steps
65
+ 3. **Highlight recommendations** - Guide users toward optimal choices
66
+ 4. **Progressive disclosure** - Show only necessary options initially
67
+
68
+ ### Application in UX
69
+
70
+ ```
71
+ Good:
72
+ - "Top 10" lists on Netflix
73
+ - 3-4 pricing tiers
74
+ - Stepped forms/wizards
75
+ - Clear default selections
76
+
77
+ Avoid:
78
+ - Overwhelming dropdown menus
79
+ - Too many navigation items
80
+ - Endless feature lists
81
+ - Choice paralysis situations
82
+ ```
83
+
84
+ ### The Magic Number
85
+ There is no magic number. Menus are *scanned*, not memorized, so Miller's 7±2 does not apply to them (a common misreading). Keep top-level navigation small enough to scan at a glance — typically 5-7 items on desktop, 3-5 in a mobile bottom bar — and let card sorting and analytics decide the rest.
86
+
87
+ ---
88
+
89
+ ## Miller's Law
90
+
91
+ > The average person can only keep about 7 (±2) items in their working memory.
92
+
93
+ **Formulated by:** George A. Miller (1956)
94
+
95
+ **Modern correction:** Later research (Cowan, 2001) puts working-memory capacity closer to **4±1 chunks**. Use this law to justify *chunking* and *not forcing recall*; do not use it to cap menu or list lengths — anything visible on screen is recognition, not recall.
96
+
97
+ ### Key Implications
98
+
99
+ 1. **Chunk information** - Group related items into meaningful units
100
+ 2. **Limit simultaneous elements** - Don't overwhelm working memory
101
+ 3. **Use recognizable patterns** - Familiar structures reduce memory load
102
+ 4. **Provide external memory aids** - Let the interface remember for users
103
+
104
+ ### Application in UX
105
+
106
+ ```
107
+ Good:
108
+ - Phone numbers: (555) 123-4567
109
+ - Credit cards: 1234 5678 9012 3456
110
+ - Step indicators: Step 2 of 4
111
+ - Breadcrumb navigation
112
+
113
+ Avoid:
114
+ - Long strings of numbers/codes
115
+ - Too many form fields visible at once
116
+ - Complex multi-step processes without progress indication
117
+ ```
118
+
119
+ ---
120
+
121
+ ## Jakob's Law
122
+
123
+ > Users spend most of their time on other sites. This means that users prefer your site to work the same way as all the other sites they already know.
124
+
125
+ **Named after:** Jakob Nielsen
126
+
127
+ ### Key Implications
128
+
129
+ 1. **Follow conventions** - Use established patterns users expect
130
+ 2. **Don't reinvent the wheel** - Standard UI patterns exist for good reason
131
+ 3. **Meet expectations** - Cart icon, hamburger menu, search bar placement
132
+ 4. **Innovate carefully** - Novel interactions require learning investment
133
+
134
+ ### Application in UX
135
+
136
+ ```
137
+ Conventional Patterns:
138
+ - Logo in top-left links to home
139
+ - Shopping cart in top-right
140
+ - Search bar in header
141
+ - Footer contains legal/contact links
142
+ - Underlined text = hyperlink
143
+ - Blue links (or clearly styled alternatives)
144
+
145
+ Risky Innovations:
146
+ - Non-standard navigation placement
147
+ - Unusual scroll behaviors
148
+ - Custom cursor styles
149
+ - Non-standard form controls
150
+ ```
151
+
152
+ ---
153
+
154
+ ## Peak-End Rule
155
+
156
+ > People judge an experience largely based on how they felt at its most intense point (peak) and at its end, rather than based on the sum of every moment.
157
+
158
+ **Formulated by:** Daniel Kahneman
159
+
160
+ ### Key Implications
161
+
162
+ 1. **Design memorable moments** - Create positive peaks in the experience
163
+ 2. **End on a high note** - Final impressions disproportionately matter
164
+ 3. **Manage low points** - Minimize negative peaks in user journeys
165
+ 4. **Focus on key moments** - Not every interaction needs equal polish
166
+
167
+ ### Application in UX
168
+
169
+ ```
170
+ Positive Peaks:
171
+ - Delightful animations on success
172
+ - Personalized welcome messages
173
+ - Achievement celebrations
174
+ - Surprise and delight moments
175
+
176
+ Strong Endings:
177
+ - Clear confirmation of completed tasks
178
+ - Helpful "what's next" suggestions
179
+ - Thank you messages
180
+ - Easy save/export of results
181
+ ```
182
+
183
+ ---
184
+
185
+ ## Tesler's Law (Law of Conservation of Complexity)
186
+
187
+ > For any system there is a certain amount of complexity which cannot be reduced. The question is: who deals with it—the user or the designer?
188
+
189
+ **Formulated by:** Larry Tesler
190
+
191
+ ### Key Implications
192
+
193
+ 1. **Absorb complexity** - Move complexity from users to the system
194
+ 2. **Don't oversimplify** - Some complexity is inherent and necessary
195
+ 3. **Smart defaults** - Handle common cases automatically
196
+ 4. **Progressive disclosure** - Hide complexity until needed
197
+
198
+ ### Application in UX
199
+
200
+ ```
201
+ System absorbs complexity:
202
+ - Auto-detecting location
203
+ - Pre-filling forms with known data
204
+ - Smart suggestions and autocomplete
205
+ - Automatic formatting (dates, phone numbers)
206
+ - Intelligent defaults
207
+
208
+ Don't remove necessary complexity:
209
+ - Tax filing requires certain information
210
+ - Medical forms need complete details
211
+ - Security requires authentication steps
212
+ ```
213
+
214
+ ---
215
+
216
+ ## Gestalt Principles
217
+
218
+ Principles of visual perception that explain how humans group visual elements.
219
+
220
+ ### Proximity
221
+ Elements close together are perceived as related.
222
+
223
+ ```
224
+ Use for:
225
+ - Grouping form fields
226
+ - Organizing navigation
227
+ - Creating visual sections
228
+ - Associating labels with inputs
229
+ ```
230
+
231
+ ### Similarity
232
+ Elements that look similar are perceived as related.
233
+
234
+ ```
235
+ Use for:
236
+ - Consistent button styles
237
+ - Icon families
238
+ - Color coding categories
239
+ - Typography indicating function
240
+ ```
241
+
242
+ ### Continuity
243
+ Elements arranged in a line or curve are perceived as related.
244
+
245
+ ```
246
+ Use for:
247
+ - Progress indicators
248
+ - Timelines
249
+ - Navigation flows
250
+ - Reading direction
251
+ ```
252
+
253
+ ### Closure
254
+ The mind fills in missing information to complete shapes.
255
+
256
+ ```
257
+ Use for:
258
+ - Minimalist icons
259
+ - Loading indicators
260
+ - Implied boundaries
261
+ - Logo design
262
+ ```
263
+
264
+ ### Common Region
265
+ Elements within a boundary are perceived as grouped.
266
+
267
+ ```
268
+ Use for:
269
+ - Card designs
270
+ - Form sections
271
+ - Modal dialogs
272
+ - Feature groupings
273
+ ```
274
+
275
+ ### Figure-Ground
276
+ The mind separates foreground from background.
277
+
278
+ ```
279
+ Use for:
280
+ - Modal overlays
281
+ - Focus states
282
+ - Dropdown menus
283
+ - Image/text relationships
284
+ ```
285
+
286
+ ---
287
+
288
+ ## Additional Important Laws
289
+
290
+ ### Aesthetic-Usability Effect
291
+ Users often perceive aesthetically pleasing designs as more usable, even when they're not.
292
+
293
+ ### Doherty Threshold
294
+ Productivity increases when computer and user interact at a pace (< 400ms) that ensures neither has to wait on the other.
295
+
296
+ ### Law of Common Region
297
+ Elements tend to be perceived as groups if they share an enclosed area.
298
+
299
+ ### Law of Prägnanz
300
+ People interpret ambiguous images as simple and complete.
301
+
302
+ ### Mere Exposure Effect
303
+ The more exposure people have to something, the more they prefer it.
304
+
305
+ ### Occam's Razor
306
+ Among competing hypotheses, the one with the fewest assumptions should be selected.
307
+
308
+ ### Pareto Principle (80/20 Rule)
309
+ Roughly 80% of effects come from 20% of causes. Focus on the vital few features/screens.
310
+
311
+ ### Postel's Law
312
+ Be liberal in what you accept and conservative in what you send.
313
+
314
+ ### Serial Position Effect
315
+ Users best remember the first and last items in a series.
316
+
317
+ ### Von Restorff Effect (Isolation Effect)
318
+ Items that stand out are more likely to be remembered.
319
+
320
+ ### Zeigarnik Effect
321
+ People remember uncompleted tasks better than completed ones.
322
+
323
+ ---
324
+
325
+ ## Sources
326
+
327
+ - Yablonski, J. (2020). "Laws of UX: Using Psychology to Design Better Products & Services"
328
+ - [lawsofux.com](https://lawsofux.com/)
329
+ - Nielsen Norman Group research
330
+ - Kahneman, D. (2011). "Thinking, Fast and Slow"