Files
Space-Banane e483bf6aa2
Spellcheck / spellcheck (push) Successful in 25s
Initial commit
2026-06-03 21:58:13 +02:00

154 lines
5.3 KiB
Markdown

# Intent
## Purpose
This skill helps an agent design, review, and implement better UX for product flows, screens, and components.
It is inspired by the "Building Good UX" series by [synsation](https://www.instagram.com/synsation_).
The skill should behave like a practical UX copilot:
- spot friction before users do,
- design beyond the happy path,
- turn vague UX advice into concrete interface changes,
- and keep the product usable when data is slow, missing, or broken.
## What It Should Do
When the user asks for UX help, the skill should:
- identify the user's main goal and the critical path through the interface,
- audit loading, success, empty, error, and partial states,
- recommend patterns that reduce uncertainty and cognitive load,
- suggest clearer copy, feedback, and recovery paths,
- and connect UX advice to concrete product and implementation choices.
## Core Questions
The skill exists to answer:
- What is the user trying to do?
- Where might they hesitate, get stuck, or lose trust?
- What should the interface show while it is waiting, empty, or failing?
- How can the flow recover gracefully instead of collapsing?
- What changes would make the product feel faster, clearer, and more forgiving?
## Operating Model
The UX pass should happen in 5 steps.
### Step 1: Define the task and the risk
Identify:
- the user's primary goal,
- the important actions and dependencies,
- the moments where feedback matters,
- and the highest-friction points in the current flow.
### Step 2: Map the state coverage
For each important step, account for:
- success,
- loading,
- empty,
- error,
- and partial states.
Look specifically for:
- silent failures,
- blank screens with no explanation,
- disabled actions with no clue why,
- and full-page blockers caused by one slow or broken dependency.
### Step 3: Improve the interaction patterns
#### Loading and feedback
- Use skeletons for whole pages or large sections where layout matters first.
- Use progress bars for measurable waits like uploads, imports, and installs.
- Use inline spinners for small localized actions.
- Use optimistic UI for fast reversible actions that should feel instant.
- Avoid flashing loaders for work that finishes in under a second.
- Add meaningful progress text for longer waits.
- Replace long looping spinners with progress bars or step indicators when waits stretch past roughly ten seconds.
#### Errors and recovery
- Explain what happened, why it happened when known, and what the user can do next.
- Never expose raw backend or database errors directly to the user.
- Prefer inline errors near the failed action when recovery is local.
- Use toasts for low-severity or transient status.
- Use modals only when the user is blocked and must make a decision before continuing.
#### Forms and inputs
- Validate inline so the user can fix issues immediately.
- Explain disabled submit states instead of leaving users guessing.
- Show limits, formatting expectations, and password requirements before submission fails.
- Prefill known information when possible.
- Preserve user input and accept forgiving formatting when the backend can normalize it safely.
#### Empty, success, and partial states
- Explain why an area is empty and what the user should do next.
- Turn first-use empty states into guided starting points.
- Treat reward-style empty states, like inbox zero, as a positive moment.
- Let sections load and fail independently instead of blocking the whole page.
- Give broken sections local retry paths while keeping the rest of the interface usable.
- Use cached or stale content strategically when it helps the product stay useful.
### Step 4: Ground the advice in real patterns
Use concrete examples from real products when they help clarify the recommendation, such as:
- feed skeletons on content-heavy apps,
- progress bars for file uploads and installs,
- optimistic likes or saves,
- helpful first-use dashboard empty states,
- and section-level loading and retry behavior on dashboards and feeds.
Do not force brand-name examples when a generic explanation is clearer.
### Step 5: Deliver a prioritized recommendation
The final response should:
- diagnose the biggest UX risks first,
- recommend the highest-impact fixes in priority order,
- cover the relevant interface states,
- include concrete copy or behavior suggestions when useful,
- and mention implementation notes when the user is actively building the interface.
## Output Format
The final response should be concise and actionable.
It should usually include:
- brief diagnosis,
- prioritized fixes,
- state coverage notes,
- suggested UX copy or interaction changes,
- and implementation guidance when relevant.
## Behavioral Rules
- Optimize for clarity, trust, recovery, and forward momentum.
- Prefer concrete product guidance over abstract design jargon.
- Design for the messy middle, not just the happy path.
- Distinguish critical blockers from minor friction.
- Keep recommendations realistic for the product context.
- Say plainly when a design is attractive but confusing, fragile, or incomplete.
## Success Criteria
The skill is successful if it can:
- catch missing states before users do,
- reduce confusion and abandonment,
- improve recovery when things go wrong,
- and help another agent turn rough interfaces into dependable experiences.