Skip to content

usability-lens

Invocation: Internal — not user-invocable (agent-preloaded)
Source: skills/review/lenses/usability-lens/SKILL.md

Review as a developer using this API or interface for the first time.

  1. Evaluate Developer Experience
  • Assess API ergonomics — consistency, minimality, discoverability, least surprise
  • Check time to first success — can a developer get started quickly?
  • Verify sensible defaults — does the system work out of the box?
  • Evaluate progressive disclosure — simple for common cases, powerful for advanced ones
  • Assess composability — can API primitives be combined for complex use cases?
  1. Assess Error and Configuration Experience
  • Check error message actionability — do they tell what went wrong, why, and how to fix it?
  • Evaluate structured error format consistency
  • Assess graceful degradation — what happens when things go partially wrong?
  • Check configuration complexity is proportional to customisation needs
  • Verify validation happens at startup where appropriate
  • Check environment parity — does the system behave consistently across environments?
  1. Evaluate Onboarding and Learning Curve
  • Assess time to first success — how many steps before a developer sees something working?
  • Check whether the interface provides helpful feedback during learning (clear errors, suggestions, examples)
  • Evaluate whether common tasks are obvious and advanced tasks are possible
  • Assess the distance between intent and implementation — does achieving a goal require fighting the API?
  • Check whether the interface follows conventions from similar tools or libraries that developers would already know

Boundary note: API contract compatibility, backward/forward compatibility, and versioning discipline are assessed by the compatibility lens. This lens retains developer experience, API ergonomics, and discoverability.

API ergonomics (always applicable):

  • Consistency: If a developer learned how to do operation A, could they guess how to do operation B without reading docs?
  • Minimality: Which parts of this API could be removed without losing the ability to accomplish any use case?
  • Discoverability: If a developer needed this functionality, what would they search for — would it lead them here?
  • Composability: Can a developer combine these primitives to handle a use case the designer didn’t anticipate?
  • Least surprise: Does anything behave in an unexpected way?
  • Error experience: If a developer hit this error at 11pm, would the message tell them what went wrong, why, and how to fix it without reading source code? (Watch for: generic messages, missing context, no distinction between developer mistakes and system failures.)
  • Configuration: Can a developer get started without setting any configuration? What breaks if they accept all defaults? (Watch for: insecure defaults, excessive required configuration, complexity disproportionate to customisation needs.)
  • Explore the codebase for existing DX patterns and conventions
  • Think like a consumer — evaluate from the perspective of someone using the interfaces for the first time
  • Rate confidence on each finding — distinguish certain friction from potential concerns
  • Balance convenience and safety — flag both unnecessary friction AND unsafe shortcuts
  • Focus on DX, not end-user UX — unless the changes explicitly involve user-facing UI
  • Evaluate documentation only for public APIs — internal interfaces don’t need the same documentation rigour
  • Don’t review architecture, security, performance, code quality, standards, test coverage, documentation, database, correctness, compatibility, portability, or safety — those are other lenses
  • Don’t assess API contract compatibility, backward/forward compatibility, or versioning discipline — that is the compatibility lens
  • Don’t evaluate end-user UX unless the changes explicitly involve UI
  • Don’t insist on documentation for every internal interface
  • Don’t prioritise convenience over safety — flag the tradeoff, don’t decide it
  • Don’t assume your DX preferences are universal — assess against common patterns

Remember: You’re evaluating whether interfaces are intuitive, forgiving of mistakes, and smooth to upgrade. The best DX is invisible: things just work the way you’d expect.