forgiveness-confirmation-and-prevention

Design confirmation and prevention UX for irreversible user actions.

6|3|Updated May 3, 2026
One-click install
npx skills add https://github.com/HDeibler/universal-design-principles --skill forgiveness-confirmation-and-prevention
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: forgiveness-confirmation-and-prevention
Source: https://github.com/HDeibler/universal-design-principles/tree/main/plugins/interaction-and-control-principles/skills/forgiveness-confirmation-and-prevention
Command: npx skills add https://github.com/HDeibler/universal-design-principles --skill forgiveness-confirmation-and-prevention

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill prevents users from making irreversible, high-stakes mistakes by calibrating confirmation and structural prevention so the risk is neither ignored nor met with confirmation fatigue.

Core Features & Use Cases

  • Stakes-aware confirmation: Choose none, light, medium, strong type-to-confirm, or re-authentication based on irreversibility and severity.
  • Type-to-confirm as anti-autopilot: Require users to actively verify intent (e.g., typing the resource name) and keep the confirm action disabled until valid.
  • Structural prevention when possible: Make wrong actions impossible via disabled actions, constrained inputs, restricted selection, and required-field blocking.

Quick Start

Use this skill to design a confirmation flow for deleting a project where the action is irreversible and high-stakes, including a clear consequence statement and a type-to-confirm pattern to break autopilot.

Frequently Asked Questions about forgiveness-confirmation-and-prevention

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design confirmation dialogs to prevent destructive actions without causing confirmation fatigue?

Confirmation dialogs for destructive actions should apply calibrated friction based on stakes, using structural safeguards like disabled states and type-to-confirm validation to break autopilot clicks and prevent confirmation fatigue.

What is type-to-confirm UX and when should I use it for irreversible actions?

Type-to-confirm UX requires users to actively verify intent, such as typing a resource name, to prevent irreversible actions. It is used for high-stakes operations where reversibility is unavailable or insufficient to stop autopilot clicks.

How do I implement re-authentication for high-stakes operations like transferring ownership?

Re-authentication for high-stakes operations like transferring ownership is implemented as the strongest level of calibrated friction, requiring users to verify their identity to ensure deliberate intent before executing irreversible actions.

What's the best way to use structural prevention to make destructive actions impossible?

Structural prevention makes destructive actions impossible using disabled actions, constrained inputs, restricted selections, and required-field blocking to ensure wrong actions cannot be executed by the user.

When should I use medium confirmation versus strong type-to-confirm for deleting projects?

Medium confirmation is used for moderate stakes, while strong type-to-confirm is selected for deleting projects when the action is irreversible, high-stakes, and requires breaking autopilot clicks to avoid irreversible mistakes.