npx skills add ...
npx skills add vinvcn/mattpocock-skills-zh-cn --skill design-an-interface
使用并行子代理为模块生成多个显著不同的接口设计。适用于用户想设计 API、探索接口选项、比较模块形状,或提到 “design it twice” 时。
npx skills add vinvcn/mattpocock-skills-zh-cn --skill design-an-interface
基于 “A Philosophy of Software Design” 中的 “Design It Twice”:你的第一个想法很可能不是最好的。生成多个根本不同的 designs,然后比较。
设计前先理解:
询问:“这个 module 需要做什么?谁会使用它?”
使用 Task tool 同时生成 3+ 个 sub-agents。每个都必须产出根本不同的 approach。
每个 design 展示:
顺序展示 designs,让用户能在比较前吸收每个 approach。
展示所有 designs 后,按以下维度比较:
用 prose 讨论 trade-offs,不用 tables。突出 designs 分歧最大的地方。
最好的 design 往往结合多个 options 的 insights。询问:
来自 “A Philosophy of Software Design”:
Interface simplicity:更少 methods、更简单 params = 更容易学习和正确使用。
General-purpose:能不改动就处理未来 use cases。但要警惕 over-generalization。
Implementation efficiency:interface shape 是否允许高效 implementation?还是迫使 internals 变别扭?
Depth:小 interface 隐藏大量 complexity = deep module(好)。大 interface 配薄 implementation = shallow module(避免)。