Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Stages related git changes and writes a commit message to .git/COMMIT_EDITMSG without running git commit or push (hooks run when the user commits). Use when the user asks to prepare a commit, stage files, write a commit message, or commit changes without pushing.
.claude/skills/wanderlima-prepare-git-commit/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✓→✗ | ▼ Worse | 182% | 0% |
| case-10 | ✓→✗ | ▼ Worse | -4% | 0% |
| case-11 | ✓→✗ | ▼ Worse | 45% | 0% |
| case-14 | ✓→✗ | ▼ Worse | 145% | 0% |
| case-20 | ✓→✗ | ▼ Worse | 15% | 0% |
Stages files for one logical change and writes a commit message to .git/COMMIT_EDITMSG. The user runs git commit locally so hooks (e.g. commit-msg) execute.
git commit or git pushgit status, git diff)git log).git/COMMIT_EDITMSG with the formatted commit messagebashgit commit # or git commit -F .git/COMMIT_EDITMSG
git commit or git push.env, credentials, tokens)Co-authored-by:, Made-with: Cursor, or any AI/editor attributionRun in parallel when possible:
git statusgit diff (staged + unstaged)git log -n 5 (message style)git add for selected paths only.git/COMMIT_EDITMSGfeat/, fix/, chore/); otherwise use feat:, fix:, bugfix:, chore:, refactor:{type}/{ID}: {title}fix/PROJ-123: Handle null response from checkout APIfeat/TRELLO-456: Add export CSV action to reportschore/ABC-789: Bump eslint and align configfeat/PROJ-123-..., fix/456-...) → PR/issue link → card URLReport staged files, the full commit message (copy-ready), and instruct the user to run git commit locally.
| Rationalization | Reality | | --- | --- | | Running git commit is faster | Hooks must run on the user's machine | | Files are already staged, skip inspect | Staging may include unrelated or secret files | | Attribution lines are harmless | Co-authored-by: and editor attribution are prohibited | | One big stage is fine | Unrelated changes block clean review and revert |
git commit or git push was executed.env, credentials, or generated artifacts were staged.git/COMMIT_EDITMSG was not writtengit diff --cached was not reviewed before staginggit diff --cached reviewed for scope and secretsgit diff --cached --name-only).git/COMMIT_EDITMSG exists with title, prefix, and bullet list| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 4,233 | 4,796 | +13% | 1 | 1 | 0% | 260 | 1,324 | +409% | 0 | 0 | — |
case-02 | fail→fail | 7,566 | 4,884 | -35% | 1 | 1 | 0% | 1,304 | 1,443 | +11% | 0 | 0 | — |
case-03 | fail→fail | 4,383 | 20,044 | +357% | 1 | 1 | 0% | 219 | 1,300 | +494% | 0 | 0 | — |
case-04 | fail→fail | 3,387 | 5,641 | +67% | 1 | 1 | 0% | 606 | 1,424 | +135% | 0 | 0 | — |
case-05 | fail→fail | 1,725 | 2,707 | +57% | 1 | 1 | 0% | 264 | 1,302 | +393% | 0 | 0 | — |
case-06 | pass→pass | 11,162 | 7,624 | -32% | 1 | 1 | 0% | 2,073 | 2,507 | +21% | 0 | 0 | — |
case-07 | fail→fail | 4,807 | 3,409 | -29% | 1 | 1 | 0% | 813 | 1,268 | +56% | 0 | 0 | — |
case-08 | fail→fail | 5,430 | 6,209 | +14% | 1 | 1 | 0% | 1,099 | 1,341 | +22% | 0 | 0 | — |
case-09 | pass→fail | 3,106 | 4,512 | +45% | 1 | 1 | 0% | 433 | 1,219 | +182% | 0 | 0 | — |
case-10 | pass→fail | 9,506 | 4,449 | -53% | 1 | 1 | 0% | 1,379 | 1,323 | -4% | 0 | 0 | — |
case-11 | pass→fail | 6,887 | 8,818 | +28% | 1 | 1 | 0% | 1,254 | 1,813 | +45% | 0 | 0 | — |
case-12 | fail→fail | 3,862 | 6,399 | +66% | 1 | 1 | 0% | 700 | 1,531 | +119% | 0 | 0 | — |
case-13 | fail→fail | 3,746 | 5,435 | +45% | 1 | 1 | 0% | 667 | 1,379 | +107% | 0 | 0 | — |
case-14 | pass→fail | 3,081 | 5,030 | +63% | 1 | 1 | 0% | 516 | 1,264 | +145% | 0 | 0 | — |
case-15 | fail→fail | 4,047 | 3,976 | -2% | 1 | 1 | 0% | 590 | 1,208 | +105% | 0 | 0 | — |
case-16 | fail→fail | 9,572 | 4,379 | -54% | 1 | 1 | 0% | 1,545 | 1,320 | -15% | 0 | 0 | — |
case-17 | fail→fail | 2,633 | 3,832 | +46% | 1 | 1 | 0% | 261 | 1,251 | +379% | 0 | 0 | — |
case-18 | fail→fail | 2,862 | 5,581 | +95% | 1 | 1 | 0% | 404 | 1,181 | +192% | 0 | 0 | — |
case-19 | fail→fail | 6,721 | 3,844 | -43% | 1 | 1 | 0% | 1,286 | 1,192 | -7% | 0 | 0 | — |
case-20 | pass→fail | 6,037 | 3,387 | -44% | 1 | 1 | 0% | 1,011 | 1,160 | +15% | 0 | 0 | — |
case-21 | fail→fail | 9,003 | 4,367 | -51% | 1 | 1 | 0% | 1,305 | 1,234 | -5% | 0 | 0 | — |
case-22 | pass→fail | 6,383 | 5,827 | -9% | 1 | 1 | 0% | 1,176 | 1,213 | +3% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 2 counted toward the lift figure. The other 20 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. A headline lift is not published for this run.
Other measured skills in the registry, with their headline benchmark lift.