用途:把应用中的每一次失败转化为有引导的出路。该技能要求找出应用所有可能的失败方式,为每种失败给出具体的人性化文案、正确的展示位置和至少一个恢复操作。核心原则是不责怪用户、不把用户留在死胡同,每个错误状态都要带出口。交付物是覆盖各失败模式的错误状态矩阵,以及已实现的组件与文案,而非仅给消息规范。
主要能力:梳理代码中已有的错误面(catch、onError、toast.error、错误边界、相关字符串等),映射表单校验、API 网络/服务端、权限、路由404及领域特定失败;发现静默吞错、无错误分支、仅标红边框、缺少错误边界、无离线处理等缺口;检查 role="alert"、aria-live、aria-invalid、aria-describedby 等无障碍接线。
使用方式:先检查代码库,再只询问无法推断的信息(如支持渠道、是否有支付等高风险操作)。随后构建错误状态矩阵,按“发生了什么/为什么/该做什么/去哪求助”四段式写文案,按失败类别决定位置与恢复方式,实现时内置无障碍,最后强制触发各类失败进行验证。
适用场景:错误文案、校验体验、网络/离线失败、权限拒绝与404页面、恢复流程、优雅降级、错误无障碍。
限制:不负责预防等待或失败本身(如重试作为性能优化、乐观回滚机制)、加载态(骨架屏、加载动画、空状态)、错误动画时序、超出错误面的完整无障碍审计,这些应交给对应技能。不得承诺应用无法兑现的恢复(如无持久化却说“已保存”),破坏性或支付失败不用幽默文案,不得隐藏开发者可见的真实错误,保留控制台与遥测日志。