Sync ClaudeKit Marketing with Engineer updates using natural language. Handles the two-step sync process, reports what changed, and helps review updates.
Sync ClaudeKit Marketing with ClaudeKit Engineer updates using natural language commands.
This skill automates syncing ClaudeKit Marketing with Engineer updates while protecting Marketing customizations. It handles:
User says: "Check if there are ClaudeKit Engineer updates"
You do:
cd /Users/sam/claudekit-engineer
git fetch origin
git log HEAD..origin/main --oneline
Report:
User says: "Sync Marketing with Engineer updates" or "Update ClaudeKit Marketing"
You do:
Step 1: Update Engineer Template
cd /Users/sam/claudekit-engineer
git pull
Step 2: Run Sync Script
./sync-to-marketing.sh
Step 3: Parse and Report Results
Step 4: Provide Next Steps
User says: "Review Marketing updates" or "Show me what changed"
You do:
List all .new files:
cd /Users/sam/claudekit-marketing
find .marketing/ -name "*.new" -type f
For each .new file:
Example interaction:
Found 2 files to review:
1. .marketing/agents/brainstormer.md.new
2. .marketing/commands/ideate.md.new
Would you like to:
- Compare versions (shows diff)
- See what changed (summary)
- Get merge recommendations
User says: "Compare brainstormer updates" or "What changed in ideate?"
You do:
diff .marketing/agents/brainstormer.md .marketing/agents/brainstormer.md.new
Report:
User says: "Use new version of brainstormer" or "Keep my ideate customization"
You do:
Use new version:
mv .marketing/agents/brainstormer.md.new .marketing/agents/brainstormer.md
Keep current version:
rm .marketing/agents/brainstormer.md.new
Confirm action and explain what was done.
User says: "Copy content commands" or "Add recommended commands"
You do:
For specific category:
cp -r /Users/sam/claudekit-engineer/.claude/commands/content \
/Users/sam/claudekit-marketing/.marketing/commands/
For specific command:
cp /Users/sam/claudekit-engineer/.claude/commands/brainstorm.md \
/Users/sam/claudekit-marketing/.marketing/commands/
Report:
User says: "Help me merge brainstormer updates"
You do:
User says: "Test Marketing" or "Verify Marketing works"
You suggest:
cd /Users/sam/claudekit-marketing
claude
# Test commands
/content/good test
/design/fast test
# Test agents
> "Use copywriter to write landing page headline"
Report test status and any issues.
User says: "Commit Marketing sync" or "Save Marketing updates"
You do:
cd /Users/sam/claudekit-marketing
git status
git add .marketing/
git commit -m "chore: sync with ClaudeKit Engineer vX.XX.X
- Synced skills, hooks, framework
- Added [list new agents]
- Reviewed [list .new files]
- Copied [list new commands]"
git push
Confirm commit and push completed.
If user is in Marketing directory:
pwd
# /Users/sam/claudekit-marketing
You know they want to work with Marketing.
If user is in Engineer directory:
pwd
# /Users/sam/claudekit-engineer
Clarify: "Do you want to sync updates TO Marketing?"
User: "Sync Marketing with latest Engineer"
You:
1. Check if Engineer has updates (git fetch)
2. Pull Engineer updates (git pull)
3. Run sync script
4. Parse and report results
5. List .new files to review
6. Suggest next steps
User: "Review Marketing updates"
You:
1. Find all .new files
2. For each, show summary of changes
3. Ask which to review in detail
4. Provide recommendations
5. Apply user's choices
6. Confirm actions taken
User: "Copy content and design commands"
You:
1. Verify commands exist in Engineer
2. Check if already in Marketing
3. Copy directories
4. Report what was copied
5. Suggest testing
Template:
## ClaudeKit Marketing Sync Report
**Date:** YYYY-MM-DD
**Engineer Version:** vX.XX.X
### โ
Synced Automatically
- Skills: XX skills (replaced)
- Hooks: X hooks (replaced)
- Framework: metadata, settings, statusline (replaced)
### ๐ New Components
**Agents Added:**
- [list agents]
**New Commands Available:**
- โญ content/good.md (recommended)
- โญ design/fast.md (recommended)
- โ brainstorm.md (useful)
### โ ๏ธ Review Required
**Agents Updated (X):**
- brainstormer.md.new
**Commands Updated (X):**
- ideate.md.new
### ๐ Next Steps
1. Review .new files: `find .marketing/ -name "*.new"`
2. Copy recommended commands: `cp -r ~/claudekit-engineer/.claude/commands/content .marketing/commands/`
3. Test Marketing: `cd ~/claudekit-marketing && claude`
Would you like to review the updates now?
Template:
## Review: [filename]
**File:** .marketing/agents/brainstormer.md
**Status:** Updated version available
### What Changed
[Summary of changes]
### Your Version Has
- [Your customizations]
### New Version Has
- [Improvements from Engineer]
### Recommendation
[Keep yours / Use new / Merge] because [reason]
### Options
1. **Keep yours:** `rm .marketing/agents/brainstormer.md.new`
2. **Use new:** `mv .marketing/agents/brainstormer.md.new .marketing/agents/brainstormer.md`
3. **Merge:** I can help combine the best of both
What would you like to do?
Engineer:
/Users/sam/claudekit-engineer.claude/commands/.claude/agents/.claude/skills/.claude/hooks/Marketing:
/Users/sam/claudekit-marketing.marketing/commands/.marketing/agents/.marketing/skills/.marketing/hooks/Sync Script:
/Users/sam/claudekit-engineer/sync-to-marketing.shDocumentation:
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Vault-4/Claude Code/CK-Marketing/User: "Sync Marketing with Engineer"User: "Sync Marketing with Engineer"
You:
1. Checking for Engineer updates...
Found 3 new commits since last sync
2. Pulling Engineer updates... Done
3. Running sync script...
## Sync Report
โ
Synced: 19 skills, 3 hooks, 3 framework files
๐ New: 2 commands available (content/cro.md, design/3d.md)
โ ๏ธ Review: 1 agent updated (brainstormer.md.new)
Would you like to review the updated files now?
User: "Review the updates"
You:
Found 1 file to review:
**brainstormer.md.new**
- Added improved brainstorming process structure
- Added Phase 2: Divergent Thinking details
- Your version has marketing-specific expert perspectives
Recommendation: Merge - combine your marketing focus with new structure
Would you like me to:
1. Show detailed diff
2. Help merge them
3. Just use the new version
4. Keep your current version
User: "Copy the content commands"
You:
Copying content commands from Engineer to Marketing...
โ
Copied:
- content/good.md โ .marketing/commands/content/
- content/fast.md โ .marketing/commands/content/
- content/cro.md โ .marketing/commands/content/
- content/enhance.md โ .marketing/commands/content/
These commands are now available in Marketing!
Test them: `cd ~/claudekit-marketing && claude`
User: "Check if there are Engineer updates"
You:
Checking ClaudeKit Engineer for updates...
โ
Engineer is 2 commits ahead:
- feat: add content/cro command for conversion optimization
- fix: improve brainstormer categorization logic
Updates are available. Would you like to sync Marketing now?
User: "Compare the brainstormer changes"
You:
Comparing brainstormer.md versions...
**Your Version (Marketing):**
- Has marketing-specific expert perspectives
- Focuses on campaign ideation
- Includes brand alignment checks
**New Version (Engineer):**
- Improved brainstorming process structure
- Better phase organization
- Enhanced examples
**Key Differences:**
- New adds structured phases (Discovery, Divergent, Convergent)
- Your version has marketing-specific focus areas
- Both have value
**Recommendation:** Merge
Keep your marketing perspectives, add the new process structure.
Would you like me to help merge them?
# Extract counts and lists from sync script output
# Return structured data for reporting
find /Users/sam/claudekit-marketing/.marketing/ -name "*.new" -type f
diff file1 file2
# Parse and summarize differences
# Determine if agent, command, skill, hook
# Return category for appropriate handling
Decision Framework:
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Vault-4/Claude Code/CK-Marketing/DECISION-FRAMEWORK.md
Sync Guide:
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Vault-4/Claude Code/CK-Marketing/SYNC-FROM-ENGINEER.md
Review Guide:
~/Library/Mobile Documents/iCloud~md~obsidian/Documents/Vault-4/Claude Code/CK-Marketing/REVIEWING-UPDATES.md
git pull Engineer before running sync scriptSkill succeeds when:
Your goal: Make syncing ClaudeKit Marketing effortless while protecting customizations and giving users full control.