Community寫作與編輯github.com

mdesoeuv/claude_skills

建立範圍明確的 Git 提交,並使用 Conventional Commit 訊息格式。當使用者要求提交、儲存工作、「出貨」或完成一項變更並希望記錄在 Git 中時使用此技能,即使他們未明確說出「提交」也適用。亦適用於撰寫或重寫提交訊息時。

claude_skills 是什麼?

此技能旨在協助開發者和 AI 代理程式建立高品質、範圍明確的 Git 提交,並強制使用 Conventional Commit 訊息格式。它的核心目標是讓提交記錄在一年後、壓力下或事故排查時仍然易於閱讀與理解。技能會引導使用者進行安全的工作流程,包括在提交前檢查狀態與差異(git status、git diff)、確保不包含憑證或大型二進位檔等不應上線的內容、並有策略地暫存變更以保持每個提交的邏輯單一性。它明確定義了訊息格式:類型(如 feat、fix、refactor)、選用範圍、簡潔的摘要(≤72 字元)、主體(解釋變更原因而非變更內容)以及頁尾(如票證參考)。同時支援多行主體的 heredoc 提交指令,並在提交後透過 git log -1 --stat 進行確認。使用者也可以提供 $ARGUMENTS 作為範圍或摘要的提示,但技能仍會檢視實際差異進行修正。此技能適用於任何需要與 Git 互動的開發平台或 AI 代理環境。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mdesoeuv/claude_skills/tree/HEAD/skills/commit

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Commit

Commit 是別人在一年後、壓力下、事故期間會讀到的最小歷史單位。請為那位讀者最佳化。

工作流程

  1. 提交前先查看:git status、git diff --staged、git diff。切勿盲目提交。
  2. 檢查任何不得上線的內容:憑證、.env 檔案、私鑰、大型二進位檔、除錯用的 print 敘述、註解掉的程式碼。若發現,請停止並告知使用者。請參閱 secrets-hygiene 技能。
  3. 有策略地暫存。偏好使用 git add <paths> 而非 git add -A。每次提交一個邏輯變更;如果 diff 混雜了重構和功能,請將其拆分。
  4. 依下方格式撰寫訊息。
  5. 使用 heredoc 提交,讓多行主體能順利通過 shell:
git commit -m "$(cat <<'MSG'
feat(auth): add OIDC login for the admin console

Replaces the shared basic-auth password with Cognito-backed OIDC so
access can be revoked per user. Sessions expire after 8h.

Refs: PLAT-412
MSG
)"
  1. 使用 git log -1 --stat 確認。除非使用者明確要求,否則絕對不進行修改或強制推送。

訊息格式

<類型>(<範圍>): <祈使句摘要,≤72 字元,結尾無句號>

<此變更存在的原因,而非 diff 顯示的內容 — diff 已經顯示了後者>

<頁尾:Refs/Closes 票證、BREAKING CHANGE: ...、Co-Authored-By>

類型:feat、fix、refactor、perf、test、docs、build、ci、chore、revert。 範圍是受影響的模組、服務或堆疊(api、terraform/vpc、ci)。若變更是全域性的,則省略範圍。

主體比摘要更重要。用兩到四個句子回答「為什麼現在做?」以及「我們考慮過什麼?」。對於微不足道的變更,一行提交是可以接受的。

範例

輸入:修復了 S3 儲存桶沒有標籤時的空指標 輸出:fix(s3-inventory): handle buckets with no tag set

輸入:將 terraform aws provider 從 5.40 升級到 5.60,新的 lambda runtime 屬性需要此版本 輸出:

build(terraform): bump aws provider to 5.60

Required for `aws_lambda_function.runtime = "python3.13"`. No resource
diffs on `terraform plan` across all stacks.

當提供 $ARGUMENTS 時

將其視為使用者提供的範圍或摘要提示,但仍需檢查 diff,若提示與實際變更不符則予以修正。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相關技能