Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Detect the repo's commit convention (Conventional Commits, Gitmoji, or a custom template) and create commits. Use when asked to commit, write a commit message, stage and commit changes, or commit and push work.
.claude/skills/bilal140202-commit/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-06 | ✗→✓ | ▲ Improved | 63% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-20 | ✗→✓ | ▲ Improved | -18% | 0% |
| case-22 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-03 | ✓→✗ | ▼ Worse | 14% | 0% |
Follow the repo's existing convention, create the commit, verify, and push when requested. Use the reference docs for detailed rules.
AGENTS.md, CLAUDE.md, etc.CONTRIBUTING.md, README.md, commit templates, etc.git log -n 50 --pretty=%s--pull is set, run git pull before reviewing changes.git status -sbgit diff --statgit diff (or git diff --staged)git add -p or git add <files>--no-verify.references/conventional-commits.md.references/gitmoji.md.git commit directly):{baseDir} (the installed skill root) before running:./.claude/skills/commit, ./.codex/skills/commit, ./.opencode/skills/commit~/.claude/skills/commit, ~/.codex/skills/commit, ~/.opencode/skills/commit{baseDir}/scripts/commit-guard.py:python {baseDir}/scripts/commit-guard.py --convention <conventional|gitmoji|custom> --message "subject"python {baseDir}/scripts/commit-guard.py --convention <conventional|gitmoji|custom> --file <path>{baseDir} cannot be found, pause and ask the user for the exact skill install path.git log -1 --format="%h %s"git show --stat--push is set, push to the current branch after commit.Use the guard script to validate and create commits. Run python {baseDir}/scripts/commit-guard.py --help for full usage (after resolving {baseDir}).
--convention (required): conventional, gitmoji, or custom--message (required unless --file): commit message string--file (required unless --message): path to commit message file--dry-run (optional): validate only; do not run git commitIf you cannot proceed, pause and ask. Examples include: ambiguous convention, unresolved conflicts, failed checks, or a failed push.
These options can be expressed in natural language, not just the flag form. Honor the user's explicit request even if it does not use --flag syntax.
--dry-run: analyze changes and recommend a commit message, but do not commit or push--no-verify: skip tests, lint, and format checks even if they exist--pull: run git pull before reviewing changes; attempt conflict resolution--push: push to the current branch after commit--no-verify.scripts/commit-guard.py to create commits.git commit directly.--push or natural language).references/conventional-commits.mdreferences/gitmoji.md| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 2,414 | 4,508 | +87% | 1 | 1 | 0% | 434 | 1,563 | +260% | 0 | 0 | — |
case-02 | fail→fail | 3,671 | 7,090 | +93% | 1 | 1 | 0% | 319 | 1,502 | +371% | 0 | 0 | — |
case-03 | pass→fail | 7,673 | 4,343 | -43% | 1 | 1 | 0% | 1,357 | 1,541 | +14% | 0 | 0 | — |
case-04 | pass→fail | 8,028 | 5,112 | -36% | 1 | 1 | 0% | 1,588 | 1,483 | -7% | 0 | 0 | — |
case-05 | pass→pass | 3,866 | 5,929 | +53% | 1 | 1 | 0% | 958 | 1,817 | +90% | 0 | 0 | — |
case-06 | fail→pass | 5,882 | 4,145 | -30% | 1 | 1 | 0% | 1,239 | 2,023 | +63% | 0 | 0 | — |
case-07 | fail→fail | 2,943 | 5,959 | +102% | 1 | 1 | 0% | 505 | 1,524 | +202% | 0 | 0 | — |
case-08 | fail→fail | 2,019 | 6,045 | +199% | 1 | 1 | 0% | 434 | 1,644 | +279% | 0 | 0 | — |
case-09 | fail→fail | 2,995 | 9,922 | +231% | 1 | 1 | 0% | 473 | 1,461 | +209% | 0 | 0 | — |
case-10 | fail→fail | 6,578 | 3,968 | -40% | 1 | 1 | 0% | 1,361 | 1,429 | +5% | 0 | 0 | — |
case-11 | pass→fail | 4,738 | 3,212 | -32% | 1 | 1 | 0% | 809 | 1,410 | +74% | 0 | 0 | — |
case-12 | fail→pass | 11,055 | 2,575 | -77% | 1 | 1 | 0% | 2,153 | 1,779 | -17% | 0 | 0 | — |
case-13 | pass→fail | 3,308 | 3,504 | +6% | 1 | 1 | 0% | 631 | 1,443 | +129% | 0 | 0 | — |
case-14 | fail→fail | 5,227 | 4,173 | -20% | 1 | 1 | 0% | 921 | 1,379 | +50% | 0 | 0 | — |
case-15 | fail→fail | 8,838 | 4,971 | -44% | 1 | 1 | 0% | 1,655 | 1,534 | -7% | 0 | 0 | — |
case-16 | fail→fail | 5,152 | 5,321 | +3% | 1 | 1 | 0% | 1,136 | 1,424 | +25% | 0 | 0 | — |
case-17 | fail→fail | 3,180 | 4,297 | +35% | 1 | 1 | 0% | 508 | 1,478 | +191% | 0 | 0 | — |
case-18 | pass→pass | 9,096 | 7,095 | -22% | 1 | 1 | 0% | 1,580 | 2,470 | +56% | 0 | 0 | — |
case-19 | fail→fail | 8,725 | 7,639 | -12% | 1 | 1 | 0% | 1,614 | 2,187 | +36% | 0 | 0 | — |
case-20 | fail→pass | 11,678 | 4,370 | -63% | 1 | 1 | 0% | 2,460 | 2,023 | -18% | 0 | 0 | — |
case-21 | fail→fail | 3,155 | 4,069 | +29% | 1 | 1 | 0% | 625 | 1,563 | +150% | 0 | 0 | — |
case-22 | fail→pass | 10,729 | 3,400 | -68% | 1 | 1 | 0% | 1,928 | 2,008 | +4% | 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 7 counted toward the lift figure. The other 15 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of 0 percentage points is the difference between those two pass rates over the 7 comparable cases. 9 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.