forgiveness

Design user experiences that prevent destructive mistakes and enable graceful recovery.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Forgiveness helps prevent users from regretting actions like delete, send, publish, charge, overwrite, or other destructive operations, and it ensures they can recover gracefully when errors happen.

Core Features & Use Cases

  • Forgiveness ladder: Applies the right balance of prevention, reversibility (undo), safety nets, confirmation, warnings, and helpful recovery based on the stakes of the action.
  • Error-proofing patterns: Recommends structural prevention (good affordances), reversible commits (undo/soft-delete/version history), and safety nets (recovery windows, autosave) especially for “lose your work” scenarios.
  • Confirmation & warning calibration: Guides when confirmation is warranted and how to avoid confirmation fatigue, modal traps, and autopilot errors.

Quick Start

Use this skill to redesign a destructive flow by adding reversibility (undo or soft-delete with a recovery window) and ensuring high-consequence actions include appropriately calibrated friction.

Frequently Asked Questions about forgiveness

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

FAQPage Schema
How do I design UX error prevention for destructive actions like deletion and publishing?

UX error prevention for destructive actions aligns interactions with forgiveness strategies like structural prevention, reversibility, safety nets, and confirmation calibration. This prevents users from regretting irreversible operations.

What is the best way to implement undo patterns and soft delete recovery flows?

Undo patterns and soft delete recovery flows are implemented using reversible commits, recovery windows, and autosave safety nets. This creates a forgiveness ladder balancing prevention and reversibility based on action stakes.

When should I use confirmation dialogs for irreversible commits to avoid confirmation fatigue?

Confirmation dialogs for irreversible commits should be used only for high-consequence actions to avoid confirmation fatigue and autopilot errors. Calibration requires matching friction to the operational stakes.

How do I add reversibility to a destructive UI flow?

Reversibility is added to destructive UI flows by incorporating undo capabilities, soft-delete with recovery windows, and version history. These safety nets ensure graceful recovery when errors happen.

Does this approach work for designing payment and send flow safety nets?

Yes, this approach works for payment and send flow safety nets by applying reversibility, warnings, and appropriately calibrated friction. It ensures graceful recovery when errors cost time, data, money, or trust.

Why do users ignore warnings and make destructive mistakes in my application?

Users ignore warnings and make destructive mistakes when confirmation design causes autopilot errors and confirmation fatigue. Fix this by applying a forgiveness ladder with structural prevention and calibrated friction.