blueprint-sync について
blueprint-sync は、生成済みルールやスキルの変更・陳腐化を調べるエージェントスキルです。ファイルと元の PRD のハッシュをマニフェストと照合し、維持、再生成、差分確認の選択肢を提示します。
主な機能
- 01生成コンテンツの変更・陳腐化を検出
- 02ファイルと PRD のハッシュをマニフェストと照合
- 03維持、再生成、差分確認の選択肢
- 04ファイルを変更しない --dry-run レポート
活用シーン
- 01生成ルールのずれを確認
- 02生成コンテンツに関わる PRD の変更を確認
- 03ファイル変更前に同期状況をプレビュー
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill blueprint-syncインストール後、Claude Code で/blueprint-syncを入力して読み込まれたか確認します。
詳細
生成されたコンテンツの状態を確認し、変更済みまたは古くなったファイルへの対応方法を提示します。
このスキルを使用する場面
| このスキルを使用する場合... | 代わりに blueprint-promote を使用する場合... |
|---|---|
| 古くなった、または変更された生成済みルール/スキルを検出したい場合 | 編集した特定のルールを1つ(単一の成果物)保持すると決めた場合 |
.claude/rules/ とマニフェストの間の差異を解消したい場合 | 変更を承認して同期の警告を止めたい場合 |
| 複数のファイルに対して再生成/昇格/保持の選択肢を提示したい場合 | PRD から再生成するには、代わりに blueprint-generate-rules を使用してください |
変更を加える前に --dry-run で状態をプレビューしたい場合 | コンテンツの差異ではなく ID を割り当てるには、代わりに blueprint-sync-ids を使用してください |
フラグ
| フラグ | 説明 |
|---|---|
--dry-run | 対話型プロンプトやファイルの変更を行わずに、同期状態レポートをプレビューします |
手順
目的:
- 生成済みのスキル/コマンドが手動で変更されているかを検出します
- ソース PRD が変更され、生成されたコンテンツが古くなっているかを検出します
- 適切なアクション(再生成、カスタムへの昇格、そのまま保持)を提示します
-
マニフェストを読み取る:
cat docs/blueprint/manifest.jsongenerated.rulesセクションを抽出します- 生成済みコンテンツがない場合は、「同期するものはありません」と報告します
-
生成済みルールをそれぞれ確認する:
manifest.generated.rules内の各ルールについて:a. ファイルの存在を確認する:
test -f .claude/rules/{name}.mdb. 現在のコンテンツのハッシュを計算する:
sha256sum .claude/rules/{name}.md | cut -d' ' -f1c. ハッシュを比較する:
content_hashが一致する場合 → ステータス:currentcontent_hashが異なる場合 → ステータス:modified
d. ソースの最新状態を確認する(PRD から生成されたルールの場合):
- 現在の PRD コンテンツのハッシュを計算します
- マニフェスト内の
source_hashと比較します - 異なる場合 → ステータス:
stale
-
同期レポートを表示する:
Generated Content Sync Status Rules (.claude/rules/): ✅ architecture-patterns.md: Current ⚠️ testing-strategies.md: Modified locally 🔄 implementation-guides.md: Stale (PRDs changed) ✅ quality-standards.md: Current Summary: - Current: 3 files - Modified: 1 file (user edited) - Stale: 1 file (source changed) -
--dry-runの場合:ステップ3の同期レポートを出力して終了します。残りのすべてのステップをスキップします。 -
変更されたコンテンツについて、選択肢を提示します:
question: "{name} has been modified locally. What would you like to do?" options: - label: "Keep modifications" description: "Mark as acknowledged, preserve your changes" - label: "Discard modifications (regenerate)" description: "Overwrite with fresh generation from PRDs" - label: "View diff" description: "See what changed before deciding" - label: "Skip this file" description: "Leave as-is for now"選択内容に応じて:
- 「変更を保持」→
content_hashを現在の値に更新し、承認済みとして記録します - 「再生成」→ このルールを PRD から再生成します
- 「差分を表示」→ 差分を表示してから、選択肢を再提示します
- 「スキップ」→ 次のファイルに進みます
- 「変更を保持」→
-
古くなったコンテンツについて、選択肢を提示します:
question: "{name} is stale (PRDs have changed). What would you like to do?" options: - label: "Regenerate from PRDs (Recommended)" description: "Update with latest patterns from docs/prds/" - label: "Keep current version" description: "Mark as current without regenerating" - label: "View what changed in PRDs" description: "See PRD changes before deciding" - label: "Skip this file" description: "Leave stale for now"選択内容に応じて:
- 「再生成」→ このルールを PRD から再生成します
- 「保持」→
source_hashを現在の値に更新し、最新として記録します - 「表示」→ PRD の差分を表示してから、選択肢を再提示します
- 「スキップ」→ 次のファイルに進みます
-
変更後にマニフェストを更新する:
- 再生成したファイルの
content_hashを更新します - PRD の変更を承認した場合は
source_hashを更新します statusフィールドを適切に更新します
- 再生成したファイルの
-
最終レポート:
Sync Complete Actions taken: - testing-strategies.md: Modifications acknowledged - implementation-guides.md: Regenerated from PRDs Current state: - 4 generated rules (all current) Manifest updated.
ヒント:
- 定期的に
/blueprint:syncを実行して差異を確認します - 保持したい変更を承認します
- 再生成するとローカルの変更が上書きされます
- 古くなったコンテンツも引き続き動作しますが、PRD の新しいパターンが反映されない場合があります
コメント
Markdown 対応