Map and design the paths a user takes to complete a goal, minimizing steps and dead ends. Use when designing a multi-step task, checkout, signup, or any flow, or diagnosing where users drop off.
Scanned 9/5/2026
Install to Claude Code
npx -y skills add Amey-Thakur/AI-SKILLS --skill user-flows --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of User Flows?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/amey-thakur-user-flows)More formats (shields.io, HTML) on the badges page.
---
name: user-flows
description: Map and design the paths a user takes to complete a goal, minimizing steps and dead ends. Use when designing a multi-step task, checkout, signup, or any flow, or diagnosing where users drop off.
---
# User flows
A user flow is the path from a user's intent to its completion. Users do
not experience screens in isolation; they experience the journey between
them. Designing the flow (not just the screens) is what makes a task feel
easy or maddening, and where drop-off is won or lost.
## Method
1. **Start from the user's goal, and map the real path.** What is the user
trying to accomplish, and what are all the steps (decisions, inputs,
waits) between starting and done? Map the actual flow, including the
branches (guest vs account, valid vs invalid input) and the error and
recovery paths, not just the happy line.
2. **Count and cut the steps.** Every step, screen, field, and decision is
friction and a chance to drop off. Question each: is it necessary here,
can it be deferred, defaulted, combined, or removed? The shortest path
that still gathers what is genuinely needed wins (see mobile-input-ux's
field-cutting, user-activation's time-to-value).
3. **Design entry and exit for each step.** How does the user arrive at
this step, and where can they go from it (forward, back, cancel, save
for later)? No step should be a dead end or a trap (see
usability-heuristics' control-and-freedom). Deep links and refreshes
should land somewhere sensible (see frontend-routing).
4. **Handle the unhappy paths as first-class.** Invalid input, a failed
payment, a lost connection, an abandoned-and-returned session: these
are where flows break. Preserve the user's progress, explain what
happened, and offer the way forward (see empty-and-error-states,
optimistic-ui). A flow that only works when everything goes right is
half-designed.
5. **Match effort to commitment.** Do not demand a full signup before the
user has seen value; defer heavy asks until the user is invested (let
them try, then ask to save; see user-activation, mvp-scoping).
Front-loading friction kills flows before the payoff.
6. **Show progress in long flows.** Multi-step flows tell the user where
they are and how much remains (a stepper, a progress bar), so the end
feels reachable. Uncertainty about length causes abandonment (see
empty-and-error-states, interaction-design).
## Boundaries
- Flows are the connective structure; individual screens still need good
layout, interaction, and copy (see visual-hierarchy, interaction-design,
ux-writing). A perfect flow of bad screens still fails.
- Fewer steps is usually better but not always: a deliberate confirmation
step for an irreversible action, or a moment that builds trust before a
payment, earns its place. Cut friction, keep the friction that protects.
- Real drop-off is found in the data (funnel analysis) and in watching
users, not only in design review (see user-activation, usability-testing).
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!