
config-backup
by ppx123-web
SKILL.md
name: config-backup description: Use when users want to save, backup, copy, export, or version control their Claude Code configuration files (commands, skills, agents) from ~/.claude/ to another directory. Triggered by phrases like "save my claude settings", "backup my claude config", "sync claude configuration", "copy ~/.claude to somewhere", "export my commands and skills", or "archive claude settings before making changes". version: 1.0.0
Config Backup Skill
This skill helps users backup their Claude Code configuration files from ~/.claude/ to a specified target directory. It copies the commands/, skills/, and agents/ directories with options for selective backup.
What Gets Backed Up
By default, this skill backs up three directories from ~/.claude/:
- commands/ - All slash command definitions
- skills/ - All agent skills and their resources
- agents/ - All subagent definitions
These are the user-created configurations that define custom Claude Code behavior.
When to Use This Skill
Use this skill when users want to:
- Backup Claude configurations before making changes
- Copy configurations to another machine or project
- Share custom setup with others
- Migrate to a new system
- Version control configurations
Backup Workflow
Follow this workflow when performing a backup:
1. Confirm Target Directory
Always confirm the target directory, even though the default is the current working directory. Ask like this:
"Target directory: [current-working-directory]
Is this correct, or would you like to specify a different location?"
Wait for user confirmation before proceeding.
2. Select Directories to Backup
Ask the user which directories to include. Present this interactive prompt:
"Which directories would you like to backup?
- commands/
- skills/
- agents/
Backup all three, or specify which ones to include?"
If the user doesn't specify, backup all three. If they specify a subset, only backup those.
3. Execute the Backup Script
Use the backup script located at scripts/backup.sh within this skill directory. Execute it with appropriate parameters:
~/.claude/skills/config-backup/scripts/backup.sh [target-dir] [directories...]
Parameters:
target-dir: Target directory (default: current directory if not specified)directories...: Space-separated list of directories to backup (commands, skills, agents)
The script will:
- Create target directory if it doesn't exist
- Use
rsyncif available (efficient copying), otherwise fallback tocp -r - Overwrite existing files without prompting
- Preserve directory structure
- Exit with error if source
~/.claude/doesn't exist
4. Report Results
After the backup completes, show the user a detailed list of what was copied:
✅ Backup complete!
Copied directories:
- commands/ (15 files)
- skills/ (8 directories, 42 files)
- agents/ (23 files)
Target: /path/to/target/directory
If any errors occurred during the backup (permission errors, missing source, etc.), report them clearly to the user.
Error Handling
The backup script handles these scenarios:
Target Directory Doesn't Exist
Creates the directory automatically. No user action needed.
Source Directory Missing
If ~/.claude/ doesn't exist, the script exits with error message:
❌ Error: Source directory ~/.claude/ not found
No Write Permissions
If target directory isn't writable, shows:
❌ Error: Permission denied writing to [target-dir]
rsync Not Available
Automatically falls back to cp -r command. User sees:
⚠️ rsync not available, using cp instead
Examples
Example 1: Backup All Directories to Current Location
User: "save my claude settings"
Assistant: "I'll backup your Claude configurations.
Target directory: /Users/choi/work/claude-config Is this correct, or would you like to specify a different location?
Which directories would you like to backup?
- commands/
- skills/
- agents/
Backup all three, or specify which ones to include?"
[User confirms]
[Executes backup, reports results]
Example 2: Backup Only Commands and Skills
User: "backup my commands and skills"
[Asks about target directory, then only backs up commands/ and skills/]
Example 3: Specify Custom Target
User: "copy ~/.claude to ~/backups/claude-config"
[Asks for confirmation, then backs up to ~/backups/claude-config]
Best Practices
- Always confirm target directory before copying to avoid accidental overwrites
- Show clear feedback about what was copied so user knows backup succeeded
- Handle errors gracefully with helpful error messages
- Use rsync when available for efficient incremental backups
- Preserve structure so restore is straightforward
- Overwrite without asking per user requirements (user should confirm target upfront)
Technical Details
Script Location
The backup script is at: ~/.claude/skills/config-backup/scripts/backup.sh
Copy Method
- Prefers
rsync -av --deletefor efficient copying with deletion of orphaned files - Falls back to
cp -rfif rsync unavailable - Always preserves permissions and timestamps
- Creates target directories as needed with
mkdir -p
Directory Structure
The backup preserves this structure:
target-dir/
├── commands/
│ ├── command1.md
│ └── command2.md
├── skills/
│ ├── skill1/
│ └── skill2/
└── agents/
├── agent1.md
└── agent2.md
See Also
- Troubleshooting common issues:
references/troubleshooting.md - Detailed backup workflow examples:
examples/backup-workflows.md - The backup script implementation:
scripts/backup.sh - Claude Code skill documentation for skill structure
- Advanced usage: Pipe backup to tar for archiving, sync to remote with rsync over ssh
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon