ReferenceAppendix — the UX pattern catalogue

Section 7 says to check both directions: not just "is this manipulative" but "is a good, proven pattern even being used." Most people don't reach for an established pattern simply because they don't know it exists — you can't use what you've never heard of, and you can't ask an agent for it by name either. Section 3's ubiquitous-language point applies here as much as to domain terms: knowing a pattern's actual name turns a vague request into a precise one the agent gets right on the first try. This appendix is a structured catalogue built for both — recognising it and asking for it: ux-pattern-catalogue/ (this guide's companion folder) holds 637 patterns across 21 domains, each with a name, a description, and concrete structured guidance: dark patterns carry a detection heuristic, an ethical alternative, and — where one applies — the specific legal risk; positive patterns carry implementation and accessibility notes instead.

The 21 categories

Every category is an illustrated page — each pattern with its picture, description, and the fields that matter when you build or review it. The matching .json file in ux-pattern-catalogue/ is the raw, agent-readable version.

Not from one author — each entry cites its real source where one applies: Nielsen Norman Group, deceptive.design, the Baymard Institute, CXL Institute, the FTC, named behavioural-science and legal sources (Cialdini, Kahneman & Tversky, B.J. Fogg, Dan Ariely, the CJEU's Planet49 cookie-consent ruling). Most entries carry no individual citation — they're established convention, not one person's claim.

Use it two ways: before building a feature, skim the relevant file instead of inventing a pattern from scratch (the same discipline as Section 7's "check the other direction too"); and during review, point an agent at the matching checklist to grade whether the implementation actually matches a known-good pattern, not only whether it avoids a known-bad one. Full detail, schema, and usage notes are in the folder's own README.md.