Guided GUI design
Use this skill for user-facing screens where the product itself
must teach the user how to use it.
This skill complements the gui-standards rule module:
gui-standards states the non-negotiable obligations; this
skill provides the theory, design lenses, workflow, and
judgement guidance behind them.
Read references/hci-usability-foundations.md
when you need the underlying rationale, named source anchors,
or a deeper review lens.
Core outcome
Design the screen so a first-time user can understand:
- What this screen helps them achieve.
- What they should do first.
- What state they are acting on now.
- What result matters most.
- How to recover if they make a mistake.
without needing a separate chat explanation.
Theory lenses
Use these as diagnostic lenses, not as rigid laws. When lenses
conflict, prioritize task success, error prevention, and
recoverability.
| Lens |
Core question |
Design implication |
| Task-centered / human-centered design (ISO 9241-210) |
Does the UI match the user's real job and context of use? |
Organize around the task, not the implementation model |
| Norman: gulfs of execution and evaluation |
Can the user form intent and judge result without translation? |
Close both gulfs with discoverable controls and visible feedback |
| Norman: affordance, signifier, mapping, constraint, feedback, conceptual model |
Can the user tell what is possible, what they selected, what changed? |
Make actions, selection, system state, and consequences visible |
| Nielsen 10 heuristics |
Does the UI show status, use familiar language, prevent errors, support recovery? |
Prefer visibility, consistency, error prevention, recognition, and user control |
| Shneiderman 8 golden rules |
Are consistency, shortcuts, feedback, closure, and reversibility supported? |
Provide consistent flows, undo, dialogue closure, and informative feedback |
| Cognitive load theory / working memory (Miller, Cowan) |
How much must the user hold in mind at once? |
Reduce simultaneous decisions, use progressive disclosure, externalize state |
| Hick-Hyman law |
Are there too many equally weighted choices at one decision point? |
Limit same-level options; stage decisions; use sensible defaults |
| Fitts's law |
Are primary actions easy to reach and hit? |
Make common targets large enough; place near the working area |
| Steering law |
Do users have to navigate narrow paths (menus, tunnels)? |
Avoid long thin hover paths; widen common interaction corridors |
| Gestalt principles (proximity, similarity, continuity, closure, common region, common fate, figure-ground) |
Is grouping and hierarchy obvious at a glance? |
Use spacing, alignment, contrast, enclosure to show structure |
| Visual hierarchy and scanning patterns |
Does the eye land on the most important thing first? |
Use weight, size, contrast, and position to rank importance |
| Information scent (Pirolli) |
Do labels and links predict what users will find? |
Make labels concretely describe the destination or result |
| Reason: slips vs mistakes / Poka-yoke |
Will common errors be slips (action) or mistakes (intent)? |
Constrain inputs, confirm destructive intent, make recovery cheap |
| Accessibility (WCAG / POUR) |
Can more users perceive, operate, understand, and rely on the UI? |
Labels, focus, contrast, keyboard, non-color cues, reduced-motion respect |
| Platform conventions (Material, HIG, Fluent) |
Does the UI behave the way users on this platform already expect? |
Follow platform idioms; deviate only with a clear reason |
Default workflow
1. Find the real user goal
State the goal in plain task language.
- Good:
Capture, annotate, and save the correct tutorial shot
- Bad:
Manage shot manifests, Edit rendering metadata
The UI MUST be organized around the user's job, not the
internal data model.
2. Define the primary path and state model
Before changing layout, state:
- The primary user path.
- The minimum setup required.
- The important system states and transitions.
- The result the user should evaluate.
Example:
- Select the target item.
- Make the change.
- Review the result.
- Save or retry.
If the screen mixes multiple jobs, separate them or subordinate
the secondary jobs.
3. Reduce first-use cognitive load
Reduce what the user must think about at the start:
- Show only the next meaningful decision first (progressive
disclosure).
- Keep secondary controls visually quieter.
- Delay advanced detail until the user has context.
- Prefer one clear next action over many equal-weight choices
(Hick-Hyman).
- Externalize required context through visible labels,
previews, and current-selection indicators rather than
requiring recall across screens.
- Prefer self-revealing UI over persistent instructional prose.
- Add explanatory prose only when the next action cannot be
inferred from the UI itself.
4. Remove internal wording and recall burden
Replace irrelevant implementation language and site-only jargon
with ordinary task language.
- Good:
Choose the shot to edit
- Bad:
Select output artifact, Bind manifest target
If a precise operator or domain term is genuinely part of the
user's real work, keep it. Remove only wording that reflects
the implementation model rather than the user's task. If a
domain term still needs support, explain it inline without
breaking the flow.
5. Make state and next action obvious
At every stage, the user MUST be able to answer:
- Where am I.
- What am I acting on right now.
- What should I do now.
- What happens if I do it.
- What changed after I did it.
In interactive flows (drag-and-drop, selection, move, compare,
annotation, multi-select), always make the current selection,
source, target, and result visually distinct without relying on
color alone. Pair color with shape, weight, icon, text, or
position so the state survives color-vision differences and
low-contrast displays.
6. Lower interaction cost
Primary actions MUST be easy to notice, reach, and hit (Fitts):
- Make common targets large enough for the input device.
- Keep tightly coupled controls close together.
- Place the primary confirmation action near the artifact it
commits.
- Avoid narrow, deeply nested hover paths (Steering law).
- Reduce the number of equally prominent choices shown at once.
If users must stop and compare many options before they can
start, simplify the choice set or stage it.
7. Prevent errors and support recovery
Design for mistake resistance, not just happy-path completion:
- Distinguish slips (right intent, wrong action) from mistakes
(wrong intent). Constrain inputs to reduce slips; confirm or
preview to reduce mistakes.
- Make destructive or irreversible actions visually distinct
and require explicit confirmation.
- Prevent invalid states at the input boundary when possible
(Poka-yoke).
- Show validation next to the control that caused it, not only
in a summary region.
- Make undo, retry, reset, and cancellation easy to find and
reach during the action, not only after.
- Keep draft work safe when recreation would be costly.
8. Show the most decision-relevant result first
Once inputs are in place, put the main result or next
checkpoint first:
- Identify the one result the user should decide from.
- Place it above supporting diagnostics.
- Move explanation, assumptions, and metadata later or collapse
them.
9. Apply visual structure deliberately
Use Gestalt principles and visual hierarchy to communicate
structure before users read any text:
- Proximity and common region group related controls.
- Alignment and consistent spacing reduce visual noise.
- Size, weight, and contrast rank importance.
- Enclosure and figure-ground separate the active area from
background chrome.
Make the most important element on the screen the most visually
prominent.
10. Design for accessibility from the start
Accessibility is a baseline, not a finishing pass:
- Every interactive control needs an accessible name and a
visible focus indicator.
- The primary flow must work with keyboard alone, in a logical
order.
- Pair color cues with non-color cues.
- Meet at least WCAG 2.1 AA contrast.
- Respect platform reduced-motion and reduced-transparency
preferences when conveying state with motion or translucency.
11. Verify the screen like a first-time user
Verify that a user can succeed by following the page in order.
Minimum review questions:
- Can I use this by reading from the top or following the
visual path?
- Do I know what this screen is for within a few seconds?
- Do I know what I am acting on right now?
- Do I know which action to take next?
- Do I see what changed after I acted?
- Can I recover if I make a mistake?
- Do I see internal jargon that users would not understand?
- Does the primary UI avoid horizontal scrolling at normal
viewport sizes?
- Are there any overflow, clipping, or unexpected text-wrapping
issues at reduced width?
- Can the primary flow be completed with keyboard and visible
focus cues?
- Do all state cues survive a grayscale view (no color-only
information)?
For any major GUI change, take screenshots and do a visual
review before treating the work as complete. Spot-check normal
and reduced widths.
Common fixes
- Move setup above results.
- Rename sections to task language.
- Replace empty states with a clear next action and an example.
- Move validation next to the offending control.
- Collapse metadata and advanced detail until needed.
- Add persistent selection or source/target highlighting that
does not rely on color alone.
- Put save, apply, or confirm actions next to the artifact they
commit.
- Add undo, reset, or retry where the user currently gets stuck.
- Increase target size for primary actions on touch.
- Add an accessible name or visible label to icon-only controls.
Lightweight evaluation methods
Pick the cheapest method that exposes the actual failure mode.
- Heuristic evaluation — score the screen against Nielsen's
10 heuristics or Shneiderman's 8 rules; cheap, catches obvious
issues, biased toward known patterns.
- Cognitive walkthrough — for each step in the primary
task, ask: will the user know to do this, will they see how,
will they understand the feedback?
- First-click / first-use test — show the screen cold and
observe where the user looks and clicks first.
- Think-aloud — have the user narrate their reasoning while
using the screen; surfaces mismatches between conceptual
model and UI.
Prefer concrete failure cases and screenshots over abstract
claims that the UI is "intuitive."
Deliverable expectation
Describe changes in user terms:
- What task is easier now.
- What the user now sees first.
- What the user now does next.
- What confusion or error risk was removed.
- What evidence supports the claim (screenshots, walkthrough
result, evaluation against a named heuristic).
The agent MUST NOT center the report on internal component
names unless asked.
1---2name: guided-gui-design3description: Use when designing or reviewing a user-facing GUI and the goal is to reduce first-use cognitive load, clarify the primary path, improve discoverability and feedback, prevent errors, ensure accessibility, and ground decisions in established HCI and usability theory.4---56# Guided GUI design78Use this skill for user-facing screens where the product itself9must teach the user how to use it.1011This skill complements the `gui-standards` rule module:12`gui-standards` states the non-negotiable obligations; this13skill provides the theory, design lenses, workflow, and14judgement guidance behind them.1516Read [references/hci-usability-foundations.md](references/hci-usability-foundations.md)17when you need the underlying rationale, named source anchors,18or a deeper review lens.1920## Core outcome2122Design the screen so a first-time user can understand:23241. What this screen helps them achieve.252. What they should do first.263. What state they are acting on now.274. What result matters most.285. How to recover if they make a mistake.2930without needing a separate chat explanation.3132## Theory lenses3334Use these as diagnostic lenses, not as rigid laws. When lenses35conflict, prioritize task success, error prevention, and36recoverability.3738| Lens | Core question | Design implication |39| ---------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |40| Task-centered / human-centered design (ISO 9241-210) | Does the UI match the user's real job and context of use? | Organize around the task, not the implementation model |41| Norman: gulfs of execution and evaluation | Can the user form intent and judge result without translation? | Close both gulfs with discoverable controls and visible feedback |42| Norman: affordance, signifier, mapping, constraint, feedback, conceptual model | Can the user tell what is possible, what they selected, what changed? | Make actions, selection, system state, and consequences visible |43| Nielsen 10 heuristics | Does the UI show status, use familiar language, prevent errors, support recovery? | Prefer visibility, consistency, error prevention, recognition, and user control |44| Shneiderman 8 golden rules | Are consistency, shortcuts, feedback, closure, and reversibility supported? | Provide consistent flows, undo, dialogue closure, and informative feedback |45| Cognitive load theory / working memory (Miller, Cowan) | How much must the user hold in mind at once? | Reduce simultaneous decisions, use progressive disclosure, externalize state |46| Hick-Hyman law | Are there too many equally weighted choices at one decision point? | Limit same-level options; stage decisions; use sensible defaults |47| Fitts's law | Are primary actions easy to reach and hit? | Make common targets large enough; place near the working area |48| Steering law | Do users have to navigate narrow paths (menus, tunnels)? | Avoid long thin hover paths; widen common interaction corridors |49| Gestalt principles (proximity, similarity, continuity, closure, common region, common fate, figure-ground) | Is grouping and hierarchy obvious at a glance? | Use spacing, alignment, contrast, enclosure to show structure |50| Visual hierarchy and scanning patterns | Does the eye land on the most important thing first? | Use weight, size, contrast, and position to rank importance |51| Information scent (Pirolli) | Do labels and links predict what users will find? | Make labels concretely describe the destination or result |52| Reason: slips vs mistakes / Poka-yoke | Will common errors be slips (action) or mistakes (intent)? | Constrain inputs, confirm destructive intent, make recovery cheap |53| Accessibility (WCAG / POUR) | Can more users perceive, operate, understand, and rely on the UI? | Labels, focus, contrast, keyboard, non-color cues, reduced-motion respect |54| Platform conventions (Material, HIG, Fluent) | Does the UI behave the way users on this platform already expect? | Follow platform idioms; deviate only with a clear reason |5556## Default workflow5758### 1. Find the real user goal5960State the goal in plain task language.6162- Good: `Capture, annotate, and save the correct tutorial shot`63- Bad: `Manage shot manifests`, `Edit rendering metadata`6465The UI MUST be organized around the user's job, not the66internal data model.6768### 2. Define the primary path and state model6970Before changing layout, state:71721. The primary user path.732. The minimum setup required.743. The important system states and transitions.754. The result the user should evaluate.7677Example:78791. Select the target item.802. Make the change.813. Review the result.824. Save or retry.8384If the screen mixes multiple jobs, separate them or subordinate85the secondary jobs.8687### 3. Reduce first-use cognitive load8889Reduce what the user must think about at the start:9091- Show only the next meaningful decision first (progressive92 disclosure).93- Keep secondary controls visually quieter.94- Delay advanced detail until the user has context.95- Prefer one clear next action over many equal-weight choices96 (Hick-Hyman).97- Externalize required context through visible labels,98 previews, and current-selection indicators rather than99 requiring recall across screens.100- Prefer self-revealing UI over persistent instructional prose.101- Add explanatory prose only when the next action cannot be102 inferred from the UI itself.103104### 4. Remove internal wording and recall burden105106Replace irrelevant implementation language and site-only jargon107with ordinary task language.108109- Good: `Choose the shot to edit`110- Bad: `Select output artifact`, `Bind manifest target`111112If a precise operator or domain term is genuinely part of the113user's real work, keep it. Remove only wording that reflects114the implementation model rather than the user's task. If a115domain term still needs support, explain it inline without116breaking the flow.117118### 5. Make state and next action obvious119120At every stage, the user MUST be able to answer:121122- Where am I.123- What am I acting on right now.124- What should I do now.125- What happens if I do it.126- What changed after I did it.127128In interactive flows (drag-and-drop, selection, move, compare,129annotation, multi-select), always make the current selection,130source, target, and result visually distinct without relying on131color alone. Pair color with shape, weight, icon, text, or132position so the state survives color-vision differences and133low-contrast displays.134135### 6. Lower interaction cost136137Primary actions MUST be easy to notice, reach, and hit (Fitts):138139- Make common targets large enough for the input device.140- Keep tightly coupled controls close together.141- Place the primary confirmation action near the artifact it142 commits.143- Avoid narrow, deeply nested hover paths (Steering law).144- Reduce the number of equally prominent choices shown at once.145146If users must stop and compare many options before they can147start, simplify the choice set or stage it.148149### 7. Prevent errors and support recovery150151Design for mistake resistance, not just happy-path completion:152153- Distinguish slips (right intent, wrong action) from mistakes154 (wrong intent). Constrain inputs to reduce slips; confirm or155 preview to reduce mistakes.156- Make destructive or irreversible actions visually distinct157 and require explicit confirmation.158- Prevent invalid states at the input boundary when possible159 (Poka-yoke).160- Show validation next to the control that caused it, not only161 in a summary region.162- Make undo, retry, reset, and cancellation easy to find and163 reach during the action, not only after.164- Keep draft work safe when recreation would be costly.165166### 8. Show the most decision-relevant result first167168Once inputs are in place, put the main result or next169checkpoint first:170171- Identify the one result the user should decide from.172- Place it above supporting diagnostics.173- Move explanation, assumptions, and metadata later or collapse174 them.175176### 9. Apply visual structure deliberately177178Use Gestalt principles and visual hierarchy to communicate179structure before users read any text:180181- Proximity and common region group related controls.182- Alignment and consistent spacing reduce visual noise.183- Size, weight, and contrast rank importance.184- Enclosure and figure-ground separate the active area from185 background chrome.186187Make the most important element on the screen the most visually188prominent.189190### 10. Design for accessibility from the start191192Accessibility is a baseline, not a finishing pass:193194- Every interactive control needs an accessible name and a195 visible focus indicator.196- The primary flow must work with keyboard alone, in a logical197 order.198- Pair color cues with non-color cues.199- Meet at least WCAG 2.1 AA contrast.200- Respect platform reduced-motion and reduced-transparency201 preferences when conveying state with motion or translucency.202203### 11. Verify the screen like a first-time user204205Verify that a user can succeed by following the page in order.206207Minimum review questions:2082091. Can I use this by reading from the top or following the210 visual path?2112. Do I know what this screen is for within a few seconds?2123. Do I know what I am acting on right now?2134. Do I know which action to take next?2145. Do I see what changed after I acted?2156. Can I recover if I make a mistake?2167. Do I see internal jargon that users would not understand?2178. Does the primary UI avoid horizontal scrolling at normal218 viewport sizes?2199. Are there any overflow, clipping, or unexpected text-wrapping220 issues at reduced width?22110. Can the primary flow be completed with keyboard and visible222 focus cues?22311. Do all state cues survive a grayscale view (no color-only224 information)?225226For any major GUI change, take screenshots and do a visual227review before treating the work as complete. Spot-check normal228and reduced widths.229230## Common fixes231232- Move setup above results.233- Rename sections to task language.234- Replace empty states with a clear next action and an example.235- Move validation next to the offending control.236- Collapse metadata and advanced detail until needed.237- Add persistent selection or source/target highlighting that238 does not rely on color alone.239- Put save, apply, or confirm actions next to the artifact they240 commit.241- Add undo, reset, or retry where the user currently gets stuck.242- Increase target size for primary actions on touch.243- Add an accessible name or visible label to icon-only controls.244245## Lightweight evaluation methods246247Pick the cheapest method that exposes the actual failure mode.248249- **Heuristic evaluation** — score the screen against Nielsen's250 10 heuristics or Shneiderman's 8 rules; cheap, catches obvious251 issues, biased toward known patterns.252- **Cognitive walkthrough** — for each step in the primary253 task, ask: will the user know to do this, will they see how,254 will they understand the feedback?255- **First-click / first-use test** — show the screen cold and256 observe where the user looks and clicks first.257- **Think-aloud** — have the user narrate their reasoning while258 using the screen; surfaces mismatches between conceptual259 model and UI.260261Prefer concrete failure cases and screenshots over abstract262claims that the UI is "intuitive."263264## Deliverable expectation265266Describe changes in user terms:267268- What task is easier now.269- What the user now sees first.270- What the user now does next.271- What confusion or error risk was removed.272- What evidence supports the claim (screenshots, walkthrough273 result, evaluation against a named heuristic).274275The agent MUST NOT center the report on internal component276names unless asked.