원클릭으로
commit-msg
Generate a commit message for the current changes. Use when committing or when asked to draft a commit message.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Generate a commit message for the current changes. Use when committing or when asked to draft a commit message.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | commit-msg |
| description | Generate a commit message for the current changes. Use when committing or when asked to draft a commit message. |
Generate a commit message for the current changes. Follow these steps:
sl root (success = Sapling/hg repo), otherwise git.[area] bracket tags (see Title tags).Keep it proportionate. Most diffs need only a paragraph or two — subheadings and a Changes list are opt-in, for genuinely multi-faceted diffs, not a template to fill. A trivial change needs one line (plus the Changelog: trailer); don't pad.
Front-load the why. The first sentence should let a reader who stops there understand the diff.
Stay high-level. Describe the change at the altitude a reviewer reasons about it — by concern and behavior, not file by file. Group related edits; collapse bulk or mechanical changes into a single bullet with a count (e.g. "Repoint deep type imports to the public root API — 146 files") rather than listing them. If a bullet list is turning into a file inventory, it's too granular — summarize.
Use bold subheadings to organize longer summaries — each **Heading** on its own line with a blank line before and after:
**Motivation**
Why this change is worth making.
**This diff**
What this diff does about it.
Short summaries need no subheadings — don't force structure where a plain paragraph suffices. Choose from these as needed:
| Subheading | When to use |
|---|---|
| Context | Background for follow-up diffs or stacked changes. |
| Motivation | Why this change is worth making — the user pain or technical driver. |
| Problem / Root cause / Fix | Bug narratives. Use the subset that fits — all three for complex bugs, just Problem + Fix for straightforward ones. |
| This diff | What specifically this diff does, when Context sets up a broader effort. |
| Changes | A short list of distinct changes, grouped by concern; omit if a sentence covers it. |
| Impact | What this means for users, performance, or downstream consumers. |
| Notes | Caveats, limitations, or remaining work. |
Prefix the title with one or more [area] bracket tags. Tags are hierarchical — broadest area first, narrowing by sub-area, feature, or platform.
To choose the right tags, check the commit history of the changed files and their parent folders (e.g. sl log -l 10 path/to/file).
[RN], [metro]).[RN][scripts], [RN][Network Inspection][Android].[Android], [iOS].[react_cdp_tools], [dev-middleware].Examples: [RN] Narrow file set for no-commonjs-exports lint rule, [RN][Network Inspection][Android] Add onCreateRequest compatibility overload.
Changelog: [Internal] in the summary.Changelog: [Android][Fixed] - ....Always re-read the current commit or diff message (e.g. git log -1 --format="%B", sl log -r . -T '{desc}', jf sync) before overwriting it. The user may have edited it outside Claude Code.
When asked to commit, use the generated message directly:
# Sapling — with summary:
sl commit -m "<Title>" --message-field "Summary=<Summary>"
# Sapling — without summary:
sl commit -m "<Title>"
# Git — with summary:
git commit -m "<Title>" -m "<Summary>"
# Git — without summary:
git commit -m "<Title>"