关于 docs-to-types
docs-to-types 是一项开发技能,将经过确认的文档事实转化为类型化架构,供需要在编码前明确领域模型和模块边界的团队使用。它先检查项目上下文并处理歧义,再规划类型、接口、适配器和依赖结构;不实现业务行为。
主要功能
- 01提取架构事实并关联来源
- 02歧义或冲突时暂停确认
- 03规划类型、接口与模块结构
- 04定义生产和测试调用链
- 05运行类型与架构检查
适用场景
- 01将已批准的设计文档转为类型结构
- 02在实现前明确模块边界与依赖方向
- 03为生产和测试定义适配器接口
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ oscabriel/ skills --skill docs-to-types安装后在 Claude Code 中输入/docs-to-types确认已加载。
附带文件REFERENCE.md
详细介绍
从文档到类型
用于将已澄清的文字转化为类型化架构的前置架构技能。如果团队掌握了持久的领域或架构事实,类型系统和模块图也应体现这些事实。
不适用于一般性盘问、重构审查或第一个 TDD 切片。CONTEXT.md、ADR 和盘问笔记是源材料,不是最终的架构框架。
首要原则
不要实现业务行为。将已批准的上下文压缩为完整的预期类型化架构:
- 规范领域类型、架构、品牌类型和不变量
- 可排除无效状态的判别联合/状态模型
- 用于解析从系统边界进入的值的智能构造器/解析器
- 遵循项目约定的服务/接口接缝
- 类型化结果/错误族和错误转换边界
- 生产/测试适配器插槽
- 遵循项目约定的组合/层/模块拓扑
- 生产和测试调用栈
- 在可行时检查依赖方向
不要创建业务工作流、真实持久化/网络逻辑、产品行为、事后重构、通用变更/结果框架,或伪装成完整实现的虚假生产逻辑。
先阅读
AGENTS.md和项目编码规则CONTEXT-MAP.md(如果存在)- 相关的
CONTEXT.md文件 - 相关的
docs/adr/* - 已批准的
grill-with-docs笔记/规格 - 目标区域附近的现有源代码
如果没有上下文文档/ADR,也没有已批准的 grill-with-docs 输出,请停止并建议使用 grill-with-docs。
工作流
1. 提取架构事实
编辑前,先生成事实表:
| Fact | Source | Code artifact | Confidence |
| ------------------------------------------- | ---------- | --------------------- | ---------- |
| Link Catalog is the application-facing seam | CONTEXT.md | `LinkCatalog` service | high |
包括领域名称、所有权边界、依赖方向、调用栈、适配器选择、运行时约束、类型化错误,以及必须留在适配器之后的基础设施。
2. 歧义关卡
如果文档、代码或用户计划彼此冲突,提出一个具体问题并等待答复。
如果某个文字事实无法清晰地表示为类型、接缝、适配器、状态、错误或依赖规则,就将领域语言视为仍有歧义。
示例:CONTEXT.md 中写的是“Operator”,但代码中写的是“User”和“Actor”。哪个才是规范名称?
3. 提出类型化结构
编辑前,除非用户要求直接实现,否则列出:
- 要创建/更新的文件
- 领域类型/架构/品牌类型/不变量/智能构造器
- 状态模型/判别联合
- 服务/接口接缝
- 类型化结果/错误族
- 生产和测试调用栈
- 适配器插槽/存根
- 架构检查
- 明确排除的业务逻辑
请求批准。
4. 仅编码类型化结构
获批后,编写可编译的代码,构建完整的预期类型化结构。
规则:
- 完全使用项目中的领域名称。
- 优先使用深层模块:接口精简,将复杂性隐藏在接缝之后。
- 遵循项目关于服务、接口、DI、组合、分层、工厂、提供者或注册表的约定。
- 使用项目原生的类型化模式建模缺失值、校验、变体、状态和预期失败。
- 将 HTTP/UI/CLI 传输细节留在边界处。
- 将存储、SQL、队列、RPC 客户端、SDK 和第三方 API 留在适配器之后。
- 如果可以通过机械方式检查依赖方向,则添加架构测试/lint/导入规则。
允许的代码深度和示例请参见 REFERENCE.md。
5. 验证并汇报
运行范围明确的检查:类型检查、lint/静态检查,以及新增的架构测试。最终回复应说明:已编码的事实、变更的文件、生产/测试调用栈、适配器插槽、已运行的检查,以及尚未实现的业务逻辑。