mcpField
B
blueprint-execute

blueprint-execute

github.com/laurigatesAgent 工作流5953 次安装1 天前更新
代码仓库

关于 blueprint-execute

用于分析仓库状态并选择下一步操作的 Blueprint 工作流编排技能,适合需要恢复或推进项目 Blueprint 流程的团队。它依次检查初始化、升级、文档、生成内容和待办任务,再委派给相应命令执行单项操作。

主要功能

  1. 01分析仓库与 Blueprint 状态
  2. 02按规则选择下一步操作
  3. 03委派给专用 Blueprint 命令
  4. 04并行收集项目上下文
  5. 05单次执行一个操作

适用场景

  1. 01拉取代码后判断接下来要做什么
  2. 02自动检查过期的生成内容
  3. 03查找并推进待办工作项
  4. 04从统一入口运行 Blueprint 流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/laurigates/claude-plugins --skill blueprint-execute

安装后在 Claude Code 中输入/blueprint-execute确认已加载。

附带文件REFERENCE.md

详细介绍

智能元命令,可分析仓库状态并执行合适的蓝图操作。

何时使用此技能

在以下情况下使用此技能……在以下情况下改用 blueprint-status……
你希望自动检测 init/upgrade/derive/generate/execute 步骤你只想查看状态,不执行任何操作
你在拉取代码后继续项目,想知道“接下来做什么?”你想要只读报告,可使用 --report-only
你希望通过一个入口调用特定的蓝图技能在初始化全新项目时,改用 blueprint-init
你说“运行 blueprint”之类的话,但没有指定命令确定需要迁移时,改用 blueprint-upgrade

概念:随时运行此命令,即可自动确定蓝图工作流接下来应执行的操作。可安全地重复运行——此命令具有幂等性,并且始终能确定正确的操作。

用法:/blueprint:execute

工作原理:此命令充当编排器,用于检测项目的当前状态,并根据需要调用特定的蓝图命令。它会并行使用多个 Agent,高效收集上下文。

如需查看详细的 AskUserQuestion 模板、示例和常见工作流,请参阅 REFERENCE.md。


交互模式

在任何结束用的 AskUserQuestion 菜单之前,先解析自动化配置:

bash "${CLAUDE_SKILL_DIR}/../../scripts/get-automation-config.sh"

当 EFFECTIVE_INTERACTION_MODE=quiet 且 此次调用由自动化发起(autopilot、会话收尾、偏移提醒后续操作——而非用户输入的斜杠命令)时,跳过结束导航菜单(“接下来做什么?”/“再创建一个?”等):应用安全的默认选项,然后以一行回执结束。静默模式绝不会跳过写入操作的确认关卡——只跳过导航菜单。直接由用户发起的调用始终保持完整交互(明确意图优先于静默模式;参见 ADR-0020)。

阶段 0:并行收集上下文

同时启动以下 Agent 以收集上下文:

Agent任务
Git 历史分析最近的提交(最近 20 条)、分支、未提交的更改、常规提交的使用情况
文档状态docs/ 中的 PRD、ADR、PRP:数量、frontmatter 状态、可执行项
蓝图状态manifest.json 版本、.claude/rules/ 中生成的规则、功能跟踪器状态
任务注册表从 manifest.json 读取 task_registry:启用/禁用状态、计划、上次运行时间、到期任务

将结果整合为统一上下文:Git 质量、文档覆盖率、蓝图健康状况和可执行项。


状态检测与操作流程

按顺序执行以下检查,并执行第一个匹配的操作:

1. 检查初始化状态
test -f docs/blueprint/manifest.json

如果尚未初始化:运行 /blueprint:init,然后退出。

2. 检查升级
cat docs/blueprint/manifest.json | grep '"format_version"'

当前格式版本:3.0.0

如果 manifest 版本 < 3.0.0:运行 /blueprint:upgrade,然后退出。

2.5. 检查任务注册表中的到期任务

如果 manifest 中有 task_registry:

jq -r '.task_registry | to_entries[] | select(.value.enabled == true) | select(.value.auto_run == true) | .key' docs/blueprint/manifest.json

对于每个已启用的 auto_run 任务,根据计划检查是否到期:

  • daily:如果 last_completed_at 为 null 或距今超过 24h,则到期
  • weekly:如果 last_completed_at 为 null 或距今超过 7d,则到期
  • on-change:如果源输入发生更改,则到期(由各任务单独检查)
  • on-demand:绝不自动触发

如果有 auto_run 任务到期:按顺序静默执行这些任务(例如 validate、sync 等只读任务)。简要报告结果。继续下一项检查。

如果有 non-auto_run 任务到期:在状态中注明这些任务。此处不要发起提示——让特定检查来处理。

