curiositech/human-centered-design-fundamentals
Apply cognitive psychology principles to design discoverable, understandable products through affordances, signifiers, feedback, and conceptual models. For physical and digital interfaces requiring human interaction. NOT for pure aesthetics, marketing, or AI-only systems.
npx skills add https://github.com/curiositech/some_claude_skills --skill human-centered-design-fundamentals
Design products that accommodate actual human cognition and behavior rather than expecting humans to adapt to arbitrary system requirements.
✅ Use for:
❌ NOT for:
START: User encounters system
│
├─→ Is this GOAL-DRIVEN (user has objective)?
│ ├─→ YES: Begin at Stage 1 (Form Goal)
│ │ ├─→ Can user identify what they want?
│ │ │ ├─→ NO: MISTAKE likely → Provide clear conceptual model
│ │ │ └─→ YES: Proceed to Stage 2
│ │ │
│ │ ├─→ Stage 2: Plan action sequence
│ │ │ ├─→ Are alternatives clear?
│ │ │ │ ├─→ NO: MISTAKE likely → Improve discoverability
│ │ │ │ └─→ YES: Proceed to Stage 3
│ │ │
│ │ ├─→ Stage 3: Specify action
│ │ │ ├─→ Is correct action obvious?
│ │ │ │ ├─→ NO: Gulf of Execution too wide → Add signifiers
│ │ │ │ └─→ YES: Proceed to Stage 4
│ │ │
│ │ └─→ Stage 4: Perform action
│ │ ├─→ Is user expert (subconscious execution)?
│ │ │ ├─→ YES: High SLIP risk → Add forcing functions
│ │ │ └─→ NO: Conscious execution → Provide clear affordances
│ │
└─→ Is this EVENT-DRIVEN (environmental trigger)?
└─→ YES: Begin at Stage 5 (Perceive state)
├─→ Stage 5: Perceive world state
│ ├─→ Is feedback immediate (<0.1s)?
│ │ ├─→ NO: Add immediate feedback
│ │ └─→ YES: Proceed to Stage 6
│
├─→ Stage 6: Interpret perception
│ ├─→ Does system state make sense?
│ │ ├─→ NO: Gulf of Evaluation too wide → Improve conceptual model
│ │ └─→ YES: Proceed to Stage 7
│
└─→ Stage 7: Compare with goal
├─→ Is outcome clear?
│ ├─→ NO: Add better feedback + conceptual model
│ └─→ YES: Action cycle complete
│
└─→ Goal achieved?
├─→ NO: Return to Stage 2 (new plan)
└─→ YES: END
EVALUATE DESIGN: Start here
│
├─→ Discoverability Check
│ ├─→ Can user determine possible actions without instructions?
│ │ ├─→ NO: Missing signifiers → Add visible indicators
│ │ └─→ YES: Check constraints
│ │
│ ├─→ Are constraints visible and effective?
│ │ ├─→ NO: Add physical/semantic/cultural/logical constraints
│ │ └─→ YES: Check mapping
│ │
│ └─→ Is control-to-effect mapping natural?
│ ├─→ NO: Redesign spatial relationships or use cultural conventions
│ └─→ YES: Proceed to Understanding Check
│
├─→ Understanding Check
│ ├─→ Does system image communicate conceptual model?
│ │ ├─→ NO: Improve structure, labels, documentation
│ │ └─→ YES: Check feedback
│ │
│ ├─→ Is feedback immediate and informative?
│ │ ├─→ NO: Add/improve feedback mechanisms
│ │ └─→ YES: Check processing levels
│ │
│ └─→ Are all three levels addressed?
│ ├─→ Visceral: Is it aesthetically appealing?
│ ├─→ Behavioral: Does it support learned patterns?
│ └─→ Reflective: Will memory of use be positive?
│
└─→ Error Prevention Check
├─→ What error types are possible?
│ ├─→ SLIPS (execution errors)?
│ │ └─→ Add forcing functions, reduce steps, prevent capture
│ ├─→ MISTAKES (planning errors)?
│ │ └─→ Improve conceptual model, add feedforward
│ └─→ MEMORY LAPSES?
│ └─→ Put knowledge in world, add reminders, minimize steps
│
├─→ Are modes present?
│ ├─→ YES: MODE ERROR risk
│ │ ├─→ Can you eliminate modes?
│ │ │ ├─→ YES: Eliminate them
│ │ │ └─→ NO: Make current mode extremely salient
│ │
└─→ Does security exceed human capability?
└─→ YES: Users will create workarounds → Redesign for actual capabilities
INCIDENT OCCURS
│
├─→ Ask: "What happened?" (Identify symptom)
│ └─→ Document observable failure
│
├─→ Ask: "Why did this happen?" (First cause)
│ ├─→ Answer: "Human error"
│ │ └─→ NEVER STOP HERE - This is anti-pattern
│ └─→ Continue investigation
│
├─→ Ask: "Why did the human make that error?" (Second why)
│ ├─→ Was signifier missing/unclear?
│ ├─→ Was feedback absent/poor?
│ ├─→ Was mapping unnatural?
│ ├─→ Was conceptual model wrong?
│ └─→ Continue for each factor
│
├─→ Ask: "Why was design inadequate?" (Third why)
│ └─→ Investigate design process failures
│
├─→ Ask: "Why did process fail?" (Fourth why)
│ └─→ Investigate organizational factors
│
├─→ Ask: "Why did organization allow this?" (Fifth why)
│ └─→ Reach fundamental systemic cause
│
└─→ DECISION: Fix person or fix system?
├─→ Multiple people made same error?
│ └─→ YES: System design failure → REDESIGN SYSTEM
└─→ Isolated incident with unique circumstances?
└─→ Investigate further - may still be system issue
Novice approach:
Expert approach:
Shibboleth: "If an error is common, it's a design failure. Human error usually is a result of poor design: it should be called system error."
Novice approach:
Expert approach:
Shibboleth: "The design of the door should indicate how to work it without any need for signs, certainly without any need for trial and error."
Novice approach:
Expert approach:
Shibboleth: "Mode errors are design errors. When equipment has multiple modes, the equipment must make the mode clearly visible."
Novice approach:
Expert approach:
Shibboleth: "The most effective way of helping people remember is to make it unnecessary. Put required knowledge in the world."
Novice approach:
Expert approach:
Shibboleth: "Feedback must be immediate, informative, and appropriately prioritized. Poor feedback can be worse than no feedback."
Novice approach:
Expert approach:
Shibboleth: "Attractive things work better - but only when they ALSO work well. Good design is invisible because it fits needs perfectly."
Novice approach:
Expert approach:
Shibboleth: "Making systems too secure makes them less secure. We must accept human behavior the way it is, not the way we wish it to be."
Gulf Metaphor:
Knowledge Distribution:
Error Attribution:
Swiss Cheese Model:
Action Cycles:
Processing Levels:
1988 (Original Edition): Focus on affordances; academic cognitive psychology perspective; "Psychology of Everyday Things" title emphasized scientific foundation
2013 (Revised Edition): Shifted emphasis from affordances to signifiers after recognizing confusion in digital design community; added chapters on emotion, experience design, and design thinking; incorporated business and industry perspectives from author's Apple/HP experience
Pre-automation era (<1900s): Direct physical manipulation; immediate mechanical feedback; human operators controlled complex systems with transparent cause-effect relationships
Modern automation (1900s-2000s): Separation of users from direct system control; new error modes from automation; "ironies of automation" where increased automation demands higher operator skill
Touchscreen era (2000s+): Loss of physical affordances; gesture-based interaction; metaphor shift from "moving window" to "moving text" scrolling; elimination of tactile feedback requiring stronger visual signifiers
Current challenge (2010s+): Balancing security requirements with human cognitive limitations; designing for interruption-heavy multitasking environments; accommodating aging populations with declining capabilities
Take curiositech/human-centered-design-fundamentals from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.