帮助你在实施前先比较2到3种方案,选出更优设计与执行路径。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "Exploring Alternatives" 技能: 1. 下载 https://raw.githubusercontent.com/obra/clank/main/skills/coding/exploring-alternatives/SKILL.md 2. 保存为 ~/.claude/skills/exploring-alternatives/SKILL.md 3. 装好后重载技能,告诉我可以用了
我需要为一个文件上传功能设计实现方案。请先提出3种不同实现思路,分别说明架构、优缺点、开发成本、扩展性和适用场景,最后给出推荐方案与理由。
给出三种可行实现路径的对比分析,并附带明确推荐方案。
请为这个新用户引导页提供3种不同设计方向,分别从信息层级、视觉风格、交互流程和转化目标角度说明差异,并推荐最适合B2B产品的一种。
输出三套设计思路的差异化分析,以及面向业务目标的选择建议。
我遇到一个项目延期风险。请不要直接给单一建议,而是先提供2到3种应对策略,比较它们对时间、成本、团队协作和风险控制的影响,再给出最稳妥的执行建议。
得到多个应对方案的结构化比较,并明确下一步行动建议。
Don't settle for the first design you think of. Try multiple approaches, compare trade-offs, pick the best, THEN implement.
Core principle: Design is cheap to iterate. Code is expensive. Once you write code, emotional attachment makes it hard to throw away. Explore alternatives while iteration is still cheap.
Violating the letter of this rule is violating the spirit of good design.
Always use before implementing:
Especially when:
Warning signs you need this:
Before exploring solutions, clarify the problem:
If problem is unclear, exploring solutions is premature.
Don't stop at first idea. Generate at least 2 more.
Techniques for generating alternatives:
Different data structures:
Different algorithms:
Different levels of abstraction:
Different responsibility allocation:
Different error handling:
For each approach, sketch it in pseudocode or bullet points.
Evaluate each alternative against criteria:
| Criterion | Alternative 1 | Alternative 2 | Alternative 3 |
|---|---|---|---|
| Simplicity | Simple | Complex | Medium |
| Performance | Fast | Slow | Medium |
| Maintainability | Easy to modify | Hard to change | Medium |
| Testability | Easy to test | Hard to test | Medium |
| Flexibility | Rigid | Very flexible | Some flex |
| Development time | Quick | Slow | Medium |
Which criteria matter most for this problem?
Choose based on:
Document why you picked it:
Only after comparing alternatives, implement the chosen approach.
If implementation fights you → return to Step 2. You might have picked wrong alternative.
| When | What to Explore | Example Alternatives |
|---|---|---|
| Data structure choice | Different structures | Array, LinkedList, HashMap, Tree |
| Algorithm choice | Different algorithms | Iterative, Recursive, Different approach |
| Error handling | Different strategies | Exceptions, Return codes, Defaults |
| Responsibility | Different decompositions | One class, Multiple classes, Functions |
| Abstraction level | Build vs use | Custom implementation, Library, Framework |
…
先用伪代码梳理方案与迭代思路,再高效转成可执行代码。
帮助开发者用早返回或表驱动方式简化嵌套条件分支,提升代码可读性。
帮助你为变量选择清晰准确、易维护的命名,提升代码可读性。
帮助开发者保持类接口抽象一致,避免混杂序列化、持久化等无关职责。
帮助你撰写不过时的代码注释,聚焦做什么与为什么而非时序背景。
帮助用户检索过往 Claude Code 对话,快速找回事实、决策与上下文线索。
通过结构化追问与方案比较,把模糊想法梳理成可执行设计。
在创意与实现前梳理用户意图、需求与方案方向,降低返工风险。
为工程师生成分步实施计划,帮助在陌生代码库中快速落地任务。
汇集多模型独立方案与辩论,辅助实现路径和架构决策
快速搭建一次性原型,验证方案可行性并给出对比结论。
通过层层追问与假设检验,帮助澄清需求、计划与设计中的关键不确定性。