Files
2025-11-30 09:05:19 +08:00

7.5 KiB

Deleting Skills

Guidance for safely removing Agent Skills from Claude Code.

Quick Deletion Process

1. Locate the Skill

# Personal skills
ls ~/.claude/skills/

# Project skills
ls .claude/skills/

# Find specific skill
find ~/.claude/skills -name "SKILL.md" -path "*/my-skill/*"

Before deleting, create a backup:

# Backup entire skill directory
cp -r ~/.claude/skills/my-skill ~/.claude/skills/my-skill.backup

# Or backup to a dedicated location
cp -r ~/.claude/skills/my-skill ~/skill-backups/my-skill-$(date +%Y%m%d)

3. Delete the Skill

# Personal skill
rm -rf ~/.claude/skills/my-skill

# Project skill
rm -rf .claude/skills/my-skill

4. Verify Removal

Restart Claude Code and verify the skill is no longer available:

Ask Claude: "What skills are available?"

Deletion Scenarios

Delete Personal Skill

# Check it exists
ls ~/.claude/skills/my-skill/SKILL.md

# Backup
cp -r ~/.claude/skills/my-skill ~/.claude/skills/my-skill.backup

# Delete
rm -rf ~/.claude/skills/my-skill

# Verify
ls ~/.claude/skills/

No restart needed for personal skills if Claude Code wasn't using them.

Delete Project Skill

For skills in .claude/skills/ that are committed to git:

# Backup first
cp -r .claude/skills/my-skill ~/skill-backups/my-skill-backup

# Remove from git
git rm -rf .claude/skills/my-skill

# Commit
git commit -m "Remove my-skill: no longer needed"

# Push
git push

Important: Notify team members so they can pull the changes and restart Claude Code.

Delete Plugin Skill

Plugin skills are managed by the plugin system. To remove:

Option 1: Disable the plugin

/plugin disable plugin-name@marketplace-name

Option 2: Uninstall the plugin

/plugin uninstall plugin-name@marketplace-name

You cannot delete individual skills from plugins. To modify plugin skills, fork the plugin or contact the plugin author.

Bulk Deletion

Delete Multiple Personal Skills

# List all personal skills
ls ~/.claude/skills/

# Backup all before deletion
cp -r ~/.claude/skills ~/skill-backups/all-skills-$(date +%Y%m%d)

# Delete specific skills
rm -rf ~/.claude/skills/skill1
rm -rf ~/.claude/skills/skill2
rm -rf ~/.claude/skills/skill3

Delete All Unused Skills

# Backup first
cp -r ~/.claude/skills ~/skill-backups/all-skills-$(date +%Y%m%d)

