mirror of
https://github.com/codestable/CodeStable.git
synced 2026-09-19 09:03:09 +08:00
5e965d27a4
- Updated easysdd-feature documentation to enhance descriptions, clarify workflow stages, and improve directory organization. - Added new guidelines for routing user actions within the easysdd-feature skill. - Revised writing-to-explain skill to emphasize teaching over commanding, improving guidance for AI-generated content. - Introduced a new document, what-is-skills.md, to explain the purpose and structure of skills in the Claude Code environment.
6.2 KiB
6.2 KiB
name, description
| name | description |
|---|---|
| easysdd-feature-brainstorm | feature 流程的可选阶段 0——想法还模糊时用对话把它磨清晰到能进 design 的程度。AI 在这里是思考伙伴,不是问卷机:主动提议、主动挑战假设、主动给方案空间。聊完产出 brainstorm.md 落盘。触发场景:用户说"有个想法没想清楚"、"先 brainstorm"、"功能方向还在摇摆"。想法已经清晰就跳过直接走 design,不要拉着用户做他觉得多余的发散。也不处理 bug 和重构。 |
easysdd-feature-brainstorm
这是 easysdd-feature 的可选阶段 0。任务是把"我想做点 X 吧"磨到"我要做 X 的这个切面,因为 Y",然后交给 design 阶段去落地方案。
最重要的一句话:brainstorm 是创意空间,不是审计关卡。在这里探索、质疑、改变主意、聊着聊着发现真正想做的是另一件事——都正常。压力和约束留给 design,这一阶段的功能就是发散和收敛,越早卡死反而越没用。
开聊之前先做的检查
四件事,缺一件就先别进对话:
- 确认这是新功能 brainstorm——bug 应该走 issue,重构走独立方案,已经想清楚的需求直接进 design。走错入口比拒绝触发还坏。
- 确认真的有模糊度——如果你已经能写出 design 第 1 节"需求摘要"的初稿,老实告诉用户跳过 brainstorm 直接进 design 更省事。这一阶段最大的反模式是揽下不属于自己的活。
- 看一下已有产物——Glob 一下
easysdd/features/下面有没有名字相近的brainstorm.md或design.md。有的话先确认是接着改还是另起一个,不要默默覆盖别人的工作。 - 断点恢复——如果已经有一份有内容的
brainstorm.md(不是空模板),读完后简短汇报一句:"上次聊到了 {选定方向 / 最后那个话题},要接着聊还是推翻重来?"用户选接着聊就从那儿继续,别重问已经回答过的问题。
怎么聊
先讲几条容易做反的:
- 一次只问一个问题。一次抛三五个问题给用户,TA 大概率只回最容易答的那个,深的就漏了。
- 先给选项再提问。能用 2-4 个具体、有区别度的选项让用户挑就别让用户自由作文。选项本身就是你的思考——你已经替 TA 把方案空间走了一遍,TA 只需要做选择题。环境支持
AskUserQuestion就用,不支持就用编号文本选项。 - 做思考伙伴,不做问卷机。"你觉得怎么做?"这种话是偷懒——你应该说"我能想到三种方向,A / B / C,你倾向哪个,或者还有别的角度?"。后者才是伙伴的样子。
- 不在这一步做技术选型。"用什么库、表怎么设计、接口怎么定"通通推到 design。本阶段只谈用户感知层面——做这件事是为了帮谁解决什么问题。但如果某个问题的答案得看代码仓里实际是怎么写的("现在这块是怎么做的"、"有没有类似的东西已经在了"),就按需去读代码,读完把发现带回对话——别就着这个发现展开技术设计讨论,那是 design 阶段的事。
- 开口前先扫一遍仓库。第一次提问之前完成这几件:读
AGENTS.md+ 项目架构总入口;Glob 已有 feature 目录;Grep 一下用户描述里的关键词(防术语撞车);搜 learnings 目录看有没有相关的踩坑记录。扫完在对话里简短报告发现,让用户知道你不是凭空在跟 TA 聊。
对话节奏
没有固定步骤表。大致分三个动作,但随时可以回到上一步——聊着聊着发现方向不对、冒出新角度,跟着走就行:
- 理解——从用户的想法出发,问一个好问题去挖背后的动机或场景。这几个视角在合适的时候带出来(不是逐条过):这事帮谁解决什么?现在不做的话他们怎么绕过去的?有没有更小的版本能抓到大部分价值?
- 发散——提议 2-3 个具体的候选方向,每个写 1-2 句描述、核心价值、主要代价。至少有一个反直觉候选(反转一下、去掉一个常见约束、做个跨领域类比)。所有候选呈现完再给推荐——要是先锚定一个再补充别的,用户的判断会被你的开场白污染。
- 收敛——用户选定方向后,轻轻勾勒一下:核心用户行为是什么?有什么明显不做的?最大的未知是什么?这是给 design 热身,不是替 design 做决定,所以别陷进细节。
聊完落盘
对话收敛后写 brainstorm note 到 easysdd/features/{feature}/brainstorm.md。
feature 目录怎么建
- 日期前缀:从环境信息里取今天的日期,不要靠记忆猜。
- slug:根据选定方向自拟一个英文小写连字符 slug,写进 note 时顺便告诉用户一声。用户有异议再改,不用专门起一轮"slug 你觉得叫什么"的对话——这种小决定 AI 替用户先拟好更顺手。如果 design 阶段改名,只 rename slug 部分,日期前缀别动,整个目录一起 rename。
- 目录不存在就创建;已存在的话回到上面"开聊之前先做的检查"第 3 条。
brainstorm note 模板
# {功能名称} Brainstorm
> Stage 0 | 状态:已确认 | {YYYY-MM-DD} | 下一步:design
## 想做什么、为什么
{出发点 + 探索中的关键发现和转折,合在一起讲。}
## 考虑过的方向
### 方向 A:{名}
- 描述 / 价值 / 代价
- 结论:选定 / 否决(原因)
### 方向 B / C ...
## 选定方向与遗留问题
{选定方向 2-3 句重述 + 粗粒度轮廓(核心行为、明显不做、最大未知)。
遗留给 design 的问题直接列在这里。}
仓库扫描发现、术语撞车提示、learnings 引用这类备注按需加在末尾,不另开 section。
退出
brainstorm note 落盘后,确认用户说"可以进 design 了"再结束本阶段。
别自己顺手开始写 design——阶段间的人工 checkpoint 是 easysdd 整套流程的硬约束,原因在根技能里讲过:跨阶段无停顿地往下跑,用户会发现自己来不及在每一步把关,最后实现完才知道走偏了。所以这一步告诉用户下一步触发 easysdd-feature-design 就够了。