关于 doc-naming
doc-naming 面向采用 8 层 SDD 流程的团队,用于校验文档命名。它依据命名标准检查 ID 和标签并识别旧式格式,不生成工件。
主要功能
- 01校验文档 ID 格式
- 02校验元素 ID 和阈值标签
- 03标记旧式格式并给出迁移目标
- 04检查文件名命名规则
适用场景
- 01创建或编辑工件前检查 ID
- 02维护文档时查找已弃用 ID
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ vladm3105/ aidoc-flow-framework --skill doc-naming安装后在 Claude Code 中输入/doc-naming确认已加载。
详细介绍
doc-naming
用途
8 层 SDD 流程的命名权威。doc-naming 根据
${CLAUDE_PLUGIN_ROOT}/framework/governance/ID_NAMING_STANDARDS.md 验证文档
ID、元素 ID、阈值标签和文件名,并标记已移除/旧式模式。它不会生成任何产物——它是声明式 ID 验证器(框架不提供运行时代码)。
层级:跨层实用工具(适用于全部 8 层)。
使用时机
在创建或编辑任何产物前使用,以便:
- 验证文档或元素 ID 的格式,
- 检查
@threshold:标签,或 - 检测已移除/旧式 ID 模式并获取迁移目标。
不要使用它进行跨文档可追溯性检查或内容审查——请使用
../doc-validator/SKILL.md。
行为
1. 文档 ID — TYPE-NN
^[A-Z]{2,8}-[0-9]{2,}$ — 大写类型、单个连字符、2 位以上序列号(除两位数字外不允许有多余的前导零:BRD-01、ADR-99、IPLAN-102)。文件名:
TYPE-NN_descriptive_slug.md。
2. 元素 ID — TYPE.NN.SS.xxxx(4 段)
^[A-Z]+\.[0-9]{2,}\.[0-9]{2,}\.[a-f0-9]{4,8}$
| 段 | 含义 | 格式 |
|---|---|---|
| TYPE | 产物前缀 | BRD PRD EARS BDD ADR TDD |
| NN | 文档编号 | 2 位以上数字 |
| SS | 源章节编号 | 2 位以上数字 |
| xxxx | 稳定的内容标识符,4 位十六进制(发生冲突时为 8 位)——见下文 | [a-f0-9]{4,8} |
示例:BRD.01.07.a7f3。元素 ID 以 Markdown 标题的形式出现
(### BRD.01.07.a7f3: Title)。
3. 引用粒度(元素与文档)
不存在数字型元素类型代码——身份由章节和哈希确定, 而不是固定代码。
| 层 | 引用形式 | 示例 |
|---|---|---|
| BRD、PRD、EARS、BDD、TDD | 元素(点分隔)TYPE.NN.SS.xxxx | PRD.01.09.1dbc |
| ADR | 两种形式:文档 ADR-NN 和元素 ADR.NN.SS.xxxx | ADR-05、ADR.05.03.e5b1 |
| SPEC、IPLAN | 文档(连字符分隔)TYPE-NN | SPEC-06、IPLAN-01 |
可追溯性标签包含这些引用:@brd: BRD.01.07.a7f3、@spec: SPEC-06、
@iplan: IPLAN-01。
4. 阈值标签
@threshold: {TYPE}.{NN}.{key},其中 key 为
category.subcategory.attribute[.qualifier]。类别:perf timeout rate retry circuit alert cache pool queue batch。文档引用是必需的,且必须以点分隔——@threshold: PRD.035.timeout.partner.bridge(有效);
@threshold: timeout.partner.bridge(缺少文档引用——无效)。阈值来源:BRD(业务 SLA)、PRD(产品指标)、ADR(技术限制)。
5. 保留 ID 和 REF 豁免
TYPE-00_*(索引、模板、词汇表)——框架基础设施; 跳过元素 ID 和可追溯性检查。TYPE-REF-NN_{slug}.md(仅 BRD/ADR,通过../doc-ref/SKILL.md)—— 自由格式的参考目标;不要求元素 ID,不执行质量门禁。
6. 已移除/旧式模式(拒绝)
将每个匹配项迁移为 TYPE.NN.SS.xxxx(或 SPEC/IPLAN 的连字符文档引用):
| 已移除 | 适用范围 |
|---|---|
AC-XXX、FR-XXX、BC-XXX、BA-XXX、QA-XXX、BO-XXX、RISK-XXX、METRIC-XXX、Feature F-XXX | BRD、PRD |
Event-XXX、State-XXX | EARS |
DEC-XXX、ALT-XXX、CON-XXX | ADR |
3 段格式 TYPE.NN.xxxx | 所有元素层 |
使用 grep 检测,例如 grep -E "(AC|FR|BC|BA|QA|BO|NFR|RISK|METRIC)(-[A-Za-z0-9]+)*-[0-9]+" file.md
(可选的 (-[A-Za-z0-9]+)* 可匹配 FR-CICD-001 这类复合形式)。
迁移:从文件名推导 TYPE/NN,从源章节推导 SS,
并将 xxxx 设为在其章节内唯一的稳定 4 位十六进制标识符;替换
所有出现位置并重新验证。不要手动计算 SHA-256。对于 BRD §7——
唯一规定了字段提取边界的层——调用生成器:
python -m sdd_doc_lint.rehash --compute --doc-id NN --section-id SS --title T --description D。权威依据:framework/governance/ID_NAMING_STANDARDS.md。
7. ISO 8601 时间戳
日期/时间字段(frontmatter 中的 last_updated、created_date;review_date、
fix_date、approval_date、decision_date)使用
YYYY-MM-DDTHH:MM:SS(可选 Z 或 ±HH:MM),以便检测同一天内的变更。
仅包含日期的值已弃用。
预检清单
- 文档 ID 为
TYPE-NN;文件名为TYPE-NN_slug.md。 - 元素 ID 为 4 段式
TYPE.NN.SS.xxxx,包含 4–8 位十六进制哈希,并在文档内唯一; SPEC/IPLAN 使用带连字符的文档引用。 -
@threshold:标签包含文档引用和已批准的类别。 - 不包含已移除/旧版模式;不包含 3 段式元素 ID。
- 可追溯性标签前缀(
@brd:…@tdd:)正确,且目标存在。
相关资源
- ID 与标签规范:
${CLAUDE_PLUGIN_ROOT}/framework/governance/ID_NAMING_STANDARDS.md - 阈值规则:
${CLAUDE_PLUGIN_ROOT}/framework/governance/THRESHOLD_NAMING_RULES.md - 层级注册表(清单、链、文件夹):
${CLAUDE_PLUGIN_ROOT}/framework/registry/LAYER_REGISTRY.yaml - 各层模板与 README:
${CLAUDE_PLUGIN_ROOT}/framework/layers/NN_<X>/ - 跨文档验证:
../doc-validator/SKILL.md - 工作流路由:
../doc-flow/SKILL.md - 图表:
../charts-flow/SKILL.md