3. 检查缺失的文档(推导阶段)
git rev-list --count HEAD 2>/dev/null || echo 0
find docs/prds -name "*.md" 2>/dev/null | wc -l
find docs/adrs -name "*.md" 2>/dev/null | wc -l
cat docs/blueprint/manifest.json | jq -r '.derived_rules.last_derived_at // empty'

如果 Git 历史超过 10 条提交,但没有 PRD 和 ADR:提示用户选择推导方式(推导全部、仅推导 PRD、仅推导 ADR,或跳过)。执行选定的操作,然后退出。

如果有 Git 历史,但没有推导出的规则:提示是否从 Git 推导规则。如果是,则运行 /blueprint:derive-rules,然后退出。

4. 检查过时或已修改的生成内容

将每条生成规则的哈希值与清单进行比对:

如果已过时(生成后 PRD 发生了变化):提示重新生成或跳过。如果选择重新生成,则运行 /blueprint:generate-rules,然后退出。

如果已修改(用户编辑了生成的文件):提示检查、提升到自定义层或跳过。执行所选操作,然后退出。

5. 检查尚无生成规则的 PRD
prd_count=$(find docs/prds -name "*.md" 2>/dev/null | wc -l)
generated_count=$(cat docs/blueprint/manifest.json | jq '.generated.rules | length')

如果存在 PRD,但尚无生成规则:运行 /blueprint:generate-rules,然后退出。

6. 检查已就绪的 PRP
find docs/prps -name "*.md" -type f 2>/dev/null

如果有多个高置信度 PRP(>= 2 个且分数 >= 9):提示创建并行工作单或执行单个 PRP。

如果只有一个 PRP,或用户选择了一个 PRP:运行 /blueprint:prp-execute {selected-prp},然后退出。

7. 检查待处理的工作单
find docs/blueprint/work-orders -maxdepth 1 -name "*.md" -type f 2>/dev/null

如果发现工作单:提示选择。执行选定的工作单,完成后移至 completed/,如果已启用则同步功能跟踪器,然后退出。

8. 检查功能跟踪器中的活动任务
cat docs/blueprint/feature-tracker.json | jq '{
  in_progress: .tasks.in_progress,
  pending: .tasks.pending,
  current_phase: .current_phase
}'

如果存在进行中的任务:提示继续、创建工作单或跳过。执行所选操作,然后退出。

如果存在待处理任务(没有进行中的任务):提示开始任务、创建 PRP、创建工作单或跳过。执行所选操作,然后退出。

9. 检查功能跟踪器(如果已启用)
test -f docs/blueprint/feature-tracker.json

如果 task_registry 计划(默认:每天)规定需要同步,或在执行 PRP/完成工作单后,则自动同步。有关同步详情,请参阅 REFERENCE.md。

如果完成度 < 100%:显示状态并提示下一项功能工作。

如果完成度 == 100%:报告所有功能均已完成,然后继续执行第 10 步。

10. 没有明确的下一步操作——显示状态和选项

运行 /blueprint:status,显示完整的 Blueprint 状态及可用的下一步操作。


注册表更新

执行任何任务操作后,更新 manifest.json 中对应的 task_registry 条目:

jq --arg task "$TASK_NAME" --arg now "$(date -u +%Y-%m-%dT%H:%M:%SZ)" --arg result "$RESULT" \
  '.task_registry[$task].last_completed_at = $now | .task_registry[$task].last_result = $result | .task_registry[$task].stats.runs_total = ((.task_registry[$task].stats.runs_total // 0) + 1)' \
  docs/blueprint/manifest.json > tmp.json && mv tmp.json docs/blueprint/manifest.json

这样可确保每次执行都会更新操作元数据,以用于跟踪和后续计划安排。

幂等性保证

保证方式
状态检测为只读在选择操作前只读取文件
每次仅执行一个操作每次运行执行一个操作,然后退出
用户确认执行关键操作前会提示确认
状态一致每项操作都会使项目保持有效状态
无副作用完成后重新运行只会显示状态

与现有命令的集成

此元命令会委派给现有 Blueprint 命令,而不是取代它们。用户仍可在明确知道需求时直接运行特定命令。需要系统自行决定时,可使用 /blueprint:execute。

Agent 优化

场景命令
智能决定下一步操作/blueprint:execute
每日开始工作/blueprint:execute(确定上次停在何处)
拉取更改后/blueprint:execute(检查是否存在过时内容)
直接初始化/blueprint:init(跳过检测)
直接执行 PRP/blueprint:prp-execute {name}(跳过检测)

注意:这是一个元编排命令。它会分析状态,并委派给特定的 Blueprint 命令。它旨在成为 Blueprint 工作流的“智能入口”,同时让高级用户仍可使用各个独立命令。

评论

支持 Markdown