跳到正文
cccskills
免费在 GitHub 公开

safe-rm

Deletes files and directories through a wrapper that avoids the usual per- command permission prompt. Use only when content must genuinely be deleted, such as clearing build artifacts or dropping obsolete files during a refactor. Moves, renames, and relocations that preserve content use mv instead.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md3.8 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Safe File Deletion

When to use this skill

Use this skill only when files or directories must genuinely be deleted. Do not use it to move, rename, or relocate content that should remain; use mv instead.

This skill is particularly useful when:

  • Refactoring code and removing obsolete files or directories
  • Deleting obsolete duplicates after choosing the copy to keep
  • Removing generated files that shouldn't be tracked
  • Deleting obsolete files during large-scale code reorganization
  • Deleting entire directories of old code

How it works

It runs the ai-safe-rm script which has an intelligent git-aware backup strategy. Use -r flag for directories.

Behavior

For files:

  1. Tracked in git, unmodified: Files are deleted directly (can be recovered from git)

  2. Tracked in git, modified: Files are moved to .safe-rm/<path>/<filename>.<hash>.<ext> (e.g., README.b72ae922.md) or .safe-rm/<path>/<filename>.<hash> (e.g., LICENSE.88fdc130) to preserve the modified version

  3. Not tracked in git: Files are moved to .safe-rm/<path>/<filename>.<hash>.<ext> or .safe-rm/<path>/<filename>.<hash> for safety

For directories (requires -r flag):

  1. All files unmodified tracked: Directory is deleted directly with rm -rf (can be recovered from git)

  2. Contains modified tracked or untracked files: The script recurses through the directory, applying the file logic to each file individually. Only modified/untracked files are backed up, while unmodified tracked files are deleted. Empty directories are removed after processing.

The <hash> is the first 8 characters of the MD5 sum of the file content, ensuring unique backups of different versions.

Limitations

Only use this skill for files/directories within the current git repository.

For files outside the repository:

  • Use regular rm or rm -rf directly
  • These files cannot be recovered from git or backed up by this script

Pre-check before calling:

Before running ai-safe-rm, verify all paths are within the repo:

# Verify path is inside current repo
git rev-parse --is-inside-work-tree && realpath --relative-to="$(git rev-parse --show-toplevel)" /path/to/file | grep -q '^[^.]' && echo "Inside repo" || echo "Outside repo"

Usage

When you need to delete files or directories as part of a refactoring or cleanup task:

  1. Identify the files/directories to delete

  2. Call ai-safe-rm [-r] <file1> <file2> ... to safely remove them

    • Use -r flag when deleting directories
    • Without -r, attempting to delete a directory will error
  3. The script will output what action was taken for each file/directory

Important Notes

  • This skill does NOT require user permission for deletion because:

    • Unmodified tracked files can be recovered from git
    • Modified/untracked files are backed up to .safe-rm/
  • The .safe-rm/ directory should be added to .gitignore

  • Backed up files can be restored manually if needed from .safe-rm/

Examples

All examples assume files are within the current git repository:

# Delete a single file
ai-safe-rm src/old-component.ts

# Delete multiple files
ai-safe-rm src/legacy/*.js

# Delete a directory
ai-safe-rm -r ./old-feature

# Delete multiple directories and files
ai-safe-rm -r ./tests/deprecated ./legacy src/unused.ts

For files outside the repository, use rm directly:

# Delete file outside repo
rm /home/user/.cache/temp-file.txt

# Delete directory outside repo
rm -rf /tmp/build-artifacts/

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Applies local reliability, viewport, tab-safety, stale-ref, widget, and browser-boundary lessons to every agent-browser automation. Use alongside the upstream agent-browser skill whenever navigating, clicking, filling, testing, extracting, taking screenshots, or debugging any website with agent-browser.

中文简介正在准备中。当前显示原文说明。

aspiers/ai-config152026年10月9日 更新

Size the agent-browser Chromium window to fill its current screen, leaving a configurable bottom margin for the desktop panel. Use before any agent-browser automation that needs the full screen visible without elements overlapping or scrolling off (e.g. Xero, dense web apps).

中文简介正在准备中。当前显示原文说明。

aspiers/ai-config152026年10月9日 更新

Create Claude Code slash commands, OpenCode command files, Pi prompt templates, and Codex custom prompts that delegate to the right subagent or skill. Use when creating new commands, porting commands across agent platforms, or refactoring existing commands to follow platform conventions.

中文简介正在准备中。当前显示原文说明。

aspiers/ai-config152026年10月9日 更新

Adds or changes allowed commands in AI agent permission configs for OpenCode and Claude Code. Use when a command needs adding to an agent's allow list, when permission settings for existing commands need changing, when setting up a new AI tool that requires command permissions, or when the user asks to stop being prompted for a particular command.

中文简介正在准备中。当前显示原文说明。

aspiers/ai-config152026年10月9日 更新

bc

免费

Creates a Beads issue for a described problem or piece of work without doing the work itself. Use when the user invokes `/bc` or `$bc`, or asks to file, log, or record a bead for something. To also carry out the work, use the `bx` skill instead.

中文简介正在准备中。当前显示原文说明。

aspiers/ai-config152026年10月9日 更新

bdr

免费

Stores a persistent memory or learning with `bd remember` so it survives across sessions. Use when the user invokes `/bdr` or `$bdr`, or asks to remember, note, or persist an insight in a Beads workspace.

中文简介正在准备中。当前显示原文说明。

aspiers/ai-config152026年10月9日 更新

查看 aspiers 的全部技能

报告此技能的问题