AgentSkillsCN

safe-rm

强制要求:请勿再使用 rm -rf 或 rm -r,以免破坏 Shell 会话

SKILL.md
--- frontmatter
name: safe-rm
description: "MANDATORY: Use instead of rm -rf or rm -r to prevent shell session breakage"

Safe Remove Skill

Purpose: Prevent shell session breakage by verifying working directory before rm -rf operations.

Critical Issue

If you delete the directory you're currently in, all subsequent Bash commands will fail with "Exit code 1" and Claude Code must be restarted. This is unrecoverable without restart.

Mandatory Pre-Delete Checklist

BEFORE any rm -rf command:

bash
# 1. Check current working directory
pwd

# 2. Verify target is NOT current directory or ancestor
# If deleting /path/to/workspace/test and pwd shows /path/to/workspace/test -> DANGER!

# 3. If in danger, change directory first
cd /path/to/workspace  # or another safe location

# 4. Then delete
rm -rf /path/to/workspace/test

Safe Patterns

bash
# SAFE - Explicit cd before delete
cd /path/to/workspace && rm -rf /path/to/workspace/test-dir

# SAFE - Delete from parent directory
cd /path/to/workspace && rm -rf test-dir

# SAFE - Use absolute paths after confirming pwd
pwd  # Shows /path/to/workspace (not /path/to/workspace/test-dir)
rm -rf /path/to/workspace/test-dir

# DANGEROUS - Deleting without checking pwd
rm -rf /path/to/workspace/test-dir  # If pwd is /path/to/workspace/test-dir, shell breaks!

# DANGEROUS - Deleting current directory
rm -rf .  # Always breaks shell

# DANGEROUS - Deleting parent of current directory
# pwd: /path/to/workspace/test-dir/subdir
rm -rf /path/to/workspace/test-dir  # Breaks shell

Recovery

If shell breaks (all commands return "Exit code 1"):

  1. Restart Claude Code - this is the only fix
  2. The shell session cannot recover from a deleted working directory

Quick Reference

SituationAction
Deleting temp directorypwd first, cd if needed
Cleaning up test filesVerify not inside target directory
Removing build artifactsUse parent directory as working dir
Any rm -rf operationAlways check pwd first