skills/password-reset/SKILL.md
Use when implementing password recovery and reset flows.
npx skillsauth add thedaviddias/ux-patterns-for-developers password-resetInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Password recovery and reset flows
Password Reset is a multi-step recovery flow that allows users to regain access to their account when they've forgotten their password. The typical flow involves requesting a reset via email, receiving a time-limited token link, and setting a new password. A well-designed password reset balances security (preventing unauthorized resets) with usability (getting legitimate users back into their accounts quickly and without frustration).
Use Password Reset to allow users to recover access to their account when they've forgotten their password. Common scenarios include:
references/pattern.md, then choose the smallest viable variation.Do's ✅
for/idrole="alert" and aria-describedbyautocomplete="email" on the request form and autocomplete="new-password" on the reset formImmediate Confirmation UI
// Show confirmation immediately; send email in background
setSubmitted(true);
await sendResetEmail(email);
The Problem: "No account found with that email" lets attackers enumerate valid accounts.
How to Fix It: Always show "If an account exists, we've sent a reset link." Apply consistent response times for both cases.
The Problem: Reset tokens that never expire can be intercepted and used indefinitely.
How to Fix It: Set tokens to expire in 1 hour (or less). Show a clear error when an expired token is used, with an option to request a new one.
The Problem: Attackers flood a user's inbox with reset emails or use the endpoint for email enumeration timing attacks.
How to Fix It: Limit reset requests to 3 per email per hour. Return the same response and timing regardless of whether the email exists.
For full implementation detail, examples, and testing notes, see references/pattern.md.
Pattern page: https://uxpatterns.dev/patterns/authentication/password-reset
tools
Use when implementing multi-step forms and processes.
content-media
Use when implementing video playback with controls.
development
Use when choosing, comparing, or implementing UX patterns across the UX Patterns for Developers corpus.
tools
Use when implementing user profile and account management.