Agent skill
update-framework
Sync entire framework (Pillars, Rules, Workflow, Skills) in one command - meta-skill orchestrating all update-* skills. TRIGGER when: user wants complete framework sync ("update framework from X", "sync entire framework", "pull all from framework", "upgrade framework"). DO NOT TRIGGER when: user wants specific components only (use /update-pillars, /update-rules, /update-workflow, /update-skills), or just wants to read framework docs.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/update-framework
SKILL.md
Update Framework - Complete Framework Synchronization Meta-Skill
Sync all framework components (Pillars, Rules, Workflow, Skills) between projects in one command.
Overview
This meta-skill orchestrates all 4 update-* skills for complete framework synchronization:
What it does: 0. (NEW) Conducts tech stack questionnaire for intelligent filtering
- Calls update-pillars, update-rules, update-workflow, update-skills in sequence
- Aggregates analysis from all 4 components
- Shows unified diff preview (with filter summary)
- Confirms once before syncing everything
- Executes all 4 syncs with smart filtering
- Reports comprehensive summary
Why it's needed: Monthly framework upgrades require syncing 4 components. Running 4 separate commands with 4 confirmations takes ~2 minutes. This meta-skill does it in one command with one confirmation in ~30 seconds.
When to use:
- Monthly framework upgrades (pull all updates)
- Initial project setup (push framework to new project)
- Complete framework sync needed
- Cross-project consistency enforcement
AI Execution Instructions
CRITICAL: Task creation and skill delegation
When executing /update-framework, AI MUST follow this pattern:
Step 1: Create 7 or 8 Subtasks
# Create all tasks at the start
tasks = {
"profile": TaskCreate(
subject="Detect tech stack profile",
description="Load profile from .framework-install or run questionnaire",
activeForm="Detecting profile..."
),
"validate": TaskCreate(
subject="Validate source and target paths",
description="Verify ai-dev and target project exist",
activeForm="Validating paths..."
),
"pillars": TaskCreate(
subject="Sync Pillars via update-pillars",
description="Call /update-pillars with profile filters",
activeForm="Syncing Pillars..."
),
"rules": TaskCreate(
subject="Sync Rules via update-rules",
description="Call /update-rules with profile-based filters",
activeForm="Syncing Rules..."
),
"workflow": TaskCreate(
subject="Sync Workflow via update-workflow",
description="Call /update-workflow",
activeForm="Syncing Workflow..."
),
"skills": TaskCreate(
subject="Sync Skills via update-skills",
description="Call /update-skills",
activeForm="Syncing Skills..."
),
"summary": TaskCreate(
subject="Report comprehensive summary",
description="Aggregate results and display stats",
activeForm="Generating summary..."
)
}
# Add permissions task by default (unless --without-permission-enable flag set)
if not without_permission_enable:
tasks["permissions"] = TaskCreate(
subject="Configure permissions via configure-permissions",
description="Call /configure-permissions to set up work-issue auto mode",
activeForm="Configuring permissions..."
)
Step 2: Execute with Status Updates
# Profile detection
TaskUpdate(tasks["profile"], "in_progress")
profile = detect_profile_from_framework_install(target_path)
TaskUpdate(tasks["profile"], "completed")
# Path validation
TaskUpdate(tasks["validate"], "in_progress")
validate_paths(source, target)
TaskUpdate(tasks["validate"], "completed")
# Call update-pillars sub-skill
TaskUpdate(tasks["pillars"], "in_progress")
Skill("update-pillars", args=f"--to {target} --pillars {profile.pillars}")
TaskUpdate(tasks["pillars"], "completed")
# Call update-rules sub-skill
TaskUpdate(tasks["rules"], "in_progress")
Skill("update-rules", args=f"--to {target} --profile {profile.name}")
TaskUpdate(tasks["rules"], "completed")
# Call update-workflow sub-skill
TaskUpdate(tasks["workflow"], "in_progress")
Skill("update-workflow", args=f"--to {target}")
TaskUpdate(tasks["workflow"], "completed")
# Call update-skills sub-skill
TaskUpdate(tasks["skills"], "in_progress")
Skill("update-skills", args=f"--to {target}")
TaskUpdate(tasks["skills"], "completed")
# Call configure-permissions sub-skill by default (unless --without-permission-enable flag set)
if not without_permission_enable and "permissions" in tasks:
TaskUpdate(tasks["permissions"], "in_progress")
Skill("configure-permissions", args=f"{target}")
TaskUpdate(tasks["permissions"], "completed")
# Summary
TaskUpdate(tasks["summary"], "in_progress")
print_summary(results)
TaskUpdate(tasks["summary"], "completed")
Step 3: DO NOT Use Direct rsync
❌ WRONG - Do not do this:
rsync -av framework/.prot-template/pillars/ ../target/.prot/pillars/
rsync -av framework/.claude-template/rules/ ../target/.claude/rules/
rm -rf ../target/.claude/rules/backend # Manual cleanup
✅ CORRECT - Delegate to sub-skills:
Skill("update-pillars", args="--to ../target --pillars A,B,K,L")
Skill("update-rules", args="--to ../target --profile nextjs-aws")
Skill("update-workflow", args="--to ../target")
Skill("update-skills", args="--to ../target")
Why: Sub-skills handle filtering, validation, error handling, and backups correctly.
Workflow
Step 0: Profile-Based Filtering (Auto-Detection)
Before syncing, auto-detect the target project's profile to filter irrelevant components.
How it works:
- Auto-detect profile from
.framework-installfile in target project - Load profile configuration from
framework/profiles/{profile}.json - Extract rules list from profile's
rulesarray - Filter during sync - only copy rules that match the profile
- Fallback to questionnaire if
.framework-installnot found
Supported profiles:
tauri- 4 Pillars (A, B, K, L), 23 rules - Desktop apps (Tauri + React)tauri-aws- TBD Pillars, TBD rules - Desktop + cloud backendnextjs-aws- 15 Pillars (full-stack), 30 rules - Full-stack web apps (Next.js + AWS)
Actual results (from Issue #162):
- u-safe (tauri): 46 rules → 23 rules ✅ (50% reduction, 100% compliance)
- buffer (nextjs-aws): 43 rules → 30 rules ✅ (30% reduction, 100% compliance)
- Zero incorrect rules after profile-aware sync
Benefits:
- ✅ No repetitive questions - Profile already known from init-project
- ✅ Consistent filtering - Same rules every time based on profile
- ✅ Automatic - Works without user interaction
- ✅ Fallback available - Questionnaire still used if config missing
See: PROFILE_FILTERING.md for profile detection logic and examples.
Step 1: Create Todo List
Initialize sync tracking using TaskCreate:
Task #0: Tech stack questionnaire (if needed)
Task #1: Validate source and target paths (blocked by #0)
Task #2: Aggregate component analysis (blocked by #1)
Task #3: Show unified diff preview (blocked by #2)
Task #4: Execute all component syncs (blocked by #3)
Task #5: Collect results from all components (blocked by #4)
Task #6: Report comprehensive summary (blocked by #5)
After creating tasks, proceed with meta-sync execution.
What Gets Synced
Complete Framework (Default)
Sync Order (dependency-optimized):
1. 📚 Pillars → .prot/pillars/ (Foundation)
2. 📋 Rules → .claude/rules/ (Reference Pillars)
3. 📖 Workflow → CLAUDE.md + .claude/workflow/ (Uses Rules)
4. ⚡ Skills → .claude/skills/ (Implements Workflow)
Component Details
| Component | What Syncs | Delegated Skill |
|---|---|---|
| Pillars | 18 coding standards (.prot/pillars/) | /update-pillars |
| Rules | 40+ technical rules (.claude/rules/) | /update-rules |
| Workflow | CLAUDE.md + workflow templates | /update-workflow |
| Skills | All skills (.claude/skills/) | /update-skills |
Usage
Push Framework to Target Project
Must run from ai-dev framework directory.
Push entire framework from ai-dev to target project:
# Must be in ai-dev directory
cd ~/dev/ai-dev
# Push to target project
/update-framework ../target-project
/update-framework ../target-project --dry-run
/update-framework ../target-project --skip skills
What happens: 0. Validate working directory - must be in ai-dev framework
- Auto-detect profile from target project's
.framework-install - Load profile configuration and extract rules list
- Call all 4 update-* skills with target path and filter config
- Aggregate analysis results (with filter summary)
- Show what will be pushed
- Confirm once
- Execute all 4 syncs with smart filtering
3. Dry Run Mode (--dry-run)
Preview all changes without applying:
/update-framework --from ~/dev/ai-dev --dry-run
Output:
- Aggregated analysis from all 4 components
- Shows what would be synced
- No confirmation required
- No actual changes made
4. Selective Sync (--skip / --only)
Sync only specific components:
/update-framework --from ~/dev/ai-dev --only skills,workflow
/update-framework --from ~/dev/ai-dev --skip pillars
Available components:
pillars- Pillar documentationrules- Technical rulesworkflow- Workflow documentationskills- Skills (commands)
Note: Cannot use both --skip and --only together.
5. Reconfigure Tech Stack (--reconfigure)
Update tech stack configuration and regenerate filters:
/update-framework --to ../u-safe --reconfigure
/update-framework --from ~/dev/ai-dev --reconfigure
What happens:
- Ignore existing
.claude/framework-config.json - Show tech stack questionnaire again
- Generate new filter configuration based on new answers
- Save updated config
- Apply new filters during sync
When to use:
- Project tech stack changed (e.g., migrated from Vue to React)
- Added/removed cloud services (e.g., started using AWS)
- Want to adjust which rules are synced
- Initial config was incorrect
6. Configure Permissions (Default Behavior)
Permission configuration is ENABLED BY DEFAULT after framework sync:
# Default: permissions configured automatically
/update-framework ../target-project
/update-framework --from ~/dev/ai-dev
# Opt-out: skip permission configuration
/update-framework ../target-project --without-permission-enable
/update-framework --from ~/dev/ai-dev --without-permission-enable
What happens by default:
- Complete framework sync (Pillars, Rules, Workflow, Skills)
- Automatically call
/configure-permissionsskill - Configure
.claude/settings.jsonwith required permissions - Show permission summary in final report
Configured permissions:
- ✅ All git operations (add, commit, push, checkout, branch, fetch, merge, worktree)
- ✅ All gh CLI operations (issue, pr)
- ✅ Profile-specific operations (npm test/lint/build for Node.js projects, pytest for Python projects)
When to skip (--without-permission-enable):
- Already configured permissions manually
- Using custom permission setup
- Testing framework sync without modifying settings
Result:
After configuration, work-issue --auto runs without permission prompts.
Orchestration Logic
How meta-skill delegates to component skills:
1. Call all 4 update-* skills with --dry-run flags
2. Capture and aggregate analysis from each skill
3. Show unified summary table with new/updated/unchanged counts
4. If NOT dry-run, confirm once
5. Execute all 4 syncs with filter configuration
6. Report comprehensive summary
Sync order (dependency-aware):
- Pillars → Rules → Workflow → Skills
See: ADVANCED.md for complete delegation flow, output examples, and partial failure recovery.
Usage Examples
Example 1: Framework Upgrade (Recommended Monthly)
User says:
"update framework from ai-dev"
What happens (with 7-task progress tracking):
🚀 Starting framework sync...
Task Progress:
✅ Task 1/7: Detect tech stack profile (profile: tauri)
✅ Task 2/7: Validate source and target paths
⏳ Task 3/7: Syncing Pillars via update-pillars...
Launching skill: update-pillars
✅ Synced 4 Pillars (A, B, K, L)
✅ Task 3/7: Complete
⏳ Task 4/7: Syncing Rules via update-rules...
Launching skill: update-rules
✅ Synced 23 rules (tauri profile, 23 filtered)
✅ Task 4/7: Complete
⏳ Task 5/7: Syncing Workflow via update-workflow...
Launching skill: update-workflow
✅ Synced 6 workflow files
✅ Task 5/7: Complete
⏳ Task 6/7: Syncing Skills via update-skills...
Launching skill: update-skills
✅ Synced 18 skills
✅ Task 6/7: Complete
✅ Task 7/7: Report comprehensive summary
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Summary
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Profile: tauri
✅ Pillars: 4 synced
✅ Rules: 23 synced (23 filtered by profile)
✅ Workflow: 6 synced
✅ Skills: 18 synced
Total: 51 items synced in 28 seconds
Time: ~30 seconds
Example 2: Initial Project Setup
User says:
"push entire framework to my new project at ~/projects/new-app"
What happens:
/update-framework --to ~/projects/new-app- Detect profile: nextjs-aws (from .framework-install)
- Aggregate: 38 NEW items to push
- Confirm once
- Execute all 4 pushes with profile-based filtering
- Report: "Pushed 38 items (nextjs-aws profile)"
Time: ~45 seconds
Example 3: Selective Update (Documentation Only)
User says:
"update framework from ai-dev but skip skills"
What happens:
/update-framework --from ~/dev/ai-dev --skip skills- Only call update-pillars, update-rules, update-workflow
- Aggregate: 8 items to sync (skip skills)
- Confirm and sync
- Report: "Updated 8 items (skipped skills)"
Time: ~20 seconds
Example 4: Dry Run Preview
User says:
"show me what would change if I pulled framework from ai-dev"
What happens:
/update-framework --from ~/dev/ai-dev --dry-run- Call all 4 skills with --dry-run
- Show aggregated analysis
- No confirmation, no changes
- Report: "11 items would be synced (dry run)"
Time: ~15 seconds
Safety Features
Pre-flight checks:
- ✅ Source/target paths exist
- ✅ Source has framework components
- ✅ All 4 component skills exist
- ✅ Single confirmation for all updates
- ✅ Dry-run preview available
Smart defaults:
- Dependency-aware sync order (Pillars → Rules → Workflow → Skills)
- Aggregated summary before confirmation
- Progress shown for each component
- Clean error messages per component
- Partial failure handling (continue other components)
Backup protection:
- Inherited from individual update-* skills
- Each skill creates backups before overwrite
- Timestamped backup directories
Error Handling
Invalid Source/Target
❌ Error: Project not found
Path: ../nonexistent
Expected framework components in: ../nonexistent/
Please check:
1. Path is correct
2. Project has framework components (.prot/, .claude/)
3. You have read permissions
Missing Component Skills
❌ Error: Required skill not found
Missing: update-pillars
This meta-skill requires all 4 component skills:
- update-pillars
- update-rules
- update-workflow
- update-skills
Please ensure all skills are installed.
No Updates Needed
✅ All framework components are up to date!
No new or updated items found in source.
Current project has all latest versions.
┌────────────┬─────┬─────┬──────┐
│ Component │ New │ Upd │ Same │
├────────────┼─────┼─────┼──────┤
│ Pillars │ 0 │ 0 │ 3 │
│ Rules │ 0 │ 0 │ 40 │
│ Workflow │ 0 │ 0 │ 5 │
│ Skills │ 0 │ 0 │ 12 │
└────────────┴─────┴─────┴──────┘
Partial Failure
⚠️ Framework sync completed with warnings
✅ Pillars: Updated 2 items
✅ Rules: Updated 4 items
❌ Workflow: Failed (permission denied)
✅ Skills: Updated 3 items
Summary:
- Successful: 3/4 components
- Failed: 1 component (workflow)
Would you like to retry failed components? (y/n)
Best Practices
- Always dry-run first for major updates:
/update-framework --from ~/dev/ai-dev --dry-run
/update-framework --from ~/dev/ai-dev
- Regular framework upgrades:
# Weekly/monthly routine
/update-framework --from ~/dev/ai-dev
- Selective updates for safety:
# Only update documentation first
/update-framework --from ~/dev/ai-dev --only pillars,rules,workflow
# Then update tools after testing
/update-framework --from ~/dev/ai-dev --only skills
- Framework as source of truth:
# In projects: pull from framework
/update-framework --from ~/dev/ai-dev
# In framework: pull innovations from projects
/update-framework --from ~/projects/my-app --only skills
Integration with Component Skills
You can still use individual update- skills:*
# Fine-grained control
/update-pillars --from ~/dev/ai-dev --pillars A,B,K
/update-rules --from ~/dev/ai-dev --categories core,architecture
/update-workflow --from ~/dev/ai-dev --files CLAUDE.md
/update-skills --from ~/dev/ai-dev --skills adr,review
# Coarse-grained control (this meta-skill)
/update-framework --from ~/dev/ai-dev
When to use update-framework:
- ✅ Monthly framework upgrades
- ✅ Initial project setup
- ✅ Complete sync needed
- ✅ Want simplicity (one command)
When to use individual update- skills:*
- ✅ Only need specific component
- ✅ Need fine-grained filtering (--pillars, --profile, etc.)
- ✅ Testing updates incrementally
- ✅ Debugging sync issues
Task Management
After each meta-sync step, update progress:
Paths validated → Update Task #1
Component analysis aggregated → Update Task #2
Unified diff shown → Update Task #3
All component syncs executed → Update Task #4
Results collected → Update Task #5
Summary reported → Update Task #6
Provides real-time visibility of meta-sync progress.
Final Verification
Before declaring sync complete, verify:
- [ ] All 6 meta-sync tasks completed
- [ ] Source and target paths valid
- [ ] All 4 component skills called successfully
- [ ] User confirmed unified changes
- [ ] All components synced (or partial failure reported)
- [ ] Comprehensive summary displayed
Missing items indicate incomplete meta-sync.
Comparison with Individual Skills
| Aspect | Individual Skills | update-framework |
|---|---|---|
| Commands | 4 separate | 1 command |
| Confirmations | 4 prompts | 1 prompt |
| Time | ~2 minutes | ~30 seconds |
| Complexity | Must remember 4 | Simple, memorable |
| Use case | Fine-grained | Complete sync |
Workflow Skills Requirements
This is a workflow skill and must follow the standard pattern:
- TaskCreate at start - Create todo list for progress tracking
- TaskUpdate during execution - Mark tasks in_progress → completed
- Verification checklist - Final validation before completion
See: WORKFLOW_PATTERNS.md for complete implementation guide
Related Skills
- /update-pillars - Sync Pillars (called by this meta-skill)
- /update-rules - Sync rules (called by this meta-skill)
- /update-workflow - Sync workflow docs (called by this meta-skill)
- /update-skills - Sync skills (called by this meta-skill)
Version: 2.1.0 Last Updated: 2026-03-12 Changelog:
- v2.1.0 (2026-03-12): Meta-skill to sync entire framework (pillars + rules + workflow + skills) Pattern: Meta-Skill (orchestrates other skills) Compliance: ADR-001 Section 4 ✅
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?