Check for stale generated content and offer regeneration or promotion
Checks generated content for modifications or staleness and offers sync options.
/plugin marketplace add laurigates/claude-plugins/plugin install blueprint-plugin@lgates-claude-pluginsCheck the status of generated content and offer options for modified or stale files.
Purpose:
Steps:
Read manifest:
cat docs/blueprint/manifest.json
generated.rules sectionCheck 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:
content_hash matches → status: currentcontent_hash differs → status: modifiedd. Check source freshness (for rules from PRDs):
source_hash in manifeststaleDisplay 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)
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:
content_hash to current, mark as acknowledgedFor 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:
source_hash to current, mark as currentUpdate manifest after changes:
content_hash for regenerated filessource_hash if PRD changes acknowledgedstatus field appropriatelyFinal 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:
/blueprint:sync periodically to check for drift