
Commit
- 1 installs
- 10 repo stars
- Updated August 3, 2026
- jhostalek/dotclaude
Guides creating a git commit whose staged set, branch, and conventional-commit message are all intentional.
About
Adds guardrails for git commits: verifying the staged set against the worktree, catching wrong-branch changes, and writing conventional imperative-mood messages. A developer uses it when committing work and wants the index and message to be deliberate.
- Verifies git diff --cached against diff HEAD to catch stray staged residue
- Wrong-branch check and conventional-commit format with imperative mood
Commit by the numbers
- 1 all-time installs (skills.sh)
- Ranked #524 of 733 Git & Pull Requests skills by installs in the Skillselion catalog
- Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/jhostalek/dotclaude --skill commitAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 10 |
| Last updated | August 3, 2026 |
| Repository | jhostalek/dotclaude ↗ |
What it does
Guides creating a git commit whose staged set, branch, and conventional-commit message are all intentional.
Files
Branching + push covered by standing orders (ship-by-default). This skill adds the deltas — the goal is a commit whose staged set, branch, and message are all intentional.
Verify the staged set first
Check git diff --cached (staged) against git diff HEAD (full worktree) before composing the message. When they diverge, the pre-existing index is likely residue from an aborted hook, rebase leftover, or another agent's partial stage — treat it as suspect, not yours, until confirmed. Stage whole files (git add <path>); partial-hunk staging orphans fixer output into the index if the commit is aborted later. One gotcha: a path-scoped git commit -- <paths> (git's --only mode) restores the pre-hook index on success and drops any fixer re-staging — follow such commits with git reset -q -- <paths> to clear it.
Wrong-branch check
Changes don't match branch name (auth changes on feature/geo-optimization) → likely wrong branch, confirm w/ user before committing.
Commit Format
!cat ~/.claude/skills/conventional-commits.md
Imperative mood ("add OAuth flow" not "added OAuth flow"). Capture intent, not implementation. Can't write a focused message → commit spans unrelated changes, split it. Wrap body at ~80 chars (commitlint max 100).