C:\Users\Administrator\.claude 下新建一个 skill 文件夹 # C:\Users\Administrator\.claude\skills
C:\Users\Administrator\.claude\skills\gitpush\SKILL.md
文件夹 gitpush 与 SKILL.md里面的name对应
# 终端使用
/gitpush 即可自动完成生成提交信息并提交git
.claude\skills\gitpush\SKILL.md
---
name: gitpush
description: 自动用 git 提交代码并推送到远程仓库。当用户输入 `/gitpush` 时触发此技能。功能包括:自动暂存所有更改、自动生成提交信息、自动提交到本地仓库、自动推送到远程分支。成功后报告提交状态、文件数量和耗时。
disable-model-invocation:true
---
# GitPush 技能
自动完成 git 提交流程:暂存 → 生成提交信息 → 提交 → 推送到远程仓库。
## 执行步骤
### 1. 检查 git 状态
使用 `git status` 检查当前仓库状态,确认是否有可提交的内容。
### 2. 暂存更改
如果有待提交的文件,执行 `git add -A` 暂存所有更改。
### 3. 生成提交信息
执行 `git diff --cached --stat` 获取暂存的变更统计,然后:
- 如果有新增文件,提取新增文件的文件名
- 如果有修改文件,提取修改的文件名
- 根据变更内容生成简洁的提交信息,格式:`feat: 描述` / `fix: 描述` / `docs: 描述` / `chore: 描述`
### 4. 执行提交
使用生成的提交信息执行 `git commit -m "提交信息"`
### 5. 推送到远程
执行 `git push` 推送到远程仓库。如果当前分支没有上游跟踪,执行 `git push -u origin master` 设置上游并推送。
## 输出格式
### 成功时
✓ 提交成功!
- 提交信息: xxx
- 变更文件: x 个新增, x 个修改, x 个删除
- 耗时: x 秒
- 远程推送: 已完成
### 失败时
✗ 提交失败
原因: [具体错误信息]
可能的原因:
- 无可提交的内容(工作区干净)
- 未连接到远程仓库
- 远程仓库拒绝推送(权限问题或冲突)
- 网络连接失败
### 无需提交时
✓ 工作区没有可提交的内容
## 注意事项
1. 始终使用 `git add -A` 暂存所有更改
2. 提交信息使用中文,简洁明了
3. 推送到当前分支的远程对应分支
4. 如果推送失败,尝试显示具体的 git 错误信息
5. 记录每个步骤的耗时,最后汇总报告