design-an-interface
使用并行子代理为一个模块生成多个截然不同的接口设计。当用户想设计 API、探索接口方案、对比模块形态,或提到 "design it twice" 时使用。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
使用并行子代理为一个模块生成多个截然不同的接口设计。当用户想设计 API、探索接口方案、对比模块形态,或提到 "design it twice" 时使用。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
交互式 QA 会话,用户以对话方式报告 bug 或问题,代理负责提交 GitHub issue。会在后台探索代码库以获取上下文和领域语言。当用户想报告 bug、做 QA、以对话方式提交 issue,或提到 "QA session" 时使用。
通过用户访谈创建一份带有微小提交(tiny commits)的详细重构计划,然后将其作为 GitHub issue 提交。当用户想规划一次重构、创建重构 RFC,或将一次重构拆分为安全的增量步骤时使用。
从当前对话中提炼出一份 DDD 风格的通用语言(ubiquitous language)术语表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想定义领域术语、构建术语表、固化用词、创建通用语言,或提到 "domain model" 或 "DDD" 时使用。
询问哪个技能或流程适合你当前的处境。它是本仓库中各技能的路由器。
从两个轴向审查某个固定点(commit、branch、tag 或 merge-base)以来的变更——Standards(代码是否遵循本仓库记录的编码规范?)和 Spec(代码是否符合源起的 issue/PRD 的要求?)。在并行子智能体中运行两项审查,并把它们并排报告。当用户想审查一个分支、一个 PR、进行中的变更,或要求 "review since X" 时使用。
用于设计深模块的共享词汇。当用户想设计或改进一个模块的接口、寻找深化机会、决定接缝放在何处、让代码更可测试或更易于 AI 导航,或当另一个技能需要深模块词汇时使用。
| name | design-an-interface |
| description | 使用并行子代理为一个模块生成多个截然不同的接口设计。当用户想设计 API、探索接口方案、对比模块形态,或提到 "design it twice" 时使用。 |
基于《软件设计的哲学》(A Philosophy of Software Design)中的"设计两次"(Design It Twice):你的第一个想法不太可能是最好的。先生成多个截然不同的设计,然后进行对比。
在设计之前,先弄清楚:
询问:"这个模块需要做什么?谁会用它?"
使用 Task 工具同时启动 3 个以上子代理。每个都必须产出一个截然不同的方案。
每个子代理的提示模板:
为以下对象设计一个接口:[模块描述]
需求:[收集到的需求]
本设计的约束:[为每个代理分配一个不同的约束]
- 代理 1:"最小化方法数量——目标是最多 1-3 个方法"
- 代理 2:"最大化灵活性——支持多种用例"
- 代理 3:"针对最常见的情况进行优化"
- 代理 4:"从 [某个特定范式/库] 中汲取灵感"
输出格式:
1. 接口签名(类型/方法)
2. 使用示例(调用方如何使用它)
3. 这个设计在内部隐藏了什么
4. 这个方案的权衡取舍
展示每个设计,包含:
按顺序逐个呈现设计,以便用户在对比之前能够吸收每一个方案。
展示完所有设计后,从以下维度对它们进行对比:
用文字而非表格来讨论权衡。突出设计之间差异最大的地方。
最好的设计往往结合了多个方案的洞见。询问:
出自《软件设计的哲学》:
接口简洁性:更少的方法、更简单的参数 = 更易于学习和正确使用。
通用性:能够在不改动的情况下应对未来的用例。但要警惕过度泛化。
实现效率:接口的形态是否允许高效的实现?还是会迫使别扭的内部结构?
深度:小接口隐藏大量复杂性 = 深模块(好)。大接口配薄实现 = 浅模块(应避免)。