blueprint-execute について
プロジェクトのBlueprint作業を再開・推進するチーム向けのワークフローオーケストレーターです。初期化、アップグレード、ドキュメント、生成済みコンテンツ、保留中のタスクを確認し、該当するコマンドに単一の操作を委譲します。
主な機能
- 01リポジトリとBlueprintの状態分析
- 02状態に応じた次の操作の選択
- 03専用Blueprintコマンドへの委譲
- 04プロジェクト情報の並行収集
- 051回の実行につき1操作
活用シーン
- 01リポジトリの変更取得後に次の手順を判断
- 02古くなった生成コンテンツの確認
- 03保留中の作業項目の特定と推進
- 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 のステップを自動検出したい場合 | アクションを実行せず、ステータスだけを確認したい場合 |
| プロジェクトを pull した後に再開し、「次に何をすればよいか」を知りたい場合 | --report-only を使って読み取り専用のレポートを確認したい場合 |
| 特定のブループリントスキルに処理を委譲する単一のエントリーポイントが欲しい場合 | 新規プロジェクトを立ち上げる場合は、代わりに blueprint-init を使います |
| コマンドを指定せず、「run blueprint」のように指示する場合 | 移行が必要だと分かっている場合は、代わりに blueprint-upgrade を使います |
コンセプト:ブループリントのワークフローで次に何をすべきかを自動判定するため、このコマンドはいつでも実行できます。繰り返し実行しても安全です。冪等性があり、常に適切なアクションを判断します。
使い方:/blueprint:execute
仕組み:このコマンドはオーケストレーターとして機能し、プロジェクトの現在の状態を検出して、必要に応じて特定のブループリントコマンドに処理を委譲します。効率的にコンテキストを収集するため、並列エージェントを使用します。
AskUserQuestion のテンプレート、例、一般的なワークフローについて詳しくは、REFERENCE.md を参照してください。
インタラクションモード
終了時に AskUserQuestion メニューを表示する前に、自動化設定を解決します。
bash "${CLAUDE_SKILL_DIR}/../../scripts/get-automation-config.sh"
EFFECTIVE_INTERACTION_MODE=quiet で、かつこの実行が自動化によって開始された場合(autopilot、session bookend、drift-nudge follow-up。ユーザーが入力したスラッシュコマンドは除く)、終了時のナビゲーションメニュー(「次は何をしますか?」/「別のものを作成しますか?」のようなもの)は省略し、安全なデフォルトを適用して、1 行の実行結果だけを返して終了します。quiet モードでも、書き込みを保護する確認ゲートは省略されません。省略されるのはナビゲーションメニューだけです。ユーザーが直接実行した場合は、常に完全な対話形式で動作します(明示的な意図が quiet 設定より優先されます。ADR-0020 を参照)。
フェーズ 0:並列コンテキスト収集
コンテキストを収集するため、次のエージェントを同時に起動します。
| エージェント | タスク |
|---|---|
| Git 履歴分析 | 最近のコミット(直近 20 件)、ブランチ、未コミットの変更、Conventional Commits の使用状況 |
| ドキュメントの状態 | docs/ 内の PRD、ADR、PRP。件数、フロントマターの状態、実行可能な項目 |
| ブループリントの状態 | 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、または 24 時間以上前の場合に期限到来weekly:last_completed_atが null、または 7 日以上前の場合に期限到来on-change:入力ソースが変更された場合(各タスクが個別に確認)on-demand:自動実行されません
auto_run タスクの期限が到来している場合:読み取り専用のタスク(validate、sync など)を順番に、通知せずに実行します。結果を簡潔に報告し、次のチェックに進みます。
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 が複数ある場合(スコアが 9 以上のものが 2 つ以上):並列ワークオーダーの作成か、単一 PRP の実行かを尋ねます。
PRP が 1 つの場合、またはユーザーが 1 つ選択した場合:/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 を実行して、利用可能な次のアクションを含むブループリントの全ステータスを表示します。
レジストリの更新
タスクのアクションを実行した後、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
これにより、実行のたびに運用メタデータが更新され、追跡や今後のスケジュール判断に利用できます。
冪等性の保証
| 保証 | 方法 |
|---|---|
| 状態検出は読み取り専用 | アクションが選択されるまでファイルを読み取るだけです |
| 単一アクションの実行 | 1 回の実行につき 1 つのアクションのみを実行して終了します |
| ユーザー確認 | 重要なアクションは実行前に確認を求めます |
| 一貫した状態 | 各アクションによって、プロジェクトは有効な状態に保たれます |
| 副作用なし | 完了後に再実行すると、ステータスのみを表示します |
既存コマンドとの統合
このメタコマンドは既存のブループリントコマンドを置き換えるのではなく、委譲します。ユーザーは、実行したい内容が分かっていれば、引き続き特定のコマンドを直接実行できます。/blueprint:execute は、システムに判断を任せたい場合に使用します。
エージェント向けの最適化
| コンテキスト | コマンド |
|---|---|
| 次のアクションをスマートに選択 | /blueprint:execute |
| 朝の作業開始 | /blueprint:execute(前回の続きから再開できるよう状況を把握します) |
| 変更のプル後 | /blueprint:execute(古くなったコンテンツを確認します) |
| 初期化を直接実行 | /blueprint:init(検出をスキップします) |
| PRP の実行を直接実行 | /blueprint:prp-execute {name}(検出をスキップします) |
注:これはメタオーケストレーターコマンドです。状態を分析し、特定のブループリントコマンドに処理を委譲します。個別のコマンドにも引き続きアクセスできるようにしつつ、ブループリントのワークフローにおける「スマートなエントリーポイント」となるよう設計されています。