design-everyday-things
This skill applies Don Norman's foundational design principles to diagnose and improve product usability. Use it when users struggle to understand how to interact with a system, why errors occur, or how to recover from mistakes. It evaluates designs across discoverability, understandability, and error prevention, targeting the "gulfs of execution and evaluation" that separate user intent from product capability and feedback.
git clone --depth 1 https://github.com/wondelai/skills /tmp/design-everyday-things && cp -r /tmp/design-everyday-things/design-everyday-things ~/.claude/skills/design-everyday-thingsSKILL.md
# Design of Everyday Things Framework Foundational design principles for creating products that are intuitive, discoverable, and understandable. The "bible of UX" — applicable to physical products, software, and any human-designed system. ## Core Principle **Good design is actually a lot harder to notice than poor design, in part because good designs fit our needs so well that the design is invisible.** When something fails, users blame themselves — but the fault is almost always in the design. Great design bridges the gap between what people want to do and what the product allows: it is discoverable (you can figure out what to do) and understandable (you can figure out what happened). ## Scoring **Goal: 10/10.** Rate any design 0-10 on discoverability, understandability, and error prevention. A 10/10 means users figure out what to do without instructions, understand what happened, and recover from errors easily. Report the current score and the improvements needed to reach 10/10. ## The Two Gulfs Every interaction with a product requires bridging two gulfs: ``` USER PRODUCT │ │ ├──── Gulf of Execution ────────────────→│ │ "How do I do what I want?" │ │ │ │←──── Gulf of Evaluation ──────────────┤ │ "What happened? Did it work?" │ ``` ### Gulf of Execution **The gap between what users want to do and what the product lets them do.** Users ask: What can I do here? Which control do I use? **Bridge with:** clear signifiers, natural mappings, constraints, familiar conceptual models. ### Gulf of Evaluation **The gap between what the product did and what users understand happened.** Users ask: What happened? Did it work? What state is the system in? **Bridge with:** immediate visible feedback, clear system-state indicators, meaningful error messages, progress indicators. **Design goal:** Make both gulfs as narrow as possible — action and understanding should be immediate. See: [references/two-gulfs.md](references/two-gulfs.md) for gulf analysis exercises. ## Seven Fundamental Design Principles ### 1. Discoverability **Definition:** Can users figure out what actions are possible and how to perform them? Its five components — affordances, signifiers, constraints, mappings, feedback — are detailed below. **Test:** Put a new user in front of your product. If they can't figure out what to do within 10 seconds, discoverability is broken. **Anti-pattern:** "The user manual explains it." If users need a manual, the design failed. ### 2. Affordances **Definition:** The relationship between an object's properties and a user's capabilities that determines how the object could be used. **Key insight:** Affordances exist whether or not they are perceived — what matters for design is *perceived* affordance. | Type | Definition | Example | |------|------------|---------| | **Real** | Physical capability exists | A button affords pressing | | **Perceived** | User believes capability exists | A raised area looks clickable | | **Hidden** | Exists but isn't obvious | Right-click context menu | | **False** | Appears to afford action but doesn't | Decorative element that looks clickable | | **Anti-affordance** | Prevents action | A barrier that blocks movement | **Digital applications:** | Element | Affordance | How to Signal | |---------|------------|---------------| | **Button** | Clicking/tapping | Raised, colored, shadow, hover state | | **Text field** | Text input | Border, placeholder text, label | | **Scroll area** | Scrolling | Scroll bar, fade at edge, partial content | **Common failures:** flat design erasing perceived affordances (button or label?), too-small touch targets, interactive and decorative elements that look identical. See: [references/affordances.md](references/affordances.md) for affordance design patterns. ### 3. Signifiers **Definition:** Signals that communicate where the action should take place. **Affordances determine what you CAN do; signifiers show you WHERE and HOW.** | Type | Definition | Example | |------|------------|---------| | **Deliberate** | Designed to communicate | "Push" label on door, placeholder text | | **Accidental** | Unintentional but informative | Worn path in grass (people walk here) | | **Social** | Other people's behavior | Line of people indicates entrance | **Digital signifiers:** | Signifier | What It Communicates | Example | |-----------|---------------------|---------| | **Cursor change + hover state** | This is interactive | Pointer → hand on links; button color change | | **Icons + labels** | Function of the element | Magnifying glass = search; "Submit", "Cancel" | | **Color + position** | Status, category, hierarchy | Red = error, green = success; close button top-right | **Design rule:** When in doubt, add a signifier — better to over-communicate than leave users guessing. See: [references/signifiers.md](references/signifiers.md) for signifier patterns and examples. ### 4. Mappings **Definition:** The relationship between controls and their effects. **Natural mapping** means the spatial layout of controls matches the layout of what they control. | Mapping Quality | Example | Why It Works/Fails | |-----------------|---------|-------------------| | **Natural** | Volume slider (up = louder) | Matches mental model | | **Poor** | Light switch panel | No spatial correspondence to lights | | **Poor** | Stovetop knobs in a row | Layout doesn't match burner positions | **Digital principles:** controls near what they affect, layout mirroring content, direction matching expectation (scroll down = content moves up), related controls grouped. | Technique | How It Works | Example | |-----------|-------------|---------| | **Proximity** | Control near target | Edit button next to content | | **Spatial** | Layout mirrors real world | Map controls match compass directions | | **Cultural*
Build lean, opinionated products using the 37signals philosophy from Getting Real, Rework, and Shape Up. Use when the user mentions "Getting Real", "Rework", "Shape Up", "37signals", "Basecamp method", "six-week cycles", "fixed time variable scope", "appetite vs estimates", "betting table", "breadboarding", "fat marker sketch", "build less", "underdo the competition", or "opinionated software". Also trigger when cutting scope to ship faster, running small teams, avoiding long-term roadmaps, or eliminating meetings. Covers shaping, betting, building, and the art of saying no. For MVP validation, see lean-startup. For design sprints, see design-sprint.
Create uncontested market space using value innovation instead of competing head-to-head. Use when the user mentions "blue ocean", "red ocean", "strategy canvas", "ERRC framework", "value innovation", "non-customers", "buyer utility map", "eliminate-reduce-raise-create", or "uncontested market". Also trigger when comparing pricing strategies, exploring new market categories, finding underserved customer segments, or asking how to stop competing on price. Covers the Four Actions Framework, buyer utility map, and value-cost trade-offs. For tech adoption strategy, see crossing-the-chasm. For product positioning, see obviously-awesome.
Structure software around the Dependency Rule: source code dependencies point inward from frameworks to use cases to entities. Use when the user mentions "architecture layers", "dependency rule", "ports and adapters", "hexagonal architecture", "use case boundary", "onion architecture", "screaming architecture", or "framework independence". Also trigger when decoupling business logic from databases or frameworks, defining module boundaries, or debating where to put business rules. Covers component principles, boundaries, and SOLID. For code quality, see clean-code. For domain modeling, see domain-driven-design.
Write readable, maintainable code through disciplined naming, small functions, and clean error handling. Use when the user mentions "code review", "naming conventions", "function too long", "code smells", "readable code", "boy scout rule", "single responsibility", or "unit test quality". Also trigger when reviewing pull requests for readability, refactoring messy functions, debating comment styles, or improving error handling patterns. Covers SRP, comment discipline, formatting, and unit testing. For refactoring techniques, see refactoring-patterns. For architecture, see clean-architecture.
Engineer word-of-mouth and virality using the STEPPS framework (Social Currency, Triggers, Emotion, Public, Practical Value, Stories). Use when the user mentions "go viral", "word of mouth", "shareable content", "social currency", "why people share", "viral loop", "referral program", or "organic growth". Also trigger when designing shareable features, crafting social media campaigns, or building products that spread through peer recommendation. Covers environmental triggers and high-arousal emotional content. For sticky messaging, see made-to-stick. For persuasion tactics, see influence-psychology.
Build a weekly cadence of customer touchpoints using Opportunity Solution Trees, assumption mapping, and interview snapshots. Use when the user mentions "continuous discovery", "opportunity solution tree", "weekly interviews", "assumption testing", "discovery habits", "product trio", or "outcome-based roadmap". Also trigger when setting up regular customer feedback loops, prioritizing which experiments to run, or connecting discovery insights to delivery work. Covers experience mapping, co-creation, and prioritizing opportunities. For interview technique, see mom-test. For team structure, see inspired-product.
Audit websites and landing pages for conversion issues and design evidence-based A/B tests. Use when the user mentions "landing page isnt converting", "conversion rate", "A/B test", "why visitors leave", "objection handling", "bounce rate", "split testing", or "conversion funnel". Also trigger when diagnosing why signups are low, designing experiment hypotheses, or auditing checkout flows for friction points. Covers funnel mapping, persuasion assets, and objection/counter-objection frameworks. For overall marketing strategy, see one-page-marketing. For usability issues, see ux-heuristics.
Navigate the technology adoption lifecycle from early adopters to mainstream market. Use when the user mentions "crossing the chasm", "beachhead segment", "whole product", "early adopters vs. mainstream", "tech go-to-market", "bowling pin strategy", "technology adoption lifecycle", or "pragmatist buyers". Also trigger when a startup has early traction but struggles to grow beyond initial users, or when planning go-to-market for technical products. Covers D-Day analogy, bowling-pin strategy, and positioning against incumbents. For product positioning, see obviously-awesome. For new market creation, see blue-ocean-strategy.