Installable skillMIT

least-astonishment-vjrivmon-setup-software-ia

This skill emphasizes minimizing user surprise in system interactions, enhancing UX through predictable behaviors and clear communication.

BY vjrivmonUPDATED Oct 27, 2026
INTENDED FOR✳Claude Code>_Codex↗Cursor✦GeminiInstall in a listed agent.

instructions.md

---
name: least-astonishment
description:
  El sistema debe comportarse como el usuario espera. Use cuando diseñe
  interacciones, tome decisiones sobre comportamientos, o evalúe sorpresas en la
  UX.
metadata:
  author: ux-ui-skills
  version: "1.0"
  category: design-principles
---

# 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

- Saltzer, J.H. & Kaashoek, M.F. (2009). "Principles of Computer System Design"
- Raymond, E.S. (2003). "The Art of Unix Programming"
- https://www.nngroup.com/articles/principle-of-least-surprise/
COMPATIBILITY & REFERENCES

Platform guidance

Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.

Resource notes updated 2026-10-27 · Original instructions by vjrivmon