← ClaudeAtlas

git-commitlisted

当用户明确要求"提交 Git 改动"、"生成 commit 信息"或"创建 git commit"时使用。仅用 Git 分析改动并自动生成 conventional commit 信息(可选 emoji);必要时建议拆分提交,默认运行本地 Git 钩子(可 --no-verify 跳过),提交后默认自动 push(可 --no-push 跳过)。
huangwb8/skills · ★ 37 · Code & Development · score 86
Install: claude install-skill huangwb8/skills
# Git Commit ## 与 bensz-collect-bugs 的协作约定 - 因本 skill 设计缺陷导致的 bug,先用 `bensz-collect-bugs` 规范记录到 `~/.bensz-skills/bugs/`,不要直接修改用户本地已安装的 skill 源码;若有 workaround,先记 bug,再继续完成任务。 - 只有用户明确要求“report bensz skills bugs”等公开上报时,才用本地 `gh` 上传新增 bug 到 `huangwb8/bensz-bugs`;不要 pull / clone 整个仓库。 仅用 Git 分析改动并自动生成 conventional commit 信息(可选 emoji);必要时建议拆分提交,默认运行本地 Git 钩子(可 --no-verify 跳过),提交后默认自动 push(可 --no-push 跳过)。 ## 工作模式 本技能支持两种工作模式: | 模式 | 触发方式 | 行为特征 | |------|----------|----------| | **自动模式** | 默认(无参数) | AI 自主决策所有步骤:自动暂存、自动拆分、直接提交 | | **审核模式** | `--review` 参数 | 在关键决策点暂停,等待用户确认暂存方式、拆分建议、提交信息 | **默认使用自动模式**,因为大多数情况下 commit 的顺利提交比内容本身更重要;如不满意可直接回退。 ## 触发场景 - 用户要提交代码改动 - 需要生成符合规范的提交信息 - 需要判断是否应该拆分提交 - 需要包含 emoji 的提交信息 ## 工作流程 ### 1. 仓库/分支校验 - 通过 `git rev-parse --is-inside-work-tree` 判断是否位于 Git 仓库 - **如不在 Git 仓库**:提示 `git init` 初始化仓库后继续 - 读取当前分支/HEAD 状态: - **如处于 detached HEAD 状态**:提示风险并确认是否继续 - 检测方法:`git rev-parse --symbolic-full-name HEAD` 返回 `HEAD` - 提示内容:"⚠️ 当前处于 detached HEAD 状态,提交将不属于任何分支。建议先创建分支(`git switch -c <branch-name>`)或切换到现有分支(`git switch <branch-name>`)" - **如处于 rebase/merge 冲突状态**:给出明确指导 - **检测到 Git 冲突**:当前处于 rebase/merge 冲突状态,请先处理冲突: 1. 查看冲突文件:`git status` 2. 解决冲突(编辑标记为 `<<<<<<<` 的文件) 3. 标记冲突已解决:`git add <冲突文件>` 4. 继续 rebase/merge:`git rebase --continue` 或 `git merge --continue` 5. 完成后重新运行 git-commit - 或跳过当前提交:`git rebase --skip` - 或中止 rebase/merge:`git rebase --abort` / `git merge --abort` ### 2. 改动检测 - 用