Communitygithub.com

aTeering/skills

将一个想法或精细化的简报转化为可供实现的完整规范,结合 /refine(拷问计划)和 /domain-modelling(统一术语),并为重要决策记录架构决策记录(ADR)。适用于用户希望在实现前获得完整计划、系统设计、技术规范、设计文档或 ADR 的场景。

skills 是什么?

该技能的核心任务是将模糊的想法或初步调研结果,系统性地转化为两份可持久化的、供后续 `/implement` 命令直接执行的工程制品:一份**规范文档(Spec)**,以及记录重要设计决策的**架构决策记录(ADR)**。它通过一套严谨的七步流程来消除隐性假设:从拷问计划(`/refine`)开始,确保所有开放问题都已澄清;然后进行领域建模(`/domain-modelling`),统一关键术语;接着探索现有代码库,识别需要修改的模块、接口和测试,并标注现有模式;在设计阶段,对重大决策要求提供 2-3 个方案供用户选择,对较小决策则批量确认;所有设计选择都必须记录在**假设台账(Assumptions Ledger)**中,并标记为用户确认(✅)、未确认(❓)或拒绝(❌);最后,将不可逆的、影响多模块的决策记录为 ADR,将完整的任务列表写入规范文档,并在完成时与用户复核,确保所有 ❓ 项目均已解决,规范才能被批准为 `Approved`。该技能支持所有现代 AI 编码环境(如 Claude Code、Cursor、Codex),并强调与项目现有公约(如 ADR 文件夹或模板)的适配,最终推荐通过 `/handoff` 或直接 `/implement` 进入实现阶段。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aTeering/skills/tree/HEAD/skills/engineer

在你喜欢的 AI 中提问

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

文档

工程师

将调研综合为两种可持久化的制品:一份可供 /implement 执行的规范,以及用于记录值得铭记的决策的 ADR。

输入:$ARGUMENTS。

零隐性假设。 每一个设计选择要么由用户做出,要么被列为假设。这包括那些感觉太小而不值得询问的选择(库、错误格式、命名、默认值、限制等),你从代码库中推断出的内容,以及你自己的建议。在整个过程中持有一个假设台账(✅ 用户已确认 · ❓ 未确认 · ❌ 已拒绝),并且永远不要将未确认的选择作为决策写入规范或 ADR。

流程

  1. 细化。 如果本次会话中还没有细化后的简报,先运行 /refine 流程(拷问 → 验收标准)。不要带着阻碍设计的开放问题继续。如果存在简报,将其 ❓ 假设带入你的台账;在设计依赖它们的任何内容之前先解决这些假设。
  2. 建模。 对任何新的或变更的概念运行 /domain-modelling 流程,并更新领域文档。规范必须使用这些规范术语。
  3. 探索代码库。 识别变更涉及的模块、接口、数据存储和测试。注意要遵循的现有模式。引用真实路径。代码今天的功能是证据,而非意图:“遵循 src/x.ts 中的现有模式”本身就是一个需要与用户确认的选择,并在记录时标注来源。
  4. 设计。 对于每个重大决策,列出 2-3 个方案及其权衡和推荐;由用户决定,并且只有在用户明确选择后才算推荐生效。对于较小的选择,将它们批量放入一个确认列表中,而不是自行决定。考虑数据模型与迁移、API/合约变更、错误处理、安全、性能、可观测性、发布与回滚以及向后兼容性。
  5. 记录 ADR。 如果一个决策难以撤销、影响多个模块,或者未来的工程师会问“我们为什么这样做?”,那它就值得记录为一个 ADR。将每个 ADR 写入 docs/adr/NNNN-kebab-title.md(下一个空闲编号,4 位数字),使用 adr-template.md。如果一个 ADR 取代了另一个,更新旧 ADR 的状态。仅在用户确认决策后才将 ADR 标记为 Accepted;否则保持 Proposed。
  6. 编写规范 到 docs/specs/<kebab-title>.md,使用 spec-template.md。将工作分解为小的、有序的、可独立测试的任务——每个任务都附有证明其完成的测试。从台账中填写规范的假设部分;每个设计陈述必须追溯到用户决策,或者作为 ❓ 出现在其中。
  7. 与用户复核。 总结规范和 ADR,展示开放的 ❓ 项目,请求批准并调整。只要有任何 ❓ 影响任务、验收标准或 ADR,就不要将规范设置为 Approved。

规则

  • 如果项目已有规范/ADR 文件夹或模板,则尊重项目现有的约定——改用那些。
  • 规范描述的是做什么和如何验证,并包含足够的如何做以消除歧义——而不是逐行实现。
  • 每个验收标准必须至少映射到一个任务和一个测试。
  • 在变更允许的范围内保持简洁。

下一步

推荐使用 /handoff(在一个全新的会话中开始实现)或直接使用 /implement docs/specs/<file>.md。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能