关于 pit-of-success
Pit of Success 是一项帮助改进 API 和代码接口的开发技能,目标是让常见调用自然地遵循安全行为。它通过检查公开接口、集中不变量、删除绕行方式,并用测试或类型断言验证改动。
主要功能
- 01检查公开接口及其调用方
- 02识别常见调用中的陷阱
- 03将不变量移入接口
- 04删除绕行实现和重复语义
- 05用测试或类型断言验证
适用场景
- 01修复 API 的危险默认行为
- 02收紧类型或模式以排除无效状态
- 03验证旧调用方不再绕过安全接口
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jnsahaj/ skills --skill pit-of-success安装后在 Claude Code 中输入/pit-of-success确认已加载。
详细介绍
成功之道
让误用变得困难,让显而易见的调用方式正确无误。
步骤
- 找出正在使用的公共接口:导出的函数、钩子的返回值、setter、组件 prop、路由处理函数、schema 或命令。然后搜索该接口的所有调用方。完成标准:你知道未来维护者自然而然会写出的调用方式。
- 进行误用测试:“如果有人不了解隐藏的辅助函数或约定,只做显而易见的事,行为会出问题吗?”例如:
setSelection(null)应表示产品中的常规清除行为;schema 应拒绝 UI 根本不希望出现的状态;prop 不应要求其他 prop 必须按正确组合传入。 - 将不变量移到接口中。按以下优先顺序选择:
- 让现有 API 执行安全的操作;
- 收紧类型或 schema,使不良状态无法表示;
- 重命名或拆分 API,让危险路径明确可见;
- 只有在此之后才添加辅助函数,并且仅当所有自然调用方都会使用它时才添加。
- 删除绕过方式和重复含义。用接口处的单一共享实现替代局部包装器、并行命名的辅助函数,以及解释陷阱的注释。
- 用一项检查证明陷阱已排除:编写有针对性的测试或类型/schema 断言,展示显而易见的调用现在能保留预期行为;再通过 grep 确认没有调用方仍在使用旧的易错方式。
规则
- 不要只修复被点名的调用位置。如果接口有问题,就修复接口。
- 如果调用方仍能直接调用原始 API,就不要依赖“记得先调用这个辅助函数”。
- 不要用注释代替让误用变得不可能或一目了然。
- 让 diff 保持简单:一个不变量,一个责任主体,不做推测性的抽象。
- 如果兼容性阻止你更改接口,就用名称明确标出危险 API,并在旁边提供安全的默认 API。
评论
支持 Markdown