blueprint-upgrade
npx skills add https://github.com/laurigates/claude-plugins --skill blueprint-upgrade
Agent 安装分布
Skill 文档
Upgrade the blueprint structure to the latest format version.
Current Format Version: 3.0.0
This command delegates version-specific migration logic to the blueprint-migration skill.
Steps:
-
Check current state:
- Read
docs/blueprint/.manifest.json(v3.0 location) or.claude/blueprints/.manifest.json(v1.x/v2.x location) - If not found in either location, suggest running
/blueprint:initinstead - Extract current
format_version(default to “1.0.0” if field missing)
- Read
-
Determine upgrade path:
# Read current version - check both old and new locations if [[ -f docs/blueprint/.manifest.json ]]; then current=$(jq -r '.format_version // "3.0.0"' docs/blueprint/.manifest.json) elif [[ -f .claude/blueprints/.manifest.json ]]; then current=$(jq -r '.format_version // "1.0.0"' .claude/blueprints/.manifest.json) fi target="3.0.0"Version compatibility matrix:
From Version To Version Migration Document 1.0.x 1.1.x migrations/v1.0-to-v1.1.md1.x.x 2.0.0 migrations/v1.x-to-v2.0.md2.x.x 3.0.0 migrations/v2.x-to-v3.0.md3.0.0 3.0.0 Already up to date -
Check for deprecated generated commands:
Check for skills generated by the now-deprecated
/blueprint:generate-commands:# Check for generated project skills (both naming conventions) ls .claude/skills/project-continue/SKILL.md 2>/dev/null ls .claude/skills/project-test-loop/SKILL.md 2>/dev/null # Also check legacy command paths ls .claude/commands/project-continue.md 2>/dev/null ls .claude/commands/project/continue.md 2>/dev/null # Check manifest for generated entries jq -r '.generated.commands // {} | keys[]' docs/blueprint/.manifest.json 2>/dev/nullIf deprecated entries found:
- Report: “Found deprecated generated commands/skills from /blueprint:generate-commands”
- List the files found
- Use AskUserQuestion:
question: "Found deprecated generated commands. These are no longer needed - /blueprint:execute handles workflow orchestration. Remove them?" options: - label: "Yes, remove deprecated commands (Recommended)" description: "Delete generated command files and clean up manifest" - label: "Keep for now" description: "Skip removal, continue with upgrade" - If “Yes”:
- Delete the command files found
- Remove entries from
manifest.generated.commands - Add to upgrade_history: “Removed deprecated generated commands”
- If “Keep”: Continue to step 4
If no deprecated commands: Continue to step 4
-
Display upgrade plan:
Blueprint Upgrade Current version: v{current} Target version: v3.0.0 Major changes in v3.0: - Blueprint state moves from .claude/blueprints/ to docs/blueprint/ - Generated skills become rules in .claude/rules/ - No more generated/ subdirectory - cleaner structure - All blueprint-related files consolidated under docs/blueprint/ (For v2.0 changes when upgrading from v1.x:) - PRDs, ADRs, PRPs move to docs/ (project documentation) - Custom overrides in .claude/skills/ - Content hashing for modification detection -
Confirm with user (use AskUserQuestion):
question: "Ready to upgrade blueprint from v{current} to v3.0.0?" options: - "Yes, upgrade now" â proceed - "Show detailed migration steps" â display migration document - "Create backup first" â run git stash or backup then proceed - "Cancel" â exit -
Load and execute migration document:
- Read the appropriate migration document from
blueprint-migrationskill - For v1.x â v2.0: Load
migrations/v1.x-to-v2.0.md - For v2.x â v3.0: Load
migrations/v2.x-to-v3.0.md - Execute each step with user confirmation for destructive operations
- Read the appropriate migration document from
-
v1.x â v2.0 migration overview (from migration document):
a. Create docs/ structure:
mkdir -p docs/prds docs/adrs docs/prpsb. Move documentation to docs/:
.claude/blueprints/prds/*âdocs/prds/.claude/blueprints/adrs/*âdocs/adrs/.claude/blueprints/prps/*âdocs/prps/
c. Create generated/ structure:
mkdir -p .claude/blueprints/generated/skills mkdir -p .claude/blueprints/generated/commandsd. Relocate generated content:
- For each skill in
manifest.generated_artifacts.skills:- Hash current content
- If modified: offer to promote to
.claude/skills/(custom layer) - Otherwise: move to
.claude/blueprints/generated/skills/
e. Update manifest to v2.0.0 schema:
- Add
generatedsection with content tracking - Add
custom_overridessection - Add
project.detected_stackfield - Bump
format_versionto “2.0.0”
f. Enable document detection option (new in v2.1):
Use AskUserQuestion: question: "Would you like to enable automatic document detection? (New feature)" options: - label: "Yes - Detect PRD/ADR/PRP opportunities" description: "Claude will prompt when conversations should become documents" - label: "No - Keep manual commands only" description: "Continue using explicit /blueprint: commands"If enabled:
- Set
has_document_detection: truein manifest - If modular rules enabled, copy
document-management-rule.mdtemplate to.claude/rules/document-management.md
g. Migrate root documentation (if any found):
# Find documentation files in root (excluding standard files) fd -d 1 -e md . | grep -viE '^\./(README|CHANGELOG|CONTRIBUTING|LICENSE|CODE_OF_CONDUCT|SECURITY)'If documentation files found (e.g., REQUIREMENTS.md, ARCHITECTURE.md, DESIGN.md):
Use AskUserQuestion: question: "Found documentation files in root: {file_list}. Would you like to migrate them to docs/?" options: - label: "Yes, migrate to docs/" description: "Move to appropriate docs/ subdirectory" - label: "No, leave in root" description: "Keep files in current location"If “Yes” selected:
- Analyze each file to determine document type
- Move to appropriate
docs/subdirectory - Record migration in upgrade_history
-
v2.x â v3.0 migration overview (from migration document):
a. Create docs/blueprint/ structure:
mkdir -p docs/blueprint/work-orders mkdir -p docs/blueprint/ai_docsb. Move state files from .claude/blueprints/ to docs/blueprint/:
# Move manifest mv .claude/blueprints/.manifest.json docs/blueprint/.manifest.json # Move work overview if exists [[ -f .claude/blueprints/work-overview.md ]] && \ mv .claude/blueprints/work-overview.md docs/blueprint/work-overview.md # Move feature tracker if exists [[ -f .claude/blueprints/feature-tracker.md ]] && \ mv .claude/blueprints/feature-tracker.md docs/blueprint/feature-tracker.md # Move work orders if exist [[ -d .claude/blueprints/work-orders ]] && \ mv .claude/blueprints/work-orders/* docs/blueprint/work-orders/ 2>/dev/null # Move ai_docs if exist [[ -d .claude/blueprints/ai_docs ]] && \ mv .claude/blueprints/ai_docs/* docs/blueprint/ai_docs/ 2>/dev/nullc. Move generated skills to .claude/rules/:
# Create rules directory if needed mkdir -p .claude/rules # Move each generated skill to rules for skill in .claude/blueprints/generated/skills/*.md; do [[ -f "$skill" ]] || continue name=$(basename "$skill" .md) mv "$skill" ".claude/rules/${name}.md" doned. Copy README template to docs/blueprint/:
# Create docs/blueprint/README.md with overview of blueprint structure cat > docs/blueprint/README.md << 'EOF' # Blueprint Documentation This directory contains the blueprint state and documentation for this project. ## Contents - `.manifest.json` - Blueprint configuration and generated content tracking - `work-overview.md` - Current work focus and priorities - `feature-tracker.md` - Feature requirements and status - `work-orders/` - Detailed work order documents - `ai_docs/` - AI-generated documentation ## Related Directories - `docs/prds/` - Product Requirements Documents - `docs/adrs/` - Architecture Decision Records - `docs/prps/` - Problem Resolution Plans - `.claude/rules/` - Generated rules (from blueprint) EOFe. Update manifest to v3.0.0 schema:
- Change
generated.skillstogenerated.rules - Update all path references from
.claude/blueprints/todocs/blueprint/ - Bump
format_versionto “3.0.0”
f. Remove old .claude/blueprints/ directory:
# Verify all content has been moved if [[ -d .claude/blueprints ]]; then # Remove empty directories rm -rf .claude/blueprints/generated rm -rf .claude/blueprints/work-orders rm -rf .claude/blueprints/ai_docs # Remove the blueprints directory if empty rmdir .claude/blueprints 2>/dev/null || \ echo "Warning: .claude/blueprints/ not empty, manual cleanup may be needed" fi - Change
-
Update manifest (v3.0.0 schema):
{ "format_version": "3.0.0", "created_at": "[preserved]", "updated_at": "[now]", "created_by": { "blueprint_plugin": "3.0.0" }, "project": { "name": "[preserved]", "type": "[preserved]", "detected_stack": [] }, "structure": { "has_prds": true, "has_adrs": "[detected]", "has_prps": "[detected]", "has_work_orders": true, "has_ai_docs": "[detected]", "has_modular_rules": "[preserved]", "has_document_detection": "[based on user choice]", "claude_md_mode": "[preserved]" }, "generated": { "rules": { "[rule-name]": { "source": "docs/prds/...", "source_hash": "sha256:...", "generated_at": "[now]", "plugin_version": "3.0.0", "content_hash": "sha256:...", "status": "current" } }, "commands": {} }, "custom_overrides": { "rules": ["[any promoted rules]"], "commands": [] }, "upgrade_history": [ { "from": "{previous}", "to": "3.0.0", "date": "[now]", "changes": ["Moved state to docs/blueprint/", "Converted skills to rules", "..."] } ] } -
Report:
Blueprint upgraded successfully!
v{previous} â v3.0.0
State files moved to docs/blueprint/:
- .manifest.json
- work-overview.md
- feature-tracker.md
- work-orders/ directory
- ai_docs/ directory
Generated rules (.claude/rules/):
- {n} rules (converted from skills)
Custom layer (.claude/skills/):
- {n} promoted rules (preserved modifications)
- {n} promoted skills
[Document detection: enabled (if selected)]
New v3.0 architecture:
- Blueprint state: docs/blueprint/ (version-controlled with project)
- Generated rules: .claude/rules/ (project-specific context)
- Custom layer: Your overrides, never auto-modified
- Removed: .claude/blueprints/generated/ (no longer needed)
- Prompt for next action (use AskUserQuestion):
question: "Upgrade complete. What would you like to do next?"
options:
- label: "Check status (Recommended)"
description: "Run /blueprint:status to see updated configuration"
- label: "Regenerate rules from PRDs"
description: "Update generated rules with new tracking"
- label: "Update CLAUDE.md"
description: "Reflect new architecture in project docs"
- label: "Commit changes"
description: "Stage and commit the migration"
Based on selection:
- “Check status” â Run
/blueprint:status - “Regenerate rules” â Run
/blueprint:generate-rules - “Update CLAUDE.md” â Run
/blueprint:claude-md - “Commit changes” â Run
/git:commitwith migration message
Rollback: If upgrade fails:
- Check git status for changes made
- Use
git checkout -- .claude/andgit checkout -- docs/blueprint/to restore original structure - Manually move content back if needed
- Report specific failure point for debugging