Agent Skills
› NeverSight/learn-skills.dev
› git-safety
git-safety
GitHub确保Git仓库文件操作安全,防止丢失历史或产生冗余变更。强制对受控文件使用git mv和git rm,禁止直接使用mv/rm。通过git ls-files自检状态后选择命令,适用于重构、清理等场景。
Trigger Scenarios
Agent尝试移动受Git跟踪的文件
Agent尝试重命名受Git跟踪的文件
Agent尝试删除受Git跟踪的文件
Install
npx skills add NeverSight/learn-skills.dev --skill git-safety -g -y
SKILL.md
Frontmatter
{
"name": "git-safety",
"description": "Git 操作安全与规范。强制要求使用 git 原生命令处理受控文件,防止丢失索引或产生冗余变更。当 Agent 尝试移动、重命名或删除文件时触发。"
}
Git Safety & Standards
该 Skill 旨在确保在 Git 仓库中进行文件操作时的安全性和历史完整性。
核心准则
1. 移动与重命名 (Move & Rename)
- 禁止直接使用
mv命令操作受 Git 跟踪的文件。 - 强制使用
git mv <old_path> <new_path>。 - 理由:确保 Git 自动跟踪文件重构,保留文件的 Git History,避免识别为“删除 + 新增”。
2. 删除 (Delete)
- 禁止直接使用
rm或rm -rf操作受 Git 跟踪的文件。 - 强制使用
git rm <path>或git rm -r <path>。 - 理由:直接从工作区和索引中同步移除,避免残留未跟踪的删除变更。
3. 操作前自检流程
当 Agent 准备操作文件时,应遵循以下逻辑:
- 检查状态:执行
git ls-files <path>。 - 判断:
- 如果有输出(说明文件受控)→ 使用
git mv/git rm。 - 如果无输出(说明是未跟踪文件)→ 使用普通
mv/rm。
- 如果有输出(说明文件受控)→ 使用
适用场景
- 重构代码导致的文件目录结构调整。
- 删除过时的文档或代码文件。
- 项目清理。
约束
- 严禁在未确认文件状态的情况下盲目使用普通文件管理命令。
- 在执行大规模移动操作前,建议先执行
git status确保工作区是干净的。
Version History
- e0220ca Current 2026-07-05 22:15


