interaction-design
Interaction Design
What this skill is for
Interaction design is the practice of defining the behavioral contract between human and system: when the user does this, the system does that. It operates at the grain of per-action response within a view or state — not the task-level sequence of views (user-flow-design) and not how states visually appear (visual-interface-design and surface skills).
Interaction design is surface-type-agnostic. The forms of interaction differ by surface; the principles transfer. A CLI command that produces no output violates the same feedback principle as a web button that provides no loading state. The analysis tools — state modeling, the action cycle, feedback taxonomy, error design — apply identically to a terminal prompt and a React component.
Load this skill when:
- Any interface element responds to a user action and you need to specify what happens
- You are designing or evaluating states for a component (all 8, not just default and success)
- You need to specify feedback behavior: latency acknowledgment, progress signals, error messages, confirmation
- You are designing error handling — which is not an afterthought but a primary design concern
- You are working across CLI, TUI, web, or desktop and need consistent behavioral principles