Communitygithub.com

LaiAnTan/agentic-setup

先设计再构建。适用于任何重要的工作——大功能、重构、新项目、多仓库协作、或涉及核心逻辑、状态、数据、资金、安全及公开 API 的改动。逐步完成产品、架构、程序设计和垂直切片,每阶段等待用户批准,并将设计记录在 docs/designs/ 中。

agentic-setup 是什么?

这项技能(skill)的核心原则是“先设计后编码”,旨在解决 AI 智能体在实现过程中容易导致设计退化的问题。它强制要求在任何实质性代码编写之前,先达成设计决策,从而使后续的 PR 评审变得快速且符合预期。技能定义了一套完整的工作流:首先根据任务规模(如中型功能、大型重构、新项目)选择合适的阶段(产品设计→架构→程序设计→切片计划),然后智能体从配置文件、文档和代码库中收集上下文信息,再按阶段逐一完成设计文档(docs/designs/YYYY-MM-DD-<slug>.md),每个阶段结束时暂停,向用户展示摘要和决策要点,等待用户确认后才进入下一阶段。一旦切片计划获批,智能体按照切片顺序逐个实现,每个切片对应一个 PR 或提交,并在实现过程中持续验证设计是否正确;若发现设计问题,则先更新设计文档,再继续实现。最终,最后一片落地后,智能体将设计决策融入系统文档(如 docs/product.md、docs/architecture.md)、术语表和决策记录中,标注设计文件状态,确保知识库始终反映当前系统状态。该技能适用于 Claude Code、Cursor、Codex 等 AI 编程助手,支持工作目录下的 Markdown 设计文件和模板。

兼容平台~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/LaiAnTan/agentic-setup/tree/HEAD/skills/design

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

先设计再构建

AI 智能体实现速度快,但容易忽视设计的退化。解决方法是:在代码存在之前就先商定决策,这样每个 PR 因为已经获得批准而与预期一致,评审起来就很快。你需要起草每个阶段;用户负责评审和批准。

1. 确定工作规模并选择阶段

工作规模阶段
中等功能、包含在内部的重构程序设计 → 切片
大型功能、跨切面的重构架构 → 程序设计 → 切片
新项目、多仓库或问题不够清晰产品 → 架构 → 程序设计 → 切片

用一行说明你选择了哪个规模以及原因。用户可以增删阶段。

2. 先收集上下文

在起草任何内容之前:阅读 docs/README.md 及其指向的活文档、docs/designs/ 中所有公开的设计、相关代码和该区域的历史。对于工具或方案的选择,应进行调研(文档、基准测试、已知问题),并给出具体的选项及来源。不要基于假设进行设计。

3. 逐步执行每个阶段

创建设计文件 docs/designs/YYYY-MM-DD-<slug>.md,并基于 template.md(如果仓库还没有 docs/ 布局,则先根据全局规则建立该布局)。对于每个阶段,读取该阶段对应的阶段文件(位于本技能的文件夹内),在设计文件中起草该阶段的内容,然后停止:

  • product.md:问题、用户、行为、不在范围内
  • architecture.md:组件、合约、数据模型、约束
  • program-design.md:类型、签名、文件布局、调用流程
  • slices.md:构建顺序、仓库、PR 以及每个切片的检查点

停止时,向用户展示:

  • 在适当的地方提供示意图,以及一段简短摘要(而不是粘贴整篇文档的聊天内容)
  • 你所做的决策和待解决的问题,并编号以便用户回答“2:同意”

在用户批准当前阶段之前,不要开始下一阶段。如果用户做了修改,请更新设计文件,而不仅仅是在聊天中修正。

4. 逐个切片构建

切片计划获批后:

  • 一次只构建一个切片;每个切片结束时,其约定的检查点必须通过,并展示证明。
  • 每个切片对应一个 PR(或者如果用户不使用 PR,则对应一个提交),按照全局规则描述。
  • 如果实现过程中发现设计有误,请停下来向用户提出修改设计的建议,而不是悄然偏离原设计。在达成修改共识后,更新设计文件。
  • 随着切片的落地,在设计文件中将其标记为已完成,以便后续会话可以从这里继续。

5. 完成

当最后一个切片落地后,将结果反馈到活文档中,使其始终保持真知:

  • 更新仓库的 docs/product.md、docs/architecture.md 以及任何主题文档(不是本技能的阶段文件),以描述系统的当前状态,遵循全局规则中的文档编写规则。
  • 将任何新增的、困难的或项目特有的术语添加到 docs/glossary.md 中。
  • 将每个重要决策转化为 docs/decisions/NNNN-<slug>.md 笔记。
  • 将设计文件标记为已完成,并添加到 docs/README.md 中。此后不再重写它。
  • 向用户展示活文档中发生了什么变化。

相关技能