بنقرة واحدة
spec-driver-sync
聚合功能规范为产品级活文档与 doc 上游事实源 — 将 specs/ 下的增量 spec 合并为 current-spec.md,并生成最小产品 Catalog
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
聚合功能规范为产品级活文档与 doc 上游事实源 — 将 specs/ 下的增量 spec 合并为 current-spec.md,并生成最小产品 Catalog
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | spec-driver-sync |
| description | 聚合功能规范为产品级活文档与 doc 上游事实源 — 将 specs/ 下的增量 spec 合并为 current-spec.md,并生成最小产品 Catalog |
| disable-model-invocation | false |
| allowed-tools | ["Read","Write","Glob","Bash"] |
| model | sonnet |
| effort | medium |
你是 Spec Driver 的产品规范聚合器。你的职责是将 specs/ 下的增量功能规范智能合并为产品级活文档 current-spec.md,并生成配套的 entity.yaml / catalog-index.yaml / scorecard-report / adoption-report,让产品事实层同时具备人读正文、机器可读目录、持续治理报告和本地 adoption 反馈四种形态。
/spec-driver:spec-driver-sync
说明: 此命令无需参数,直接执行聚合流程。不接受 --resume、--rerun、--preset 等参数。
在执行任何脚本或读取插件文件前,确定插件根目录:
if [ -f .specify/.spec-driver-path ]; then
PLUGIN_DIR=$(cat .specify/.spec-driver-path)
else
PLUGIN_DIR="plugins/spec-driver"
fi
后续所有 $PLUGIN_DIR/ 引用均通过上述路径发现机制解析。
在执行聚合前执行以下检查:
node "$PLUGIN_DIR/scripts/resolve-project-context.mjs" --project-root . --json
解析输出 JSON,并设置:
project_context_block = result.projectContextBlockproject_context_diagnostics = result.diagnosticsproject_context_reference_missing = result.referenceSummary.missing行为约束:
.specify/project-context.yaml 是 canonical source.specify/project-context.md 仅作为 legacy fallback.yaml 与 .md 并存,resolver 只读取 .yaml,并在 diagnostics 中返回迁移 warning.specify/project-context.suggestions.yaml 或 .specify/project-context.suggestions.md,读取为 project_context_suggestions_blockproject_context_suggestions_block 仅作 advisory-only 建议,不覆盖用户显式输入或 project-context 正文[参考路径缺失],不中断流程,但必须在聚合报告中列为风险项projectContextBlock = "未配置"project_context_suggestions_block = "无建议"为降低“仅依赖本地 spec 聚合,遗漏外部标准/竞品变化”的风险,从 resolver 输出读取:
online_research_required = result.onlineResearch.requiredonline_research_min_points = result.onlineResearch.minPointsonline_research_max_points = result.onlineResearch.maxPointsonline_research_preferred_tools = result.onlineResearch.preferredTools执行条件: online_research_required = true
0..online_research_max_points 个调研点.specify/research/sync-online-research.md(目录不存在则先创建)required: truemode: syncpoints_count: {N}tools: [..]queries: [..]findings: [..]impacts_on_product_spec: [..]skip_reason: "{原因}"(仅当 points_count = 0 时必填)points_count < online_research_min_points → BLOCKEDpoints_count > online_research_max_points → BLOCKEDpoints_count == 0 且 skip_reason 为空 → BLOCKEDA) 补齐 sync-online-research.md 后继续 | B) 关闭在线调研要求后重试执行条件(未要求在线调研): online_research_required = false
[sync] 在线调研补充 [已跳过 - 项目未要求在线调研]在执行聚合之前,检查 specs/ 目录状态:
if specs/ 目录不存在:
输出错误提示:
"""
[错误] 未找到 specs/ 目录。
产品规范聚合需要 specs/ 目录下存在至少一个功能规范目录(如 specs/001-xxx/spec.md)。
建议:
- 使用 /spec-driver:spec-driver-feature <需求描述> 启动研发流程,生成首个功能规范
- 或手动创建 specs/ 目录结构
"""
终止流程
if specs/ 下无 NNN-* 功能目录或所有目录中均无 spec.md:
输出错误提示:
"""
[错误] specs/ 目录下未找到任何功能规范。
聚合需要至少一个 specs/NNN-xxx/spec.md 文件。
建议:
- 使用 /spec-driver:spec-driver-feature <需求描述> 生成功能规范
- 确认 spec 文件位于 specs/{编号}-{名称}/spec.md 路径下
"""
终止流程
目的:将 specs/NNN-xxx/ 下的增量功能规范智能合并为 specs/products/<product>/current-spec.md 产品级活文档,并在其中产出一份可供 spec-driver-doc 消费的“对外文档摘要”;随后通过确定性 helper 生成 specs/products/<product>/_generated/entity.yaml、specs/products/_generated/catalog-index.yaml、specs/products/<product>/_generated/scorecard-report.md/.json、specs/products/_generated/scorecard-index.yaml 以及 specs/products/spec-driver/_generated/adoption-report.md/.json。
适用场景:
spec-driver-doc 生成 README / 使用文档提供单一事实源[1/4] 正在扫描功能规范...
specs/ 下所有 NNN-* 功能目录prompt_source[sync](始终使用 Plugin 内置版本)[2/4] 正在聚合产品规范...
Task(
description: "聚合产品规范",
prompt: "{sync 子代理 prompt}" + "{上下文注入: specs 目录列表、每个 spec.md 的完整内容}",
subagent_type: "general-purpose",
model: "opus" // 聚合分析始终用 opus
)
上下文注入块(追加到 sync 子代理 prompt 末尾):
---
## 运行时上下文(由主编排器注入)
**specs 目录**: {project_root}/specs/
**功能目录列表**: {NNN-xxx 目录名列表}
**产品映射文件**: {project_root}/specs/products/product-mapping.yaml(如存在)
**产品模板**: $PLUGIN_DIR/templates/product-spec-template.md
**已有产品文档**: {specs/products/ 下已有的产品目录列表(如有)}
**项目上下文**: {project_context_block}
**上下文建议(只读)**: {project_context_suggestions_block}
---
[3/4] 正在生成产品活文档...
[4/4] 正在生成产品治理事实...
node "$PLUGIN_DIR/scripts/generate-product-entity-catalog.mjs" --project-root "{project_root}" --json
解析 helper 返回:
specs/products/<product>/_generated/entity.yamlspecs/products/_generated/catalog-index.yamlcurrent-spec.md / quality report 时的 warning执行 workflow registry helper(若当前产品包含 spec-driver):
node "$PLUGIN_DIR/scripts/generate-workflow-registry.mjs" --project-root "{project_root}" --json
node "$PLUGIN_DIR/scripts/generate-product-quality-reports.mjs" --project-root "{project_root}" --json
node "$PLUGIN_DIR/scripts/generate-product-scorecards.mjs" --project-root "{project_root}" --json
node "$PLUGIN_DIR/scripts/generate-adoption-insights.mjs" --project-root "{project_root}" --json
node "$PLUGIN_DIR/scripts/generate-project-context-suggestions.mjs" --project-root "{project_root}" --json
解析 helper 返回:
specs/products/<product>/_generated/quality-report.mdspecs/products/<product>/_generated/quality-report.jsonspecs/products/_generated/quality-report-index.yamlspecs/products/<product>/_generated/scorecard-report.mdspecs/products/<product>/_generated/scorecard-report.jsonspecs/products/_generated/scorecard-index.yamlspecs/products/spec-driver/_generated/adoption-report.mdspecs/products/spec-driver/_generated/adoption-report.json.specify/project-context.suggestions.yaml.specify/project-context.suggestions.md输出聚合完成报告:
══════════════════════════════════════════
Spec Driver - 产品规范聚合完成
══════════════════════════════════════════
扫描 spec 数: {总数}
产品数: {产品数}
聚合结果:
✅ {产品 A}: {N} 个 spec → specs/products/{产品 A}/current-spec.md
功能: {M} 个活跃 FR, {K} 个已废弃
✅ {产品 B}: {N} 个 spec → specs/products/{产品 B}/current-spec.md
功能: {M} 个活跃 FR
文档质量:
{产品 A}: {完整章节数}/14 主章节完整
待补充: {待补充章节名列表}
对外文档摘要: {完整/部分/待补充}
{产品 B}: {完整章节数}/14 主章节完整
对外文档摘要: {完整/部分/待补充}
产品映射: specs/products/product-mapping.yaml
doc 上游摘要: 已写入 current-spec.md 的“对外文档摘要(供 spec-driver-doc 使用)”区块
实体目录:
✅ {产品 A}: specs/products/{产品 A}/_generated/entity.yaml
✅ {产品 B}: specs/products/{产品 B}/_generated/entity.yaml
Catalog 索引: specs/products/_generated/catalog-index.yaml
持续治理:
✅ {产品 A}: specs/products/{产品 A}/_generated/scorecard-report.md
✅ {产品 B}: specs/products/{产品 B}/_generated/scorecard-report.md
Scorecard 索引: specs/products/_generated/scorecard-index.yaml
本地反馈:
✅ spec-driver: specs/products/spec-driver/_generated/adoption-report.md
数据源: .specify/runs/*.jsonl(本地,不默认提交)
在线调研证据: {if online_research_required: ".specify/research/sync-online-research.md"}{if not online_research_required: "跳过(项目未要求)"}
══════════════════════════════════════════
prompt_source[sync] = "$PLUGIN_DIR/agents/sync.md" // 始终使用内置版本
快速问题修复 — 4 阶段完成:诊断-规划-修复-验证
快速问题修复 — 4 阶段完成:诊断-规划-修复-验证
执行 Spec-Driven Development 完整研发流程(基于 orchestration.yaml 动态编排)
执行 Spec-Driven Development 完整研发流程(基于 orchestration.yaml 动态编排)
快速需求实现 — 跳过调研,5 阶段完成:规范-规划-任务-实现-验证
快速需求实现 — 跳过调研,5 阶段完成:规范-规划-任务-实现-验证