用途:doc-spec 用于创建技术规格(SPEC),即 SDD 流程第 6 层、C4-L3(组件级)的实现就绪契约,针对单个软件组件描述其接口、数据模型与行为,写在下游测试或代码之前。一个 SPEC 取代旧版拆分的组件/数据/UX/风险/流程规格,每个组件一份。上游为 EARS、BDD、ADR(ADR 为主要来源),下游为 TDD → IPLAN → Code。
适用时机:ADR 决策已确定、需要为组件写规格时;把 EARS/BDD 验收契约转为具体接口、数据模型与行为规则时;在编写 TDD 测试用例前需要实现就绪契约时。若需从 BDD/ADR、提示词或 IPLAN 端到端生成,使用 doc-spec-autopilot。
主要能力与结构:SPEC 为 YAML 格式,含 8 个部分——文档控制(状态、版本、日期、作者、组件、tdd_ready_score)、组件概览、接口(导出签名、类型、错误)、数据模型(类型化字段,不含 SQL/ORM)、行为(校验规则、状态转换、错误处理,每条源自 @ears/@bdd)、实现说明、下游 TDD 契约(@tdd: TDD-NN、测试文件映射)、可追溯性。需包含 @diagram: c4-l3 与 @diagram: dfd-l3 图标签,序列图错误路径须含 alt/else,不得嵌入 C4-L4 代码/类图。
使用方式:先确认上游 EARS、BDD、ADR 存在,可运行 ls docs/05_ADR/ docs/06_SPEC/ 2>/dev/null 检查;读取模板 ${CLAUDE_PLUGIN_ROOT}/framework/layers/06_SPEC/SPEC-TEMPLATE.yaml、层 README、ID_NAMING_STANDARDS.md、AUTHORING_STYLE.md;在本层索引中取下一个空闲编号 SPEC-NN(文档级短横形式,两位数字,如 SPEC-01、SPEC-99、SPEC-102),创建嵌套目录 docs/06_SPEC/SPEC-NN_{slug}/SPEC-NN_{slug}.yaml,不得直接放在 docs/06_SPEC/ 下;完成后同步更新 docs/06_SPEC/SPEC-00_index.md 并一起提交。
限制与校验:仅限组件级,不写代码、SQL、部署细节;不得硬编码性能/超时/限流数值,须用 @threshold: 引用;不得使用已移除模式(STEP-XXX、IF-XXX、INT-XXX、DM-XXX、MODEL-XXX、VR-XXX、三位 SPEC-NNN 等);不得编造 SPEC-XXX、ADR-XXX 占位符。质量门禁为 TDD-Ready 分数 ≥ 90/100 方可继续。校验错误码包括 XDOC-006 标签格式无效、XDOC-007 缺少必需上游标签、XDOC-008 内部链接损坏、XDOC-009 缺少可追溯性部分。适配时读取 .aidoc/profile.yaml,仅遵循本技能的 section_toggles、glossary 开关。相关技能:上游 doc-adr,下游 doc-tdd,质量门禁 doc-spec-audit,修复 doc-spec-fixer,生成流水线 doc-spec-autopilot。