with one click
dotfiles-git-commit
在 dotfiles 项目中,当我要求提交修改时使用
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
在 dotfiles 项目中,当我要求提交修改时使用
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Write and maintain changelogs for sphinxnotes projects. Covers preparing release changelogs, adding incremental entries, and the ``.. version::`` directive reference.
Release workflow for sphinxnotes/cookiecutter generated projects. Use when the user asks to release a new stable version.
Use when updating a sphinxnotes project from the cookiecutter template, resolving cruft update conflicts (.rej files), and completing template sync
General git commit workflow, lower priority — only use when user asks to commit changes, and no other commit skill is active
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
提供 AI 模型 co-author 信息,供其他 git commit skill 引用
Based on SOC occupation classification
| name | dotfiles-git-commit |
| description | 在 dotfiles 项目中,当我要求提交修改时使用 |
在 dotfiles 项目中,当我说「提交」「commit」且 staging area 包含多个不同软件/工具的改动时触发。
以下情况不触发本 skill,改用 general-git-commit:
README.rst、Makefile、deploy.sh、.gitignore、.gitattributes、archpkgs.txt 等)git diff --cached --name-only
根据文件路径提取所属应用作为分组依据:
| 路径模式 | 分组名称/scope |
|---|---|
config/<app>/ | 取 <app> 名,如 nvim、sway、waybar、kitty、tmux、yazi、fzf、mako、alacritty、fontconfig、srain、glow、vinput、wireplumber |
config/chromium-flags.conf | chromium |
home/.* | 按文件名取,如 zshrc → sh、gitconfig → git、vimrc → vim、bashrc → sh |
bin/ | bin |
agents/ | 按子路径取,如 agents/AGENTS.md → agents、agents/skills/ → skills |
README.rst | README |
.gitignore、.gitattributes | gitattributes 或 gitignore |
Makefile、deploy.sh、archpkgs.txt 等根目录文件 | dotfiles 或 scripts |
同一分组的文件合并在一个 commit 中。
git diff --cached
理解每组的改动目的。
计划创建以下 commit:
Commit 1: nvim: Add treesitter config for lua
- config/nvim/lua/plugin/treesitter.lua
Commit 2: sway: Adjust workspace layout
- config/sway/config
- config/sway/init.sh
必须等我确认后再执行。 若我明确说「直接提交」或你当前不被允许和用户交互,跳过确认。
git commit -m "<scope>: <description>" -- <文件列表>
commit message 规范:
<scope>: <英文描述>,scope 小写在 commit body 中附加 co-author 信息,参见 model-co-authors skill:
git commit -m "sway: Adjust workspace layout" -m "" -m "Co-authored-by: DeepSeek <service@deepseek.com>" -- config/sway/config
完成后展示:
✅ 已创建 N 个 commit:
abc1234 nvim: Add treesitter config for lua
def5678 sway: Adjust workspace layout
| 错误 | 正确做法 |
|---|---|
| 同一软件的多个改动分散在不同 commit | 同一分组合并为一个 commit |
| 不同软件的改动混在同一个 commit | 按软件拆分 |
| 项目级文件与某软件文件混在一起 | 项目级文件单独一个 commit |
| commit message 写中文 | 按历史风格写英文 |
Staging:
config/nvim/lua/plugin/treesitter.lua — 新增 treesitter 配置config/sway/config — 调整工作区布局config/sway/init.sh — 同步修改启动脚本home/.zshrc — 添加别名分组:
nvim → config/nvim/lua/plugin/treesitter.luasway → config/sway/config + config/sway/init.shsh → home/.zshrc展示:
Commit 1: nvim: Add treesitter config for lua
- config/nvim/lua/plugin/treesitter.lua
Commit 2: sway: Adjust workspace layout and startup
- config/sway/config
- config/sway/init.sh
Commit 3: sh: Add new aliases
- home/.zshrc