config-backup

from ppx123-web/claude-config

No description

0 stars0 forksUpdated Jan 19, 2026
npx skills add https://github.com/ppx123-web/claude-config --skill config-backup

SKILL.md

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 rsync if available (efficient copying), otherwise fallback to cp -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 --delete for efficient copying with deletion of orphaned files
  • Falls back to cp -rf if 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/
   

...
Read full content

Repository Stats

Stars0
Forks0