This is a design-level guide for thinking through error handling strategy before you write code. It pushes you to answer "who needs to handle this error and how should they recover?" before choosing error types. The categorization tables break down user-facing versus internal errors, transient versus permanent, and map each to recovery patterns like retry with backoff or circuit breakers. What I like here is the trace up/trace down structure: it connects error design to domain constraints above (like SLA requirements) and implementation patterns below (thiserror, tokio-retry). The quick reference on retry, fallback, and bulkhead patterns is practical. Sits at Layer 2, so it's about design choices rather than code mechanics.
npx skills add https://github.com/actionbook/rust-skills --skill m13-domain-error