|
|
| 名称 |
spec-discovery |
| 描述 |
“解析规格文档以提取ID、标题和可追溯元数据(仓库、路径、哈希)。” |
规格文档发现技能
定位规格文档和外部请求头,提取ID(例如REQ-NOTIFY-001),并返回可追溯元数据供下游代理使用。
变量
| 变量 |
默认值 |
描述 |
| ROOT |
. |
主仓库根目录 |
| EXTRA_REPOS |
[] |
包含specs/的额外仓库根目录 |
| INCLUDE_EXTERNAL_REQUESTS |
true |
扫描specs/external-requests/ |
| OUTPUT_FORMAT |
json |
json或toon清单输出 |
工作流程(强制)
- 加载仓库:ROOT + EXTRA_REPOS
- 遍历规格文档:
specs/、specs/external-requests/,跳过specs/templates/
- 解析标题:匹配
^#+\s*(REQ-[A-Za-z0-9_-]+)\s*:?\s*(.*)$
- 规范化:路径相对于仓库根目录,锚点基于ID + 标题
- 可追溯性:计算文件内容的SHA-256;记录
source_repo、path、hash
- 生成清单:按仓库 → 路径 → ID排序,输出JSON/TOON格式(见输出模式)
红色标志(停止并验证)
- 规格文件中未检测到ID → 在跳过前确认标题格式
- 跨仓库的重复规格ID → 在清单
notes字段中标记
- 缺少
specs/目录 → 报告空结果而非失败
输出模式
{
"format": "spec-manifest/v1",
"generated_at": "<ISO-8601 UTC>",
"sources": [
{"repository": "<repo-name>", "root": "<abs-path>"}
],
"specs": [
{
"id": "REQ-NOTIFY-001",
"title": "邮件发送端点",
"source_repo": "ai-dev-kit",
"path": "specs/external-requests/notify.md",
"link": "specs/external-requests/notify.md#req-notify-001-邮件发送端点",
"hash": "<sha256-of-file>"
}
]
}
提供者说明
- 当其他命令请求
/ai-dev-kit:specs-find或规格可追溯性时使用此技能。
- 机器工作流首选JSON;紧凑提示嵌入使用TOON。
- 保留ID/标题大小写;锚点应为小写 + 连字符分隔。