Claude-skill-registry least-astonishment

Principio de Mínima Sorpresa

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/least-astonishment" ~/.claude/skills/majiayu000-claude-skill-registry-least-astonishment-f115aa && rm -rf "$T"
manifest: skills/data/least-astonishment/SKILL.md
source content

Principio de Mínima Sorpresa

Resumen

Un sistema debe comportarse de manera que minimice la sorpresa del usuario. Si una función necesaria es inherentemente sorprendente, puede ser necesario rediseñar.

Origen

  • Contexto: Diseño de lenguajes de programación y sistemas
  • Popularizado: IBM Systems Journal, comunidad Unix
  • Año: ~1970s-1980s

Fundamento

Las sorpresas son costosas:

  • Causan errores y confusión
  • Erosionan confianza
  • Aumentan carga cognitiva
  • Generan frustración
  • Requieren soporte

Expectativas del Usuario

Formadas por:

  • Experiencias previas con el sistema
  • Convenciones de plataforma
  • Patrones de industria
  • Conocimiento del mundo real
  • Promesas del producto

Violaciones típicas:

  • Comportamiento inesperado de controles
  • Side effects no comunicados
  • Resultados diferentes a los anticipados
  • Cambios sin aviso

Aplicación en Diseño

Interacciones

  • Botón "Guardar" debe guardar, no preguntar
  • "Cancelar" debe cancelar sin efectos
  • Back debe volver, no ir a otro lugar
  • Links deben llevar a donde dicen

Comportamientos

  • Acciones consistentes en toda la app
  • Resultados proporcionales a acciones
  • Sin side effects inesperados
  • Cambios de estado claros

Comunicación

  • Nombrar features por lo que hacen
  • Mensajes que coinciden con acciones
  • Errores que explican qué pasó
  • Confirmaciones que confirman lo esperado

Datos

  • Cambios guardados cuando se espera
  • Datos mostrados actualizados
  • Ordenamientos predecibles
  • Filtros que funcionan como se nombran

Ejemplos

  • Gmail Undo Send: Comportamiento inesperado pero comunicado
  • iOS Back Gesture: Siempre vuelve al contexto anterior
  • Browser Refresh: Recarga la página actual
  • Ctrl+S: Siempre guarda
  • ESC: Siempre cierra/cancela

Anti-patterns

  • ❌ "Close" que guarda automáticamente sin avisar
  • ❌ Links que abren modales en lugar de navegar
  • ❌ Ordenamiento que cambia sin input
  • ❌ Acciones con side effects ocultos
  • ❌ Back que pierde cambios sin warning

Métricas

  • Expectation Match Score: Comportamiento vs expectativa
  • Surprise Event Rate: Acciones con resultados inesperados
  • User Error Rate: Errores por comportamiento sorprendente
  • Trust Score: Confianza en el sistema

Principios Relacionados

  • [[jakobs-law]] - Expectativas de otros sitios
  • [[nielsen-consistency]] - Comportamiento consistente
  • [[feedback-principle]] - Comunicar qué está pasando

Referencias