# Review each skill before deleting
for skill in ~/.claude/skills/*; do
    echo "Skill: $(basename $skill)"
    echo "Description:"
    head -n 10 "$skill/SKILL.md"
    read -p "Delete this skill? (y/n) " -n 1 -r
    echo
    if [[ $REPLY =~ ^[Yy]$ ]]; then
        rm -rf "$skill"
        echo "Deleted: $(basename $skill)"
    fi
done

Backup Strategies

Before Major Cleanup

Create a timestamped backup of all skills:

# Backup all personal skills
tar -czf ~/skill-backups/personal-skills-$(date +%Y%m%d-%H%M%S).tar.gz \
    -C ~ .claude/skills

# Backup all project skills (from project root)
tar -czf ~/skill-backups/project-skills-$(date +%Y%m%d-%H%M%S).tar.gz \
    .claude/skills

Restore from Backup

# Restore all personal skills
tar -xzf ~/skill-backups/personal-skills-20251016-143022.tar.gz \
    -C ~

# Restore specific skill
cp -r ~/skill-backups/my-skill-20251016 ~/.claude/skills/my-skill

Version Control Best Practices

For Project Skills

When deleting project skills from git repositories:

# Create feature branch
git checkout -b remove-unused-skills

# Remove skill
git rm -rf .claude/skills/old-skill

# Commit with explanation
git commit -m "Remove old-skill: replaced by new-skill

The old-skill has been superseded by new-skill which provides
better performance and additional features.

Team members should:
1. Pull this change
2. Restart Claude Code
3. The skill will no longer be available"

# Push and create PR
git push origin remove-unused-skills

Document Removal

Update project documentation:

# Changelog

## 2025-10-16

### Removed
- **old-skill**: Replaced by new-skill. See migration guide below.

### Migration Guide
If you were using old-skill:
1. Update your workflows to use new-skill instead
2. Key differences: [list changes]
3. See examples: [link to new-skill examples]

Common Deletion Scenarios

Skill No Longer Needed

# Simple removal
rm -rf ~/.claude/skills/deprecated-skill

Skill Replaced by Better Version

# Backup old version (might need reference)
cp -r ~/.claude/skills/old-skill ~/skill-backups/old-skill-reference

# Delete old version
rm -rf ~/.claude/skills/old-skill

# The new version is already in place
ls ~/.claude/skills/new-skill

Skill Conflicts with Another

If two skills activate on similar triggers:

# Review both skills
cat ~/.claude/skills/skill-a/SKILL.md | head -n 10
cat ~/.claude/skills/skill-b/SKILL.md | head -n 10

# Decide which to keep (usually the more specific one)
# Delete the less useful one
rm -rf ~/.claude/skills/skill-b

Experimental Skill Didn't Work Out

# No backup needed for failed experiments
rm -rf ~/.claude/skills/experiment-skill

Safety Checks

Before Deleting, Ask:

  1. Is this skill used by others?

    • For project skills, check with team
    • For personal skills, just you
  2. Is there a migration path?

    • If replacing, document new approach
    • If removing, explain alternatives
  3. Have I backed it up?

    • Can I restore if needed?
    • Do I have the content archived?
  4. Will this break workflows?

    • Check dependencies
    • Update documentation
    • Notify affected users

Validation Checklist

Before deleting a project skill:

  • Created backup
  • Checked for dependents (other skills referencing this one)
  • Notified team members
  • Updated documentation
  • Committed to version control with clear message
  • Verified skill is not critical to current workflows

Troubleshooting

Skill Still Appears After Deletion

Problem: Deleted skill still shows up in available skills

Solution: Restart Claude Code to refresh skill registry

Cannot Delete (Permission Denied)

# Check permissions
ls -la ~/.claude/skills/my-skill/

# Fix permissions if needed
chmod -R u+w ~/.claude/skills/my-skill/

# Then delete
rm -rf ~/.claude/skills/my-skill

Accidentally Deleted Important Skill

If you have a backup:

# Restore from backup
cp -r ~/skill-backups/my-skill ~/.claude/skills/my-skill

# Restart Claude Code

If no backup:

  • Check git history (for project skills)
  • Check Time Machine or system backups
  • Recreate from memory or documentation

Team Member Still Has Deleted Skill

For project skills:

# Team member should pull latest changes
git pull

# Remove any local-only changes
rm -rf .claude/skills/deleted-skill

# Restart Claude Code

Post-Deletion Cleanup

Verify Skill List

After deletion, verify skills are as expected:

Ask Claude: "What skills are available?"

Or check filesystem:

# Personal skills
ls ~/.claude/skills/

# Project skills
ls .claude/skills/

Update Documentation

If maintaining skill documentation:

# Available Skills

## Active Skills
- skill-a: Description
- skill-b: Description

## Deprecated Skills
- ~~old-skill~~: Removed 2025-10-16, replaced by new-skill

Clean Up References

Check for references to deleted skills in:

  • Documentation files
  • README files
  • Other skills that might reference it
  • Workflow documentation
# Find references
grep -r "old-skill" .claude/
grep -r "old-skill" docs/