Design lens
Skill memorysaver/agentic-engineering-patterns/skills/patterns/design-lens
Reviews an existing UI against usability and accessibility heuristics, scored 0–4. Use for design or heuristic review; taste capture is /aep-calibrate.From its SKILL.md
npx -y skills add memorysaver/agentic-engineering-patterns --skill design-lensAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 17 stars17 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
8.1 KB, as published. Nobody here has run it
Design Lens
Ground a product's UI/UX in established HCI and design theory instead of gut feel. Point it at a product (an idea, a spec, or a running UI); it works out which theoretical lenses apply, then produces concrete design suggestions, a design guideline to build against, and a severity-scored health-check table that audits whether the current design meets human expectations.
"Overview first, zoom and filter, then details-on-demand." — Ben Shneiderman, "The Eyes Have It: A Task by Data Type Taxonomy for Information Visualizations" (1996)
Two roles. Invoke it directly to generate a guideline for a new product or run a
health-check on an existing one; or, as a library, other skills read
references/theory-catalog.md to pull the right lens for
a design decision (e.g. /aep-model reaching for the information-seeking and
graphical-perception lenses when shaping a data-heavy screen).
When to Use — and When NOT To
Reach for this skill to produce a design guideline before agents build, to run a usability / heuristic health-check on a drafted or running UI, or when a design decision would benefit from the relevant established theory (which chart encoding, how to structure exploration, how to make an agent's actions legible).
Its boundary against neighboring skills — stated once, here:
- Taste decisions (palette, voice, journey feel) belong to
/aep-calibrate. This skill supplies the theory a calibration leans on; it does not decide taste. - Object / screen IA (which objects, what fields, which screens) belongs to
/aep-model. - Factual correctness of artifacts belongs to
/aep-validate; the heuristic health-check is its advisory design-quality complement. - It does not replace real user testing — heuristics predict where users will struggle; they do not observe actual users. Treat the health-check as evidence, not proof.
A backend-only surface with no human-perceived UI is out of scope — but a CLI that wraps an agent still benefits from family E (Gulf of Envisioning), and any terminal output is a human-perceived UI for family G (color-alone signals, contrast).
Output goes to the conversation by default, or to a standalone markdown doc when the
user asks to save it — it never writes to product-context.yaml or any AEP schema file.
This is an advisory leaf skill that adds no taxonomy.
The Method
Product-agnostic, because it classifies tasks and data, not a product type. Full step
detail, the lens-selection rules, the worked examples, the live-UI evidence-gathering
protocol, and the output templates are in
references/method-and-templates.md.
Two depths. A quick check scores only the Baseline Ten — a distilled
cross-family checklist
(method-and-templates.md#the-baseline-ten-quick-check) —
and answers "is this OK?" in minutes; default to it for a lightweight question ("is this
good UX?"). A deep audit runs all seven steps below; default to it for a guideline or
review request. Escalation rule: any major/catastrophe finding (severity 3–4) upgrades
a quick check to a deep audit, so speed never trades away rigor.
- Characterize — what is the product, who uses it, what are they trying to do? If a running UI or spec exists, point to it.
- Abstract — classify the primary user tasks (monitor / compare / look-up / diagnose / explore / decide / create / reconstruct-provenance / converse) and the data/content type. (Munzner's domain → abstraction move.)
- Select lenses — pick the applicable theory families from the catalog based on the task+data profile; families A, B, F, G always fire, C/D/E on triggers (selection rules in the reference). Note why each family fired.
- Synthesize — per selected lens, turn its Apply line into ≥1 concrete,
product-specific suggestion, each tagged
(→ lens id)back to its theory. Done when every selected lens carries at least one traced suggestion. - Emit a design guideline — prescriptive, grouped by family: "the product should…".
- Emit a health-check table — one row per checkable expectation, each traced to a theory and carrying a Nielsen 0–4 severity, producing a scored "meets human expectations?" audit.
- (Opt-in) persist — on request, write the report to a standalone markdown file
(default
docs/design-review/<scope>-<date>.md).
The Theory Catalog
Grouped into families so lenses can be selected per product. Full entries — each with
core question · when it applies · how to apply · what to check · source — are in
references/theory-catalog.md, which is append-only and
extensible (it documents how to add a theory).
| Family | Lenses (summary) |
|---|---|
| A. Usability & interaction heuristics | Nielsen's 10 · Shneiderman's Eight Golden Rules · Norman's principles + Gulfs + Seven Stages · Jakob's / Tesler's / Postel's laws |
| B. Cognitive & perceptual laws | Cognitive Load · Miller's · Hick's · Fitts's · Doherty Threshold · Gestalt · preattentive attributes · Aesthetic-Usability · memory/motivation biases |
| C. Information seeking & navigation | Shneiderman's Visual Information-Seeking Mantra · Information Foraging (scent) · Focus+Context / multiscale trio · IA / wayfinding |
| D. Data visualization & encoding | Munzner's Nested Model + task typology · Graphical Perception · Grammar of Graphics / Bertin · Heer & Shneiderman · Tufte |
| E. Human-AI & agent-specific UX | Gulf of Envisioning · Microsoft's 18 HAI Guidelines · Google PAIR · trust calibration · observability · steerability/reversibility · Grice's maxims · CASA |
| F. Evaluation & process methods | Heuristic Evaluation · Cognitive Walkthrough · Nielsen 0–4 severity scale · GOMS/KLM · Norman's stages-of-action as a lens |
| G. Accessibility & inclusive design | WCAG 2.2 POUR · keyboard & focus · contrast & legibility (never color alone) · inclusive design (permanent/temporary/situational impairments) |
How It Fits AEP
A design-lens pass feeds forward; control then returns to the calling context.
- Guideline for a new UI →
/aep-modelturns it into object/screen structure (drawing families C and D), and/aep-calibrateux-flow/visual-designcaptures the human's taste decision (drawing A, B, C, E) — the report seeds the brief and pre-audits the flow before the human calibrates. - Health-check on a built UI → route findings through
/aep-reflect(a "works vs right" gap is a calibration or refinement item), or fix directly if it's a clear defect./aep-validatepoints here for its advisory design-quality pass (family F). - Recurring audit → pair with
/loopto re-run the health-check each layer.
Why it's shaped this way
A product-agnostic task+data method (not a product-type lookup), a leaf skill beside
/aep-model and /aep-calibrate rather than inside them, hybrid output, Nielsen 0–4
severity, two depths, and always-on accessibility — the reasoning is recorded in
docs/decisions/design-lens-rationale.md.