mcpField
B
blueprint-sync

blueprint-sync

github.com/laurigatesAgent workflows5955 installsUpdated 1d ago
Repository

About blueprint-sync

blueprint-sync is an agent skill for detecting modified or outdated generated rules and skills. It compares manifest hashes with files and source PRDs, then offers ways to keep, regenerate, or review content.

Key features

  1. 01Detects modified and stale generated content
  2. 02Compares file and PRD hashes with the manifest
  3. 03Offers keep, regenerate, and diff options
  4. 04Supports a non-modifying --dry-run report

Use cases

  1. 01Check generated rules for drift
  2. 02Review PRD changes affecting generated content
  3. 03Preview sync status before changing files

Install

Copy the command and run it in a terminal.

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

After installing, type/blueprint-syncin Claude Code to confirm it loaded.

Details

From the project README

Check the status of generated content and offer options for modified or stale files.

When to Use This Skill

Use this skill when...Use blueprint-promote instead when...
You want to detect stale or modified generated rules/skillsYou've decided to keep one specific edited rule (single artifact)
You're reconciling drift between .claude/rules/ and the manifestYou want to acknowledge modifications and stop sync warnings
You want regenerate/promote/keep options for many files at onceUse blueprint-generate-rules instead to (re)generate from PRDs
You preview status with --dry-run before changing anythingUse blueprint-sync-ids instead for ID assignment, not content drift

Flags

FlagDescription
--dry-runPreview sync status report without interactive prompts or file modifications

Steps

Purpose:

  • Detect when generated skills/commands have been manually modified
  • Detect when source PRDs have changed (making generated content stale)
  • Offer appropriate actions: regenerate, promote to custom, or keep as-is
  1. Read manifest:

    cat docs/blueprint/manifest.json
    
    • Extract generated.rules section
    • If no generated content, report "Nothing to sync"
  2. Check each generated rule: For each rule in manifest.generated.rules:

    a. Verify file exists:

    test -f .claude/rules/{name}.md
    

    b. Hash current content:

    sha256sum .claude/rules/{name}.md | cut -d' ' -f1
    

    c. Compare hashes:

    • If content_hash matches → status: current
    • If content_hash differs → status: modified

    d. Check source freshness (for rules from PRDs):

    • Hash current PRD content
    • Compare with source_hash in manifest
    • If differs → status: stale
  3. Display sync report:

    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)
    
  4. If --dry-run: Output the sync report from Step 3 and exit. Skip all remaining steps.

  5. For modified content, offer options:

    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"
    

    Based on selection:

    • "Keep modifications" → Update content_hash to current, mark as acknowledged
    • "Regenerate" → Regenerate this rule from PRDs
    • "View diff" → Show diff then re-ask
    • "Skip" → Continue to next file
  6. For stale content, offer options:

    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"
    

    Based on selection:

    • "Regenerate" → Regenerate this rule from PRDs
    • "Keep" → Update source_hash to current, mark as current
    • "View" → Show PRD diff then re-ask
    • "Skip" → Continue to next file
  7. Update manifest after changes:

    • Update content_hash for regenerated files
    • Update source_hash if PRD changes acknowledged
    • Update status field appropriately
  8. Final report:

    Sync Complete
    
    Actions taken:
    - testing-strategies.md: Modifications acknowledged
    - implementation-guides.md: Regenerated from PRDs
    
    Current state:
    - 4 generated rules (all current)
    
    Manifest updated.
    

Tips:

  • Run /blueprint:sync periodically to check for drift
  • Acknowledge modifications you want to keep
  • Regenerating will overwrite local changes
  • Stale content still works, but may miss new patterns from PRDs

Comments

Markdown supported